Skip to contentSkip to conversation

Add pinctrl support to AM33XX family of devices

PATCH Superseded AnilKumar Ch 2 participants 7 messages Jul 20, 2012 – Jul 24, 2012 Device tree bindings

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

v2 cover Add pinctrl support to AM33XX family of devices

Adds pinctrl support to AM33XX family of devices. These patches were tested on AM335x-Bone and AM335x-EVM

Changes from v1:
- Rebased the patches based on latest pinctrl-single driver

AnilKumar Ch (2):
arm/dts: Add AM33XX basic pinctrl support arm/dts: Configure pinmuxs for user leds control on Bone

 arch/arm/boot/dts/am335x-bone.dts |   15 +++++++++++++++
 arch/arm/boot/dts/am33xx.dtsi     |    9 +++++++++
 2 files changed, 24 insertions(+), 0 deletions(-)
#1 lore raw

PATCH v2 1/2 arm/dts: Add AM33XX basic pinctrl support

Add basic pinctrl support for AM33XX family of devices by adding DT data to am33xx dtsi file. These patches are based on pinctrl-single driver and tested on am335x-evm & am335x-bone devices.

---
 arch/arm/boot/dts/am33xx.dtsi |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
arch/arm/boot/dts/am33xx.dtsi +9 -0
index 59509c4..9b974dc 100644
@@ -40,6 +40,15 @@
 		};
 	};
 
+	am3358_pinmux: pinmux at 44E10800 {
+		compatible = "pinctrl-single";
+		reg = <0x44E10800 0x0338>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		pinctrl-single,register-width = <32>;
+		pinctrl-single,function-mask = <0x7F>;
+	};
+
 	/*
 	 * XXX: Use a flat representation of the AM33XX interconnect.
 	 * The real AM33XX interconnect network is quite complex.Since
Signature · 1 line
1.7.0.4
#2 lore raw

PATCH v2 1/2 arm/dts: Add AM33XX basic pinctrl support

Quoted 19 lines · AnilKumar Ch

Add basic pinctrl support for AM33XX family of devices by adding DT data to am33xx dtsi file. These patches are based on pinctrl-single driver and tested on am335x-evm & am335x-bone devices.

---
 arch/arm/boot/dts/am33xx.dtsi |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
arch/arm/boot/dts/am33xx.dtsi +2 -0
index 59509c4..9b974dc 100644
@@ -40,6 +40,15 @@
 		};
 	};
 
+	am3358_pinmux: pinmux at 44E10800 {
+		compatible = "pinctrl-single";

arch/arm/boot/dts/am33xx.dtsi line 54

Quoted 10 lines
arch/arm/boot/dts/am33xx.dtsi +7 -0
+		reg = <0x44E10800 0x0338>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		pinctrl-single,register-width = <32>;
+		pinctrl-single,function-mask = <0x7F>;
+	};
+
 	/*
 	 * XXX: Use a flat representation of the AM33XX interconnect.
 	 * The real AM33XX interconnect network is quite complex.Since

Is there only one padconf domain on 33xx instead of separate core and wkup domains like omap3 and omap4 have?

Regards,

Tony

#3 lore raw

PATCH v2 1/2 arm/dts: Add AM33XX basic pinctrl support

Quoted 18 lines · Tony Lindgren
Quoted 17 lines · AnilKumar Ch

Add basic pinctrl support for AM33XX family of devices by adding DT data to am33xx dtsi file. These patches are based on pinctrl-single driver and tested on am335x-evm & am335x-bone devices.

---
 arch/arm/boot/dts/am33xx.dtsi |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
arch/arm/boot/dts/am33xx.dtsi +0 -0
index 59509c4..9b974dc 100644
@@ -40,6 +40,15 @@
 		};
 	};
 
Quoted 16 lines

arch/arm/boot/dts/am33xx.dtsi line 54

Quoted 12 lines
arch/arm/boot/dts/am33xx.dtsi +9 -0
+	am3358_pinmux: pinmux at 44E10800 {
+		compatible = "pinctrl-single";
+		reg = <0x44E10800 0x0338>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		pinctrl-single,register-width = <32>;
+		pinctrl-single,function-mask = <0x7F>;
+	};
+
 	/*
 	 * XXX: Use a flat representation of the AM33XX interconnect.
 	 * The real AM33XX interconnect network is quite complex.Since

Is there only one padconf domain on 33xx instead of separate core and wkup domains like omap3 and omap4 have?

Yes, in case of AM33XX we have only on padconf domain.

Regards
AnilKumar

#4 lore raw

PATCH v2 2/2 arm/dts: Configure pinmuxs for user leds control on Bone

In reply to AnilKumar Ch

Adds GPIO pinctrl nodes to am3358_pinmux master node to control user leds (USR0, USR1, USR2 and USR3) present on BeagleBone.

---
 arch/arm/boot/dts/am335x-bone.dts |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)
arch/arm/boot/dts/am335x-bone.dts +15 -0
index a4d4415..452ce3f 100644
@@ -28,3 +28,18 @@
 };
 
 /include/ "tps65217.dtsi"
+
+&am3358_pinmux {
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&userled_pins>;
+
+	userled_pins: pinmux_userled_pins {
+		pinctrl-single,pins = <
+			0x54 0x7	/* gpmc_a5.gpio1_21, OMAP_PIN_OUTPUT | OMAP_MUX_MODE7 */
+			0x58 0x17	/* gpmc_a6.gpio1_22, OMAP_PIN_OUTPUT_PULLUP | OMAP_MUX_MODE7 */
+			0x5C 0x7	/* gpmc_a7.gpio1_23, OMAP_PIN_OUTPUT | OMAP_MUX_MODE7 */
+			0x60 0x17	/* gpmc_a8.gpio1_24, OMAP_PIN_OUTPUT_PULLUP | OMAP_MUX_MODE7 */
+		>;
+	};
+};
Signature · 1 line
1.7.0.4
#5 lore raw

