linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH pm-wip/uart 0/4] misc. fixes for IDLEST and OMAP24xx support
@ 2010-05-26 23:05 Kevin Hilman
  2010-05-26 23:05 ` [PATCH pm-wip/uart 1/4] OMAP3: hwmod: UART: add module offs Kevin Hilman
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Kevin Hilman @ 2010-05-26 23:05 UTC (permalink / raw)
  To: linux-omap

This series on top of my pm-wip/uart branch fixes up various issues
with UART hwmods for 24xx as well as IDLEST issues after Benoit's
fixes/cleanup series.

Tested on OMAP3 (omap3evm) and OMAP2 (n810/2420).

Note that for OMAP2, this recently posted patch is required as well:

  [PATCH] OMAP24xx: CM: fix mask used for checking IDLEST status

These ares posted as FYI, and will be folded into the original hwmod
data for OMAP2+ UARTs.

Kevin


Kevin Hilman (4):
  OMAP3: hwmod: UART: add module offs
  OMAP2/3: hwmod: L3 and L4 CORE/PER/WKUP hwmods don't have IDLEST
  OMAP2420: hwmod: UART3 needs prcm_reg_id = 2
  24xx: need .module_offs = CORE_MOD

 arch/arm/mach-omap2/omap_hwmod_2420_data.c |   14 ++++++++++----
 arch/arm/mach-omap2/omap_hwmod_2430_data.c |    9 ++++++---
 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |   15 +++++++++++----
 3 files changed, 27 insertions(+), 11 deletions(-)


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH pm-wip/uart 1/4] OMAP3: hwmod: UART: add module offs
  2010-05-26 23:05 [PATCH pm-wip/uart 0/4] misc. fixes for IDLEST and OMAP24xx support Kevin Hilman
@ 2010-05-26 23:05 ` Kevin Hilman
  2010-05-26 23:05 ` [PATCH pm-wip/uart 2/4] OMAP2/3: hwmod: L3 and L4 CORE/PER/WKUP hwmods don't have IDLEST Kevin Hilman
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Kevin Hilman @ 2010-05-26 23:05 UTC (permalink / raw)
  To: linux-omap

fold into OMAP3 hwmod patch
---
 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index f88bfff..5bf8690 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -287,6 +287,7 @@ static struct omap_hwmod omap3xxx_uart1_hwmod = {
 	.main_clk	= "uart1_fck",
 	.prcm		= {
 		.omap2 = {
+			.module_offs = CORE_MOD,
 			.prcm_reg_id = 1,
 			.module_bit = OMAP3430_EN_UART1_SHIFT,
 		},
@@ -321,6 +322,7 @@ static struct omap_hwmod omap3xxx_uart2_hwmod = {
 	.main_clk	= "uart2_fck",
 	.prcm		= {
 		.omap2 = {
+			.module_offs = CORE_MOD,
 			.prcm_reg_id = 1,
 			.module_bit = OMAP3430_EN_UART2_SHIFT,
 		},
@@ -355,6 +357,7 @@ static struct omap_hwmod omap3xxx_uart3_hwmod = {
 	.main_clk	= "uart3_fck",
 	.prcm		= {
 		.omap2 = {
+			.module_offs = OMAP3430_PER_MOD,
 			.prcm_reg_id = 1,
 			.module_bit = OMAP3430_EN_UART3_SHIFT,
 		},
-- 
1.7.0.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH pm-wip/uart 2/4] OMAP2/3: hwmod: L3 and L4 CORE/PER/WKUP hwmods don't have IDLEST
  2010-05-26 23:05 [PATCH pm-wip/uart 0/4] misc. fixes for IDLEST and OMAP24xx support Kevin Hilman
  2010-05-26 23:05 ` [PATCH pm-wip/uart 1/4] OMAP3: hwmod: UART: add module offs Kevin Hilman
@ 2010-05-26 23:05 ` Kevin Hilman
  2010-05-26 23:05 ` [PATCH pm-wip/uart 3/4] OMAP2420: hwmod: UART3 needs prcm_reg_id = 2 Kevin Hilman
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Kevin Hilman @ 2010-05-26 23:05 UTC (permalink / raw)
  To: linux-omap

Since these hwmods do not have IDLEST, set the HWMOD_NO_IDLEST flag,
otherwise _enable() will fail due to failing _wait_target_ready().

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
---
 arch/arm/mach-omap2/omap_hwmod_2420_data.c |    9 ++++++---
 arch/arm/mach-omap2/omap_hwmod_2430_data.c |    9 ++++++---
 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |   12 ++++++++----
 3 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
index bbe3006..b9a957d 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
@@ -66,7 +66,8 @@ static struct omap_hwmod omap2420_l3_hwmod = {
 	.masters_cnt	= ARRAY_SIZE(omap2420_l3_masters),
 	.slaves		= omap2420_l3_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap2420_l3_slaves),
