Skip to contentSkip to conversation

ARM: DTS: misc. OMAP3 fixes for proper wakeup

PATCH New Kevin Hilman 5 participants 26 messages May 31, 2013 – Jun 19, 2013 Device tree bindings

lore
Share & tools
lore
#0 lore raw

cover ARM: DTS: misc. OMAP3 fixes for proper wakeup

Benoit,

Here are handful of DT updates while working on getting PM functionality working for DT boot on OMAP3.

Kevin

Kevin Hilman (3):
ARM: DTS: OMAP3: beagle/overo: mux console UART, enable wakeup
ARM: DTS: OMAP3: beagle: enable user button via gpio_keys, enable
wakeup
ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

 arch/arm/boot/dts/omap3-beagle-xm.dts | 39 +++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/omap3-beagle.dts    | 37 +++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/omap3-overo.dtsi    | 14 +++++++++++++
 arch/arm/boot/dts/twl4030.dtsi        | 17 +++++++++++++++
 4 files changed, 107 insertions(+)
Signature · 1 line
1.8.2
#1 lore raw

PATCH 1/3 ARM: DTS: OMAP3: beagle/overo: mux console UART, enable wakeup

Ensure the console uart (UART3) on these boards is mux'd correctly, and IO ring wakeup is enabled.

This is needed for serial console wakeups when using DT boot.

---
 arch/arm/boot/dts/omap3-beagle-xm.dts | 14 ++++++++++++++
 arch/arm/boot/dts/omap3-beagle.dts    | 12 ++++++++++++
 arch/arm/boot/dts/omap3-overo.dtsi    | 14 ++++++++++++++
 3 files changed, 40 insertions(+)
arch/arm/boot/dts/omap3-beagle-xm.dts +14 -0
index 3046d1f..ca067b0 100644
@@ -126,3 +126,17 @@
 	mode = <3>;
 	power = <50>;
 };
+
+&omap3_pmx_core {
+	uart3_pins: pinmux_uart3_pins {
+		pinctrl-single,pins = <
+			0x16e 0x4100	/* uart3_rx_irrx.uart3_rx_irrx WAKEUP | INPUT | MODE0 */
+			0x170 0x0	/* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
+		>;
+	};
+};
+
+&uart3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart3_pins>;
+};
arch/arm/boot/dts/omap3-beagle.dts +12 -0
index 6eec699..b004372 100644
@@ -95,6 +95,13 @@
 			0x1ae 0x10b  /* USBB2_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat7 INPUT | PULLDOWN */
 		>;
 	};
+
+	uart3_pins: pinmux_uart3_pins {
+		pinctrl-single,pins = <
+			0x16e 0x4100	/* uart3_rx_irrx.uart3_rx_irrx WAKEUP | INPUT | MODE0 */
+			0x170 0x0	/* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
+		>;
+	};
 };
 
 &i2c1 {
@@ -142,3 +149,8 @@
 	 */
 	ti,pulldowns = <0x03a1c4>;
 };
+
+&uart3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart3_pins>;
+};
arch/arm/boot/dts/omap3-overo.dtsi +14 -0
index a626c50..d63ed39 100644
@@ -77,3 +77,17 @@
 	mode = <3>;
 	power = <50>;
 };
+
+&omap3_pmx_core {
+	uart3_pins: pinmux_uart3_pins {
+		pinctrl-single,pins = <
+			0x16e 0x4100	/* uart3_rx_irrx.uart3_rx_irrx WAKEUP | INPUT | MODE0 */
+			0x170 0x0	/* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
+		>;
+	};
+};
+
+&uart3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart3_pins>;
+};
Signature · 1 line
1.8.2
#2 lore raw

PATCH 1/3 ARM: DTS: OMAP3: beagle/overo: mux console UART, enable wakeup

Hello Kevin,

Quoted 17 lines · Kevin Hilman

Ensure the console uart (UART3) on these boards is mux'd correctly, and IO ring wakeup is enabled.

This is needed for serial console wakeups when using DT boot.

---
  arch/arm/boot/dts/omap3-beagle-xm.dts | 14 ++++++++++++++
  arch/arm/boot/dts/omap3-beagle.dts    | 12 ++++++++++++
  arch/arm/boot/dts/omap3-overo.dtsi    | 14 ++++++++++++++
  3 files changed, 40 insertions(+)
arch/arm/boot/dts/omap3-beagle-xm.dts +0 -0
index 3046d1f..ca067b0 100644

arch/arm/boot/dts/omap3-beagle-xm.dts line 134

Quoted 9 lines
arch/arm/boot/dts/omap3-beagle-xm.dts +6 -0
@@ -126,3 +126,17 @@
  	mode = <3>;
  	power = <50>;
  };
+
+&omap3_pmx_core {
+	uart3_pins: pinmux_uart3_pins {
+		pinctrl-single,pins = <
+			0x16e 0x4100	/* uart3_rx_irrx.uart3_rx_irrx WAKEUP | INPUT | MODE0 */
+			0x170 0x0	/* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */

If you go through Benoit's tree, could you use the newly introduced constants [1]? They are defined
in include/dt-bindings/pinctrl/omap.h. The above will look:

			0x16e (PIN_INPUT | WAKEUP_EVENT | MUX_MODE0)	/* 
uart3_rx_irrx.uart3_rx_irrx */
			0x170 (PIN_OUTPUT | MUX_MODE0)			/* uart3_tx_irtx.uart3_tx_irtx */
Quoted 13 lines
arch/arm/boot/dts/omap3-beagle-xm.dts +8 -0
+		>;
+	};
+};
+
+&uart3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart3_pins>;
+};
arch/arm/boot/dts/omap3-beagle.dts +0 -0
index 6eec699..b004372 100644

arch/arm/boot/dts/omap3-beagle.dts line 102

Quoted 8 lines
arch/arm/boot/dts/omap3-beagle.dts +5 -0
@@ -95,6 +95,13 @@
  			0x1ae 0x10b  /* USBB2_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat7 INPUT | PULLDOWN */
  		>;
  	};
+
+	uart3_pins: pinmux_uart3_pins {
+		pinctrl-single,pins = <
+			0x16e 0x4100	/* uart3_rx_irrx.uart3_rx_irrx WAKEUP | INPUT | MODE0 */
+			0x170 0x0	/* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */

Same here

Quoted 19 lines
arch/arm/boot/dts/omap3-beagle.dts +7 -0
+		>;
+	};
  };
 
  &i2c1 {
@@ -142,3 +149,8 @@
  	 */
  	ti,pulldowns = <0x03a1c4>;
  };
+
+&uart3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart3_pins>;
+};
arch/arm/boot/dts/omap3-overo.dtsi +0 -0
index a626c50..d63ed39 100644

arch/arm/boot/dts/omap3-overo.dtsi line 85

Quoted 9 lines
arch/arm/boot/dts/omap3-overo.dtsi +6 -0
@@ -77,3 +77,17 @@
  	mode = <3>;
  	power = <50>;
  };
+
+&omap3_pmx_core {
+	uart3_pins: pinmux_uart3_pins {
+		pinctrl-single,pins = <
+			0x16e 0x4100	/* uart3_rx_irrx.uart3_rx_irrx WAKEUP | INPUT | MODE0 */
+			0x170 0x0	/* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */

Same here

arch/arm/boot/dts/omap3-overo.dtsi line 93

Quoted 9 lines
arch/arm/boot/dts/omap3-overo.dtsi +8 -0
+		>;
+	};
+};
+
+&uart3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart3_pins>;
+};

