Skip to contentSkip to conversation

ARM: OMAP4 SDP/PandaBoard: Fix sys_nirq2 mux configuration

PATCH New Peter Ujfalusi 4 participants 8 messages Jul 6, 2012 – Jul 9, 2012

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

v2 cover ARM: OMAP4 SDP/PandaBoard: Fix sys_nirq2 mux configuration

Hello,

sys_nirq2 pin needs to be set to mode0 (instead of mode1 done in v1 patches). To my surprise mode1 also worked, but it was not the correct mode.

I have kept the acks from Santosh since the idea behind of the patches are the same, but now the mux mode is the correct one.

Regards,
Peter

---
Peter Ujfalusi (2):
ARM: OMAP: board-4430sdp: MUX configuration for sys_nirq2
ARM: OMAP: board-omap4panda: MUX configuration for sys_nirq2

 arch/arm/mach-omap2/board-4430sdp.c    |    3 +++
 arch/arm/mach-omap2/board-omap4panda.c |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)
Signature · 1 line
1.7.8.6
#1 lore raw

PATCH v2 1/2 ARM: OMAP: board-4430sdp: MUX configuration for sys_nirq2

The sys_nirq2 is used for twl6040, make sure the pin is configured correctly.

---
 arch/arm/mach-omap2/board-4430sdp.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/board-4430sdp.c +3 -0
index c4e17641..72cd206 100644
@@ -827,6 +827,9 @@ static void __init omap_4430sdp_display_init(void)
 #ifdef CONFIG_OMAP_MUX
 static struct omap_board_mux board_mux[] __initdata = {
 	OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
+	/* NIRQ2 for twl6040 */
+	OMAP4_MUX(SYS_NIRQ2, OMAP_MUX_MODE0 |
+		  OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_WAKEUPENABLE),
 	{ .reg_offset = OMAP_MUX_TERMINATOR },
 };
 
Signature · 1 line
1.7.8.6
#2 lore raw

PATCH v2 1/2 ARM: OMAP: board-4430sdp: MUX configuration for sys_nirq2

Quoted 14 lines · Peter Ujfalusi

The sys_nirq2 is used for twl6040, make sure the pin is configured correctly.

---
 arch/arm/mach-omap2/board-4430sdp.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/board-4430sdp.c +0 -0
index c4e17641..72cd206 100644

arch/arm/mach-omap2/board-4430sdp.c static void __init omap_4430sdp_display_init(void) · line 832

Quoted 6 lines
arch/arm/mach-omap2/board-4430sdp.c +3 -0
@@ -827,6 +827,9 @@ static void __init omap_4430sdp_display_init(void)
 #ifdef CONFIG_OMAP_MUX
 static struct omap_board_mux board_mux[] __initdata = {
 	OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
+	/* NIRQ2 for twl6040 */
+	OMAP4_MUX(SYS_NIRQ2, OMAP_MUX_MODE0 |
+		  OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_WAKEUPENABLE),

Since this is TWL6030 specific, it should rather be done in TWL code like I did for sys_nirq1:

http://marc.info/?l=linux-omap&m=134090312118873&w=2

That would avoid having to do this in both board files.

I thought about adding sys_nirq2 in my patch too, but did not know how to properly test it.

Kevin

Quoted 2 lines
arch/arm/mach-omap2/board-4430sdp.c +0 -0
 	{ .reg_offset = OMAP_MUX_TERMINATOR },
 };
#3 lore raw

PATCH v2 1/2 ARM: OMAP: board-4430sdp: MUX configuration for sys_nirq2

Quoted 26 lines · Kevin Hilman
Quoted 14 lines · Peter Ujfalusi

The sys_nirq2 is used for twl6040, make sure the pin is configured correctly.

---
 arch/arm/mach-omap2/board-4430sdp.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/board-4430sdp.c +0 -0
index c4e17641..72cd206 100644

arch/arm/mach-omap2/board-4430sdp.c static void __init omap_4430sdp_display_init(void) · line 832

