[PATCH v4 0/3] Add device tree data for AM33XX devices

STALE5084d

Revision v4 of 2 in this series.

7 messages, 4 authors, 2012-09-03 · open the first message on its own page

[PATCH v4 0/3] Add device tree data for AM33XX devices

From: AnilKumar Ch <hidden>
Date: 2012-08-28 08:10:51

Add pinctrl and d_can device tree data to AM33XX family of devices.
First two patches add support for pinctrl DT data and third one
adds dcan DT data.

Reason behind combining these patches is to apply cleanly on
linux-omap tree, because these are sequential patches.

These patches were tested on AM335x-Bone and AM335x-EVM apply
on linux-omap:master

d_can:
  Changes from v3:
	- Removed d_can1 node from am335x-evm.dts file. Instance
	  one of CAN (d_can1) is available on AM335x-EVM only under
	  a specific CPLD mode selection. am335x-evm.dts does not
          support this mode so remove the d_can1 node.
	- Dropped d_can pinmux settings patch, above comment
	  applies here as well.

  Changes from v2:
	- Incorporated Vaibhav H's comments on v2
	  * Added dcan0 instances to am33xx.dtsi file

  Changes from v1:
	- These two patches separated from c_can DT support
	  patch series.

pinctrl:
  Changes from v3:
	- Updated the reg length based on latest AM335x TRM.

  Changes from v2:
	- user led pinmux comments updated according to Tony's
	  comment.

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

AnilKumar Ch (3):
  arm/dts: AM33XX: Add basic pinctrl device tree data
  arm/dts: AM33XX: Configure pinmuxs for user leds control on Bone
  arm/dts: AM33XX: Add D_CAN device tree data

 arch/arm/boot/dts/am335x-bone.dts |   14 ++++++++++++++
 arch/arm/boot/dts/am33xx.dtsi     |   27 +++++++++++++++++++++++++++
 2 files changed, 41 insertions(+)

-- 
1.7.9.5

[PATCH RESEND v4 2/3] arm/dts: AM33XX: Configure pinmuxs for user leds control on Bone

From: AnilKumar Ch <hidden>
Date: 2012-08-28 08:10:53

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

Signed-off-by: AnilKumar Ch <redacted>
---
 arch/arm/boot/dts/am335x-bone.dts |   14 ++++++++++++++
 1 file changed, 14 insertions(+)
diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts
index a7906cb..58f5042 100644
--- a/arch/arm/boot/dts/am335x-bone.dts
+++ b/arch/arm/boot/dts/am335x-bone.dts
@@ -18,6 +18,20 @@
 		reg = <0x80000000 0x10000000>; /* 256 MB */
 	};
 
+	am3358_pinmux: pinmux at 44E10800 {
+		pinctrl-names = "default";
+		pinctrl-0 = <&userled_pins>;
+
+		userled_pins: pinmux_userled_pins {
+			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 */
+			>;
+		};
+	};
+
 	ocp {
 		uart1: serial at 44E09000 {
 			status = "okay";
-- 
1.7.9.5

Re: [PATCH RESEND v4 2/3] arm/dts: AM33XX: Configure pinmuxs for user leds control on Bone

From: Tony Lindgren <tony@atomide.com>
Date: 2012-08-30 20:35:06

* AnilKumar Ch [off-list ref] [120828 01:11]:
quoted hunk
Adds GPIO pinctrl nodes to am3358_pinmux master node to control
user leds (USR0, USR1, USR2 and USR3) present on BeagleBone.

Signed-off-by: AnilKumar Ch <redacted>
---
 arch/arm/boot/dts/am335x-bone.dts |   14 ++++++++++++++
 1 file changed, 14 insertions(+)
diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts
index a7906cb..58f5042 100644
--- a/arch/arm/boot/dts/am335x-bone.dts
+++ b/arch/arm/boot/dts/am335x-bone.dts
@@ -18,6 +18,20 @@
 		reg = <0x80000000 0x10000000>; /* 256 MB */
 	};
 
+	am3358_pinmux: pinmux at 44E10800 {
+		pinctrl-names = "default";
+		pinctrl-0 = <&userled_pins>;
+
+		userled_pins: pinmux_userled_pins {
+			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 */
+			>;
+		};
+	};
+
Looks like this patch should also claim these pins by the led driver.
Then the led driver should just do pinctrl_get_select_default(&pdev->dev)
in it's probe function to set the pins.

Tony

Re: [PATCH RESEND v4 2/3] arm/dts: AM33XX: Configure pinmuxs for user leds control on Bone

From: Koen Kooi <hidden>
Date: 2012-08-31 15:53:18

Op 30 aug. 2012, om 22:35 heeft Tony Lindgren [off-list ref] het volgende geschreven:
* AnilKumar Ch [off-list ref] [120828 01:11]:
quoted
Adds GPIO pinctrl nodes to am3358_pinmux master node to control
user leds (USR0, USR1, USR2 and USR3) present on BeagleBone.

Signed-off-by: AnilKumar Ch <redacted>
---
arch/arm/boot/dts/am335x-bone.dts |   14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts
index a7906cb..58f5042 100644
--- a/arch/arm/boot/dts/am335x-bone.dts
+++ b/arch/arm/boot/dts/am335x-bone.dts
@@ -18,6 +18,20 @@
		reg = <0x80000000 0x10000000>; /* 256 MB */
	};

