linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+
@ 2012-10-04 11:57 Peter Ujfalusi
  2012-10-04 11:57 ` [PATCH 1/9] ARM: OMAP: board-4430-sdp: Pin mux configuration for audio needs Peter Ujfalusi
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: Peter Ujfalusi @ 2012-10-04 11:57 UTC (permalink / raw)
  To: linux-arm-kernel

Hello,

u-boot recently stopped configuring 'non essential' pin mux. This change leaves
the audio essential pins in non configured state which prevents the use of audio.
The following series makes sure that the needed pins are configured correctly by
the kernel on OMAP4 and OMAP5.

Tony: can this series queued for 3.7?

Regards,
Peter
---
Peter Ujfalusi (9):
  ARM: OMAP: board-4430-sdp: Pin mux configuration for audio needs
  ARM: OMAP: board-omap4panda: Pin mux configuration for audio needs
  ARM/dts: omap4-panda: Disable unused audio IPs
  ARM/dts: omap4-sdp: Disable unused McBSP3
  ARM/dts: omap5-evm: Disable unused McBSP3
  ARM/dts: omap4-sdp: pinmux configuration for audio
  ARM/dts: omap4-panda: pinmux configuration for audio
  ARM/dts: Add pinctrl driver entries for omap5
  ARM/dts: omap5-evm: pinmux configuration for audio

 arch/arm/boot/dts/omap4-panda.dts      | 47 +++++++++++++++++++++++++++
 arch/arm/boot/dts/omap4-sdp.dts        | 57 +++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/omap5-evm.dts        | 58 ++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/omap5.dtsi           | 17 ++++++++++
 arch/arm/mach-omap2/board-4430sdp.c    | 26 +++++++++++++++
 arch/arm/mach-omap2/board-omap4panda.c | 15 +++++++++
 6 files changed, 220 insertions(+)

-- 
1.7.12

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

* [PATCH 1/9] ARM: OMAP: board-4430-sdp: Pin mux configuration for audio needs
  2012-10-04 11:57 [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+ Peter Ujfalusi
@ 2012-10-04 11:57 ` Peter Ujfalusi
  2012-10-04 11:57 ` [PATCH 2/9] ARM: OMAP: board-omap4panda: " Peter Ujfalusi
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Peter Ujfalusi @ 2012-10-04 11:57 UTC (permalink / raw)
  To: linux-arm-kernel

u-boot stopped configuring 'non essential' pins recently. These pins are
essential for audio and need to be done to have working audio on the board.
Pin Mux configuration for: twl6040 audpwron gpio, McPDM, DMIC, McBSP1 and
McBSP2.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 arch/arm/mach-omap2/board-4430sdp.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index 09644af..41a9b01 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -753,6 +753,32 @@ static struct omap_board_mux board_mux[] __initdata = {
 	/* NIRQ2 for twl6040 */
 	OMAP4_MUX(SYS_NIRQ2, OMAP_MUX_MODE0 |
 		  OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_WAKEUPENABLE),
+	/* GPIO_127 for twl6040 */
+	OMAP4_MUX(HDQ_SIO, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT),
+	/* McPDM */
+	OMAP4_MUX(ABE_PDM_UL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
+	OMAP4_MUX(ABE_PDM_DL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
+	OMAP4_MUX(ABE_PDM_FRAME, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
+	OMAP4_MUX(ABE_PDM_LB_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
+	OMAP4_MUX(ABE_CLKS, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
+	/* DMIC */
+	OMAP4_MUX(ABE_DMIC_CLK1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
+	OMAP4_MUX(ABE_DMIC_DIN1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
+	OMAP4_MUX(ABE_DMIC_DIN2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
+	OMAP4_MUX(ABE_DMIC_DIN3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
+	/* McBSP1 */
+	OMAP4_MUX(ABE_MCBSP1_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
+	OMAP4_MUX(ABE_MCBSP1_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
+	OMAP4_MUX(ABE_MCBSP1_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT |
+		  OMAP_PULL_ENA),
+	OMAP4_MUX(ABE_MCBSP1_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
+	/* McBSP2 */
+	OMAP4_MUX(ABE_MCBSP2_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
+	OMAP4_MUX(ABE_MCBSP2_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
+	OMAP4_MUX(ABE_MCBSP2_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT |
+		  OMAP_PULL_ENA),
+	OMAP4_MUX(ABE_MCBSP2_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
+
 	{ .reg_offset = OMAP_MUX_TERMINATOR },
 };
 
-- 
1.7.12

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

* [PATCH 2/9] ARM: OMAP: board-omap4panda: Pin mux configuration for audio needs
  2012-10-04 11:57 [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+ Peter Ujfalusi
  2012-10-04 11:57 ` [PATCH 1/9] ARM: OMAP: board-4430-sdp: Pin mux configuration for audio needs Peter Ujfalusi
