Skip to contentSkip to conversation

ARM: dts/OMAP: Pinmux audio configuration for OMAP4+

PATCH New Peter Ujfalusi 2 participants 12 messages Oct 4, 2012 – Oct 8, 2012

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

cover ARM: dts/OMAP: Pinmux audio configuration for OMAP4+

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(+)
Signature · 1 line
1.7.12
#1 lore raw

PATCH 1/9 ARM: OMAP: board-4430-sdp: Pin mux configuration for audio needs

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.

---
 arch/arm/mach-omap2/board-4430sdp.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
arch/arm/mach-omap2/board-4430sdp.c +26 -0
index 09644af..41a9b01 100644
@@ -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 },
 };
 
Signature · 1 line
1.7.12
#2 lore raw

PATCH 2/9 ARM: OMAP: board-omap4panda: Pin mux configuration for audio needs

In reply to Peter Ujfalusi

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.

---
 arch/arm/mach-omap2/board-omap4panda.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
arch/arm/mach-omap2/board-omap4panda.c +15 -0
index 57d217a..51d08fc 100644
@@ -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 },
 };
 
Signature · 1 line
1.7.12
#3 lore raw

PATCH 3/9 ARM/dts: omap4-panda: Disable unused audio IPs

In reply to Peter Ujfalusi

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

---
 arch/arm/boot/dts/omap4-panda.dts | 12 ++++++++++++
 1 file changed, 12 insertions(+)
arch/arm/boot/dts/omap4-panda.dts +12 -0
index 20b966e..771cefd 100644
@@ -137,3 +137,15 @@
 	cs1-used;
 	device-handle = <&elpida_ECB240ABACN>;
 };
+
+&mcbsp2 {
+	status = "disabled";
+};
+
+&mcbsp3 {
+	status = "disabled";
+};
+
+&dmic {
+	status = "disabled";
+};
Signature · 1 line
1.7.12
#4 lore raw

PATCH 4/9 ARM/dts: omap4-sdp: Disable unused McBSP3

In reply to Peter Ujfalusi

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

---
 arch/arm/boot/dts/omap4-sdp.dts | 4 ++++
 1 file changed, 4 insertions(+)
arch/arm/boot/dts/omap4-sdp.dts +4 -0
index 94a23b3..cf09875 100644
@@ -349,3 +349,7 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart4_pins>;
 };
+
+&mcbsp3 {
+	status = "disabled";
+};
Signature · 1 line
1.7.12
#5 lore raw

PATCH 5/9 ARM/dts: omap5-evm: Disable unused McBSP3

In reply to Peter Ujfalusi

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

---
 arch/arm/boot/dts/omap5-evm.dts | 4 ++++
 1 file changed, 4 insertions(+)
arch/arm/boot/dts/omap5-evm.dts +4 -0
index 9c41a3f..825e607 100644
@@ -82,3 +82,7 @@
 			0x020700d9>;	/* SEARCH */
 	linux,input-no-autorepeat;
 };
+
+&mcbsp3 {
+	status = "disabled";
+};
Signature · 1 line
1.7.12
#6 lore raw

PATCH 6/9 ARM/dts: omap4-sdp: pinmux configuration for audio

In reply to Peter Ujfalusi

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.

---
 arch/arm/boot/dts/omap4-sdp.dts | 53 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)
arch/arm/boot/dts/omap4-sdp.dts +53 -0
index cf09875..5b7e04f 100644
@@ -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 {
Signature · 1 line
1.7.12
#7 lore raw

PATCH 7/9 ARM/dts: omap4-panda: pinmux configuration for audio

In reply to Peter Ujfalusi

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.

---
 arch/arm/boot/dts/omap4-panda.dts | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
arch/arm/boot/dts/omap4-panda.dts +35 -0
index 771cefd..e8f927c 100644
@@ -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>;
 
Signature · 1 line
1.7.12
#8 lore raw

PATCH 8/9 ARM/dts: Add pinctrl driver entries for omap5

In reply to Peter Ujfalusi

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

---
 arch/arm/boot/dts/omap5.dtsi | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
arch/arm/boot/dts/omap5.dtsi +17 -0
index 9ac75b3..00ee987 100644
@@ -65,6 +65,23 @@
 		ranges;
 		ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";
 
+		omap5_pmx_core: pinmux@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@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@48211000 {
 			compatible = "arm,cortex-a15-gic";
 			interrupt-controller;
Signature · 1 line
1.7.12
#9 lore raw

PATCH 9/9 ARM/dts: omap5-evm: pinmux configuration for audio

In reply to Peter Ujfalusi

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.

---
 arch/arm/boot/dts/omap5-evm.dts | 54 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)
arch/arm/boot/dts/omap5-evm.dts +54 -0
index 825e607..c663eba 100644
@@ -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>;
Signature · 1 line
1.7.12
maintainer
#10 lore raw

cover ARM: dts/OMAP: Pinmux audio configuration for OMAP4+

In reply to Peter Ujfalusi
Quoted 8 lines · Peter Ujfalusi

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

Quoted 25 lines

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(+)
Signature · 1 line
1.7.12
#11 lore raw

cover ARM: dts/OMAP: Pinmux audio configuration for OMAP4+

Quoted 8 lines · Tony Lindgren
Quoted 7 lines · Peter Ujfalusi

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.

Quoted 7 lines
Quoted 1 line

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.

Signature · 5 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