Skip to contentSkip to conversation

omap fixes for v2.6.34-rc5

PATCH New Tony Lindgren 1 participant 29 messages Apr 23, 2010

Subsystems (7)
lore
Share & tools
lore

Tony Lindgren

author maintainer
#0 lore raw

cover omap fixes for v2.6.34-rc5

Hi all,

Here are some omap fixes for review. Mostly trivial stuff.

Sorry for posting these so late in the -rc cycle. Travel, meetings and ELC sucked up quite a bit of my time over past month.

Regards,

Tony

---

Aaro Koskinen (2):
omap: fix clocksource_32k to start from zero
omap: delete unused bootloader tag variables

Abraham Arce (1):
OMAP4: Clocks: Change SPI Instance Names

Enric Balletbo i Serra (1):
omap3: Fix EHCI port for IGEP v2 board

Felipe Balbi (1):
arm: omap1: remove dead code from timer32k.c

Francisco Alecrim (1):
n8x0_defconfig: remove CONFIG_NILFS2_FS override

Janusz Krzysztofik (1):
omap: gpio: fix incorrect matching of IRQ_TYPE_EDGE_BOTH

Jarkko Nikula (2):
omap: rx51_defconfig: Remove duplicate phonet
omap: rx51_defconfig: Remove CONFIG_SYSFS_DEPRECATED*=y options

Richard Woodruff (1):

      omap4: Fix build break when used with gcc-4.4.1 (2009-q3)

Santosh Shilimkar (2):
OMAP4: Fix for CONTROL register Base
omap4: Fix McBSP4 base address

Thomas Weber (8):
omap: Devkit8000: Fix wrong usb port on Devkit8000
omap: board-sdp-flash.c: Fix typos in debug output
omap: Devkit8000: Fix typo in supplies
omap: Devkit8000: Add missing package selection
omap: Devkit8000: Fix typo in pin name
omap: Devkit8000: Remove unnecessary include file
omap: Devkit8000: Change position of init calls
omap: Devkit8000: Remove unused pins

Tony Lindgren (2):
omap2: Fix ARM processor check for 24xx
omap: Fix n8x0 mmc_mmc_init compile warnings and typos

kishore kadiyala (1):
OMAP4-HSMMC: FIX for MMC5 Controller IRQ Base

manjugk manjugk (1):
omap: DMA: Init CDAC to zero

stanley.miao (4):
omap: fix the compile error if CONFIG_MTD_NAND_OMAP2 is notenabled
omap: remove one of the define of INT_34XX_BENCH_MPU_EMUL
AM3517: initialize i2c subsystem after mux subsystem
omap: fix a gpmc nand problem

 arch/arm/configs/n8x0_defconfig                |    1 -
 arch/arm/configs/rx51_defconfig                |    3 --
 arch/arm/mach-omap1/timer32k.c                 |   15 ---------
 arch/arm/mach-omap2/Kconfig                    |    6 ++--
 arch/arm/mach-omap2/board-am3517evm.c          |    4 +-
 arch/arm/mach-omap2/board-devkit8000.c         |   39 ++++++------------------
 arch/arm/mach-omap2/board-igep0020.c           |    8 ++---
 arch/arm/mach-omap2/board-n8x0.c               |   18 ++++++-----
 arch/arm/mach-omap2/board-sdp-flash.c          |    8 ++---
 arch/arm/mach-omap2/clock44xx_data.c           |    8 ++---
 arch/arm/mach-omap2/devices.c                  |    2 +
 arch/arm/mach-omap2/gpmc-nand.c                |    3 ++
 arch/arm/mach-omap2/include/mach/entry-macro.S |    2 +
 arch/arm/mach-omap2/omap-headsmp.S             |    6 ++--
 arch/arm/mach-omap2/omap44xx-smc.S             |    2 +
 arch/arm/plat-omap/common.c                    |   22 +++++++++-----
 arch/arm/plat-omap/dma.c                       |    9 ++++++
 arch/arm/plat-omap/gpio.c                      |    6 ++--
 arch/arm/plat-omap/include/plat/irqs.h         |    2 -
 arch/arm/plat-omap/include/plat/mcbsp.h        |    2 +
 arch/arm/plat-omap/include/plat/nand.h         |    7 ++++
 arch/arm/plat-omap/include/plat/omap44xx.h     |    2 +
 22 files changed, 80 insertions(+), 95 deletions(-)
Signature · 1 line
Signature
author maintainer
#1 lore raw

PATCH 1/28 omap: fix clocksource_32k to start from zero

From: Aaro Koskinen <[email protected]>

When the 32k sync timer is used for sched_clock(), it should count time from the kernel boot (clocksource init) instead of the last HW reset. Otherwise printk.time values will jump suddenly during the boot:

	[    0.000000] calling  omap2_clk_arch_init+0x0/0x138 @ 1
	[    0.000000] initcall omap2_clk_arch_init+0x0/0x138 returned -22 after 0 usecs
	[    0.000000] initcall omap2_clk_arch_init+0x0/0x138 returned with error code -22
	[    0.000000] calling  omap_init_clocksource_32k+0x0/0x98 @ 1
	[  508.697937] initcall omap_init_clocksource_32k+0x0/0x98 returned 0 after 0 usecs
	[  508.697967] calling  omap_init_devices+0x0/0x38 @ 1
	[  508.698425] initcall omap_init_devices+0x0/0x38 returned 0 after 0 usecs