@ 2012-10-04 11:57 ` Peter Ujfalusi
  2012-10-04 11:57 ` [PATCH 3/9] ARM/dts: omap4-panda: Disable unused audio IPs Peter Ujfalusi
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Peter Ujfalusi @ 2012-10-04 11:57 UTC (permalink / raw)
  To: linux-arm-kernel

u-boot stopped configuring 'non essential' pins recently. These pins are
essential for audio and need to be done to have working audio on the board.
Pin Mux configuration for: twl6040 audpwron gpio, McPDM, and McBSP1.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 arch/arm/mach-omap2/board-omap4panda.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index 57d217a..51d08fc 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -380,6 +380,21 @@ static struct omap_board_mux board_mux[] __initdata = {
 	/* NIRQ2 for twl6040 */
 	OMAP4_MUX(SYS_NIRQ2, OMAP_MUX_MODE0 |
 		  OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_WAKEUPENABLE),
+	/* GPIO_127 for twl6040 */
+	OMAP4_MUX(HDQ_SIO, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT),
+	/* McPDM */
+	OMAP4_MUX(ABE_PDM_UL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
+	OMAP4_MUX(ABE_PDM_DL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
+	OMAP4_MUX(ABE_PDM_FRAME, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
+	OMAP4_MUX(ABE_PDM_LB_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
+	OMAP4_MUX(ABE_CLKS, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
+	/* McBSP1 */
+	OMAP4_MUX(ABE_MCBSP1_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
+	OMAP4_MUX(ABE_MCBSP1_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
+	OMAP4_MUX(ABE_MCBSP1_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT |
+		  OMAP_PULL_ENA),
+	OMAP4_MUX(ABE_MCBSP1_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
+
 	{ .reg_offset = OMAP_MUX_TERMINATOR },
 };
 
-- 
1.7.12

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

* [PATCH 3/9] ARM/dts: omap4-panda: Disable unused audio IPs
  2012-10-04 11:57 [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+ Peter Ujfalusi
  2012-10-04 11:57 ` [PATCH 1/9] ARM: OMAP: board-4430-sdp: Pin mux configuration for audio needs Peter Ujfalusi
  2012-10-04 11:57 ` [PATCH 2/9] ARM: OMAP: board-omap4panda: " Peter Ujfalusi
@ 2012-10-04 11:57 ` Peter Ujfalusi
  2012-10-04 11:57 ` [PATCH 4/9] ARM/dts: omap4-sdp: Disable unused McBSP3 Peter Ujfalusi
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Peter Ujfalusi @ 2012-10-04 11:57 UTC (permalink / raw)
  To: linux-arm-kernel

McBSP2, McBSP3 and DMIC is not usable on PandaBoard (not connected, no
external pins provided for them).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 arch/arm/boot/dts/omap4-panda.dts | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/omap4-panda.dts b/arch/arm/boot/dts/omap4-panda.dts
index 20b966e..771cefd 100644
--- a/arch/arm/boot/dts/omap4-panda.dts
+++ b/arch/arm/boot/dts/omap4-panda.dts
@@ -137,3 +137,15 @@
 	cs1-used;
 	device-handle = <&elpida_ECB240ABACN>;
 };
+
+&mcbsp2 {
+	status = "disabled";
+};
+
+&mcbsp3 {
+	status = "disabled";
+};
+
+&dmic {
+	status = "disabled";
+};
-- 
1.7.12

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

* [PATCH 4/9] ARM/dts: omap4-sdp: Disable unused McBSP3
  2012-10-04 11:57 [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+ Peter Ujfalusi
                   ` (2 preceding siblings ...)
  2012-10-04 11:57 ` [PATCH 3/9] ARM/dts: omap4-panda: Disable unused audio IPs Peter Ujfalusi
@ 2012-10-04 11:57 ` Peter Ujfalusi
  2012-10-04 11:57 ` [PATCH 5/9] ARM/dts: omap5-evm: " Peter Ujfalusi
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Peter Ujfalusi @ 2012-10-04 11:57 UTC (permalink / raw)
  To: linux-arm-kernel

McBSP3 is not usable on OMAP4 SDP/Blaze (the pins used for McPDM).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 arch/arm/boot/dts/omap4-sdp.dts | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/boot/dts/omap4-sdp.dts b/arch/arm/boot/dts/omap4-sdp.dts
index 94a23b3..cf09875 100644
--- a/arch/arm/boot/dts/omap4-sdp.dts
+++ b/arch/arm/boot/dts/omap4-sdp.dts
@@ -349,3 +349,7 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart4_pins>;
 };
+
+&mcbsp3 {
+	status = "disabled";
+};
-- 
1.7.12

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

* [PATCH 5/9] ARM/dts: omap5-evm: Disable unused McBSP3
  2012-10-04 11:57 [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+ Peter Ujfalusi
                   ` (3 preceding siblings ...)
  2012-10-04 11:57 ` [PATCH 4/9] ARM/dts: omap4-sdp: Disable unused McBSP3 Peter Ujfalusi
@ 2012-10-04 11:57 ` Peter Ujfalusi
  2012-10-04 11:57 ` [PATCH 6/9] ARM/dts: omap4-sdp: pinmux configuration for audio Peter Ujfalusi
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Peter Ujfalusi @ 2012-10-04 11:57 UTC (permalink / raw)
  To: linux-arm-kernel

McBSP3 is not usable on OMAP4 SDP/Blaze (the pins used for McPDM).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 arch/arm/boot/dts/omap5-evm.dts | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/boot/dts/omap5-evm.dts b/arch/arm/boot/dts/omap5-evm.dts
index 9c41a3f..825e607 100644
--- a/arch/arm/boot/dts/omap5-evm.dts
+++ b/arch/arm/boot/dts/omap5-evm.dts
@@ -82,3 +82,7 @@
 			0x020700d9>;	/* SEARCH */
 	linux,input-no-autorepeat;
 };
+
+&mcbsp3 {
+	status = "disabled";
+};
-- 
1.7.12

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

* [PATCH 6/9] ARM/dts: omap4-sdp: pinmux configuration for audio
  2012-10-04 11:57 [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+ Peter Ujfalusi
                   ` (4 preceding siblings ...)
  2012-10-04 11:57 ` [PATCH 5/9] ARM/dts: omap5-evm: " Peter Ujfalusi
@ 2012-10-04 11:57 ` Peter Ujfalusi
  2012-10-04 11:57 ` [PATCH 7/9] ARM/dts: omap4-panda: " Peter Ujfalusi
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Peter Ujfalusi @ 2012-10-04 11:57 UTC (permalink / raw)
  To: linux-arm-kernel

u-boot stopped configuring 'non essential' pins recently. The kernel needs
to configure the mux for audio needs.
Since the pinmux for these IPs are static let pinctrl to handle the mux
configuration for.
Configuring the mux for: twl6040 (audpwron, irq), McPDM, DMIC, McBSP1 and
McBSP2.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 arch/arm/boot/dts/omap4-sdp.dts | 53 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/arch/arm/boot/dts/omap4-sdp.dts b/arch/arm/boot/dts/omap4-sdp.dts
index cf09875..5b7e04f 100644
--- a/arch/arm/boot/dts/omap4-sdp.dts
+++ b/arch/arm/boot/dts/omap4-sdp.dts
@@ -117,6 +117,15 @@
 };
 
 &omap4_pmx_core {
+	pinctrl-names = "default";
+	pinctrl-0 = <
+			&twl6040_pins
+			&mcpdm_pins
+			&dmic_pins
+			&mcbsp1_pins
+			&mcbsp2_pins
+	>;
+
 	uart2_pins: pinmux_uart2_pins {
 		pinctrl-single,pins = <
 			0xd8 0x118	/* uart2_cts.uart2_cts INPUT_PULLUP | MODE0 */
@@ -141,6 +150,50 @@
 			0x11e 0		/* uart4_tx.uart4_tx OUTPUT | MODE0 */
 		>;
 	};
+
+	twl6040_pins: pinmux_twl6040_pins {
+		pinctrl-single,pins = <
+			0xe0 0x3	/* hdq_sio.gpio_127 OUTPUT | MODE3 */
+			0x160 0x100	/* sys_nirq2.sys_nirq2 INPUT | MODE0 */
+		>;
+	};
+
+	mcpdm_pins: pinmux_mcpdm_pins {
+		pinctrl-single,pins = <
+			0xc6 0x108	/* abe_pdm_ul_data.abe_pdm_ul_data INPUT PULLDOWN | MODE0 */
+			0xc8 0x108	/* abe_pdm_dl_data.abe_pdm_dl_data INPUT PULLDOWN | MODE0 */
+			0xca 0x118	/* abe_pdm_frame.abe_pdm_frame INPUT PULLUP | MODE0 */
+			0xcc 0x108	/* abe_pdm_lb_clk.abe_pdm_lb_clk INPUT PULLDOWN | MODE0 */
+			0xce 0x108	/* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */
+		>;
+	};
+
+	dmic_pins: pinmux_dmic_pins {
+		pinctrl-single,pins = <
+			0xd0 0		/* abe_dmic_clk1.abe_dmic_clk1 OUTPUT | MODE0 */
+			0xd2 0x100	/* abe_dmic_din1.abe_dmic_din1 INPUT | MODE0 */
+			0xd4 0x100	/* abe_dmic_din2.abe_dmic_din2 INPUT | MODE0 */
+			0xd6 0x100	/* abe_dmic_din3.abe_dmic_din3 INPUT | MODE0 */
+		>;
+	};
+
+	mcbsp1_pins: pinmux_mcbsp1_pins {
+		pinctrl-single,pins = <
+			0xbe 0x100	/* abe_mcbsp1_clkx.abe_mcbsp1_clkx INPUT | MODE0 */
+			0xc0 0x108	/* abe_mcbsp1_dr.abe_mcbsp1_dr INPUT PULLDOWN | MODE0 */
+			0xc2 0x8	/* abe_mcbsp1_dx.abe_mcbsp1_dx OUTPUT PULLDOWN | MODE0 */
+			0xc4 0x100	/* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */
+		>;
+	};
+
+	mcbsp2_pins: pinmux_mcbsp2_pins {
+		pinctrl-single,pins = <
+			0xb6 0x100	/* abe_mcbsp2_clkx.abe_mcbsp2_clkx INPUT | MODE0 */
+			0xb8 0x108	/* abe_mcbsp2_dr.abe_mcbsp2_dr INPUT PULLDOWN | MODE0 */
+			0xba 0x8	/* abe_mcbsp2_dx.abe_mcbsp2_dx OUTPUT PULLDOWN | MODE0 */
+			0xbc 0x100	/* abe_mcbsp2_fsx.abe_mcbsp2_fsx INPUT | MODE0 */
+		>;
+	};
 };
 
 &i2c1 {
-- 
1.7.12

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

* [PATCH 7/9] ARM/dts: omap4-panda: pinmux configuration for audio
  2012-10-04 11:57 [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+ Peter Ujfalusi
                   ` (5 preceding siblings ...)
  2012-10-04 11:57 ` [PATCH 6/9] ARM/dts: omap4-sdp: pinmux configuration for audio Peter Ujfalusi
@ 2012-10-04 11:57 ` Peter Ujfalusi
  2012-10-04 11:57 ` [PATCH 8/9] ARM/dts: Add pinctrl driver entries for omap5 Peter Ujfalusi
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Peter Ujfalusi @ 2012-10-04 11:57 UTC (permalink / raw)
  To: linux-arm-kernel

u-boot stopped configuring 'non essential' pins recently. The kernel needs
to configure the mux for audio needs.
Since the pinmux for these IPs are static let pinctrl to handle the mux
configuration for.
Configuring the mux for: twl6040 (audpwron, irq), McPDM and McBSP1.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 arch/arm/boot/dts/omap4-panda.dts | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/arch/arm/boot/dts/omap4-panda.dts b/arch/arm/boot/dts/omap4-panda.dts
index 771cefd..e8f927c 100644
--- a/arch/arm/boot/dts/omap4-panda.dts
+++ b/arch/arm/boot/dts/omap4-panda.dts
@@ -59,6 +59,41 @@
 	};
 };
 
+&omap4_pmx_core {
+	pinctrl-names = "default";
+	pinctrl-0 = <
+			&twl6040_pins
+			&mcpdm_pins
+			&mcbsp1_pins
+	>;
+
+	twl6040_pins: pinmux_twl6040_pins {
+		pinctrl-single,pins = <
+			0xe0 0x3	/* hdq_sio.gpio_127 OUTPUT | MODE3 */
+			0x160 0x100	/* sys_nirq2.sys_nirq2 INPUT | MODE0 */
+		>;
+	};
+
+	mcpdm_pins: pinmux_mcpdm_pins {
+		pinctrl-single,pins = <
+			0xc6 0x108	/* abe_pdm_ul_data.abe_pdm_ul_data INPUT PULLDOWN | MODE0 */
+			0xc8 0x108	/* abe_pdm_dl_data.abe_pdm_dl_data INPUT PULLDOWN | MODE0 */
+			0xca 0x118	/* abe_pdm_frame.abe_pdm_frame INPUT PULLUP | MODE0 */
+			0xcc 0x108	/* abe_pdm_lb_clk.abe_pdm_lb_clk INPUT PULLDOWN | MODE0 */
+			0xce 0x108	/* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */
+		>;
+	};
+
+	mcbsp1_pins: pinmux_mcbsp1_pins {
+		pinctrl-single,pins = <
+			0xbe 0x100	/* abe_mcbsp1_clkx.abe_mcbsp1_clkx INPUT | MODE0 */
+			0xc0 0x108	/* abe_mcbsp1_dr.abe_mcbsp1_dr INPUT PULLDOWN | MODE0 */
+			0xc2 0x8		/* abe_mcbsp1_dx.abe_mcbsp1_dx OUTPUT PULLDOWN | MODE0 */
+			0xc4 0x100	/* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */
+		>;
+	};
+};
+
 &i2c1 {
 	clock-frequency = <400000>;
 
-- 
1.7.12

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

* [PATCH 8/9] ARM/dts: Add pinctrl driver entries for omap5
  2012-10-04 11:57 [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+ Peter Ujfalusi
                   ` (6 preceding siblings ...)
  2012-10-04 11:57 ` [PATCH 7/9] ARM/dts: omap4-panda: " Peter Ujfalusi
@ 2012-10-04 11:57 ` Peter Ujfalusi
  2012-10-04 11:57 ` [PATCH 9/9] ARM/dts: omap5-evm: pinmux configuration for audio Peter Ujfalusi
  2012-10-05 23:03 ` [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+ Tony Lindgren
  9 siblings, 0 replies; 12+ messages in thread
From: Peter Ujfalusi @ 2012-10-04 11:57 UTC (permalink / raw)
  To: linux-arm-kernel

These all use the generic pinctrl-single driver for the padconf registers.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 arch/arm/boot/dts/omap5.dtsi | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index 9ac75b3..00ee987 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -65,6 +65,23 @@
 		ranges;
 		ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";
 
+		omap5_pmx_core: pinmux at 4a002840 {
+			compatible = "ti,omap4-padconf", "pinctrl-single";
+			reg = <0x4a002840 0x01b6>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			pinctrl-single,register-width = <16>;
+			pinctrl-single,function-mask = <0x7fff>;
+		};
+		omap5_pmx_wkup: pinmux at 4ae0c840 {
+			compatible = "ti,omap4-padconf", "pinctrl-single";
+			reg = <0x4ae0c840 0x0038>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			pinctrl-single,register-width = <16>;
+			pinctrl-single,function-mask = <0x7fff>;
+		};
+
 		gic: interrupt-controller at 48211000 {
 			compatible = "arm,cortex-a15-gic";
 			interrupt-controller;
-- 
1.7.12

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

* [PATCH 9/9] ARM/dts: omap5-evm: pinmux configuration for audio
  2012-10-04 11:57 [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+ Peter Ujfalusi
                   ` (7 preceding siblings ...)
  2012-10-04 11:57 ` [PATCH 8/9] ARM/dts: Add pinctrl driver entries for omap5 Peter Ujfalusi
@ 2012-10-04 11:57 ` Peter Ujfalusi
  2012-10-05 23:03 ` [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+ Tony Lindgren
  9 siblings, 0 replies; 12+ messages in thread
From: Peter Ujfalusi @ 2012-10-04 11:57 UTC (permalink / raw)
  To: linux-arm-kernel

u-boot stopped configuring 'non essential' pins recently. The kernel needs
to configure the mux for audio needs.
Since the pinmux for these IPs are static let pinctrl to handle the mux
configuration for.
Configuring the mux for: twl6040 (audpwron), McPDM, DMIC, McBSP1 and McBSP2.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 arch/arm/boot/dts/omap5-evm.dts | 54 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/arch/arm/boot/dts/omap5-evm.dts b/arch/arm/boot/dts/omap5-evm.dts
index 825e607..c663eba 100644
--- a/arch/arm/boot/dts/omap5-evm.dts
+++ b/arch/arm/boot/dts/omap5-evm.dts
@@ -27,6 +27,60 @@
 
 };
 
+&omap5_pmx_core {
+	pinctrl-names = "default";
+	pinctrl-0 = <
+			&twl6040_pins
+			&mcpdm_pins
+			&dmic_pins
+			&mcbsp1_pins
+			&mcbsp2_pins
+	>;
+
+	twl6040_pins: pinmux_twl6040_pins {
+		pinctrl-single,pins = <
+			0x18a 0x6	/* perslimbus2_clock.gpio5_145 OUTPUT | MODE6 */
+		>;
+	};
+
+	mcpdm_pins: pinmux_mcpdm_pins {
+		pinctrl-single,pins = <
+			0x142 0x108	/* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */
+			0x15c 0x108	/* abemcpdm_ul_data.abemcpdm_ul_data INPUT PULLDOWN | MODE0 */
+			0x15e 0x108	/* abemcpdm_dl_data.abemcpdm_dl_data INPUT PULLDOWN | MODE0 */
+			0x160 0x118	/* abemcpdm_frame.abemcpdm_frame INPUT PULLUP | MODE0 */
+			0x162 0x108	/* abemcpdm_lb_clk.abemcpdm_lb_clk INPUT PULLDOWN | MODE0 */
+		>;
+	};
+
+	dmic_pins: pinmux_dmic_pins {
+		pinctrl-single,pins = <
+			0x144 0x100	/* abedmic_din1.abedmic_din1 INPUT | MODE0 */
+			0x146 0x100	/* abedmic_din2.abedmic_din2 INPUT | MODE0 */
+			0x148 0x100	/* abedmic_din3.abedmic_din3 INPUT | MODE0 */
+			0x14a 0		/* abedmic_clk1.abedmic_clk1 OUTPUT | MODE0 */
+		>;
+	};
+
+	mcbsp1_pins: pinmux_mcbsp1_pins {
+		pinctrl-single,pins = <
+			0x14c 0x101	/* abedmic_clk2.abemcbsp1_fsx INPUT | MODE1 */
+			0x14e 0x9	/* abedmic_clk3.abemcbsp1_dx OUTPUT PULLDOWN | MODE1 */
+			0x150 0x101	/* abeslimbus1_clock.abemcbsp1_clkx INPUT | MODE0 */
+			0x152 0x109	/* abeslimbus1_data.abemcbsp1_dr INPUT PULLDOWN | MODE1 */
+		>;
+	};
+
+	mcbsp2_pins: pinmux_mcbsp2_pins {
+		pinctrl-single,pins = <
+			0x154 0x108	/* abemcbsp2_dr.abemcbsp2_dr INPUT PULLDOWN | MODE0 */
+			0x156 0x8	/* abemcbsp2_dx.abemcbsp2_dx OUTPUT PULLDOWN | MODE0 */
+			0x158 0x100	/* abemcbsp2_fsx.abemcbsp2_fsx INPUT | MODE0 */
+			0x15a 0x100	/* abemcbsp2_clkx.abemcbsp2_clkx INPUT | MODE0 */
+		>;
+	};
+};
+
 &mmc1 {
 	vmmc-supply = <&vmmcsd_fixed>;
 	bus-width = <4>;
-- 
1.7.12

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

* [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+
  2012-10-04 11:57 [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+ Peter Ujfalusi
                   ` (8 preceding siblings ...)
  2012-10-04 11:57 ` [PATCH 9/9] ARM/dts: omap5-evm: pinmux configuration for audio Peter Ujfalusi
@ 2012-10-05 23:03 ` Tony Lindgren
  2012-10-08  8:00   ` Péter Ujfalusi
  9 siblings, 1 reply; 12+ messages in thread
From: Tony Lindgren @ 2012-10-05 23:03 UTC (permalink / raw)
  To: linux-arm-kernel

* Peter Ujfalusi <peter.ujfalusi@ti.com> [121004 04:57]:
> Hello,
> 
> u-boot recently stopped configuring 'non essential' pin mux. This change leaves
> the audio essential pins in non configured state which prevents the use of audio.
> The following series makes sure that the needed pins are configured correctly by
> the kernel on OMAP4 and OMAP5.
> 
> Tony: can this series queued for 3.7?

Let's see if that's possible to avoid mysterious bug reports
of things not working.

If we can't merge it, then it might be worth adding a warning
that bails out early after some pin is checked or similar.

Regards,

Tony
 
> Regards,
> Peter
> ---
> Peter Ujfalusi (9):
>   ARM: OMAP: board-4430-sdp: Pin mux configuration for audio needs
>   ARM: OMAP: board-omap4panda: Pin mux configuration for audio needs
>   ARM/dts: omap4-panda: Disable unused audio IPs
>   ARM/dts: omap4-sdp: Disable unused McBSP3
>   ARM/dts: omap5-evm: Disable unused McBSP3
>   ARM/dts: omap4-sdp: pinmux configuration for audio
>   ARM/dts: omap4-panda: pinmux configuration for audio
>   ARM/dts: Add pinctrl driver entries for omap5
>   ARM/dts: omap5-evm: pinmux configuration for audio
> 
>  arch/arm/boot/dts/omap4-panda.dts      | 47 +++++++++++++++++++++++++++
>  arch/arm/boot/dts/omap4-sdp.dts        | 57 +++++++++++++++++++++++++++++++++
>  arch/arm/boot/dts/omap5-evm.dts        | 58 ++++++++++++++++++++++++++++++++++
>  arch/arm/boot/dts/omap5.dtsi           | 17 ++++++++++
>  arch/arm/mach-omap2/board-4430sdp.c    | 26 +++++++++++++++
>  arch/arm/mach-omap2/board-omap4panda.c | 15 +++++++++
>  6 files changed, 220 insertions(+)
> 
> -- 
> 1.7.12
> 

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

* [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+
  2012-10-05 23:03 ` [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+ Tony Lindgren
@ 2012-10-08  8:00   ` Péter Ujfalusi
  0 siblings, 0 replies; 12+ messages in thread
From: Péter Ujfalusi @ 2012-10-08  8:00 UTC (permalink / raw)
  To: linux-arm-kernel

On 10/06/2012 02:03 AM, Tony Lindgren wrote:
> * Peter Ujfalusi <peter.ujfalusi@ti.com> [121004 04:57]:
>> Hello,
>>
>> u-boot recently stopped configuring 'non essential' pin mux. This change leaves
>> the audio essential pins in non configured state which prevents the use of audio.
>> The following series makes sure that the needed pins are configured correctly by
>> the kernel on OMAP4 and OMAP5.
>>
>> Tony: can this series queued for 3.7?
> 
> Let's see if that's possible to avoid mysterious bug reports
> of things not working.
> 
> If we can't merge it, then it might be worth adding a warning
> that bails out early after some pin is checked or similar.

With new enough u-boot the twl6040 fails to probe (mux for nirq2 and power
GPIO is not configured) which leads to no audio on OMAP4/5.
Adding another warning - and check - does not going to help to clarify the
situation IMHO.
We can still enable the CONFIG_SYS_ENABLE_PADS_ALL in u-boot and recompile it,
but this is disabled as default and to be frank there is no guaranty that this
is going to be available let's say next week.

-- 
P?ter

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

end of thread, other threads:[~2012-10-08  8:00 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-04 11:57 [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+ Peter Ujfalusi
2012-10-04 11:57 ` [PATCH 1/9] ARM: OMAP: board-4430-sdp: Pin mux configuration for audio needs Peter Ujfalusi
2012-10-04 11:57 ` [PATCH 2/9] ARM: OMAP: board-omap4panda: " Peter Ujfalusi
2012-10-04 11:57 ` [PATCH 3/9] ARM/dts: omap4-panda: Disable unused audio IPs Peter Ujfalusi
2012-10-04 11:57 ` [PATCH 4/9] ARM/dts: omap4-sdp: Disable unused McBSP3 Peter Ujfalusi
2012-10-04 11:57 ` [PATCH 5/9] ARM/dts: omap5-evm: " Peter Ujfalusi
2012-10-04 11:57 ` [PATCH 6/9] ARM/dts: omap4-sdp: pinmux configuration for audio Peter Ujfalusi
2012-10-04 11:57 ` [PATCH 7/9] ARM/dts: omap4-panda: " Peter Ujfalusi
2012-10-04 11:57 ` [PATCH 8/9] ARM/dts: Add pinctrl driver entries for omap5 Peter Ujfalusi
2012-10-04 11:57 ` [PATCH 9/9] ARM/dts: omap5-evm: pinmux configuration for audio Peter Ujfalusi
2012-10-05 23:03 ` [PATCH 0/9] ARM: dts/OMAP: Pinmux audio configuration for OMAP4+ Tony Lindgren
2012-10-08  8:00   ` Péter Ujfalusi

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).