Regards,

Florian

[1] http://thread.gmane.org/gmane.linux.drivers.devicetree/36951

#3 lore raw

PATCH 1/3 ARM: DTS: OMAP3: beagle/overo: mux console UART, enable wakeup

Quoted 34 lines · Florian Vaussard

Hello Kevin,

Quoted 17 lines · Kevin Hilman

Ensure the console uart (UART3) on these boards is mux'd correctly, and IO ring wakeup is enabled.

This is needed for serial console wakeups when using DT boot.

---
  arch/arm/boot/dts/omap3-beagle-xm.dts | 14 ++++++++++++++
  arch/arm/boot/dts/omap3-beagle.dts    | 12 ++++++++++++
  arch/arm/boot/dts/omap3-overo.dtsi    | 14 ++++++++++++++
  3 files changed, 40 insertions(+)
arch/arm/boot/dts/omap3-beagle-xm.dts +0 -0
index 3046d1f..ca067b0 100644

arch/arm/boot/dts/omap3-beagle-xm.dts line 134

Quoted 9 lines
arch/arm/boot/dts/omap3-beagle-xm.dts +6 -0
@@ -126,3 +126,17 @@
  	mode = <3>;
  	power = <50>;
  };
+
+&omap3_pmx_core {
+	uart3_pins: pinmux_uart3_pins {
+		pinctrl-single,pins = <
+			0x16e 0x4100	/* uart3_rx_irrx.uart3_rx_irrx WAKEUP | INPUT | MODE0 */
+			0x170 0x0	/* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */

If you go through Benoit's tree, could you use the newly introduced constants [1]? They are defined
in include/dt-bindings/pinctrl/omap.h. The above will look:

Quoted 3 lines
			0x16e (PIN_INPUT | WAKEUP_EVENT | MUX_MODE0)
/* uart3_rx_irrx.uart3_rx_irrx */
			0x170 (PIN_OUTPUT | MUX_MODE0)			/* uart3_tx_irtx.uart3_tx_irtx */

Excellent, thanks for the pointer. I hadn't yet read through your pre-processor series, but I really like the readability improvements.

I'll respin these on top of your changes.

Thanks,

Kevin

#4 lore raw

PATCH 2/3 ARM: DTS: OMAP3: beagle: enable user button via gpio_keys, enable wakeup

In reply to Kevin Hilman

Using the gpio-keys bindings, configure the user button on Beagle boards. Since the user button is enabled as a wakeup source, also ensure the GPIO pin is mux'd correctly and has IO ring wakeups enabled, so it can also wakeup from off mode.

---
 arch/arm/boot/dts/omap3-beagle-xm.dts | 25 +++++++++++++++++++++++++
 arch/arm/boot/dts/omap3-beagle.dts    | 25 +++++++++++++++++++++++++
 2 files changed, 50 insertions(+)
arch/arm/boot/dts/omap3-beagle-xm.dts +25 -0
index ca067b0..c93c36f 100644
@@ -57,6 +57,26 @@
 		ti,mcbsp = <&mcbsp2>;
 		ti,codec = <&twl_audio>;
 	};
+
+	gpio_keys {
+		compatible = "gpio-keys";
+
+		user {
+			label = "user";
+			gpios = <&gpio1 4 0>;
+			linux,code = <0x114>;
+			gpio-key,wakeup;
+		};
+
+	};
+};
+
+&omap3_pmx_wkup {
+	gpio1_pins: pinmux_gpio1_pins {
+		pinctrl-single,pins = <
+			0x0e 0x4104	/* sys_boot2.gpio_4 WAKEUP | INPUT | MODE4 */
+		>;
+	};
 };
 
 &i2c1 {
@@ -140,3 +160,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart3_pins>;
 };
+
+&gpio1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&gpio1_pins>;
+};
arch/arm/boot/dts/omap3-beagle.dts +25 -0
index b004372..c9794cb 100644
@@ -71,6 +71,26 @@
 		reset-supply = <&hsusb2_reset>;
 		vcc-supply = <&hsusb2_power>;
 	};
+
+	gpio_keys {
+		compatible = "gpio-keys";
+
+		user {
+			label = "user";
+			gpios = <&gpio1 7 0>;
+			linux,code = <0x114>;
+			gpio-key,wakeup;
+		};
+
+	};
+};
+
+&omap3_pmx_wkup {
+	gpio1_pins: pinmux_gpio1_pins {
+		pinctrl-single,pins = <
+			0x14 0x4104	/* sys_boot5.gpio_7 WAKEUP | INPUT | MODE4 */
+		>;
+	};
 };
 
 &omap3_pmx_core {
@@ -154,3 +174,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart3_pins>;
 };
+
+&gpio1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&gpio1_pins>;
+};
Signature · 1 line
1.8.2
#5 lore raw

PATCH 2/3 ARM: DTS: OMAP3: beagle: enable user button via gpio_keys, enable wakeup

Hello Kevin,

Quoted 16 lines · Kevin Hilman

Using the gpio-keys bindings, configure the user button on Beagle boards. Since the user button is enabled as a wakeup source, also ensure the GPIO pin is mux'd correctly and has IO ring wakeups enabled, so it can also wakeup from off mode.

---
  arch/arm/boot/dts/omap3-beagle-xm.dts | 25 +++++++++++++++++++++++++
  arch/arm/boot/dts/omap3-beagle.dts    | 25 +++++++++++++++++++++++++
  2 files changed, 50 insertions(+)
arch/arm/boot/dts/omap3-beagle-xm.dts +0 -0
index ca067b0..c93c36f 100644

arch/arm/boot/dts/omap3-beagle-xm.dts line 66

Quoted 10 lines
arch/arm/boot/dts/omap3-beagle-xm.dts +7 -0
@@ -57,6 +57,26 @@
  		ti,mcbsp = <&mcbsp2>;
  		ti,codec = <&twl_audio>;
  	};
+
+	gpio_keys {
+		compatible = "gpio-keys";
+
+		user {
+			label = "user";
+			gpios = <&gpio1 4 0>;

Now you can also use GPIO constants (include/dt-bindings/gpio/gpio.h), like this:

			gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;

arch/arm/boot/dts/omap3-beagle-xm.dts line 77

Quoted 11 lines
arch/arm/boot/dts/omap3-beagle-xm.dts +11 -0
+			linux,code = <0x114>;
+			gpio-key,wakeup;
+		};
+
+	};
+};
+
+&omap3_pmx_wkup {
+	gpio1_pins: pinmux_gpio1_pins {
+		pinctrl-single,pins = <
+			0x0e 0x4104	/* sys_boot2.gpio_4 WAKEUP | INPUT | MODE4 */

As for patch 1, you can use pinctrl constants

Quoted 19 lines
arch/arm/boot/dts/omap3-beagle-xm.dts +7 -0
+		>;
+	};
  };
 
  &i2c1 {
@@ -140,3 +160,8 @@
  	pinctrl-names = "default";
  	pinctrl-0 = <&uart3_pins>;
  };
+
+&gpio1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&gpio1_pins>;
+};
arch/arm/boot/dts/omap3-beagle.dts +0 -0
index b004372..c9794cb 100644

