Re: Regression with AM43xx devices

2015-06-03 Thread Dave Gerlach
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

2015-06-02 Thread Dave Gerlach
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

2015-06-02 Thread Felipe Balbi
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

2015-06-02 Thread Felipe Balbi
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

2015-06-02 Thread Paul Walmsley
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