This will confuse tools such as scripts/bootgraph.pl.

---
 arch/arm/plat-omap/common.c |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)
arch/arm/plat-omap/common.c +14 -5
index 088c1a0..01cbb48 100644
@@ -100,10 +100,17 @@ EXPORT_SYMBOL(omap_get_var_config);
 
 #include <linux/clocksource.h>
 
+/*
+ * offset_32k holds the init time counter value. It is then subtracted
+ * from every counter read to achieve a counter that counts time from the
+ * kernel boot (needed for sched_clock()).
+ */
+static u32 offset_32k __read_mostly;
+
 #ifdef CONFIG_ARCH_OMAP16XX
 static cycle_t omap16xx_32k_read(struct clocksource *cs)
 {
-	return omap_readl(OMAP16XX_TIMER_32K_SYNCHRONIZED);
+	return omap_readl(OMAP16XX_TIMER_32K_SYNCHRONIZED) - offset_32k;
 }
 #else
 #define omap16xx_32k_read	NULL
@@ -112,7 +119,7 @@ static cycle_t omap16xx_32k_read(struct clocksource *cs)
 #ifdef CONFIG_ARCH_OMAP2420
 static cycle_t omap2420_32k_read(struct clocksource *cs)
 {
-	return omap_readl(OMAP2420_32KSYNCT_BASE + 0x10);
+	return omap_readl(OMAP2420_32KSYNCT_BASE + 0x10) - offset_32k;
 }
 #else
 #define omap2420_32k_read	NULL
@@ -121,7 +128,7 @@ static cycle_t omap2420_32k_read(struct clocksource *cs)
 #ifdef CONFIG_ARCH_OMAP2430
 static cycle_t omap2430_32k_read(struct clocksource *cs)
 {
-	return omap_readl(OMAP2430_32KSYNCT_BASE + 0x10);
+	return omap_readl(OMAP2430_32KSYNCT_BASE + 0x10) - offset_32k;
 }
 #else
 #define omap2430_32k_read	NULL
@@ -130,7 +137,7 @@ static cycle_t omap2430_32k_read(struct clocksource *cs)
 #ifdef CONFIG_ARCH_OMAP3
 static cycle_t omap34xx_32k_read(struct clocksource *cs)
 {
-	return omap_readl(OMAP3430_32KSYNCT_BASE + 0x10);
+	return omap_readl(OMAP3430_32KSYNCT_BASE + 0x10) - offset_32k;
 }
 #else
 #define omap34xx_32k_read	NULL
@@ -139,7 +146,7 @@ static cycle_t omap34xx_32k_read(struct clocksource *cs)
 #ifdef CONFIG_ARCH_OMAP4
 static cycle_t omap44xx_32k_read(struct clocksource *cs)
 {
-	return omap_readl(OMAP4430_32KSYNCT_BASE + 0x10);
+	return omap_readl(OMAP4430_32KSYNCT_BASE + 0x10) - offset_32k;
 }
 #else
 #define omap44xx_32k_read	NULL
@@ -227,6 +234,8 @@ static int __init omap_init_clocksource_32k(void)
 		clocksource_32k.mult = clocksource_hz2mult(32768,
 					    clocksource_32k.shift);
 
+		offset_32k = clocksource_32k.read(&clocksource_32k);
+
 		if (clocksource_register(&clocksource_32k))
 			printk(err, clocksource_32k.name);
 	}
author maintainer
#2 lore raw

PATCH 2/28 arm: omap1: remove dead code from timer32k.c

In reply to Tony Lindgren

From: Felipe Balbi <[email protected]>

Trivial patch, no functional changes

---
 arch/arm/mach-omap1/timer32k.c |   15 ---------------
 1 files changed, 0 insertions(+), 15 deletions(-)
arch/arm/mach-omap1/timer32k.c +0 -15
index 9ad1185..20cfbcc 100644
@@ -68,12 +68,6 @@ struct sys_timer omap_timer;
  * ---------------------------------------------------------------------------
  */
 
-#if defined(CONFIG_ARCH_OMAP16XX)
-#define TIMER_32K_SYNCHRONIZED		0xfffbc410
-#else
-#error OMAP 32KHz timer does not currently work on 15XX!
-#endif
-
 /* 16xx specific defines */
 #define OMAP1_32K_TIMER_BASE		0xfffb9000
 #define OMAP1_32K_TIMER_CR		0x08
@@ -150,15 +144,6 @@ static struct clock_event_device clockevent_32k_timer = {
 	.set_mode	= omap_32k_timer_set_mode,
 };
 