Quoted 6 lines
arch/arm/mach-omap2/board-4430sdp.c +3 -0
@@ -827,6 +827,9 @@ static void __init omap_4430sdp_display_init(void)
 #ifdef CONFIG_OMAP_MUX
 static struct omap_board_mux board_mux[] __initdata = {
      OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
+     /* NIRQ2 for twl6040 */
+     OMAP4_MUX(SYS_NIRQ2, OMAP_MUX_MODE0 |
+               OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_WAKEUPENABLE),

Since this is TWL6030 specific, it should rather be done in TWL code like I did for sys_nirq1:

Quoted 4 lines
   http://marc.info/?l=linux-omap&m=134090312118873&w=2

That would avoid having to do this in both board files.

Though the pin is TWL specific, it need not be same on different board with different SOCs. Especially when you need to set MUX mode etc. So doing from board file is still better since TWL6030/40 can be connected to non OMAP4 devices where the muxing can be different.

With current know boards with TWL6030/40, this is not a strong requirement though.

Regards
Santosh

#4 lore raw

PATCH v2 1/2 ARM: OMAP: board-4430sdp: MUX configuration for sys_nirq2

Quoted 7 lines · Santosh
Quoted 7 lines

Since this is TWL6030 specific, it should rather be done in TWL code like I did for sys_nirq1:

   http://marc.info/?l=linux-omap&m=134090312118873&w=2

That would avoid having to do this in both board files.

Quoted 8 lines

Though the pin is TWL specific, it need not be same on different board with different SOCs. Especially when you need to set MUX mode etc. So doing from board file is still better since TWL6030/40 can be connected to non OMAP4 devices where the muxing can be different.

With current know boards with TWL6030/40, this is not a strong requirement though.

There can be board which has twl6030 but does not have twl6040.
The twl6040 is the recommended audio solution for OMAP4+ systems but it can be replaced by other codec on some boards.
This is the reason I have put the mux configuration into the board files for sys_nirq2 (which is in these cases are used to handle the interrupt from twl6040).

Signature · 7 lines
Péter


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
maintainer
#5 lore raw

PATCH v2 1/2 ARM: OMAP: board-4430sdp: MUX configuration for sys_nirq2

Quoted 14 lines · Peter Ujfalusi
Quoted 13 lines · Santosh
Quoted 7 lines

Since this is TWL6030 specific, it should rather be done in TWL code like I did for sys_nirq1:

   http://marc.info/?l=linux-omap&m=134090312118873&w=2

That would avoid having to do this in both board files.

Though the pin is TWL specific, it need not be same on different board with different SOCs. Especially when you need to set MUX mode etc. So doing from board file is still better since TWL6030/40 can be connected to non OMAP4 devices where the muxing can be different.

Quoted 8 lines
Quoted 2 lines

With current know boards with TWL6030/40, this is not a strong requirement though.

There can be board which has twl6030 but does not have twl6040.
The twl6040 is the recommended audio solution for OMAP4+ systems but it can be replaced by other codec on some boards.
This is the reason I have put the mux configuration into the board files for sys_nirq2 (which is in these cases are used to handle the interrupt from twl6040).

OK I'll apply these into devel-board branch.

Tony

#6 lore raw

PATCH v2 1/2 ARM: OMAP: board-4430sdp: MUX configuration for sys_nirq2

In reply to Peter Ujfalusi
Quoted 14 lines · Peter Ujfalusi
Quoted 13 lines · Santosh
Quoted 7 lines

Since this is TWL6030 specific, it should rather be done in TWL code like I did for sys_nirq1:

   http://marc.info/?l=linux-omap&m=134090312118873&w=2

That would avoid having to do this in both board files.

Though the pin is TWL specific, it need not be same on different board with different SOCs. Especially when you need to set MUX mode etc. So doing from board file is still better since TWL6030/40 can be connected to non OMAP4 devices where the muxing can be different.

Quoted 8 lines
Quoted 2 lines

With current know boards with TWL6030/40, this is not a strong requirement though.

There can be board which has twl6030 but does not have twl6040.
The twl6040 is the recommended audio solution for OMAP4+ systems but it can be replaced by other codec on some boards.
This is the reason I have put the mux configuration into the board files for sys_nirq2 (which is in these cases are used to handle the interrupt from twl6040).

OK, sounds right. Thanks for the clarification.

Kevin

#7 lore raw

PATCH v2 2/2 ARM: OMAP: board-omap4panda: MUX configuration for sys_nirq2

In reply to Peter Ujfalusi

The sys_nirq2 is used for twl6040, make sure the pin is configured correctly.

---
 arch/arm/mach-omap2/board-omap4panda.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/board-omap4panda.c +3 -0
index 982fb26..b627cdc 100644
@@ -379,6 +379,9 @@ static struct omap_board_mux board_mux[] __initdata = {
 	OMAP4_MUX(DPM_EMU18, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
 	/* dispc2_data0 */
 	OMAP4_MUX(DPM_EMU19, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+	/* NIRQ2 for twl6040 */
+	OMAP4_MUX(SYS_NIRQ2, OMAP_MUX_MODE0 |
+		  OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_WAKEUPENABLE),
 	{ .reg_offset = OMAP_MUX_TERMINATOR },
 };
 
Signature · 1 line
1.7.8.6