Re: [PATCH v2] arm: omap3: am35x: Fix clockdomain dependencies

2012-06-28 Thread Paul Walmsley
On Thu, 19 Apr 2012, Mark A. Greer wrote:

 From: Mark A. Greer mgr...@animalcreek.com
 
 The am35x family of SoCs do not have an IVA so
 a parallel set of clockdomain dependencies are
 required that are simililar to OMAP3 but without
 any IVA dependencies.
 
 Signed-off-by: Mark A. Greer mgr...@animalcreek.com
 ---
 
 Paul, this is a respin of
   [PATCH 08/12] arm: omap3: am35x: Fix clockdomain dependencies
 
 with your comments [hopefully] addressed.  I'm breaking that long series
 into smaller pieces because most of them really weren't related.

Thanks, queued for 3.6.


- 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: [PATCH v2] arm: omap3: am35x: Fix clockdomain dependencies

2012-04-27 Thread Mark A. Greer
On Thu, Apr 26, 2012 at 04:56:39PM -0600, Paul Walmsley wrote:
 On Thu, 19 Apr 2012, Mark A. Greer wrote:
 
  From: Mark A. Greer mgr...@animalcreek.com
  
  The am35x family of SoCs do not have an IVA so
  a parallel set of clockdomain dependencies are
  required that are simililar to OMAP3 but without
  any IVA dependencies.
  
  Signed-off-by: Mark A. Greer mgr...@animalcreek.com
 
 Thanks, queued for 3.5.

Thanks Paul.

FYI, I have a version rebased on top of Kevin's recent patch series
that renames OMAP3517 to AM35XX (among other things),
 ARM: OMAP: remove IP checks from SoC family detection.

Would you like that one instead?

Mark
--
--
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: [PATCH v2] arm: omap3: am35x: Fix clockdomain dependencies

2012-04-26 Thread Paul Walmsley
On Thu, 19 Apr 2012, Mark A. Greer wrote:

 From: Mark A. Greer mgr...@animalcreek.com
 
 The am35x family of SoCs do not have an IVA so
 a parallel set of clockdomain dependencies are
 required that are simililar to OMAP3 but without
 any IVA dependencies.
 
 Signed-off-by: Mark A. Greer mgr...@animalcreek.com

Thanks, queued for 3.5.


- 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


[PATCH v2] arm: omap3: am35x: Fix clockdomain dependencies

2012-04-19 Thread Mark A. Greer
From: Mark A. Greer mgr...@animalcreek.com

The am35x family of SoCs do not have an IVA so
a parallel set of clockdomain dependencies are
required that are simililar to OMAP3 but without
any IVA dependencies.

Signed-off-by: Mark A. Greer mgr...@animalcreek.com
---

Paul, this is a respin of
[PATCH 08/12] arm: omap3: am35x: Fix clockdomain dependencies

with your comments [hopefully] addressed.  I'm breaking that long series
into smaller pieces because most of them really weren't related.

 arch/arm/mach-omap2/clockdomains3xxx_data.c |  157 ---
 1 file changed, 144 insertions(+), 13 deletions(-)

diff --git a/arch/arm/mach-omap2/clockdomains3xxx_data.c 
b/arch/arm/mach-omap2/clockdomains3xxx_data.c
index 6038adb..e72991f 100644
--- a/arch/arm/mach-omap2/clockdomains3xxx_data.c
+++ b/arch/arm/mach-omap2/clockdomains3xxx_data.c
@@ -59,6 +59,12 @@ static struct clkdm_dep gfx_sgx_3xxx_wkdeps[] = {
{ NULL },
 };
 