+	am3358_pinmux: pinmux at 44E10800 {
+		pinctrl-names = "default";
+		pinctrl-0 = <&userled_pins>;
+
+		userled_pins: pinmux_userled_pins {
+			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 */
+			>;
+		};
+	};
+
Looks like this patch should also claim these pins by the led driver.
Then the led driver should just do pinctrl_get_select_default(&pdev->dev)
in it's probe function to set the pins.
FWIW, I've been using this for a while now:

+       leds {
+               compatible = "gpio-leds";
+               heartbeat {
+                       label = "beaglebone::usr0";
+                       gpios = <&gpio2 21 0>;
+                       linux,default-trigger = "heartbeat";
+               };
+
+               mmc {
+                       label = "beaglebone:usr1";
+                       gpios = <&gpio2 22 0>;
+                       linux,default-trigger = "mmc0";
+               };

RE: [PATCH RESEND v4 2/3] arm/dts: AM33XX: Configure pinmuxs for user leds control on Bone

From: AnilKumar, Chimata <hidden>
Date: 2012-09-01 07:01:09

Hi Koen,

On Fri, Aug 31, 2012 at 21:23:18, Koen Kooi wrote:
Op 30 aug. 2012, om 22:35 heeft Tony Lindgren [off-list ref] het volgende geschreven:
quoted
* AnilKumar Ch [off-list ref] [120828 01:11]:
quoted
Adds GPIO pinctrl nodes to am3358_pinmux master node to control
user leds (USR0, USR1, USR2 and USR3) present on BeagleBone.

Signed-off-by: AnilKumar Ch <redacted>
---
arch/arm/boot/dts/am335x-bone.dts |   14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts
index a7906cb..58f5042 100644
--- a/arch/arm/boot/dts/am335x-bone.dts
+++ b/arch/arm/boot/dts/am335x-bone.dts
@@ -18,6 +18,20 @@
		reg = <0x80000000 0x10000000>; /* 256 MB */
	};

+	am3358_pinmux: pinmux at 44E10800 {
+		pinctrl-names = "default";
+		pinctrl-0 = <&userled_pins>;
+
+		userled_pins: pinmux_userled_pins {
+			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 */
+			>;
+		};
+	};
+
Looks like this patch should also claim these pins by the led driver.
Then the led driver should just do pinctrl_get_select_default(&pdev->dev)
in it's probe function to set the pins.
FWIW, I've been using this for a while now:

