Re: Regression with AM43xx devices
Hi Paul, On 06/02/2015 02:28 PM, Paul Walmsley wrote: On Tue, 2 Jun 2015, Felipe Balbi wrote: You commit fabbe6df130a46d5b5e7484b2273d69c4be3012a (ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod) listed below added a new WARNING during boot to all AM43xx-based boards. Full boot logs can be found at [1], Speaking of which, could you guys please send along an AM43xx board for the testbed? That would help avoid these issues earlier. We can work on this. Regards, Dave - Paul -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Regression with AM43xx devices
On 06/02/2015 02:17 PM, Felipe Balbi wrote: Hi Dave, You commit fabbe6df130a46d5b5e7484b2273d69c4be3012a (ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod) listed below added a new WARNING during boot to all AM43xx-based boards. Full boot logs can be found at [1], but it seems like we should, at least for the merge window, revert said commit unless a fix could come it the next couple days or so.o ps: note that boot log is for AM43xx IDK, but the same thing has been reproduced on AM437x SK. [1] http://hastebin.com/kasenikevo This is because the base address will come from the DT node, patch is here: http://www.spinics.net/lists/arm-kernel/msg416286.html Regards, Dave commit fabbe6df130a46d5b5e7484b2273d69c4be3012a Author: Dave Gerlach d-gerl...@ti.com Date: Mon Jun 1 19:22:11 2015 -0600 ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod Without a hwmod for am43xx emif use counting for emif clockdomain does not happen correctly so it may be shut off by pm code unintentionally. Signed-off-by: Dave Gerlach d-gerl...@ti.com [p...@pwsan.com: updated to apply] Signed-off-by: Paul Walmsley p...@pwsan.com diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h index 130332c0534d..7f737965f543 100644 --- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h @@ -145,6 +145,7 @@ extern struct omap_hwmod am33xx_uart5_hwmod; extern struct omap_hwmod am33xx_uart6_hwmod; extern struct omap_hwmod am33xx_wd_timer1_hwmod; +extern struct omap_hwmod_class am33xx_emif_hwmod_class; extern struct omap_hwmod_class am33xx_l4_hwmod_class; extern struct omap_hwmod_class am33xx_wkup_m3_hwmod_class; extern struct omap_hwmod_class am33xx_control_hwmod_class; diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c index ae0cb673a3d1..907a452b78ea 100644 --- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c @@ -203,6 +203,19 @@ struct omap_hwmod am33xx_prcm_hwmod = { }; /* + * 'emif' class + * instance(s): emif + */ +static struct omap_hwmod_class_sysconfig am33xx_emif_sysc = { + .rev_offs = 0x, +}; + +struct omap_hwmod_class am33xx_emif_hwmod_class = { + .name = emif, + .sysc = am33xx_emif_sysc, +}; + +/* * 'aes0' class */ static struct omap_hwmod_class_sysconfig am33xx_aes0_sysc = { diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c index 0cf7b563dcd1..cc0791d9125b 100644 --- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c @@ -34,19 +34,6 @@ * IP blocks */ -/* - * 'emif' class - * instance(s): emif - */ -static struct omap_hwmod_class_sysconfig am33xx_emif_sysc = { - .rev_offs = 0x, -}; - -static struct omap_hwmod_class am33xx_emif_hwmod_class = { - .name = emif, - .sysc = am33xx_emif_sysc, -}; - /* emif */ static struct omap_hwmod am33xx_emif_hwmod = { .name = emif, diff --git a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c index 17e8004fc20f..215d5efa0dba 100644 --- a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c @@ -24,6 +24,20 @@ /* IP blocks */ +static struct omap_hwmod am43xx_emif_hwmod = { + .name = emif, + .class = am33xx_emif_hwmod_class, + .clkdm_name = emif_clkdm, + .flags = HWMOD_INIT_NO_IDLE, + .main_clk = dpll_ddr_m2_ck, + .prcm = { + .omap4 = { + .clkctrl_offs = AM43XX_CM_PER_EMIF_CLKCTRL_OFFSET, + .modulemode = MODULEMODE_SWCTRL, + }, + }, +}; + static struct omap_hwmod am43xx_l4_hs_hwmod = { .name = l4_hs, .class = am33xx_l4_hwmod_class, @@ -583,6 +597,13 @@ static struct omap_hwmod am43xx_vpfe1_hwmod = { }; /* Interfaces */ +static struct omap_hwmod_ocp_if am43xx_l3_main__emif = { + .master = am33xx_l3_main_hwmod, + .slave = am43xx_emif_hwmod, + .clk= dpll_core_m4_ck, + .user = OCP_USER_MPU | OCP_USER_SDMA, +}; + static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = { .master = am33xx_l3_main_hwmod, .slave = am43xx_l4_hs_hwmod, @@ -918,6 +939,7 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = { am33xx_l3_main__l3_instr, am33xx_l3_main__gfx, am33xx_l3_s__l3_main, +
Re: Regression with AM43xx devices
On Tue, Jun 02, 2015 at 02:17:52PM -0500, Felipe Balbi wrote: Hi Dave, You commit fabbe6df130a46d5b5e7484b2273d69c4be3012a (ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod) listed below added a new WARNING during boot to all AM43xx-based boards. Full boot logs can be found at [1], but it seems like we should, at least for the merge window, revert said commit unless a fix could come it the next couple days or so.o ps: note that boot log is for AM43xx IDK, but the same thing has been reproduced on AM437x SK. [1] http://hastebin.com/kasenikevo Seems like someone forgot to pick [1] up. I've added my Tested-by as a reply to that thread. [1] http://marc.info/?l=linux-omapm=143093317331247w=2 -- balbi signature.asc Description: Digital signature
Regression with AM43xx devices
Hi Dave, You commit fabbe6df130a46d5b5e7484b2273d69c4be3012a (ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod) listed below added a new WARNING during boot to all AM43xx-based boards. Full boot logs can be found at [1], but it seems like we should, at least for the merge window, revert said commit unless a fix could come it the next couple days or so.o ps: note that boot log is for AM43xx IDK, but the same thing has been reproduced on AM437x SK. [1] http://hastebin.com/kasenikevo commit fabbe6df130a46d5b5e7484b2273d69c4be3012a Author: Dave Gerlach d-gerl...@ti.com Date: Mon Jun 1 19:22:11 2015 -0600 ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod Without a hwmod for am43xx emif use counting for emif clockdomain does not happen correctly so it may be shut off by pm code unintentionally. Signed-off-by: Dave Gerlach d-gerl...@ti.com [p...@pwsan.com: updated to apply] Signed-off-by: Paul Walmsley p...@pwsan.com diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h index 130332c0534d..7f737965f543 100644 --- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h @@ -145,6 +145,7 @@ extern struct omap_hwmod am33xx_uart5_hwmod; extern struct omap_hwmod am33xx_uart6_hwmod; extern struct omap_hwmod am33xx_wd_timer1_hwmod; +extern struct omap_hwmod_class am33xx_emif_hwmod_class; extern struct omap_hwmod_class am33xx_l4_hwmod_class; extern struct omap_hwmod_class am33xx_wkup_m3_hwmod_class; extern struct omap_hwmod_class am33xx_control_hwmod_class; diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c index ae0cb673a3d1..907a452b78ea 100644 --- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c @@ -203,6 +203,19 @@ struct omap_hwmod am33xx_prcm_hwmod = { }; /* + * 'emif' class + * instance(s): emif + */ +static struct omap_hwmod_class_sysconfig am33xx_emif_sysc = { + .rev_offs = 0x, +}; + +struct omap_hwmod_class am33xx_emif_hwmod_class = { + .name = emif, + .sysc = am33xx_emif_sysc, +}; + +/* * 'aes0' class */ static struct omap_hwmod_class_sysconfig am33xx_aes0_sysc = { diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c index 0cf7b563dcd1..cc0791d9125b 100644 --- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c @@ -34,19 +34,6 @@ * IP blocks */ -/* - * 'emif' class - * instance(s): emif - */ -static struct omap_hwmod_class_sysconfig am33xx_emif_sysc = { - .rev_offs = 0x, -}; - -static struct omap_hwmod_class am33xx_emif_hwmod_class = { - .name = emif, - .sysc = am33xx_emif_sysc, -}; - /* emif */ static struct omap_hwmod am33xx_emif_hwmod = { .name = emif, diff --git a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c index 17e8004fc20f..215d5efa0dba 100644 --- a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c @@ -24,6 +24,20 @@ /* IP blocks */ +static struct omap_hwmod am43xx_emif_hwmod = { + .name = emif, + .class = am33xx_emif_hwmod_class, + .clkdm_name = emif_clkdm, + .flags = HWMOD_INIT_NO_IDLE, + .main_clk = dpll_ddr_m2_ck, + .prcm = { + .omap4 = { + .clkctrl_offs = AM43XX_CM_PER_EMIF_CLKCTRL_OFFSET, + .modulemode = MODULEMODE_SWCTRL, + }, + }, +}; + static struct omap_hwmod am43xx_l4_hs_hwmod = { .name = l4_hs, .class = am33xx_l4_hwmod_class, @@ -583,6 +597,13 @@ static struct omap_hwmod am43xx_vpfe1_hwmod = { }; /* Interfaces */ +static struct omap_hwmod_ocp_if am43xx_l3_main__emif = { + .master = am33xx_l3_main_hwmod, + .slave = am43xx_emif_hwmod, + .clk= dpll_core_m4_ck, + .user = OCP_USER_MPU | OCP_USER_SDMA, +}; + static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = { .master = am33xx_l3_main_hwmod, .slave = am43xx_l4_hs_hwmod, @@ -918,6 +939,7 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = { am33xx_l3_main__l3_instr, am33xx_l3_main__gfx, am33xx_l3_s__l3_main, + am43xx_l3_main__emif, am33xx_pruss__l3_main, am43xx_wkup_m3__l4_wkup, am33xx_gfx__l3_main, diff --git a/arch/arm/mach-omap2/prcm43xx.h b/arch/arm/mach-omap2/prcm43xx.h index d0261996db6d..7eebc27fa892 100644 --- a/arch/arm/mach-omap2/prcm43xx.h
Re: Regression with AM43xx devices
On Tue, 2 Jun 2015, Felipe Balbi wrote: You commit fabbe6df130a46d5b5e7484b2273d69c4be3012a (ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod) listed below added a new WARNING during boot to all AM43xx-based boards. Full boot logs can be found at [1], Speaking of which, could you guys please send along an AM43xx board for the testbed? That would help avoid these issues earlier. - Paul -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html