"Nayak, Rajendra" <rnayak@xxxxxx> writes: [...] > > I forgot to mention, there are similar WARN's that I see on 2430sdp even with UART > Govidraj, can you look into these UART issues please? Looks like you might need to double check the bitfields and the module_offs for both of these. Thanks, Kevin > [ 0.000000] WARNING: at arch/arm/mach-omap2/omap_hwmod.c:1237 _omap_hwmod_idle+0x28/0xd8() > [ 0.000000] omap_hwmod: uart3: idle state can only be entered from enabled state > [ 0.000000] Modules linked in: > [ 0.000000] [<c0053478>] (unwind_backtrace+0x0/0xe4) from [<c00897f4>] (warn_slowpath_common+0x4c/0x64) > [ 0.000000] [<c00897f4>] (warn_slowpath_common+0x4c/0x64) from [<c008988c>] (warn_slowpath_fmt+0x2c/0x3c) > [ 0.000000] [<c008988c>] (warn_slowpath_fmt+0x2c/0x3c) from [<c005d138>] (_omap_hwmod_idle+0x28/0xd8) > [ 0.000000] [<c005d138>] (_omap_hwmod_idle+0x28/0xd8) from [<c005d210>] (omap_hwmod_idle+0x28/0x38) > [ 0.000000] [<c005d210>] (omap_hwmod_idle+0x28/0x38) from [<c000fd48>] (omap_serial_init_port+0x164/0x42c) > [ 0.000000] [<c000fd48>] (omap_serial_init_port+0x164/0x42c) from [<c0010028>] (omap_serial_init+0x18/0x40) > [ 0.000000] [<c0010028>] (omap_serial_init+0x18/0x40) from [<c0012a44>] (omap_2430sdp_init+0x48/0xcc) > [ 0.000000] [<c0012a44>] (omap_2430sdp_init+0x48/0xcc) from [<c000b650>] (customize_machine+0x18/0x24) > [ 0.000000] [<c000b650>] (customize_machine+0x18/0x24) from [<c004c578>] (do_one_initcall+0xcc/0x1a4) > [ 0.000000] [<c004c578>] (do_one_initcall+0xcc/0x1a4) from [<c00085e0>] (kernel_init+0x148/0x210) > [ 0.000000] [<c00085e0>] (kernel_init+0x148/0x210) from [<c004dcb8>] (kernel_thread_exit+0x0/0x8) > [ 0.000000] ---[ end trace 1b75b31a2719ed1c ]--- > [ 0.000000] ------------[ cut here ]------------ > [ 0.000000] WARNING: at arch/arm/mach-omap2/omap_hwmod.c:1237 _omap_hwmod_idle+0x28/0xd8() > [ 0.000000] omap_hwmod: uart3: idle state can only be entered from enabled state > [ 0.000000] Modules linked in: > [ 0.000000] [<c0053478>] (unwind_backtrace+0x0/0xe4) from [<c00897f4>] (warn_slowpath_common+0x4c/0x64) > [ 0.000000] [<c00897f4>] (warn_slowpath_common+0x4c/0x64) from [<c008988c>] (warn_slowpath_fmt+0x2c/0x3c) > [ 0.000000] [<c008988c>] (warn_slowpath_fmt+0x2c/0x3c) from [<c005d138>] (_omap_hwmod_idle+0x28/0xd8) > [ 0.000000] [<c005d138>] (_omap_hwmod_idle+0x28/0xd8) from [<c0058c48>] (uart_idle_hwmod+0x10/0x18) > [ 0.000000] [<c0058c48>] (uart_idle_hwmod+0x10/0x18) from [<c006a994>] (_omap_device_deactivate+0x58/0x144) > [ 0.000000] [<c006a994>] (_omap_device_deactivate+0x58/0x144) from [<c006ac44>] (omap_device_idle+0x48/0x68) > [ 0.000000] [<c006ac44>] (omap_device_idle+0x48/0x68) from [<c000ff08>] (omap_serial_init_port+0x324/0x42c) > [ 0.000000] [<c000ff08>] (omap_serial_init_port+0x324/0x42c) from [<c0010028>] (omap_serial_init+0x18/0x40) > [ 0.000000] [<c0010028>] (omap_serial_init+0x18/0x40) from [<c0012a44>] (omap_2430sdp_init+0x48/0xcc) > [ 0.000000] [<c0012a44>] (omap_2430sdp_init+0x48/0xcc) from [<c000b650>] (customize_machine+0x18/0x24) > [ 0.000000] [<c000b650>] (customize_machine+0x18/0x24) from [<c004c578>] (do_one_initcall+0xcc/0x1a4) > [ 0.000000] [<c004c578>] (do_one_initcall+0xcc/0x1a4) from [<c00085e0>] (kernel_init+0x148/0x210) > [ 0.000000] [<c00085e0>] (kernel_init+0x148/0x210) from [<c004dcb8>] (kernel_thread_exit+0x0/0x8) > [ 0.000000] ---[ end trace 1b75b31a2719ed1d ]--- >> >> >> diff --git a/arch/arm/mach-omap2/cm-regbits-24xx.h b/arch/arm/mach-omap2/cm-regbits-24xx.h >> index 5986e2b..9a106c0 100644 >> --- a/arch/arm/mach-omap2/cm-regbits-24xx.h >> +++ b/arch/arm/mach-omap2/cm-regbits-24xx.h >> @@ -126,12 +126,12 @@ >> #define OMAP24XX_ST_HDQ_MASK (1 << 23) >> #define OMAP2420_ST_I2C2_SHIFT 20 >> #define OMAP2420_ST_I2C2_MASK (1 << 20) >> -#define OMAP2430_ST_I2CHS1_SHIFT 20 >> -#define OMAP2430_ST_I2CHS1_MASK (1 << 20) >> +#define OMAP2430_ST_I2CHS1_SHIFT 19 >> +#define OMAP2430_ST_I2CHS1_MASK (1 << 19) >> #define OMAP2420_ST_I2C1_SHIFT 19 >> #define OMAP2420_ST_I2C1_MASK (1 << 19) >> -#define OMAP2430_ST_I2CHS2_SHIFT 19 >> -#define OMAP2430_ST_I2CHS2_MASK (1 << 19) >> +#define OMAP2430_ST_I2CHS2_SHIFT 20 >> +#define OMAP2430_ST_I2CHS2_MASK (1 << 20) >> #define OMAP24XX_ST_MCBSP2_SHIFT 16 >> #define OMAP24XX_ST_MCBSP2_MASK (1 << 16) >> #define OMAP24XX_ST_MCBSP1_SHIFT 15 >> diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c >> index 8bf46c1..ca4edd3 100644 >> --- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c >> +++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c >> @@ -504,6 +504,7 @@ static struct omap_hwmod omap2420_i2c1_hwmod = { >> .main_clk = "i2c1_fck", >> .prcm = { >> .omap2 = { >> + .module_offs = CORE_MOD, >> .prcm_reg_id = 1, >> .module_bit = OMAP2420_EN_I2C1_SHIFT, >> .idlest_reg_id = 1, >> @@ -541,6 +542,7 @@ static struct omap_hwmod omap2420_i2c2_hwmod = { >> .main_clk = "i2c2_fck", >> .prcm = { >> .omap2 = { >> + .module_offs = CORE_MOD, >> .prcm_reg_id = 1, >> .module_bit = OMAP2420_EN_I2C2_SHIFT, >> .idlest_reg_id = 1, >> diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c >> index 92f4ec0..9498847 100644 >> --- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c >> +++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c >> @@ -502,7 +502,7 @@ static struct omap_hwmod omap2430_i2c1_hwmod = { >> .mpu_irqs_cnt = ARRAY_SIZE(i2c1_mpu_irqs), >> .sdma_reqs = i2c1_sdma_reqs, >> .sdma_reqs_cnt = ARRAY_SIZE(i2c1_sdma_reqs), >> - .main_clk = "i2c1_fck", >> + .main_clk = "i2chs1_fck", >> .prcm = { >> .omap2 = { >> /* >> @@ -513,6 +513,7 @@ static struct omap_hwmod omap2430_i2c1_hwmod = { >> * additonal flags when clk handling is moved >> * to hwmod framework. >> */ >> + .module_offs = CORE_MOD, >> .prcm_reg_id = 1, >> .module_bit = OMAP2430_EN_I2CHS1_SHIFT, >> .idlest_reg_id = 1, >> @@ -551,9 +552,10 @@ static struct omap_hwmod omap2430_i2c2_hwmod = { >> .mpu_irqs_cnt = ARRAY_SIZE(i2c2_mpu_irqs), >> .sdma_reqs = i2c2_sdma_reqs, >> .sdma_reqs_cnt = ARRAY_SIZE(i2c2_sdma_reqs), >> - .main_clk = "i2c2_fck", >> + .main_clk = "i2chs2_fck", >> .prcm = { >> .omap2 = { >> + .module_offs = CORE_MOD, >> .prcm_reg_id = 1, >> .module_bit = OMAP2430_EN_I2CHS2_SHIFT, >> .idlest_reg_id = 1, >> > >> > > >> > > >> Note this also depends on a handful of patches from my pm-backports >> > > >> branch, most of which you have picked into omap-testing, except for the >> > > >> one I just posted to linux-arm-kernel: >> > > >> >> > > >> ARM: add cpu_idle_wait() to support CPUidle on SMP systems. >> > > >> >> > > >> This one is required now that the default config enables SMP. >> > > > >> > > > I'll apply that into omap-testing branch. >> > > >> > > Thanks, >> > > >> > > Kevin -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html