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
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
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";
+ };
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
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
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