omap fixes for v2.6.34-rc5
Subsystems (7)
Tony Lindgren
maintainercover 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
Tony Lindgren
maintainerPATCH 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
@@ -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); }
Tony Lindgren
maintainerPATCH 2/28 arm: omap1: remove dead code from timer32k.c
In reply to Tony LindgrenFrom: 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
@@ -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;
Tony Lindgren
maintainerPATCH 3/28 omap: gpio: fix incorrect matching of IRQ_TYPE_EDGE_BOTH
In reply to Tony LindgrenFrom: 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
@@ -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;
Tony Lindgren
maintainerPATCH 4/28 omap: DMA: Init CDAC to zero
In reply to Tony LindgrenFrom: 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
@@ -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 ];
Tony Lindgren
maintainerPATCH 5/28 omap4: Fix build break when used with gcc-4.4.1 (2009-q3)
In reply to Tony LindgrenFrom: 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
@@ -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
@@ -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)
Tony Lindgren
maintainerPATCH 6/28 omap2: Fix ARM processor check for 24xx
In reply to Tony LindgrenThe 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
@@ -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
Tony Lindgren
maintainerPATCH 7/28 omap: Fix n8x0 mmc_mmc_init compile warnings and typos
In reply to Tony LindgrenFix 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
@@ -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 9static 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;
Tony Lindgren
maintainerPATCH 8/28 omap3: Fix EHCI port for IGEP v2 board
In reply to Tony LindgrenFrom: 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
@@ -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 , };
Tony Lindgren
maintainerPATCH 9/28 OMAP4-HSMMC: FIX for MMC5 Controller IRQ Base
In reply to Tony LindgrenFrom: 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
@@ -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 ;
Tony Lindgren
maintainerPATCH 10/28 OMAP4: Fix for CONTROL register Base
In reply to Tony LindgrenFrom: 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
@@ -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
Tony Lindgren
maintainerPATCH 11/28 omap: Devkit8000: Fix wrong usb port on Devkit8000
In reply to Tony LindgrenFrom: 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
@@ -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 };
Tony Lindgren
maintainerPATCH 12/28 OMAP4: Clocks: Change SPI Instance Names
In reply to Tony LindgrenFrom: 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
@@ -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),
Tony Lindgren
maintainerPATCH 13/28 omap: fix the compile error if CONFIG_MTD_NAND_OMAP2 is notenabled
In reply to Tony LindgrenFrom: 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
@@ -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
Tony Lindgren
maintainerPATCH 14/28 omap: remove one of the define of INT_34XX_BENCH_MPU_EMUL
In reply to Tony LindgrenFrom: 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
@@ -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
Tony Lindgren
maintainerPATCH 15/28 AM3517: initialize i2c subsystem after mux subsystem
In reply to Tony LindgrenFrom: 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
@@ -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));
Tony Lindgren
maintainerPATCH 16/28 omap: fix a gpmc nand problem
In reply to Tony LindgrenFrom: 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
@@ -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);
Tony Lindgren
maintainerPATCH 17/28 omap: rx51_defconfig: Remove duplicate phonet
In reply to Tony LindgrenFrom: 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
@@ -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
Tony Lindgren
maintainerPATCH 18/28 omap: rx51_defconfig: Remove CONFIG_SYSFS_DEPRECATED*=y options
In reply to Tony LindgrenFrom: 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
@@ -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
Tony Lindgren
maintainerPATCH 19/28 omap4: Fix McBSP4 base address
In reply to Tony LindgrenFrom: 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
@@ -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 )
Tony Lindgren
maintainerPATCH 20/28 omap: board-sdp-flash.c: Fix typos in debug output
In reply to Tony LindgrenFrom: 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
@@ -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); }
Tony Lindgren
maintainerPATCH 21/28 n8x0_defconfig: remove CONFIG_NILFS2_FS override
In reply to Tony LindgrenFrom: 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
@@ -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
Tony Lindgren
maintainerPATCH 22/28 omap: Devkit8000: Fix typo in supplies
In reply to Tony LindgrenFrom: 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
@@ -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, } };
Tony Lindgren
maintainerPATCH 23/28 omap: Devkit8000: Add missing package selection
In reply to Tony LindgrenFrom: 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
@@ -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"
Tony Lindgren
maintainerPATCH 24/28 omap: Devkit8000: Fix typo in pin name
In reply to Tony LindgrenFrom: 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
@@ -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 )
Tony Lindgren
maintainerPATCH 25/28 omap: Devkit8000: Remove unnecessary include file
In reply to Tony LindgrenFrom: 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
@@ -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>
Tony Lindgren
maintainerPATCH 26/28 omap: Devkit8000: Change position of init calls
In reply to Tony LindgrenFrom: 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
@@ -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 );
Tony Lindgren
maintainerPATCH 27/28 omap: Devkit8000: Remove unused pins
In reply to Tony LindgrenFrom: 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
@@ -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 ();
Tony Lindgren
maintainerPATCH 28/28 omap: delete unused bootloader tag variables
In reply to Tony LindgrenFrom: 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
@@ -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;