arch/arm/boot/dts/omap3-beagle.dts line 80

Quoted 10 lines
arch/arm/boot/dts/omap3-beagle.dts +7 -0
@@ -71,6 +71,26 @@
  		reset-supply = <&hsusb2_reset>;
  		vcc-supply = <&hsusb2_power>;
  	};
+
+	gpio_keys {
+		compatible = "gpio-keys";
+
+		user {
+			label = "user";
+			gpios = <&gpio1 7 0>;

GPIO constant

			gpios = <&gpio7 7 GPIO_ACTIVE_HIGH>;

arch/arm/boot/dts/omap3-beagle.dts line 91

Quoted 11 lines
arch/arm/boot/dts/omap3-beagle.dts +11 -0
+			linux,code = <0x114>;
+			gpio-key,wakeup;
+		};
+
+	};
+};
+
+&omap3_pmx_wkup {
+	gpio1_pins: pinmux_gpio1_pins {
+		pinctrl-single,pins = <
+			0x14 0x4104	/* sys_boot5.gpio_7 WAKEUP | INPUT | MODE4 */

Same for pinctrl constant

Quoted 7 lines
arch/arm/boot/dts/omap3-beagle.dts +2 -0
+		>;
+	};
  };
 
  &omap3_pmx_core {

arch/arm/boot/dts/omap3-beagle.dts line 181

Quoted 8 lines
arch/arm/boot/dts/omap3-beagle.dts +5 -0
@@ -154,3 +174,8 @@
  	pinctrl-names = "default";
  	pinctrl-0 = <&uart3_pins>;
  };
+
+&gpio1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&gpio1_pins>;
+};

Regards,

Florian

#6 lore raw

PATCH 3/3 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

In reply to Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Therefore, configure the defaults for the SYS_NIRQ pin in the twl4030 DTS file.

Boards that hook up the twl4030 differently can easily override this in their board-specific DTS file.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

---
 arch/arm/boot/dts/twl4030.dtsi | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
arch/arm/boot/dts/twl4030.dtsi +17 -0
index b3034da..c7fe9f6 100644
@@ -13,6 +13,8 @@
 	compatible = "ti,twl4030";
 	interrupt-controller;
 	#interrupt-cells = <1>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&twl4030_pins>;
 
 	rtc {
 		compatible = "ti,twl4030-rtc";
@@ -92,3 +94,18 @@
 		#pwm-cells = <2>;
 	};
 };
+
+&omap3_pmx_core {
+	/*
+	 * On most OMAP3 platforms, the twl4030 IRQ line is connected
+         * to the SYS_NIRQ line on OMAP.  Therefore, configure the
+         * defaults for the SYS_NIRQ pin here.  Boards that hook up
+         * the twl4030 differently can easily override this in their
+         * board-specific DTS file.
+	 */
+	twl4030_pins: pinmux_twl4030_pins {
+		pinctrl-single,pins = <
+			0x1b0 0x4118 /*	sys_nirq.sys_nirq WAKEUP | INPUT_PULLUP | MODE 0 */
+		>;
+	};
+};
Signature · 1 line
1.8.2
#7 lore raw

PATCH 3/3 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

Hello Kevin,

Quoted 30 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Therefore, configure the defaults for the SYS_NIRQ pin in the twl4030 DTS file.

Boards that hook up the twl4030 differently can easily override this in their board-specific DTS file.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

---
  arch/arm/boot/dts/twl4030.dtsi | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)
arch/arm/boot/dts/twl4030.dtsi +2 -0
index b3034da..c7fe9f6 100644
@@ -13,6 +13,8 @@
  	compatible = "ti,twl4030";
  	interrupt-controller;
  	#interrupt-cells = <1>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&twl4030_pins>;
 
  	rtc {
  		compatible = "ti,twl4030-rtc";

arch/arm/boot/dts/twl4030.dtsi line 98

Quoted 5 lines
arch/arm/boot/dts/twl4030.dtsi +2 -0
@@ -92,3 +94,18 @@
  		#pwm-cells = <2>;
  	};
  };
+
+&omap3_pmx_core {

Here you are making the TWL4030 to explicitly depend on OMAP3. Could this chip be
used by another target? If the case, I would put this piece of code in the files
including twl4030. Otherwise it's ok here.

arch/arm/boot/dts/twl4030.dtsi line 108

Quoted 10 lines
arch/arm/boot/dts/twl4030.dtsi +10 -0
+	/*
+	 * On most OMAP3 platforms, the twl4030 IRQ line is connected
+         * to the SYS_NIRQ line on OMAP.  Therefore, configure the
+         * defaults for the SYS_NIRQ pin here.  Boards that hook up
+         * the twl4030 differently can easily override this in their
+         * board-specific DTS file.
+	 */
+	twl4030_pins: pinmux_twl4030_pins {
+		pinctrl-single,pins = <
+			0x1b0 0x4118 /*	sys_nirq.sys_nirq WAKEUP | INPUT_PULLUP | MODE 0 */

By using pinctrl constants:

			0x1b0 (PIN_INPUT_PULLUP | WAKEUP_EN | MUX_MODE0)	/* sys_nirq.sys_nirq */

arch/arm/boot/dts/twl4030.dtsi line 111

Quoted 4 lines
arch/arm/boot/dts/twl4030.dtsi +3 -0
+		>;
+	};
+};

I will test this afternoon on an Overo.

Regards,

Florian

#8 lore raw

PATCH 3/3 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

Quoted 30 lines · Florian Vaussard

Hello Kevin,

Quoted 27 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Therefore, configure the defaults for the SYS_NIRQ pin in the twl4030 DTS file.

Boards that hook up the twl4030 differently can easily override this in their board-specific DTS file.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

---
  arch/arm/boot/dts/twl4030.dtsi | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)
arch/arm/boot/dts/twl4030.dtsi +2 -0
index b3034da..c7fe9f6 100644
@@ -13,6 +13,8 @@
  	compatible = "ti,twl4030";
  	interrupt-controller;
  	#interrupt-cells = <1>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&twl4030_pins>;
 
Quoted 12 lines

arch/arm/boot/dts/twl4030.dtsi line 98

Quoted 8 lines
arch/arm/boot/dts/twl4030.dtsi +2 -0
  	rtc {
  		compatible = "ti,twl4030-rtc";
@@ -92,3 +94,18 @@
  		#pwm-cells = <2>;
  	};
  };
+
+&omap3_pmx_core {

Here you are making the TWL4030 to explicitly depend on OMAP3. Could this chip be used by another target? If the case, I would put this piece of code in the files including twl4030. Otherwise it's ok here.

I talked this over with Tony before posting. In theorry, it could be used on other platforms. In practice, it's only used on OMAP. We can easily move this to board files if needed later, but thought it would be simpler to put it here. I'll let Benoit decide.

Quoted 13 lines

arch/arm/boot/dts/twl4030.dtsi line 108

Quoted 10 lines
arch/arm/boot/dts/twl4030.dtsi +10 -0
+	/*
+	 * On most OMAP3 platforms, the twl4030 IRQ line is connected
+         * to the SYS_NIRQ line on OMAP.  Therefore, configure the
+         * defaults for the SYS_NIRQ pin here.  Boards that hook up
+         * the twl4030 differently can easily override this in their
+         * board-specific DTS file.
+	 */
+	twl4030_pins: pinmux_twl4030_pins {
+		pinctrl-single,pins = <
+			0x1b0 0x4118 /*	sys_nirq.sys_nirq WAKEUP | INPUT_PULLUP | MODE 0 */

By using pinctrl constants:

Quoted 1 line
			0x1b0 (PIN_INPUT_PULLUP | WAKEUP_EN | MUX_MODE0)	/* sys_nirq.sys_nirq */

Yup.

Quoted 6 lines

arch/arm/boot/dts/twl4030.dtsi line 111

Quoted 4 lines
arch/arm/boot/dts/twl4030.dtsi +3 -0
+		>;
+	};
+};