+       leds {
+               compatible = "gpio-leds";
+               heartbeat {
+                       label = "beaglebone::usr0";
+                       gpios = <&gpio2 21 0>;
+                       linux,default-trigger = "heartbeat";
+               };
+
+               mmc {
+                       label = "beaglebone:usr1";
+                       gpios = <&gpio2 22 0>;
+                       linux,default-trigger = "mmc0";
+               };
Thanks for the inputs, similar data but not exact is added to
v5 series.

+		gpio-leds {
+			compatible = "gpio-leds";
+			pinctrl-names = "default";
+			pinctrl-0 = <&userled_pins>;
+
+			led0 {
+				label = "status:green:user0";
+				gpios = <&gpio2 21 0>;
+				default-state = "off";
+			};
+
+			led1 {
+				label = "status:green:user1";
+				gpios = <&gpio2 22 0>;
+				default-state = "off";
+			};
+
+			led2 {
+				label = "status:green:user2";
+				gpios = <&gpio2 23 0>;
+				default-state = "off";
+			};
+
+			led3 {
+				label = "status:green:user3";
+				gpios = <&gpio2 24 0>;
+				default-state = "off";
+			};
+		};
+

Can you review my v5 patches and tell me if there are any
modifications/changes required?

Thanks
AnilKumar

Re: [PATCH RESEND v4 2/3] arm/dts: AM33XX: Configure pinmuxs for user leds control on Bone

From: Koen Kooi <hidden>
Date: 2012-09-01 10:47:35


Op 1 sep. 2012 om 09:01 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
Hi Koen,

On Fri, Aug 31, 2012 at 21:23:18, Koen Kooi wrote:
quoted
Op 30 aug. 2012, om 22:35 heeft Tony Lindgren [off-list ref] het volgende geschreven:
quoted
* AnilKumar Ch [off-list ref] [120828 01:11]:
quoted
Adds GPIO pinctrl nodes to am3358_pinmux master node to control
user leds (USR0, USR1, USR2 and USR3) present on BeagleBone.

Signed-off-by: AnilKumar Ch <redacted>
---
arch/arm/boot/dts/am335x-bone.dts |   14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts
index a7906cb..58f5042 100644
--- a/arch/arm/boot/dts/am335x-bone.dts
+++ b/arch/arm/boot/dts/am335x-bone.dts
@@ -18,6 +18,20 @@
       reg = <0x80000000 0x10000000>; /* 256 MB */
   };

+    am3358_pinmux: pinmux at 44E10800 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&userled_pins>;
+
+        userled_pins: pinmux_userled_pins {
+            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 */
+            >;
+        };
+    };
+
Looks like this patch should also claim these pins by the led driver.
Then the led driver should just do pinctrl_get_select_default(&pdev->dev)
in it's probe function to set the pins.
FWIW, I've been using this for a while now:

+       leds {
+               compatible = "gpio-leds";
+               heartbeat {
+                       label = "beaglebone::usr0";
+                       gpios = <&gpio2 21 0>;
+                       linux,default-trigger = "heartbeat";
+               };
+
+               mmc {
+                       label = "beaglebone:usr1";
+                       gpios = <&gpio2 22 0>;
+                       linux,default-trigger = "mmc0";
+               };
Thanks for the inputs, similar data but not exact is added to
v5 series.

+        gpio-leds {
+            compatible = "gpio-leds";
+            pinctrl-names = "default";
+            pinctrl-0 = <&userled_pins>;
+
+            led0 {
+                label = "status:green:user0";
+                gpios = <&gpio2 21 0>;
+                default-state = "off";
+            };
+
+            led1 {
+                label = "status:green:user1";
+                gpios = <&gpio2 22 0>;
+                default-state = "off";
+            };
+
+            led2 {
+                label = "status:green:user2";
+                gpios = <&gpio2 23 0>;
+                default-state = "off";
+            };
+
+            led3 {
+                label = "status:green:user3";
+                gpios = <&gpio2 24 0>;
+                default-state = "off";
+            };
+        };
+

Can you review my v5 patches and tell me if there are any
modifications/changes required?
It would be nice to keep de heartbeat and mmc triggers like we have in the 3.2 kernel that ships with the bone
Thanks
AnilKumar

RE: [PATCH RESEND v4 2/3] arm/dts: AM33XX: Configure pinmuxs for user leds control on Bone

From: AnilKumar, Chimata <hidden>
Date: 2012-09-03 12:25:36

Hi Koen,

On Sat, Sep 01, 2012 at 18:21:10, AnilKumar, Chimata wrote:
Hi Koen,

On Sat, Sep 01, 2012 at 16:17:35, Koen Kooi wrote:
quoted

Op 1 sep. 2012 om 09:01 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,

On Fri, Aug 31, 2012 at 21:23:18, Koen Kooi wrote:
quoted
Op 30 aug. 2012, om 22:35 heeft Tony Lindgren [off-list ref] het volgende geschreven:
quoted
* AnilKumar Ch [off-list ref] [120828 01:11]:
quoted
Adds GPIO pinctrl nodes to am3358_pinmux master node to control
user leds (USR0, USR1, USR2 and USR3) present on BeagleBone.

Signed-off-by: AnilKumar Ch <redacted>
---
arch/arm/boot/dts/am335x-bone.dts |   14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts
index a7906cb..58f5042 100644
--- a/arch/arm/boot/dts/am335x-bone.dts
+++ b/arch/arm/boot/dts/am335x-bone.dts
@@ -18,6 +18,20 @@
       reg = <0x80000000 0x10000000>; /* 256 MB */
   };