-/*
- * The 32KHz synchronized timer is an additional timer on 16xx.
- * It is always running.
- */
-static inline unsigned long omap_32k_sync_timer_read(void)
-{
-	return omap_readl(TIMER_32K_SYNCHRONIZED);
-}
-
 static irqreturn_t omap_32k_timer_interrupt(int irq, void *dev_id)
 {
 	struct clock_event_device *evt = &clockevent_32k_timer;
author maintainer
#3 lore raw

PATCH 3/28 omap: gpio: fix incorrect matching of IRQ_TYPE_EDGE_BOTH

In reply to Tony Lindgren

From: Janusz Krzysztofik <[email protected]>

Since IRQ_TYPE_EDGE_BOTH is defined as (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING), testing against it with a bitwise AND also matches both single-edge cases in addition to the intended both edges case. Fix it, replacing with a more accurate expression.

Created and tested againts linux-2.6.34-rc3.
Applicable to 2.6.33-stable as well.

---
 arch/arm/plat-omap/gpio.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
arch/arm/plat-omap/gpio.c +3 -3
index 76a347b..45a225d 100644
@@ -798,7 +798,7 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger)
 	case METHOD_MPUIO:
 		reg += OMAP_MPUIO_GPIO_INT_EDGE;
 		l = __raw_readl(reg);
-		if (trigger & IRQ_TYPE_EDGE_BOTH)
+		if ((trigger & IRQ_TYPE_SENSE_MASK) == IRQ_TYPE_EDGE_BOTH)
 			bank->toggle_mask |= 1 << gpio;
 		if (trigger & IRQ_TYPE_EDGE_RISING)
 			l |= 1 << gpio;
@@ -812,7 +812,7 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger)
 	case METHOD_GPIO_1510:
 		reg += OMAP1510_GPIO_INT_CONTROL;
 		l = __raw_readl(reg);
-		if (trigger & IRQ_TYPE_EDGE_BOTH)
+		if ((trigger & IRQ_TYPE_SENSE_MASK) == IRQ_TYPE_EDGE_BOTH)
 			bank->toggle_mask |= 1 << gpio;
 		if (trigger & IRQ_TYPE_EDGE_RISING)
 			l |= 1 << gpio;
@@ -846,7 +846,7 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger)
 	case METHOD_GPIO_7XX:
 		reg += OMAP7XX_GPIO_INT_CONTROL;
 		l = __raw_readl(reg);
-		if (trigger & IRQ_TYPE_EDGE_BOTH)
+		if ((trigger & IRQ_TYPE_SENSE_MASK) == IRQ_TYPE_EDGE_BOTH)
 			bank->toggle_mask |= 1 << gpio;
 		if (trigger & IRQ_TYPE_EDGE_RISING)
 			l |= 1 << gpio;
author maintainer
#4 lore raw

PATCH 4/28 omap: DMA: Init CDAC to zero

In reply to Tony Lindgren

From: manjugk manjugk <[email protected]>

The register DMA4_CDAC needs to be initialized to zero before starting DMA transfer.

---
 arch/arm/plat-omap/dma.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