I will test this afternoon on an Overo.

Thanks,

Kevin

#9 lore raw

PATCH 3/3 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

Quoted 45 lines · Kevin Hilman
Quoted 30 lines · Florian Vaussard

Hello Kevin,

Quoted 27 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Therefore, configure the defaults for the SYS_NIRQ pin in the twl4030 DTS file.

Boards that hook up the twl4030 differently can easily override this in their board-specific DTS file.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

---
  arch/arm/boot/dts/twl4030.dtsi | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)
arch/arm/boot/dts/twl4030.dtsi +2 -0
index b3034da..c7fe9f6 100644
@@ -13,6 +13,8 @@
  	compatible = "ti,twl4030";
  	interrupt-controller;
  	#interrupt-cells = <1>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&twl4030_pins>;
 
Quoted 12 lines

arch/arm/boot/dts/twl4030.dtsi line 98

Quoted 8 lines
arch/arm/boot/dts/twl4030.dtsi +2 -0
  	rtc {
  		compatible = "ti,twl4030-rtc";
@@ -92,3 +94,18 @@
  		#pwm-cells = <2>;
  	};
  };
+
+&omap3_pmx_core {

Here you are making the TWL4030 to explicitly depend on OMAP3. Could this chip be used by another target? If the case, I would put this piece of code in the files including twl4030. Otherwise it's ok here.

Quoted 4 lines

I talked this over with Tony before posting. In theorry, it could be used on other platforms. In practice, it's only used on OMAP. We can easily move this to board files if needed later, but thought it would be simpler to put it here. I'll let Benoit decide.

What about omap boards that don't use the twl4030? eg I'm currently tinkering with a board that uses a tps6507x...

thx,

Jason.

#10 lore raw

PATCH 3/3 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

Quoted 46 lines · Jason Cooper
Quoted 45 lines · Kevin Hilman
Quoted 42 lines · Florian Vaussard

Hello Kevin,

Quoted 30 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Therefore, configure the defaults for the SYS_NIRQ pin in the twl4030 DTS file.

Boards that hook up the twl4030 differently can easily override this in their board-specific DTS file.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

---
  arch/arm/boot/dts/twl4030.dtsi | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)
arch/arm/boot/dts/twl4030.dtsi +2 -0
index b3034da..c7fe9f6 100644
@@ -13,6 +13,8 @@
  	compatible = "ti,twl4030";
  	interrupt-controller;
  	#interrupt-cells = <1>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&twl4030_pins>;
 
  	rtc {
  		compatible = "ti,twl4030-rtc";

arch/arm/boot/dts/twl4030.dtsi line 98

Quoted 5 lines
arch/arm/boot/dts/twl4030.dtsi +2 -0
@@ -92,3 +94,18 @@
  		#pwm-cells = <2>;
  	};
  };
+
+&omap3_pmx_core {

Here you are making the TWL4030 to explicitly depend on OMAP3. Could this chip be used by another target? If the case, I would put this piece of code in the files including twl4030. Otherwise it's ok here.

Quoted 7 lines
Quoted 4 lines

I talked this over with Tony before posting. In theorry, it could be used on other platforms. In practice, it's only used on OMAP. We can easily move this to board files if needed later, but thought it would be simpler to put it here. I'll let Benoit decide.

What about omap boards that don't use the twl4030? eg I'm currently tinkering with a board that uses a tps6507x...

Then you'll be inclding tps6507x.dtsi instead of twl4030.dtsi and won't be affected by this patch at all.

Your board file should setup the muxing (using this as an example) for how your board wires the TPS chip to the OMAP.

Kevin

#11 lore raw

PATCH 3/3 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

Quoted 53 lines · Kevin Hilman
Quoted 51 lines · Jason Cooper
Quoted 49 lines · Kevin Hilman
Quoted 30 lines · Florian Vaussard

Hello Kevin,

Quoted 27 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Therefore, configure the defaults for the SYS_NIRQ pin in the twl4030 DTS file.

Boards that hook up the twl4030 differently can easily override this in their board-specific DTS file.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

---
  arch/arm/boot/dts/twl4030.dtsi | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)
arch/arm/boot/dts/twl4030.dtsi +2 -0
index b3034da..c7fe9f6 100644
@@ -13,6 +13,8 @@
  	compatible = "ti,twl4030";
  	interrupt-controller;
  	#interrupt-cells = <1>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&twl4030_pins>;
 
Quoted 12 lines

arch/arm/boot/dts/twl4030.dtsi line 98

Quoted 8 lines
arch/arm/boot/dts/twl4030.dtsi +2 -0
  	rtc {
  		compatible = "ti,twl4030-rtc";
@@ -92,3 +94,18 @@
  		#pwm-cells = <2>;
  	};
  };
+
+&omap3_pmx_core {

Here you are making the TWL4030 to explicitly depend on OMAP3. Could this chip be used by another target? If the case, I would put this piece of code in the files including twl4030. Otherwise it's ok here.

I talked this over with Tony before posting. In theorry, it could be used on other platforms. In practice, it's only used on OMAP. We can easily move this to board files if needed later, but thought it would be simpler to put it here. I'll let Benoit decide.

Quoted 5 lines
Quoted 2 lines

What about omap boards that don't use the twl4030? eg I'm currently tinkering with a board that uses a tps6507x...

Then you'll be inclding tps6507x.dtsi instead of twl4030.dtsi and won't be affected by this patch at all.

Gah! I saw omap3_pmx_core being modified and missed that the mod was in twl4030.dtsi. Of course, you are right.

Quoted 2 lines

Your board file should setup the muxing (using this as an example) for how your board wires the TPS chip to the OMAP.

Yes, that's the fun part, I'm trying to get a vanilla kernel to boot on the Seagate Wireless Plus. They didn't exactly hand out schematics ;-)

thx,

Jason.

#12 lore raw

PATCH 3/3 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

In reply to Kevin Hilman
Quoted 45 lines · Kevin Hilman
Quoted 30 lines · Florian Vaussard

Hello Kevin,

Quoted 27 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Therefore, configure the defaults for the SYS_NIRQ pin in the twl4030 DTS file.

Boards that hook up the twl4030 differently can easily override this in their board-specific DTS file.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

---
   arch/arm/boot/dts/twl4030.dtsi | 17 +++++++++++++++++
   1 file changed, 17 insertions(+)
arch/arm/boot/dts/twl4030.dtsi +2 -0
index b3034da..c7fe9f6 100644
@@ -13,6 +13,8 @@
   	compatible = "ti,twl4030";
   	interrupt-controller;
   	#interrupt-cells = <1>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&twl4030_pins>;
 
Quoted 12 lines

arch/arm/boot/dts/twl4030.dtsi line 98

Quoted 8 lines
arch/arm/boot/dts/twl4030.dtsi +2 -0
   	rtc {
   		compatible = "ti,twl4030-rtc";
@@ -92,3 +94,18 @@
   		#pwm-cells = <2>;
   	};
   };