-	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 static struct omap_hwmod omap2420_l4_wkup_hwmod;
@@ -156,7 +157,8 @@ static struct omap_hwmod omap2420_l4_core_hwmod = {
 	.masters_cnt	= ARRAY_SIZE(omap2420_l4_core_masters),
 	.slaves		= omap2420_l4_core_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap2420_l4_core_slaves),
-	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 /* Slave interfaces on the L4_WKUP interconnect */
@@ -176,7 +178,8 @@ static struct omap_hwmod omap2420_l4_wkup_hwmod = {
 	.masters_cnt	= ARRAY_SIZE(omap2420_l4_wkup_masters),
 	.slaves		= omap2420_l4_wkup_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap2420_l4_wkup_slaves),
-	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 /* Master interfaces on the MPU device */
diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
index 45767b1..d7faef2 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
@@ -66,7 +66,8 @@ static struct omap_hwmod omap2430_l3_hwmod = {
 	.masters_cnt	= ARRAY_SIZE(omap2430_l3_masters),
 	.slaves		= omap2430_l3_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap2430_l3_slaves),
-	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 static struct omap_hwmod omap2430_l4_wkup_hwmod;
@@ -155,7 +156,8 @@ static struct omap_hwmod omap2430_l4_core_hwmod = {
 	.masters_cnt	= ARRAY_SIZE(omap2430_l4_core_masters),
 	.slaves		= omap2430_l4_core_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap2430_l4_core_slaves),
-	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 /* Slave interfaces on the L4_WKUP interconnect */
@@ -178,7 +180,8 @@ static struct omap_hwmod omap2430_l4_wkup_hwmod = {
 	.masters_cnt	= ARRAY_SIZE(omap2430_l4_wkup_masters),
 	.slaves		= omap2430_l4_wkup_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap2430_l4_wkup_slaves),
-	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 /* Master interfaces on the MPU device */
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index 5bf8690..6bc1173 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -77,7 +77,8 @@ static struct omap_hwmod omap3xxx_l3_hwmod = {
 	.masters_cnt	= ARRAY_SIZE(omap3xxx_l3_masters),
 	.slaves		= omap3xxx_l3_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap3xxx_l3_slaves),
-	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430)
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 static struct omap_hwmod omap3xxx_l4_wkup_hwmod;
@@ -185,7 +186,8 @@ static struct omap_hwmod omap3xxx_l4_core_hwmod = {
 	.masters_cnt	= ARRAY_SIZE(omap3xxx_l4_core_masters),
 	.slaves		= omap3xxx_l4_core_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap3xxx_l4_core_slaves),
-	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430)
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 /* Slave interfaces on the L4_PER interconnect */
@@ -207,7 +209,8 @@ static struct omap_hwmod omap3xxx_l4_per_hwmod = {
 	.masters_cnt	= ARRAY_SIZE(omap3xxx_l4_per_masters),
 	.slaves		= omap3xxx_l4_per_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap3xxx_l4_per_slaves),
-	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430)
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 /* Slave interfaces on the L4_WKUP interconnect */
@@ -227,7 +230,8 @@ static struct omap_hwmod omap3xxx_l4_wkup_hwmod = {
 	.masters_cnt	= ARRAY_SIZE(omap3xxx_l4_wkup_masters),
 	.slaves		= omap3xxx_l4_wkup_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap3xxx_l4_wkup_slaves),
-	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430)
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 /* Master interfaces on the MPU device */
-- 
1.7.0.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH pm-wip/uart 3/4] OMAP2420: hwmod: UART3 needs prcm_reg_id = 2
  2010-05-26 23:05 [PATCH pm-wip/uart 0/4] misc. fixes for IDLEST and OMAP24xx support Kevin Hilman
  2010-05-26 23:05 ` [PATCH pm-wip/uart 1/4] OMAP3: hwmod: UART: add module offs Kevin Hilman
  2010-05-26 23:05 ` [PATCH pm-wip/uart 2/4] OMAP2/3: hwmod: L3 and L4 CORE/PER/WKUP hwmods don't have IDLEST Kevin Hilman