arch/arm/plat-omap/dma.c +9 -0
index 2ab224c..f6c9bdc 100644
@@ -936,6 +936,15 @@ void omap_start_dma(int lch)
 {
 	u32 l;
 
+	/*
+	 * The CPC/CDAC register needs to be initialized to zero
+	 * before starting dma transfer.
+	 */
+	if (cpu_is_omap15xx())
+		dma_write(0, CPC(lch));
+	else
+		dma_write(0, CDAC(lch));
+
 	if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) {
 		int next_lch, cur_lch;
 		char dma_chan_link_map[OMAP_DMA4_LOGICAL_DMA_CH_COUNT];
author maintainer
#5 lore raw

PATCH 5/28 omap4: Fix build break when used with gcc-4.4.1 (2009-q3)

In reply to Tony Lindgren

From: Richard Woodruff <[email protected]>

This patch adds argument to smc calls as gcc-4.4.1 requires it otherwise the build breaks with 2009-q3 toolchanin.

arch/arm/mach-omap2/omap-headsmp.S: Assembler messages:
arch/arm/mach-omap2/omap-headsmp.S:36: Error: missing expression -- smc' arch/arm/mach-omap2/omap-headsmp.S:55: Error: missing expression -- smc' arch/arm/mach-omap2/omap-headsmp.S:63: Error: missing expression -- `smc' make[1]: *** [arch/arm/mach-omap2/omap-headsmp.o] Error 1

---
 arch/arm/mach-omap2/omap-headsmp.S |    6 +++---
 arch/arm/mach-omap2/omap44xx-smc.S |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)
arch/arm/mach-omap2/omap-headsmp.S +3 -3
index aa3f65c..ef0e7a0 100644
@@ -33,7 +33,7 @@
 ENTRY(omap_secondary_startup)
 hold:	ldr	r12,=0x103
 	dsb
-	smc				@ read from AuxCoreBoot0
+	smc	#0			@ read from AuxCoreBoot0
 	mov	r0, r0, lsr #9
 	mrc	p15, 0, r4, c0, c0, 5
 	and	r4, r4, #0x0f
@@ -52,7 +52,7 @@ ENTRY(omap_modify_auxcoreboot0)
 	stmfd   sp!, {r1-r12, lr}
 	ldr	r12, =0x104
 	dsb
-	smc
+	smc	#0
 	ldmfd   sp!, {r1-r12, pc}
 END(omap_modify_auxcoreboot0)
 
@@ -60,6 +60,6 @@ ENTRY(omap_auxcoreboot_addr)
 	stmfd   sp!, {r2-r12, lr}
 	ldr	r12, =0x105
 	dsb
-	smc
+	smc	#0
 	ldmfd   sp!, {r2-r12, pc}
 END(omap_auxcoreboot_addr)
arch/arm/mach-omap2/omap44xx-smc.S +1 -1
index 89bb2b1..f61c777 100644
@@ -27,6 +27,6 @@ ENTRY(omap_smc1)
 	mov	r12, r0
 	mov 	r0, r1
 	dsb
-	smc
+	smc	#0
 	ldmfd   sp!, {r2-r12, pc}
 END(omap_smc1)
author maintainer
#6 lore raw

PATCH 6/28 omap2: Fix ARM processor check for 24xx

In reply to Tony Lindgren

The value to check is 7 for V6 instead. The code has been working as it falls through to 24xx code if the other checks fail.

---
 arch/arm/mach-omap2/include/mach/entry-macro.S |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-omap2/include/mach/entry-macro.S +1 -1
index ff25c7e..50fd749 100644
@@ -52,7 +52,7 @@ omap_irq_base:	.word	0
 
 		mrc	p15, 0, \tmp, c0, c0, 0	@ get processor revision
 		and	\tmp, \tmp, #0x000f0000	@ only check architecture
-		cmp	\tmp, #0x00060000	@ is v6?
+		cmp	\tmp, #0x00070000	@ is v6?
 		beq	2400f			@ found v6 so it's omap24xx
 		mrc	p15, 0, \tmp, c0, c0, 0	@ get processor revision
 		and	\tmp, \tmp, #0x000000f0	@ check cortex 8 or 9
author maintainer
#7 lore raw

PATCH 7/28 omap: Fix n8x0 mmc_mmc_init compile warnings and typos

In reply to Tony Lindgren

Fix warning: 'return' with a value, in function returning void in n8x0_mmc_init. Also fix a search and replace typo.

---
 arch/arm/mach-omap2/board-n8x0.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)
arch/arm/mach-omap2/board-n8x0.c +9 -9
index da9bcb8..3ccc34e 100644
@@ -216,7 +216,7 @@ static void __init n8x0_onenand_init(void) {}
  */
 #define N8X0_SLOT_SWITCH_GPIO	96
 #define N810_EMMC_VSD_GPIO	23
-#define NN810_EMMC_VIO_GPIO	9
+#define N810_EMMC_VIO_GPIO	9
 
 static int n8x0_mmc_switch_slot(struct device *dev, int slot)
 {
@@ -304,10 +304,10 @@ static void n810_set_power_emmc(struct device *dev,
 	if (power_on) {
 		gpio_set_value(N810_EMMC_VSD_GPIO, 1);
 		msleep(1);
-		gpio_set_value(NN810_EMMC_VIO_GPIO, 1);
+		gpio_set_value(N810_EMMC_VIO_GPIO, 1);
 		msleep(1);
 	} else {
-		gpio_set_value(NN810_EMMC_VIO_GPIO, 0);
+		gpio_set_value(N810_EMMC_VIO_GPIO, 0);
 		msleep(50);
 		gpio_set_value(N810_EMMC_VSD_GPIO, 0);
 		msleep(50);
@@ -468,7 +468,7 @@ static void n8x0_mmc_cleanup(struct device *dev)
 
 	if (machine_is_nokia_n810()) {
 		gpio_free(N810_EMMC_VSD_GPIO);
-		gpio_free(NN810_EMMC_VIO_GPIO);
+		gpio_free(N810_EMMC_VIO_GPIO);
 	}
 }
 
@@ -529,7 +529,7 @@ void __init n8x0_mmc_init(void)
 
 	err = gpio_request(N8X0_SLOT_SWITCH_GPIO, "MMC slot switch");
 	if (err)
-		return err;
+		return;
 
 	gpio_direction_output(N8X0_SLOT_SWITCH_GPIO, 0);
 
@@ -537,17 +537,17 @@ void __init n8x0_mmc_init(void)
 		err = gpio_request(N810_EMMC_VSD_GPIO, "MMC slot 2 Vddf");
 		if (err) {
 			gpio_free(N8X0_SLOT_SWITCH_GPIO);
-			return err;
+			return;
 		}
 		gpio_direction_output(N810_EMMC_VSD_GPIO, 0);
 
-		err = gpio_request(NN810_EMMC_VIO_GPIO, "MMC slot 2 Vdd");
+		err = gpio_request(N810_EMMC_VIO_GPIO, "MMC slot 2 Vdd");
 		if (err) {
 			gpio_free(N8X0_SLOT_SWITCH_GPIO);
 			gpio_free(N810_EMMC_VSD_GPIO);
-			return err;
+			return;
 		}
-		gpio_direction_output(NN810_EMMC_VIO_GPIO, 0);
+		gpio_direction_output(N810_EMMC_VIO_GPIO, 0);
 	}
 
 	mmc_data[0] = &mmc1_data;
author maintainer
#8 lore raw

PATCH 8/28 omap3: Fix EHCI port for IGEP v2 board

In reply to Tony Lindgren

From: Enric Balletbo i Serra <[email protected]>

IGEP v2 uses EHCI port 1 instead of EHCI port 2.

---
 arch/arm/mach-omap2/board-igep0020.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
arch/arm/mach-omap2/board-igep0020.c +4 -4
index 3c7789d..d55c57b 100644
@@ -458,13 +458,13 @@ static struct omap_musb_board_data musb_board_data = {
 };
 
 static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
-	.port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN,
-	.port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
+	.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
+	.port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN,
 	.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
 
 	.phy_reset = true,
-	.reset_gpio_port[0] = -EINVAL,
-	.reset_gpio_port[1] = IGEP2_GPIO_USBH_NRESET,
+	.reset_gpio_port[0] = IGEP2_GPIO_USBH_NRESET,
+	.reset_gpio_port[1] = -EINVAL,
 	.reset_gpio_port[2] = -EINVAL,
 };
 
author maintainer
#9 lore raw

PATCH 9/28 OMAP4-HSMMC: FIX for MMC5 Controller IRQ Base

In reply to Tony Lindgren

From: kishore kadiyala <[email protected]>

This patch fixes HSMMC Controller5 IRQ Base.

---
 arch/arm/mach-omap2/devices.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-omap2/devices.c +1 -1
index 23e4d77..2271b9b 100644
@@ -726,7 +726,7 @@ void __init omap2_init_mmc(struct omap_mmc_platform_data **mmc_data,
 			if (!cpu_is_omap44xx())
 				return;
 			base = OMAP4_MMC5_BASE + OMAP4_MMC_REG_OFFSET;
-			irq = OMAP44XX_IRQ_MMC4;
+			irq = OMAP44XX_IRQ_MMC5;
 			break;
 		default:
 			continue;
author maintainer
#10 lore raw

PATCH 10/28 OMAP4: Fix for CONTROL register Base

In reply to Tony Lindgren

From: Santosh Shilimkar <[email protected]>

This patch fixes the base address of CONTROL register on OMAP4430SDP. The control base is used by peripherals like MMC1 for PBIAS configuration.

---
 arch/arm/plat-omap/include/plat/omap44xx.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/plat-omap/include/plat/omap44xx.h +1 -1
index 2302474..b3ef1a7 100644
@@ -32,7 +32,7 @@
 #define OMAP4430_PRM_BASE		0x4a306000
 #define OMAP44XX_GPMC_BASE		0x50000000
 #define OMAP443X_SCM_BASE		0x4a002000
-#define OMAP443X_CTRL_BASE		OMAP443X_SCM_BASE
+#define OMAP443X_CTRL_BASE		0x4a100000
 #define OMAP44XX_IC_BASE		0x48200000
 #define OMAP44XX_IVA_INTC_BASE		0x40000000
 #define IRQ_SIR_IRQ			0x0040
author maintainer
#11 lore raw

PATCH 11/28 omap: Devkit8000: Fix wrong usb port on Devkit8000

In reply to Tony Lindgren

From: Thomas Weber <[email protected]>

Disable the nonexistent ehci port on Devkit8000.

---
 arch/arm/mach-omap2/board-devkit8000.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
arch/arm/mach-omap2/board-devkit8000.c +2 -2
index 5bfc13b..db4c093 100644
@@ -639,12 +639,12 @@ static struct omap_musb_board_data musb_board_data = {
 static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
 
 	.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
-	.port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
+	.port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN,
 	.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
 
 	.phy_reset  = true,
 	.reset_gpio_port[0]  = -EINVAL,
-	.reset_gpio_port[1]  = 147,
+	.reset_gpio_port[1]  = -EINVAL,
 	.reset_gpio_port[2]  = -EINVAL
 };
 
author maintainer
#12 lore raw

PATCH 12/28 OMAP4: Clocks: Change SPI Instance Names

In reply to Tony Lindgren

From: Abraham Arce <[email protected]>

Change the name for the spi instances on omap44xx_clks to match the names omap2 spi driver gives:

omap-mcspi.1 -> omap2_mcspi.1
omap-mcspi.2 -> omap2_mcspi.2
omap-mcspi.3 -> omap2_mcspi.3
omap-mcspi.4 -> omap2_mcspi.4

---
 arch/arm/mach-omap2/clock44xx_data.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
arch/arm/mach-omap2/clock44xx_data.c +4 -4
index 28b1079..a5c0c9c 100644
@@ -2671,10 +2671,10 @@ static struct omap_clk omap44xx_clks[] = {
 	CLK("omap-mcbsp.2",	"ick",				&dummy_ck,	CK_443X),
 	CLK("omap-mcbsp.3",	"ick",				&dummy_ck,	CK_443X),
 	CLK("omap-mcbsp.4",	"ick",				&dummy_ck,	CK_443X),
-	CLK("omap-mcspi.1",	"ick",				&dummy_ck,	CK_443X),
-	CLK("omap-mcspi.2",	"ick",				&dummy_ck,	CK_443X),
-	CLK("omap-mcspi.3",	"ick",				&dummy_ck,	CK_443X),
-	CLK("omap-mcspi.4",	"ick",				&dummy_ck,	CK_443X),
+	CLK("omap2_mcspi.1",	"ick",			&dummy_ck,	CK_443X),
+	CLK("omap2_mcspi.2",	"ick",			&dummy_ck,	CK_443X),
+	CLK("omap2_mcspi.3",	"ick",			&dummy_ck,	CK_443X),
+	CLK("omap2_mcspi.4",	"ick",			&dummy_ck,	CK_443X),
 	CLK(NULL,	"uart1_ick",			&dummy_ck,	CK_443X),
 	CLK(NULL,	"uart2_ick",			&dummy_ck,	CK_443X),
 	CLK(NULL,	"uart3_ick",			&dummy_ck,	CK_443X),
author maintainer
#13 lore raw

PATCH 13/28 omap: fix the compile error if CONFIG_MTD_NAND_OMAP2 is notenabled

In reply to Tony Lindgren

From: stanley.miao <[email protected]>

If CONFIG_MTD_NAND_OMAP2 is not enabled, there will be a compile error, "gpmc_nand_init() is not defined". Add a inline noop function to fix it.

---
 arch/arm/plat-omap/include/plat/nand.h |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
arch/arm/plat-omap/include/plat/nand.h +7 -0
index 6ba88d2..f8efd54 100644
@@ -29,4 +29,11 @@ struct omap_nand_platform_data {
 /* size (4 KiB) for IO mapping */
 #define	NAND_IO_SIZE	SZ_4K
 
+#if defined(CONFIG_MTD_NAND_OMAP2) || defined(CONFIG_MTD_NAND_OMAP2_MODULE)
 extern int gpmc_nand_init(struct omap_nand_platform_data *d);
+#else
+static inline int gpmc_nand_init(struct omap_nand_platform_data *d)
+{
+	return 0;
+}
+#endif
author maintainer
#14 lore raw

PATCH 14/28 omap: remove one of the define of INT_34XX_BENCH_MPU_EMUL

In reply to Tony Lindgren

From: stanley.miao <[email protected]>

INT_34XX_BENCH_MPU_EMUL was defined twice, another is at Line 312.

---
 arch/arm/plat-omap/include/plat/irqs.h |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)
arch/arm/plat-omap/include/plat/irqs.h +0 -2
index b65088a..4017019 100644
@@ -345,8 +345,6 @@
 #define INT_34XX_MMC3_IRQ	94
 #define INT_34XX_GPT12_IRQ	95
 
-#define	INT_34XX_BENCH_MPU_EMUL	3
-
 #define INT_35XX_HECC0_IRQ		24
 #define INT_35XX_HECC1_IRQ		28
 #define INT_35XX_EMAC_C0_RXTHRESH_IRQ	67
author maintainer
#15 lore raw

PATCH 15/28 AM3517: initialize i2c subsystem after mux subsystem

In reply to Tony Lindgren

From: stanley.miao <[email protected]>

The initialize of i2c subsystem will set pinmux, so it should be done after the initialize of mux subsystem initialization.

---
 arch/arm/mach-omap2/board-am3517evm.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
arch/arm/mach-omap2/board-am3517evm.c +2 -2
index 6ae8805..c1c4389 100644
@@ -294,9 +294,9 @@ static struct omap_board_mux board_mux[] __initdata = {
 
 static void __init am3517_evm_init(void)
 {
-	am3517_evm_i2c_init();
-
 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
+
+	am3517_evm_i2c_init();
 	platform_add_devices(am3517_evm_devices,
 				ARRAY_SIZE(am3517_evm_devices));
 
author maintainer
#16 lore raw

PATCH 16/28 omap: fix a gpmc nand problem

In reply to Tony Lindgren

From: stanley.miao <[email protected]>

If gpmc_t isn't given, we don't need to set timing for gpmc, or it will cause a Oops.

---
 arch/arm/mach-omap2/gpmc-nand.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/gpmc-nand.c +3 -0
index 64d74f0..e57fb29 100644
@@ -39,6 +39,9 @@ static int omap2_nand_gpmc_retime(void)
 	struct gpmc_timings t;
 	int err;
 
+	if (!gpmc_nand_data->gpmc_t)
+		return 0;
+
 	memset(&t, 0, sizeof(t));
 	t.sync_clk = gpmc_round_ns_to_ticks(gpmc_nand_data->gpmc_t->sync_clk);
 	t.cs_on = gpmc_round_ns_to_ticks(gpmc_nand_data->gpmc_t->cs_on);
author maintainer
#17 lore raw

PATCH 17/28 omap: rx51_defconfig: Remove duplicate phonet

In reply to Tony Lindgren

From: Jarkko Nikula <[email protected]>

Phonet is enabled by the commit bce54fed941e03695ab557100a4bd1e457abca42 and this duplicate gives a warning when doing make rx51_defconfig.

---
 arch/arm/configs/rx51_defconfig |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
arch/arm/configs/rx51_defconfig +0 -1
index 45135ff..cc6a32a 100644
@@ -480,7 +480,6 @@ CONFIG_BT_HIDP=m
 # CONFIG_BT_HCIBFUSB is not set
 # CONFIG_BT_HCIVHCI is not set
 # CONFIG_AF_RXRPC is not set
-# CONFIG_PHONET is not set
 CONFIG_WIRELESS=y
 CONFIG_CFG80211=y
 # CONFIG_CFG80211_REG_DEBUG is not set
author maintainer
#18 lore raw

PATCH 18/28 omap: rx51_defconfig: Remove CONFIG_SYSFS_DEPRECATED*=y options

In reply to Tony Lindgren

From: Jarkko Nikula <[email protected]>

Modern udev will not work with the CONFIG_SYSFS_DEPRECATED*=y options and it seems also that the Maemo release works without when testing with the Maemo 2.6.28 kernel.

---
 arch/arm/configs/rx51_defconfig |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)
arch/arm/configs/rx51_defconfig +0 -2
index cc6a32a..473f9e1 100644
@@ -59,8 +59,6 @@ CONFIG_FAIR_GROUP_SCHED=y
 CONFIG_USER_SCHED=y
 # CONFIG_CGROUP_SCHED is not set
 # CONFIG_CGROUPS is not set
-CONFIG_SYSFS_DEPRECATED=y
-CONFIG_SYSFS_DEPRECATED_V2=y
 # CONFIG_RELAY is not set
 # CONFIG_NAMESPACES is not set
 CONFIG_BLK_DEV_INITRD=y
author maintainer
#19 lore raw

PATCH 19/28 omap4: Fix McBSP4 base address

In reply to Tony Lindgren

From: Santosh Shilimkar <[email protected]>

This patch fixes the McBSP4 base address for OMAP4

---
 arch/arm/plat-omap/include/plat/mcbsp.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/plat-omap/include/plat/mcbsp.h +1 -1
index 3974835..7de903d 100644
@@ -59,7 +59,7 @@
 #define OMAP44XX_MCBSP1_BASE	0x49022000
 #define OMAP44XX_MCBSP2_BASE	0x49024000
 #define OMAP44XX_MCBSP3_BASE	0x49026000
-#define OMAP44XX_MCBSP4_BASE	0x48074000
+#define OMAP44XX_MCBSP4_BASE	0x48096000
 
 #if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
 
author maintainer
#20 lore raw

PATCH 20/28 omap: board-sdp-flash.c: Fix typos in debug output

In reply to Tony Lindgren

From: Thomas Weber <[email protected]>

Corrected type of flash in output (OneNAND => NOR). Removed whitespace after newline in output. Removed double whitespace in output.

---
 arch/arm/mach-omap2/board-sdp-flash.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
arch/arm/mach-omap2/board-sdp-flash.c +4 -4
index b1b88de..2d02632 100644
@@ -253,20 +253,20 @@ void __init sdp_flash_init(struct flash_partitions sdp_partition_info[])
 	}
 
 	if (norcs > GPMC_CS_NUM)
-		printk(KERN_INFO "OneNAND: Unable to find configuration "
-				" in GPMC\n ");
+		printk(KERN_INFO "NOR: Unable to find configuration "
+				"in GPMC\n");
 	else
 		board_nor_init(sdp_partition_info[0], norcs);
 
 	if (onenandcs > GPMC_CS_NUM)
 		printk(KERN_INFO "OneNAND: Unable to find configuration "
-				" in GPMC\n ");
+				"in GPMC\n");
 	else
 		board_onenand_init(sdp_partition_info[1], onenandcs);
 
 	if (nandcs > GPMC_CS_NUM)
 		printk(KERN_INFO "NAND: Unable to find configuration "
-				" in GPMC\n ");
+				"in GPMC\n");
 	else
 		board_nand_init(sdp_partition_info[2], nandcs);
 }
author maintainer
#21 lore raw

PATCH 21/28 n8x0_defconfig: remove CONFIG_NILFS2_FS override

In reply to Tony Lindgren

From: Francisco Alecrim <[email protected]>

arch/arm/configs/n8x0_defconfig:1061:warning: override: reassigning to symbol NILFS2_FS

---
 arch/arm/configs/n8x0_defconfig |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
arch/arm/configs/n8x0_defconfig +0 -1
index 216ad00..9405e32 100644
@@ -1058,7 +1058,6 @@ CONFIG_JFFS2_CMODE_PRIORITY=y
 # CONFIG_ROMFS_FS is not set
 # CONFIG_SYSV_FS is not set
 # CONFIG_UFS_FS is not set
-# CONFIG_NILFS2_FS is not set
 CONFIG_NETWORK_FILESYSTEMS=y
 # CONFIG_NFS_FS is not set
 # CONFIG_NFSD is not set
author maintainer
#22 lore raw

PATCH 22/28 omap: Devkit8000: Fix typo in supplies

In reply to Tony Lindgren

From: Thomas Weber <[email protected]>

Replace wrong vdss_dsi with vdds_dsi.

---
 arch/arm/mach-omap2/board-devkit8000.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-omap2/board-devkit8000.c +1 -1
index db4c093..b82e438 100644
@@ -303,7 +303,7 @@ static struct regulator_consumer_supply devkit8000_vpll2_supplies[] = {
 	.dev		= &devkit8000_lcd_device.dev,
 	},
 	{
-	.supply		= "vdss_dsi",
+	.supply		= "vdds_dsi",
 	.dev		= &devkit8000_dss_device.dev,
 	}
 };
author maintainer
#23 lore raw

PATCH 23/28 omap: Devkit8000: Add missing package selection

In reply to Tony Lindgren

From: Thomas Weber <[email protected]>

Devkit8000 uses the CUS package for OMAP3530.

This patch adds missing package selection for CUS and enables CONFIG_MUX.

Replace whitespace with tab in Kconfig.

---
 arch/arm/mach-omap2/Kconfig |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
arch/arm/mach-omap2/Kconfig +4 -2
index a8a3d1e..2455dcc 100644
@@ -59,8 +59,10 @@ config MACH_OMAP3_BEAGLE
 	select OMAP_PACKAGE_CBB
 
 config MACH_DEVKIT8000
-        bool "DEVKIT8000 board"
-        depends on ARCH_OMAP3
+	bool "DEVKIT8000 board"
+	depends on ARCH_OMAP3
+	select OMAP_PACKAGE_CUS
+	select OMAP_MUX
 
 config MACH_OMAP_LDP
 	bool "OMAP3 LDP board"
author maintainer
#24 lore raw

PATCH 24/28 omap: Devkit8000: Fix typo in pin name

In reply to Tony Lindgren

From: Thomas Weber <[email protected]>

Replace wrong sdr_cke[01] with sdrc_cke[01].

---
 arch/arm/mach-omap2/board-devkit8000.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
arch/arm/mach-omap2/board-devkit8000.c +2 -2
index b82e438..3fafef4 100644
@@ -676,8 +676,8 @@ static void __init devkit8000_init(void)
 	devkit8000_flash_init();
 
 	/* Ensure SDRC pins are mux'd for self-refresh */
-	omap_mux_init_signal("sdr_cke0", OMAP_PIN_OUTPUT);
-	omap_mux_init_signal("sdr_cke1", OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT);
 }
 
 static void __init devkit8000_map_io(void)
author maintainer
#25 lore raw

PATCH 25/28 omap: Devkit8000: Remove unnecessary include file

In reply to Tony Lindgren

From: Thomas Weber <[email protected]>

Remove include otg.h.

---
 arch/arm/mach-omap2/board-devkit8000.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
arch/arm/mach-omap2/board-devkit8000.c +0 -1
index 3fafef4..d605e05 100644
@@ -50,7 +50,6 @@
 #include <linux/input/matrix_keypad.h>
 #include <linux/spi/spi.h>
 #include <linux/spi/ads7846.h>
-#include <linux/usb/otg.h>
 #include <linux/dm9000.h>
 #include <linux/interrupt.h>
 
author maintainer
#26 lore raw

PATCH 26/28 omap: Devkit8000: Change position of init calls

In reply to Tony Lindgren

From: Thomas Weber <[email protected]>

Change position of calling serial and ethernet initialization.

---
 arch/arm/mach-omap2/board-devkit8000.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
arch/arm/mach-omap2/board-devkit8000.c +4 -4
index d605e05..0b4abd4 100644
@@ -649,6 +649,10 @@ static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
 
 static void __init devkit8000_init(void)
 {
+	omap_serial_init();
+
+	omap_dm9000_init();
+
 	devkit8000_i2c_init();
 	platform_add_devices(devkit8000_devices,
 			ARRAY_SIZE(devkit8000_devices));
@@ -658,10 +662,6 @@ static void __init devkit8000_init(void)
 	spi_register_board_info(devkit8000_spi_board_info,
 	ARRAY_SIZE(devkit8000_spi_board_info));
 
-	omap_serial_init();
-
-	omap_dm9000_init();
-
 	devkit8000_ads7846_init();
 
 	omap_mux_init_gpio(170, OMAP_PIN_INPUT);
author maintainer
#27 lore raw

PATCH 27/28 omap: Devkit8000: Remove unused pins

In reply to Tony Lindgren

From: Thomas Weber <[email protected]>

Old code from original patch contains beagle board pins that are not available on the Devkit8000.

---
 arch/arm/mach-omap2/board-devkit8000.c |   20 --------------------
 1 files changed, 0 insertions(+), 20 deletions(-)
arch/arm/mach-omap2/board-devkit8000.c +0 -20
index 0b4abd4..47e3af2 100644
@@ -268,20 +268,6 @@ static int devkit8000_twl_gpio_setup(struct device *dev,
 	devkit8000_vmmc1_supply.dev = mmc[0].dev;
 	devkit8000_vsim_supply.dev = mmc[0].dev;
 
-	/* REVISIT: need ehci-omap hooks for external VBUS
-	 * power switch and overcurrent detect
-	 */
-
-	gpio_request(gpio + 1, "EHCI_nOC");
-	gpio_direction_input(gpio + 1);
-
-	/* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */
-	gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
-	gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1);
-
-	/* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
-	gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
-
 	return 0;
 }
 
@@ -664,12 +650,6 @@ static void __init devkit8000_init(void)
 
 	devkit8000_ads7846_init();
 
-	omap_mux_init_gpio(170, OMAP_PIN_INPUT);
-
-	gpio_request(170, "DVI_nPD");
-	/* REVISIT leave DVI powered down until it's needed ... */
-	gpio_direction_output(170, true);
-
 	usb_musb_init(&musb_board_data);
 	usb_ehci_init(&ehci_pdata);
 	devkit8000_flash_init();
author maintainer
#28 lore raw

PATCH 28/28 omap: delete unused bootloader tag variables

In reply to Tony Lindgren

From: Aaro Koskinen <[email protected]>

They are not needed and add over 512 bytes to kernel data.

---
 arch/arm/plat-omap/common.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)
arch/arm/plat-omap/common.c +0 -3
index 01cbb48..f12f0e3 100644
@@ -44,9 +44,6 @@
 
 #define NO_LENGTH_CHECK 0xffffffff
 
-unsigned char omap_bootloader_tag[512];
-int omap_bootloader_tag_len;
-
 struct omap_board_config_kernel *omap_board_config;
 int omap_board_config_size;