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-gerlach@xxxxxx> > 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-gerlach@xxxxxx> > [paul@xxxxxxxxx: updated to apply] > Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> > > 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 = 0x0000, > +}; > + > +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 = 0x0000, > -}; > - > -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 > +++ b/arch/arm/mach-omap2/prcm43xx.h > @@ -146,4 +146,6 @@ > #define AM43XX_CM_PER_HDQ1W_CLKCTRL_OFFSET 0x04a0 > #define AM43XX_CM_PER_VPFE0_CLKCTRL_OFFSET 0x0068 > #define AM43XX_CM_PER_VPFE1_CLKCTRL_OFFSET 0x0070 > +#define AM43XX_CM_PER_EMIF_CLKCTRL_OFFSET 0x0720 > + > #endif > > -------------------------------------------------------------------------- > > git bisect start > # good: [e26081808edadfd257c6c9d81014e3b25e9a6118] Linux 4.1-rc4 > git bisect good e26081808edadfd257c6c9d81014e3b25e9a6118 > # bad: [073c2e3b6d0b06be76e9d80e0879a95f7bd4a421] Merge tag 'omap-for-v4.2/o2_dc' into for-next > git bisect bad 073c2e3b6d0b06be76e9d80e0879a95f7bd4a421 > # good: [f044523a11ca9b32bfa7f663cded1071e55fb51a] Merge branch 'omap-for-v4.2/dt' into for-next > git bisect good f044523a11ca9b32bfa7f663cded1071e55fb51a > # good: [c663484536a2c3f7be583b72c014a850dd1b43c6] Merge tag 'omap-for-v4.1/fixes-rc6' into for-next > git bisect good c663484536a2c3f7be583b72c014a850dd1b43c6 > # good: [5fbfa07151978e2432bc4321003ac2c40d22382d] Merge tag 'omap-for-v4.2/wakeirq-drivers' into for-next > git bisect good 5fbfa07151978e2432bc4321003ac2c40d22382d > # bad: [436bbc12452c23b9e7385f3fcabc82fdd387a55a] Merge tag 'for-v4.2/omap-hwmod-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v4.2/soc > git bisect bad 436bbc12452c23b9e7385f3fcabc82fdd387a55a > # bad: [fabbe6df130a46d5b5e7484b2273d69c4be3012a] ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod > git bisect bad fabbe6df130a46d5b5e7484b2273d69c4be3012a > # good: [63aa945b1013c34b145dcf218d4ea323cbd93f86] memory: omap-gpmc: Add Kconfig option for debug > git bisect good 63aa945b1013c34b145dcf218d4ea323cbd93f86 > # first bad commit: [fabbe6df130a46d5b5e7484b2273d69c4be3012a] ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod > -- 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