+
+&omap3_pmx_core {

Here you are making the TWL4030 to explicitly depend on OMAP3. Could this chip be used by another target? If the case, I would put this piece of code in the files including twl4030. Otherwise it's ok here.

Quoted 5 lines

I talked this over with Tony before posting. In theorry, it could be used on other platforms. In practice, it's only used on OMAP. We can easily move this to board files if needed later, but thought it would be simpler to put it here. I'll let Benoit decide.

Ok, so I am fine with your approach. If need arises later, we can have a .dtsi file in-between to make the glue layer and avoid duplication inside board files.

Regards,

Florian

#13 lore raw

PATCH 3/3 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

In reply to Kevin Hilman

Salut Kevin,

Quoted 45 lines · Kevin Hilman
Quoted 30 lines · Florian Vaussard

Hello Kevin,

Quoted 27 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Therefore, configure the defaults for the SYS_NIRQ pin in the twl4030 DTS file.

Boards that hook up the twl4030 differently can easily override this in their board-specific DTS file.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

---
  arch/arm/boot/dts/twl4030.dtsi | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)
arch/arm/boot/dts/twl4030.dtsi +2 -0
index b3034da..c7fe9f6 100644
@@ -13,6 +13,8 @@
  	compatible = "ti,twl4030";
  	interrupt-controller;
  	#interrupt-cells = <1>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&twl4030_pins>;
 
Quoted 12 lines

arch/arm/boot/dts/twl4030.dtsi line 98

Quoted 8 lines
arch/arm/boot/dts/twl4030.dtsi +2 -0
  	rtc {
  		compatible = "ti,twl4030-rtc";
@@ -92,3 +94,18 @@
  		#pwm-cells = <2>;
  	};
  };
+
+&omap3_pmx_core {

Here you are making the TWL4030 to explicitly depend on OMAP3. Could this chip be used by another target? If the case, I would put this piece of code in the files including twl4030. Otherwise it's ok here.

Quoted 4 lines

I talked this over with Tony before posting. In theorry, it could be used on other platforms. In practice, it's only used on OMAP. We can easily move this to board files if needed later, but thought it would be simpler to put it here. I'll let Benoit decide.

Yeah, I don't like that either. Some twl variants are used on other platform. And these variants might include the original twl4030 as a base. None of them are in mainline for sure, but anyway adding SoC stuff in external IC file is not a good practice.

I don't want people in the future using that as an excuse for similar hacks.

The easiest way is to create an extra file including the platform free twl4030 file and adding the OMAP3 specific config on top of that. Every OMAP3 boards will the used that file. Otherwise you can hack each boards.

Regards,
Benoit

#14 lore raw

PATCH 3/3 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

Quoted 58 lines · Benoit Cousson

Salut Kevin,

Quoted 45 lines · Kevin Hilman
Quoted 30 lines · Florian Vaussard

Hello Kevin,

Quoted 27 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Therefore, configure the defaults for the SYS_NIRQ pin in the twl4030 DTS file.

Boards that hook up the twl4030 differently can easily override this in their board-specific DTS file.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

---
  arch/arm/boot/dts/twl4030.dtsi | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)
arch/arm/boot/dts/twl4030.dtsi +2 -0
index b3034da..c7fe9f6 100644
@@ -13,6 +13,8 @@
  	compatible = "ti,twl4030";
  	interrupt-controller;
  	#interrupt-cells = <1>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&twl4030_pins>;
 
Quoted 12 lines

arch/arm/boot/dts/twl4030.dtsi line 98

Quoted 8 lines
arch/arm/boot/dts/twl4030.dtsi +2 -0
  	rtc {
  		compatible = "ti,twl4030-rtc";
@@ -92,3 +94,18 @@
  		#pwm-cells = <2>;
  	};
  };