@ 2010-05-26 23:05 ` Kevin Hilman
  2010-05-26 23:05 ` [PATCH pm-wip/uart 4/4] 24xx: need .module_offs = CORE_MOD Kevin Hilman
  2010-05-27 21:06 ` [PATCH pm-wip/uart 0/4] misc. fixes for IDLEST and OMAP24xx support Kevin Hilman
  4 siblings, 0 replies; 6+ messages in thread
From: Kevin Hilman @ 2010-05-26 23:05 UTC (permalink / raw)
  To: linux-omap

PRCM bits for UART3 are in PRCM reg id 2 (CM_IDLEST2_CORE, etc.)

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
---
 arch/arm/mach-omap2/omap_hwmod_2420_data.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
index b9a957d..c1618a5 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
@@ -307,7 +307,7 @@ static struct omap_hwmod omap2420_uart3_hwmod = {
 	.main_clk	= "uart3_fck",
 	.prcm		= {
 		.omap2 = {
-			.prcm_reg_id = 1,
+			.prcm_reg_id = 2,
 			.module_bit = OMAP24XX_EN_UART3_SHIFT,
 		},
 	},
-- 
1.7.0.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH pm-wip/uart 4/4] 24xx: need .module_offs = CORE_MOD
  2010-05-26 23:05 [PATCH pm-wip/uart 0/4] misc. fixes for IDLEST and OMAP24xx support Kevin Hilman
                   ` (2 preceding siblings ...)
  2010-05-26 23:05 ` [PATCH pm-wip/uart 3/4] OMAP2420: hwmod: UART3 needs prcm_reg_id = 2 Kevin Hilman
@ 2010-05-26 23:05 ` Kevin Hilman
  2010-05-27 21:06 ` [PATCH pm-wip/uart 0/4] misc. fixes for IDLEST and OMAP24xx support Kevin Hilman
  4 siblings, 0 replies; 6+ messages in thread
From: Kevin Hilman @ 2010-05-26 23:05 UTC (permalink / raw)
  To: linux-omap

---
 arch/arm/mach-omap2/omap_hwmod_2420_data.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
index c1618a5..682eecd 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
@@ -239,6 +239,7 @@ static struct omap_hwmod omap2420_uart1_hwmod = {
 	.main_clk	= "uart1_fck",
 	.prcm		= {
 		.omap2 = {
+			.module_offs = CORE_MOD,
 			.prcm_reg_id = 1,
 			.module_bit = OMAP24XX_EN_UART1_SHIFT,
 		},
@@ -273,6 +274,7 @@ static struct omap_hwmod omap2420_uart2_hwmod = {
 	.main_clk	= "uart2_fck",
 	.prcm		= {
 		.omap2 = {
+			.module_offs = CORE_MOD,
 			.prcm_reg_id = 1,
 			.module_bit = OMAP24XX_EN_UART2_SHIFT,
 		},
@@ -307,6 +309,7 @@ static struct omap_hwmod omap2420_uart3_hwmod = {
 	.main_clk	= "uart3_fck",
 	.prcm		= {
 		.omap2 = {
+			.module_offs = CORE_MOD,
 			.prcm_reg_id = 2,
 			.module_bit = OMAP24XX_EN_UART3_SHIFT,
 		},
-- 
1.7.0.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH pm-wip/uart 0/4] misc. fixes for IDLEST and OMAP24xx support
  2010-05-26 23:05 [PATCH pm-wip/uart 0/4] misc. fixes for IDLEST and OMAP24xx support Kevin Hilman
                   ` (3 preceding siblings ...)
  2010-05-26 23:05 ` [PATCH pm-wip/uart 4/4] 24xx: need .module_offs = CORE_MOD Kevin Hilman
@ 2010-05-27 21:06 ` Kevin Hilman
  4 siblings, 0 replies; 6+ messages in thread
From: Kevin Hilman @ 2010-05-27 21:06 UTC (permalink / raw)
  To: linux-omap

Kevin Hilman <khilman@deeprootsystems.com> writes:

> This series on top of my pm-wip/uart branch fixes up various issues
> with UART hwmods for 24xx as well as IDLEST issues after Benoit's
> fixes/cleanup series.
>
> Tested on OMAP3 (omap3evm) and OMAP2 (n810/2420).
>
> Note that for OMAP2, this recently posted patch is required as well:
>
>   [PATCH] OMAP24xx: CM: fix mask used for checking IDLEST status
>
> These ares posted as FYI, and will be folded into the original hwmod
> data for OMAP2+ UARTs.
>
> Kevin
>
>
> Kevin Hilman (4):
>   OMAP3: hwmod: UART: add module offs
>   OMAP2/3: hwmod: L3 and L4 CORE/PER/WKUP hwmods don't have IDLEST
>   OMAP2420: hwmod: UART3 needs prcm_reg_id = 2
>   24xx: need .module_offs = CORE_MOD

FYI.

This series has been folded into the original UART hwmod conversion
patch in an updated pm-wip/uart branch.

Kevin

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-05-27 21:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-26 23:05 [PATCH pm-wip/uart 0/4] misc. fixes for IDLEST and OMAP24xx support Kevin Hilman
2010-05-26 23:05 ` [PATCH pm-wip/uart 1/4] OMAP3: hwmod: UART: add module offs Kevin Hilman
2010-05-26 23:05 ` [PATCH pm-wip/uart 2/4] OMAP2/3: hwmod: L3 and L4 CORE/PER/WKUP hwmods don't have IDLEST Kevin Hilman
2010-05-26 23:05 ` [PATCH pm-wip/uart 3/4] OMAP2420: hwmod: UART3 needs prcm_reg_id = 2 Kevin Hilman
2010-05-26 23:05 ` [PATCH pm-wip/uart 4/4] 24xx: need .module_offs = CORE_MOD Kevin Hilman
2010-05-27 21:06 ` [PATCH pm-wip/uart 0/4] misc. fixes for IDLEST and OMAP24xx support Kevin Hilman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).