+static struct clkdm_dep gfx_sgx_am35x_wkdeps[] = {
+   { .clkdm_name = mpu_clkdm },
+   { .clkdm_name = wkup_clkdm },
+   { NULL },
+};
+
 /* 3430: PM_WKDEP_PER: CORE, IVA2, MPU, WKUP */
 static struct clkdm_dep per_wkdeps[] = {
{ .clkdm_name = core_l3_clkdm },
@@ -69,6 +75,14 @@ static struct clkdm_dep per_wkdeps[] = {
{ NULL },
 };
 
+static struct clkdm_dep per_am35x_wkdeps[] = {
+   { .clkdm_name = core_l3_clkdm },
+   { .clkdm_name = core_l4_clkdm },
+   { .clkdm_name = mpu_clkdm },
+   { .clkdm_name = wkup_clkdm },
+   { NULL },
+};
+
 /* 3430ES2: PM_WKDEP_USBHOST: CORE, IVA2, MPU, WKUP */
 static struct clkdm_dep usbhost_wkdeps[] = {
{ .clkdm_name = core_l3_clkdm },
@@ -79,6 +93,14 @@ static struct clkdm_dep usbhost_wkdeps[] = {
{ NULL },
 };
 
+static struct clkdm_dep usbhost_am35x_wkdeps[] = {
+   { .clkdm_name = core_l3_clkdm },
+   { .clkdm_name = core_l4_clkdm },
+   { .clkdm_name = mpu_clkdm },
+   { .clkdm_name = wkup_clkdm },
+   { NULL },
+};
+
 /* 3430 PM_WKDEP_MPU: CORE, IVA2, DSS, PER */
 static struct clkdm_dep mpu_3xxx_wkdeps[] = {
{ .clkdm_name = core_l3_clkdm },
@@ -89,6 +111,14 @@ static struct clkdm_dep mpu_3xxx_wkdeps[] = {
{ NULL },
 };
 
+static struct clkdm_dep mpu_am35x_wkdeps[] = {
+   { .clkdm_name = core_l3_clkdm },
+   { .clkdm_name = core_l4_clkdm },
+   { .clkdm_name = dss_clkdm },
+   { .clkdm_name = per_clkdm },
+   { NULL },
+};
+
 /* 3430 PM_WKDEP_IVA2: CORE, MPU, WKUP, DSS, PER */
 static struct clkdm_dep iva2_wkdeps[] = {
{ .clkdm_name = core_l3_clkdm },
@@ -116,6 +146,12 @@ static struct clkdm_dep dss_wkdeps[] = {
{ NULL },
 };
 
+static struct clkdm_dep dss_am35x_wkdeps[] = {
+   { .clkdm_name = mpu_clkdm },
+   { .clkdm_name = wkup_clkdm },
+   { NULL },
+};
+
 /* 3430: PM_WKDEP_NEON: MPU */
 static struct clkdm_dep neon_wkdeps[] = {
{ .clkdm_name = mpu_clkdm },
@@ -131,6 +167,11 @@ static struct clkdm_dep dss_sleepdeps[] = {
{ NULL },
 };
 
+static struct clkdm_dep dss_am35x_sleepdeps[] = {
+   { .clkdm_name = mpu_clkdm },
+   { NULL },
+};
+
 /* 3430: CM_SLEEPDEP_PER: MPU, IVA */
 static struct clkdm_dep per_sleepdeps[] = {
{ .clkdm_name = mpu_clkdm },
@@ -138,6 +179,11 @@ static struct clkdm_dep per_sleepdeps[] = {
{ NULL },
 };
 
+static struct clkdm_dep per_am35x_sleepdeps[] = {
+   { .clkdm_name = mpu_clkdm },
+   { NULL },
+};
+
 /* 3430ES2: CM_SLEEPDEP_USBHOST: MPU, IVA */
 static struct clkdm_dep usbhost_sleepdeps[] = {
{ .clkdm_name = mpu_clkdm },
@@ -145,6 +191,11 @@ static struct clkdm_dep usbhost_sleepdeps[] = {
{ NULL },
 };
 
+static struct clkdm_dep usbhost_am35x_sleepdeps[] = {
+   { .clkdm_name = mpu_clkdm },
+   { NULL },
+};
+
 /* 3430: CM_SLEEPDEP_CAM: MPU */
 static struct clkdm_dep cam_sleepdeps[] = {
{ .clkdm_name = mpu_clkdm },
@@ -175,6 +226,15 @@ static struct clockdomain mpu_3xxx_clkdm = {
.clktrctrl_mask = OMAP3430_CLKTRCTRL_MPU_MASK,
 };
 
+static struct clockdomain mpu_am35x_clkdm = {
+   .name   = mpu_clkdm,
+   .pwrdm  = { .name = mpu_pwrdm },
+   .flags  = CLKDM_CAN_HWSUP | CLKDM_CAN_FORCE_WAKEUP,
+   .dep_bit= OMAP3430_EN_MPU_SHIFT,
+   .wkdep_srcs = mpu_am35x_wkdeps,
+   .clktrctrl_mask = OMAP3430_CLKTRCTRL_MPU_MASK,
+};
+
 static struct clockdomain neon_clkdm = {
.name   = neon_clkdm,
.pwrdm  = { .name = neon_pwrdm },
@@ -210,6 +270,15 @@ static struct clockdomain sgx_clkdm = {
.clktrctrl_mask = OMAP3430ES2_CLKTRCTRL_SGX_MASK,
 };
 
+static struct clockdomain sgx_am35x_clkdm = {
+   .name   = sgx_clkdm,
+   .pwrdm  = { .name = sgx_pwrdm },
+   .flags  = CLKDM_CAN_HWSUP_SWSUP,
+   .wkdep_srcs = gfx_sgx_am35x_wkdeps,
+   .sleepdep_srcs  = gfx_sgx_sleepdeps,
+   .clktrctrl_mask =