PATCH v2 2/2 arm/dts: Configure pinmuxs for user leds control on Bone

Quoted 21 lines · AnilKumar Ch

Adds GPIO pinctrl nodes to am3358_pinmux master node to control user leds (USR0, USR1, USR2 and USR3) present on BeagleBone.

---
 arch/arm/boot/dts/am335x-bone.dts |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)
arch/arm/boot/dts/am335x-bone.dts +5 -0
index a4d4415..452ce3f 100644
@@ -28,3 +28,18 @@
 };
 
 /include/ "tps65217.dtsi"
+
+&am3358_pinmux {
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&userled_pins>;

arch/arm/boot/dts/am335x-bone.dts line 45

Quoted 10 lines
arch/arm/boot/dts/am335x-bone.dts +10 -0
+
+	userled_pins: pinmux_userled_pins {
+		pinctrl-single,pins = <
+			0x54 0x7	/* gpmc_a5.gpio1_21, OMAP_PIN_OUTPUT | OMAP_MUX_MODE7 */
+			0x58 0x17	/* gpmc_a6.gpio1_22, OMAP_PIN_OUTPUT_PULLUP | OMAP_MUX_MODE7 */
+			0x5C 0x7	/* gpmc_a7.gpio1_23, OMAP_PIN_OUTPUT | OMAP_MUX_MODE7 */
+			0x60 0x17	/* gpmc_a8.gpio1_24, OMAP_PIN_OUTPUT_PULLUP | OMAP_MUX_MODE7 */
+		>;
+	};
+};

Let's standardize on the following minimal commenting as those can be search and replaced the same way when we have preprocessing available:

		pinctrl-single,pins = <
			0x54 0x7	/* gpmc_a5.gpio1_21  OUTPUT | MODE7 */
			0x58 0x17	/* gpmc_a6.gpio1_22, OUTPUT_PULLUP | MODE7 */
			0x5C 0x7	/* gpmc_a7.gpio1_23, OUTPUT | MODE7 */
			0x60 0x17	/* gpmc_a8.gpio1_24, OUTPUT_PULLUP | MODE7 */
		>;

Regards,

Tony

#6 lore raw

PATCH v2 2/2 arm/dts: Configure pinmuxs for user leds control on Bone

Hi Tony,

Thanks for the review.

Quoted 36 lines · Tony Lindgren
Quoted 21 lines · AnilKumar Ch

Adds GPIO pinctrl nodes to am3358_pinmux master node to control user leds (USR0, USR1, USR2 and USR3) present on BeagleBone.

---
 arch/arm/boot/dts/am335x-bone.dts |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)
arch/arm/boot/dts/am335x-bone.dts +5 -0
index a4d4415..452ce3f 100644
@@ -28,3 +28,18 @@
 };
 
 /include/ "tps65217.dtsi"
+
+&am3358_pinmux {
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&userled_pins>;

arch/arm/boot/dts/am335x-bone.dts line 45

Quoted 10 lines
arch/arm/boot/dts/am335x-bone.dts +10 -0
+
+	userled_pins: pinmux_userled_pins {
+		pinctrl-single,pins = <
+			0x54 0x7	/* gpmc_a5.gpio1_21, OMAP_PIN_OUTPUT | OMAP_MUX_MODE7 */
+			0x58 0x17	/* gpmc_a6.gpio1_22, OMAP_PIN_OUTPUT_PULLUP | OMAP_MUX_MODE7 */
+			0x5C 0x7	/* gpmc_a7.gpio1_23, OMAP_PIN_OUTPUT | OMAP_MUX_MODE7 */
+			0x60 0x17	/* gpmc_a8.gpio1_24, OMAP_PIN_OUTPUT_PULLUP | OMAP_MUX_MODE7 */
+		>;
+	};
+};

Let's standardize on the following minimal commenting as those can be search and replaced the same way when we have preprocessing available:

Quoted 7 lines
		pinctrl-single,pins = <
			0x54 0x7	/* gpmc_a5.gpio1_21  OUTPUT | MODE7 */
			0x58 0x17	/* gpmc_a6.gpio1_22, OUTPUT_PULLUP | MODE7 */
			0x5C 0x7	/* gpmc_a7.gpio1_23, OUTPUT | MODE7 */
			0x60 0x17	/* gpmc_a8.gpio1_24, OUTPUT_PULLUP | MODE7 */
		>;

Point taken, I thought the same after v2 submission. I will send the updated version with this fix.

Thanks
AnilKumar