+
+&omap3_pmx_core {

Here you are making the TWL4030 to explicitly depend on OMAP3. Could this chip be used by another target? If the case, I would put this piece of code in the files including twl4030. Otherwise it's ok here.

Quoted 4 lines

I talked this over with Tony before posting. In theorry, it could be used on other platforms. In practice, it's only used on OMAP. We can easily move this to board files if needed later, but thought it would be simpler to put it here. I'll let Benoit decide.

Yeah, I don't like that either. Some twl variants are used on other platform. And these variants might include the original twl4030 as a base. None of them are in mainline for sure, but anyway adding SoC stuff in external IC file is not a good practice.

Quoted 6 lines

I don't want people in the future using that as an excuse for similar hacks.

The easiest way is to create an extra file including the platform free twl4030 file and adding the OMAP3 specific config on top of that. Every OMAP3 boards will the used that file. Otherwise you can hack each boards.

Yeah, somehow I knew you would say that. I'll respin.

Kevin

#15 lore raw

PATCH v2 3/3 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

In reply to Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Add another DTS include file (twl4030_omap3_mux.dtsi) for boards that hook up the twl4030 this way to include.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

Special thanks to Florian Vaussard for suggesting use of preprocessor feature.

Cc Florian Vaussard <[email protected]>
Cc Benoit Cousson <[email protected]>

---
v2: Updated to change board files instead of twl4030 file.

 arch/arm/boot/dts/omap3-beagle-xm.dts    |  1 +
 arch/arm/boot/dts/omap3-beagle.dts       |  1 +
 arch/arm/boot/dts/omap3-devkit8000.dts   |  1 +
 arch/arm/boot/dts/omap3-evm.dts          |  1 +
 arch/arm/boot/dts/omap3-igep.dtsi        |  1 +
 arch/arm/boot/dts/omap3-overo.dtsi       |  1 +
 arch/arm/boot/dts/omap3430-sdp.dts       |  1 +
 arch/arm/boot/dts/twl4030_omap3_mux.dtsi | 17 +++++++++++++++++
 8 files changed, 24 insertions(+)
 create mode 100644 arch/arm/boot/dts/twl4030_omap3_mux.dtsi
arch/arm/boot/dts/omap3-beagle-xm.dts +1 -0
index ad17b6b..1afb563 100644
@@ -96,6 +96,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3_mux.dtsi"
 
 &i2c2 {
 	clock-frequency = <400000>;
arch/arm/boot/dts/omap3-beagle.dts +1 -0
index eb7e02a..d5810d7 100644
@@ -135,6 +135,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3_mux.dtsi"
 
 &mmc1 {
 	vmmc-supply = <&vmmc1>;
arch/arm/boot/dts/omap3-devkit8000.dts +1 -0
index 5be71b1..166b90c 100644
@@ -81,6 +81,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3_mux.dtsi"
 
 &mmc1 {
 	vmmc-supply = <&vmmc1>;
arch/arm/boot/dts/omap3-evm.dts +1 -0
index baa24bb..ad7ab86 100644
@@ -45,6 +45,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3_mux.dtsi"
 
 &i2c2 {
 	clock-frequency = <400000>;
arch/arm/boot/dts/omap3-igep.dtsi +1 -0
index 5224c29..3107dc3 100644
@@ -87,6 +87,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3_mux.dtsi"
 
 &i2c2 {
 	clock-frequency = <400000>;
arch/arm/boot/dts/omap3-overo.dtsi +1 -0
index 144a5a2..bb55907 100644
@@ -50,6 +50,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3_mux.dtsi"
 
 /* i2c2 pins are used for gpio */
 &i2c2 {
arch/arm/boot/dts/omap3430-sdp.dts +1 -0
index 2a725a0..df3b918 100644
@@ -29,6 +29,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3_mux.dtsi"
 
 &mmc1 {
 	vmmc-supply = <&vmmc1>;
arch/arm/boot/dts/twl4030_omap3_mux.dtsi new file +17 -0
new file mode 100644
index 0000000..1bd0f9f
@@ -0,0 +1,17 @@
+&twl {
+	pinctrl-names = "default";
+	pinctrl-0 = <&twl4030_pins>;
+};
+
+&omap3_pmx_core {
+	/*
+	 * On most OMAP3 platforms, the twl4030 IRQ line is connected
+         * to the SYS_NIRQ line on OMAP.  Therefore, configure the
+         * defaults for the SYS_NIRQ pin here.
+	 */
+	twl4030_pins: pinmux_twl4030_pins {
+		pinctrl-single,pins = <
+			0x1b0 (PIN_INPUT_PULLUP | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* sys_nirq.sys_nirq */
+		>;
+	};
+};
Signature · 1 line
1.8.3
#16 lore raw

PATCH v2 3/3 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

Quoted 18 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Add another DTS include file (twl4030_omap3_mux.dtsi) for boards that hook up the twl4030 this way to include.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

Special thanks to Florian Vaussard for suggesting use of preprocessor feature.

Cc Florian Vaussard <[email protected]>
Cc Benoit Cousson <[email protected]>

---
v2: Updated to change board files instead of twl4030 file.

Quoted 8 lines
 arch/arm/boot/dts/omap3-beagle-xm.dts    |  1 +
 arch/arm/boot/dts/omap3-beagle.dts       |  1 +
 arch/arm/boot/dts/omap3-devkit8000.dts   |  1 +
 arch/arm/boot/dts/omap3-evm.dts          |  1 +
 arch/arm/boot/dts/omap3-igep.dtsi        |  1 +
 arch/arm/boot/dts/omap3-overo.dtsi       |  1 +
 arch/arm/boot/dts/omap3430-sdp.dts       |  1 +
 arch/arm/boot/dts/twl4030_omap3_mux.dtsi | 17 +++++++++++++++++

minor comment:
can we do twl4030_omap3 instead? That way, I can add in twl4030 VP specific parameters which are OMAP3 specific?
one additional minor comment below:

arch/arm/boot/dts/twl4030_omap3_mux.dtsi

Quoted 93 lines
 8 files changed, 24 insertions(+)
 create mode 100644 arch/arm/boot/dts/twl4030_omap3_mux.dtsi
arch/arm/boot/dts/omap3-beagle-xm.dts +1 -0
index ad17b6b..1afb563 100644
@@ -96,6 +96,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3_mux.dtsi"
 
 &i2c2 {
 	clock-frequency = <400000>;
arch/arm/boot/dts/omap3-beagle.dts +1 -0
index eb7e02a..d5810d7 100644
@@ -135,6 +135,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3_mux.dtsi"
 
 &mmc1 {
 	vmmc-supply = <&vmmc1>;
arch/arm/boot/dts/omap3-devkit8000.dts +1 -0
index 5be71b1..166b90c 100644
@@ -81,6 +81,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3_mux.dtsi"
 
 &mmc1 {
 	vmmc-supply = <&vmmc1>;
arch/arm/boot/dts/omap3-evm.dts +1 -0
index baa24bb..ad7ab86 100644
@@ -45,6 +45,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3_mux.dtsi"
 
 &i2c2 {
 	clock-frequency = <400000>;
arch/arm/boot/dts/omap3-igep.dtsi +1 -0
index 5224c29..3107dc3 100644
@@ -87,6 +87,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3_mux.dtsi"
 
 &i2c2 {
 	clock-frequency = <400000>;
arch/arm/boot/dts/omap3-overo.dtsi +1 -0
index 144a5a2..bb55907 100644
@@ -50,6 +50,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3_mux.dtsi"
 
 /* i2c2 pins are used for gpio */
 &i2c2 {
arch/arm/boot/dts/omap3430-sdp.dts +1 -0
index 2a725a0..df3b918 100644
@@ -29,6 +29,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3_mux.dtsi"
 
 &mmc1 {
 	vmmc-supply = <&vmmc1>;
arch/arm/boot/dts/twl4030_omap3_mux.dtsi new file +0 -0
new file mode 100644
index 0000000..1bd0f9f
@@ -0,0 +1,17 @@

some license text?

arch/arm/boot/dts/twl4030_omap3_mux.dtsi line 10

Quoted 10 lines
arch/arm/boot/dts/twl4030_omap3_mux.dtsi new file +10 -0
+&twl {
+	pinctrl-names = "default";
+	pinctrl-0 = <&twl4030_pins>;
+};
+
+&omap3_pmx_core {
+	/*
+	 * On most OMAP3 platforms, the twl4030 IRQ line is connected
+         * to the SYS_NIRQ line on OMAP.  Therefore, configure the
+         * defaults for the SYS_NIRQ pin here.

^^^ tab?

Quoted 7 lines
arch/arm/boot/dts/twl4030_omap3_mux.dtsi new file +7 -0
+	 */
+	twl4030_pins: pinmux_twl4030_pins {
+		pinctrl-single,pins = <
+			0x1b0 (PIN_INPUT_PULLUP | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* sys_nirq.sys_nirq */
+		>;
+	};
+};
Signature · 2 lines
Regards,
Nishanth Menon
#17 lore raw

PATCH v2 3/3 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

Quoted 27 lines · Nishanth Menon
Quoted 18 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Add another DTS include file (twl4030_omap3_mux.dtsi) for boards that hook up the twl4030 this way to include.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

Special thanks to Florian Vaussard for suggesting use of preprocessor feature.

Cc Florian Vaussard <[email protected]>
Cc Benoit Cousson <[email protected]>

---
v2: Updated to change board files instead of twl4030 file.

Quoted 8 lines
 arch/arm/boot/dts/omap3-beagle-xm.dts    |  1 +
 arch/arm/boot/dts/omap3-beagle.dts       |  1 +
 arch/arm/boot/dts/omap3-devkit8000.dts   |  1 +
 arch/arm/boot/dts/omap3-evm.dts          |  1 +
 arch/arm/boot/dts/omap3-igep.dtsi        |  1 +
 arch/arm/boot/dts/omap3-overo.dtsi       |  1 +
 arch/arm/boot/dts/omap3430-sdp.dts       |  1 +
 arch/arm/boot/dts/twl4030_omap3_mux.dtsi | 17 +++++++++++++++++
Quoted 3 lines

minor comment:
can we do twl4030_omap3 instead? That way, I can add in twl4030 VP specific parameters which are OMAP3 specific?

Good idea, I'll rename it to twl4030_omap3.dtsi

[...]

Quoted 7 lines

arch/arm/boot/dts/twl4030_omap3_mux.dtsi

Quoted 6 lines
arch/arm/boot/dts/twl4030_omap3_mux.dtsi new file +0 -0
new file mode 100644
index 0000000..1bd0f9f
@@ -0,0 +1,17 @@

some license text?

oops

Quoted 11 lines

arch/arm/boot/dts/twl4030_omap3_mux.dtsi line 10

Quoted 10 lines
arch/arm/boot/dts/twl4030_omap3_mux.dtsi new file +10 -0
+&twl {
+	pinctrl-names = "default";
+	pinctrl-0 = <&twl4030_pins>;
+};
+
+&omap3_pmx_core {
+	/*
+	 * On most OMAP3 platforms, the twl4030 IRQ line is connected
+         * to the SYS_NIRQ line on OMAP.  Therefore, configure the
+         * defaults for the SYS_NIRQ pin here.

^^^ tab?

good catch.

Thanks for the review, will make the changes and resubmit.

Kevin

#18 lore raw

PATCH v3 1/1 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

In reply to Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Add another DTS include file (twl4030_omap3.dtsi) for boards that hook up the twl4030 this way to include.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

Special thanks to Florian Vaussard for suggesting use of preprocessor feature.

Cc Florian Vaussard <[email protected]>
Cc Benoit Cousson <[email protected]>
Cc Nishanth Menon <[email protected]>

---
v3: renamed to twl4030_omap3 (suggested by Nishanth), add GPL, fix whitespace
v2: Updated to change board files instead of twl4030 file.

 arch/arm/boot/dts/omap3-beagle-xm.dts  |  1 +
 arch/arm/boot/dts/omap3-beagle.dts     |  1 +
 arch/arm/boot/dts/omap3-devkit8000.dts |  1 +
 arch/arm/boot/dts/omap3-evm.dts        |  1 +
 arch/arm/boot/dts/omap3-igep.dtsi      |  1 +
 arch/arm/boot/dts/omap3-overo.dtsi     |  1 +
 arch/arm/boot/dts/omap3430-sdp.dts     |  1 +
 arch/arm/boot/dts/twl4030_omap3.dtsi   | 25 +++++++++++++++++++++++++
 8 files changed, 32 insertions(+)
 create mode 100644 arch/arm/boot/dts/twl4030_omap3.dtsi
arch/arm/boot/dts/omap3-beagle-xm.dts +1 -0
index ad17b6b..afdb164 100644
@@ -96,6 +96,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
 
 &i2c2 {
 	clock-frequency = <400000>;
arch/arm/boot/dts/omap3-beagle.dts +1 -0
index eb7e02a..dfd8310 100644
@@ -135,6 +135,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
 
 &mmc1 {
 	vmmc-supply = <&vmmc1>;
arch/arm/boot/dts/omap3-devkit8000.dts +1 -0
index 5be71b1..af32eff 100644
@@ -81,6 +81,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
 
 &mmc1 {
 	vmmc-supply = <&vmmc1>;
arch/arm/boot/dts/omap3-evm.dts +1 -0
index baa24bb..7d4329d 100644
@@ -45,6 +45,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
 
 &i2c2 {
 	clock-frequency = <400000>;
arch/arm/boot/dts/omap3-igep.dtsi +1 -0
index 5224c29..bc48b11 100644
@@ -87,6 +87,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
 
 &i2c2 {
 	clock-frequency = <400000>;
arch/arm/boot/dts/omap3-overo.dtsi +1 -0
index 144a5a2..4bc78896 100644
@@ -50,6 +50,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
 
 /* i2c2 pins are used for gpio */
 &i2c2 {
arch/arm/boot/dts/omap3430-sdp.dts +1 -0
index 2a725a0..c4a1c0a 100644
@@ -29,6 +29,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
 
 &mmc1 {
 	vmmc-supply = <&vmmc1>;
arch/arm/boot/dts/twl4030_omap3.dtsi new file +25 -0
new file mode 100644
index 0000000..c353ef0
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2013 Linaro, Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+&twl {
+	pinctrl-names = "default";
+	pinctrl-0 = <&twl4030_pins>;
+};
+
+&omap3_pmx_core {
+	/*
+	 * On most OMAP3 platforms, the twl4030 IRQ line is connected
+	 * to the SYS_NIRQ line on OMAP.  Therefore, configure the
+	 * defaults for the SYS_NIRQ pin here.
+	 */
+	twl4030_pins: pinmux_twl4030_pins {
+		pinctrl-single,pins = <
+			0x1b0 (PIN_INPUT_PULLUP | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* sys_nirq.sys_nirq */
+		>;
+	};
+};
Signature · 1 line
1.8.3
#19 lore raw

PATCH v3 1/1 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

Quoted 9 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Add another DTS include file (twl4030_omap3.dtsi) for boards that hook up the twl4030 this way to include.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

Quoted 7 lines

Special thanks to Florian Vaussard for suggesting use of preprocessor feature.

Cc Florian Vaussard <[email protected]>
Cc Benoit Cousson <[email protected]>
Cc Nishanth Menon <[email protected]>

Thanks,

Quoted 133 lines

---
v3: renamed to twl4030_omap3 (suggested by Nishanth), add GPL, fix whitespace
v2: Updated to change board files instead of twl4030 file.

 arch/arm/boot/dts/omap3-beagle-xm.dts  |  1 +
 arch/arm/boot/dts/omap3-beagle.dts     |  1 +
 arch/arm/boot/dts/omap3-devkit8000.dts |  1 +
 arch/arm/boot/dts/omap3-evm.dts        |  1 +
 arch/arm/boot/dts/omap3-igep.dtsi      |  1 +
 arch/arm/boot/dts/omap3-overo.dtsi     |  1 +
 arch/arm/boot/dts/omap3430-sdp.dts     |  1 +
 arch/arm/boot/dts/twl4030_omap3.dtsi   | 25 +++++++++++++++++++++++++
 8 files changed, 32 insertions(+)
 create mode 100644 arch/arm/boot/dts/twl4030_omap3.dtsi
arch/arm/boot/dts/omap3-beagle-xm.dts +1 -0
index ad17b6b..afdb164 100644
@@ -96,6 +96,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
 
 &i2c2 {
 	clock-frequency = <400000>;
arch/arm/boot/dts/omap3-beagle.dts +1 -0
index eb7e02a..dfd8310 100644
@@ -135,6 +135,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
 
 &mmc1 {
 	vmmc-supply = <&vmmc1>;
arch/arm/boot/dts/omap3-devkit8000.dts +1 -0
index 5be71b1..af32eff 100644
@@ -81,6 +81,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
 
 &mmc1 {
 	vmmc-supply = <&vmmc1>;
arch/arm/boot/dts/omap3-evm.dts +1 -0
index baa24bb..7d4329d 100644
@@ -45,6 +45,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
 
 &i2c2 {
 	clock-frequency = <400000>;
arch/arm/boot/dts/omap3-igep.dtsi +1 -0
index 5224c29..bc48b11 100644
@@ -87,6 +87,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
 
 &i2c2 {
 	clock-frequency = <400000>;
arch/arm/boot/dts/omap3-overo.dtsi +1 -0
index 144a5a2..4bc78896 100644
@@ -50,6 +50,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
 
 /* i2c2 pins are used for gpio */
 &i2c2 {
arch/arm/boot/dts/omap3430-sdp.dts +1 -0
index 2a725a0..c4a1c0a 100644
@@ -29,6 +29,7 @@
 };
 
 #include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
 
 &mmc1 {
 	vmmc-supply = <&vmmc1>;
arch/arm/boot/dts/twl4030_omap3.dtsi new file +25 -0
new file mode 100644
index 0000000..c353ef0
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2013 Linaro, Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+&twl {
+	pinctrl-names = "default";
+	pinctrl-0 = <&twl4030_pins>;
+};
+
+&omap3_pmx_core {
+	/*
+	 * On most OMAP3 platforms, the twl4030 IRQ line is connected
+	 * to the SYS_NIRQ line on OMAP.  Therefore, configure the
+	 * defaults for the SYS_NIRQ pin here.
+	 */
+	twl4030_pins: pinmux_twl4030_pins {
+		pinctrl-single,pins = <
+			0x1b0 (PIN_INPUT_PULLUP | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* sys_nirq.sys_nirq */
+		>;
+	};
+};
Signature · 1 line
1.8.3
Signature · 2 lines
Regards,
Nishanth Menon
#20 lore raw

PATCH v3 1/1 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

Hi Kevin,

Quoted 13 lines · Nishanth Menon
Quoted 12 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Add another DTS include file (twl4030_omap3.dtsi) for boards that hook up the twl4030 this way to include.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

Special thanks to Florian Vaussard for suggesting use of preprocessor feature.

Quoted 6 lines
Quoted 4 lines
Cc Florian Vaussard <[email protected]>
Cc Benoit Cousson <[email protected]>
Cc Nishanth Menon <[email protected]>

Thanks,

Thanks, I've just applied it in for_3.11/dts.

Benoit

#21 lore raw

PATCH v3 1/1 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

Quoted 16 lines · Benoit Cousson

Hi Kevin,

Quoted 13 lines · Nishanth Menon
Quoted 12 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Add another DTS include file (twl4030_omap3.dtsi) for boards that hook up the twl4030 this way to include.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

Special thanks to Florian Vaussard for suggesting use of preprocessor feature.

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines
Cc Florian Vaussard <[email protected]>
Cc Benoit Cousson <[email protected]>
Cc Nishanth Menon <[email protected]>

Thanks,

Thanks, I've just applied it in for_3.11/dts.

Thanks,

Will you apply the first 2 from the series too?

ARM: DTS: OMAP3: beagle/overo: mux console UART, enable wakeup
ARM: DTS: OMAP3: beagle: enable user button via gpio_keys, enable wakeup

Thanks,

Kevin

#22 lore raw

PATCH v3 1/1 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

Quoted 25 lines · Kevin Hilman
Quoted 23 lines · Benoit Cousson

Hi Kevin,

Quoted 19 lines · Nishanth Menon
Quoted 9 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Add another DTS include file (twl4030_omap3.dtsi) for boards that hook up the twl4030 this way to include.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

Quoted 7 lines

Special thanks to Florian Vaussard for suggesting use of preprocessor feature.

Cc Florian Vaussard <[email protected]>
Cc Benoit Cousson <[email protected]>
Cc Nishanth Menon <[email protected]>

Thanks,

Quoted 8 lines
Quoted 1 line

Thanks, I've just applied it in for_3.11/dts.

Thanks,

Will you apply the first 2 from the series too?

ARM: DTS: OMAP3: beagle/overo: mux console UART, enable wakeup
ARM: DTS: OMAP3: beagle: enable user button via gpio_keys, enable wakeup

Thanks for the reminder, I kind of forgot these ones :-)

Benoit

#23 lore raw

PATCH v3 1/1 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

Quoted 30 lines · Benoit
Quoted 29 lines · Kevin Hilman
Quoted 16 lines · Benoit Cousson

Hi Kevin,

Quoted 13 lines · Nishanth Menon
Quoted 12 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Add another DTS include file (twl4030_omap3.dtsi) for boards that hook up the twl4030 this way to include.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

Special thanks to Florian Vaussard for suggesting use of preprocessor feature.

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines
Cc Florian Vaussard <[email protected]>
Cc Benoit Cousson <[email protected]>
Cc Nishanth Menon <[email protected]>

Thanks,

Thanks, I've just applied it in for_3.11/dts.

Thanks,

Quoted 7 lines
Quoted 5 lines

Will you apply the first 2 from the series too?

ARM: DTS: OMAP3: beagle/overo: mux console UART, enable wakeup
ARM: DTS: OMAP3: beagle: enable user button via gpio_keys, enable
wakeup

Thanks for the reminder, I kind of forgot these ones :-)

BTW, do you have any v2 for these ones? This version does not use the macros.
Moreover I cannot apply them on top of Florian's series :-(

Regards,
Benoit

#24 lore raw

PATCH v3 1/1 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

Quoted 37 lines · Benoit Cousson
Quoted 36 lines · Benoit
Quoted 34 lines · Kevin Hilman
Quoted 16 lines · Benoit Cousson

Hi Kevin,

Quoted 13 lines · Nishanth Menon
Quoted 12 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Add another DTS include file (twl4030_omap3.dtsi) for boards that hook up the twl4030 this way to include.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

Special thanks to Florian Vaussard for suggesting use of preprocessor feature.

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines
Cc Florian Vaussard <[email protected]>
Cc Benoit Cousson <[email protected]>
Cc Nishanth Menon <[email protected]>

Thanks,

Thanks, I've just applied it in for_3.11/dts.

Thanks,

Will you apply the first 2 from the series too?

ARM: DTS: OMAP3: beagle/overo: mux console UART, enable wakeup
ARM: DTS: OMAP3: beagle: enable user button via gpio_keys, enable
wakeup

Quoted 5 lines
Quoted 1 line

Thanks for the reminder, I kind of forgot these ones :-)

BTW, do you have any v2 for these ones? This version does not use the macros.
Moreover I cannot apply them on top of Florian's series :-(

Oops, I thought I reposted those too. All three are here:

git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm.git for_3.11/dt

which is based on top of your for_3.11/dts branch.

Kevin

#25 lore raw

PATCH v3 1/1 ARM: DTS: TWL4030: fix mux and wakeup for SYS_NIRQ line

Quoted 45 lines · Kevin Hilman
Quoted 37 lines · Benoit Cousson
Quoted 36 lines · Benoit
Quoted 34 lines · Kevin Hilman
Quoted 16 lines · Benoit Cousson

Hi Kevin,

Quoted 13 lines · Nishanth Menon
Quoted 12 lines · Kevin Hilman

On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Add another DTS include file (twl4030_omap3.dtsi) for boards that hook up the twl4030 this way to include.

This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM.

Special thanks to Florian Vaussard for suggesting use of preprocessor feature.

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines
Cc Florian Vaussard <[email protected]>
Cc Benoit Cousson <[email protected]>
Cc Nishanth Menon <[email protected]>

Thanks,

Thanks, I've just applied it in for_3.11/dts.

Thanks,

Will you apply the first 2 from the series too?

ARM: DTS: OMAP3: beagle/overo: mux console UART, enable wakeup
ARM: DTS: OMAP3: beagle: enable user button via gpio_keys, enable
wakeup

Quoted 5 lines
Quoted 1 line

Thanks for the reminder, I kind of forgot these ones :-)

BTW, do you have any v2 for these ones? This version does not use the macros.
Moreover I cannot apply them on top of Florian's series :-(

Quoted 5 lines

Oops, I thought I reposted those too. All three are here:

git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm.git for_3.11/dt

which is based on top of your for_3.11/dts branch.

Thanks, I've just applied it.

Regards,
Benoit