+    am3358_pinmux: pinmux at 44E10800 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&userled_pins>;
+
+        userled_pins: pinmux_userled_pins {
+            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 */
+            >;
+        };
+    };
+
Looks like this patch should also claim these pins by the led driver.
Then the led driver should just do pinctrl_get_select_default(&pdev->dev)
in it's probe function to set the pins.
FWIW, I've been using this for a while now:

+       leds {
+               compatible = "gpio-leds";
+               heartbeat {
+                       label = "beaglebone::usr0";
+                       gpios = <&gpio2 21 0>;
+                       linux,default-trigger = "heartbeat";
+               };
+
+               mmc {
+                       label = "beaglebone:usr1";
+                       gpios = <&gpio2 22 0>;
+                       linux,default-trigger = "mmc0";
+               };
Thanks for the inputs, similar data but not exact is added to
v5 series.

+        gpio-leds {
+            compatible = "gpio-leds";
+            pinctrl-names = "default";
+            pinctrl-0 = <&userled_pins>;
+
+            led0 {
+                label = "status:green:user0";
+                gpios = <&gpio2 21 0>;
+                default-state = "off";
+            };
+
+            led1 {
+                label = "status:green:user1";
+                gpios = <&gpio2 22 0>;
+                default-state = "off";
+            };
+
+            led2 {
+                label = "status:green:user2";
+                gpios = <&gpio2 23 0>;
+                default-state = "off";
+            };
+
+            led3 {
+                label = "status:green:user3";
+                gpios = <&gpio2 24 0>;
+                default-state = "off";
+            };
+        };
+

Can you review my v5 patches and tell me if there are any
modifications/changes required?
It would be nice to keep de heartbeat and mmc triggers like we have in the 3.2 kernel that ships with the bone
I will merge your changes and repost the patches.
Adding first two leds according to your inputs and for other two
I am adding like this.

+                       heartbeat {
+                               label = "beaglebone:green:usr0";
+                               gpios = <&gpio2 21 0>;
+                               linux,default-trigger = "heartbeat";
+                               default-state = "off";
+                       };
+
+                       mmc {
+                               label = "beaglebone:green:usr1";
+                               gpios = <&gpio2 22 0>;
+                               linux,default-trigger = "mmc0";
+                               default-state = "off";
+                       };
+
+                       timer {
+                               label = "beaglebone:green:usr2";
+                               gpios = <&gpio2 23 0>;
+                               linux,default-trigger = "timer";
+                               default-state = "off";
+                       };
+
+                       led3 {
+                               label = "beaglebone:green:usr3";
+                               gpios = <&gpio2 24 0>;
+                               default-state = "off";
+                       };
+               };
+

Thanks
AnilKumar
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help