Skip to contentSkip to conversation

Add D_CAN device tree data to AM335x-EVM

PATCH Superseded AnilKumar Ch 6 participants 13 messages Jul 25, 2012 – Aug 7, 2012 Device tree bindings

v2 of 7 Superseded Latest is v7 →

lore
Share & tools
lore
#0 lore raw

v2 cover Add D_CAN device tree data to AM335x-EVM

Thid patch series adds device tree data to AM335x-EVM file and adds pinmux settings required to configure two of the AM335x EVM pins to D_CAN TX/RX pins.

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

AnilKumar Ch (2):
arm/dts: AM33XX: Add D_CAN device tree data arm/dts: AM33XX: Configure pinmuxs for D_CAN1 on AM335x-EVM

 arch/arm/boot/dts/am335x-evm.dts |   13 +++++++++++++
 arch/arm/boot/dts/am33xx.dtsi    |    5 +++++
 2 files changed, 18 insertions(+)
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH v2 1/2 arm/dts: AM33XX: Add D_CAN device tree data

Add Bosch D_CAN controller device tree data to AM33XX dtsi file by adding d_can device node with all the necessary parameters.

---
 arch/arm/boot/dts/am33xx.dtsi |    5 +++++
 1 file changed, 5 insertions(+)
arch/arm/boot/dts/am33xx.dtsi +5 -0
index 9b974dc..2db2ffb 100644
@@ -163,5 +163,10 @@
 			#size-cells = <0>;
 			ti,hwmods = "i2c3";
 		};
+
+		dcan1: d_can at 481D0000 {
+			compatible = "bosch,d_can";
+			ti,hwmods = "d_can1";
+		};
 	};
 };
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH v2 1/2 arm/dts: AM33XX: Add D_CAN device tree data

Hello.

Quoted 13 lines · AnilKumar Ch

Add Bosch D_CAN controller device tree data to AM33XX dtsi file by adding d_can device node with all the necessary parameters.

---
  arch/arm/boot/dts/am33xx.dtsi |    5 +++++
  1 file changed, 5 insertions(+)
arch/arm/boot/dts/am33xx.dtsi +0 -0
index 9b974dc..2db2ffb 100644

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

Quoted 5 lines
arch/arm/boot/dts/am33xx.dtsi +2 -0
@@ -163,5 +163,10 @@
  			#size-cells = <0>;
  			ti,hwmods = "i2c3";
  		};
+
+		dcan1: d_can at 481D0000 {

Address postfix in the node name and no "reg" property?

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

Quoted 3 lines
arch/arm/boot/dts/am33xx.dtsi +3 -0
+			compatible = "bosch,d_can";
+			ti,hwmods = "d_can1";
+		};

WBR, Sergei

#3 lore raw

PATCH v2 1/2 arm/dts: AM33XX: Add D_CAN device tree data

Quoted 12 lines · Sergei Shtylyov

Hello.

Quoted 7 lines · AnilKumar Ch

Add Bosch D_CAN controller device tree data to AM33XX dtsi file by adding d_can device node with all the necessary parameters.

---
  arch/arm/boot/dts/am33xx.dtsi |    5 +++++
  1 file changed, 5 insertions(+)
Quoted 12 lines

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

Quoted 10 lines
arch/arm/boot/dts/am33xx.dtsi +2 -0
index 9b974dc..2db2ffb 100644
@@ -163,5 +163,10 @@
  			#size-cells = <0>;
  			ti,hwmods = "i2c3";
  		};
+
+		dcan1: d_can at 481D0000 {

Address postfix in the node name and no "reg" property?

This still works due to the hwmod mappings OMAP relies on. I would still put it there, so the switch to real DT definitions will be less painful.

Daniel

#4 lore raw

PATCH v2 1/2 arm/dts: AM33XX: Add D_CAN device tree data

Hello.

Quoted 21 lines · Daniel Mack
Quoted 8 lines
Quoted 7 lines

Add Bosch D_CAN controller device tree data to AM33XX dtsi file by adding d_can device node with all the necessary parameters.

---
   arch/arm/boot/dts/am33xx.dtsi |    5 +++++
   1 file changed, 5 insertions(+)
Quoted 12 lines

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

Quoted 10 lines
arch/arm/boot/dts/am33xx.dtsi +2 -0
index 9b974dc..2db2ffb 100644
@@ -163,5 +163,10 @@
   			#size-cells = <0>;
   			ti,hwmods = "i2c3";
   		};
+
+		dcan1: d_can at 481D0000 {

Address postfix in the node name and no "reg" property?

Quoted 1 line

This still works due to the hwmod mappings OMAP relies on.

I.e. the "reg" property is populated in runtime?

Quoted 2 lines

I would still
put it there, so the switch to real DT definitions will be less painful.

How it helps anything?

Quoted 1 line

Daniel

WBR, Sergei

#5 lore raw

PATCH v2 1/2 arm/dts: AM33XX: Add D_CAN device tree data

Quoted 25 lines · Sergei Shtylyov

Hello.

Quoted 20 lines · Daniel Mack
Quoted 20 lines
Quoted 13 lines

Add Bosch D_CAN controller device tree data to AM33XX dtsi file by adding d_can device node with all the necessary parameters.

---
   arch/arm/boot/dts/am33xx.dtsi |    5 +++++
   1 file changed, 5 insertions(+)
arch/arm/boot/dts/am33xx.dtsi +0 -0
index 9b974dc..2db2ffb 100644

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

Quoted 5 lines
arch/arm/boot/dts/am33xx.dtsi +2 -0
@@ -163,5 +163,10 @@
   			#size-cells = <0>;
   			ti,hwmods = "i2c3";
   		};
+
+		dcan1: d_can at 481D0000 {

Address postfix in the node name and no "reg" property?

Quoted 9 lines
Quoted 1 line

This still works due to the hwmod mappings OMAP relies on.

I.e. the "reg" property is populated in runtime?

Quoted 2 lines

I would still
put it there, so the switch to real DT definitions will be less painful.

How it helps anything?

This is required field if you want to use "of_dev_auxdata", without "reg" property OF layer fails to create dev_id (name) bindings with what you have specified as part of "of_dev_auxdata".

And with respect to CAN driver, even though we are using hwmod, I would want to create dev_id = d_can.0 and d_can.1. And this is only possible if Address and compatible string matches.

So this field is important and required in this case.

Thanks,
Vaibhav

#6 lore raw

PATCH v2 1/2 arm/dts: AM33XX: Add D_CAN device tree data

In reply to AnilKumar Ch

Op 25 jul. 2012, om 14:23 heeft AnilKumar Ch <[email protected]> het volgende geschreven:

Quoted 13 lines

Add Bosch D_CAN controller device tree data to AM33XX dtsi file by adding d_can device node with all the necessary parameters.

---
arch/arm/boot/dts/am33xx.dtsi | 5 +++++

1 file changed, 5 insertions(+)
arch/arm/boot/dts/am33xx.dtsi +0 -0
index 9b974dc..2db2ffb 100644

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

Quoted 9 lines
arch/arm/boot/dts/am33xx.dtsi +5 -0
@@ -163,5 +163,10 @@
 			#size-cells = <0>;
 			ti,hwmods = "i2c3";
 		};
+
+		dcan1: d_can at 481D0000 {
+			compatible = "bosch,d_can";
+			ti,hwmods = "d_can1";
+		};
 	};

I scanned the linux-networking mailinglist and l-o-ml, but I can't find the patchset that actually adds the d_can drivers, could you provide a link to that? I have 2 different CAN capes I'd like to test on beaglebone.

regards,

Koen

#7 lore raw

PATCH v2 1/2 arm/dts: AM33XX: Add D_CAN device tree data

Quoted 11 lines · Koen Kooi

Op 25 jul. 2012, om 14:23 heeft AnilKumar Ch <[email protected]> het volgende geschreven:

Quoted 8 lines

Add Bosch D_CAN controller device tree data to AM33XX dtsi file by adding d_can device node with all the necessary parameters.

---
arch/arm/boot/dts/am33xx.dtsi | 5 +++++

1 file changed, 5 insertions(+)
Quoted 17 lines
Quoted 5 lines
arch/arm/boot/dts/am33xx.dtsi +0 -0
index 9b974dc..2db2ffb 100644

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

Quoted 9 lines
arch/arm/boot/dts/am33xx.dtsi +5 -0
@@ -163,5 +163,10 @@
 			#size-cells = <0>;
 			ti,hwmods = "i2c3";
 		};
+
+		dcan1: d_can at 481D0000 {
+			compatible = "bosch,d_can";
+			ti,hwmods = "d_can1";
+		};
 	};

I scanned the linux-networking mailinglist and l-o-ml, but I can't find the patchset that actually adds the d_can drivers, could you provide a link to that? I have 2 different CAN capes I'd like to test on beaglebone.

You can find it from linux-next or net-next trees, D_CAN support is added to C_CAN driver.

http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;
a=commitdiff;h=69927fccd96b15bd228bb82d356a7a2a0cfaeefb

Regards
AnilKumar

#8 lore raw

PATCH v2 1/2 arm/dts: AM33XX: Add D_CAN device tree data

Quoted 30 lines · Chimata
Quoted 11 lines · Koen Kooi

Op 25 jul. 2012, om 14:23 heeft AnilKumar Ch <[email protected]> het volgende geschreven:

Quoted 8 lines

Add Bosch D_CAN controller device tree data to AM33XX dtsi file by adding d_can device node with all the necessary parameters.

---
arch/arm/boot/dts/am33xx.dtsi | 5 +++++

1 file changed, 5 insertions(+)
Quoted 17 lines
Quoted 5 lines
arch/arm/boot/dts/am33xx.dtsi +0 -0
index 9b974dc..2db2ffb 100644

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

Quoted 9 lines
arch/arm/boot/dts/am33xx.dtsi +5 -0
@@ -163,5 +163,10 @@
 			#size-cells = <0>;
 			ti,hwmods = "i2c3";
 		};
+
+		dcan1: d_can at 481D0000 {
+			compatible = "bosch,d_can";
+			ti,hwmods = "d_can1";
+		};
 	};

I scanned the linux-networking mailinglist and l-o-ml, but I can't find the patchset that actually adds the d_can drivers, could you provide a link to that? I have 2 different CAN capes I'd like to test on beaglebone.

Quoted 5 lines

You can find it from linux-next or net-next trees, D_CAN support is added to C_CAN driver.

http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;
a=commitdiff;h=69927fccd96b15bd228bb82d356a7a2a0cfaeefb

Meanwhile it's in Linus's git tree.

Marc

Signature · 12 lines
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120726/074c155e/attachment.sig>
#9 lore raw

PATCH v2 1/2 arm/dts: AM33XX: Add D_CAN device tree data

In reply to AnilKumar, Chimata

Op 26 jul. 2012, om 11:03 heeft "AnilKumar, Chimata" <[email protected]> het volgende geschreven:

Quoted 30 lines · Koen Kooi
Quoted 11 lines

Op 25 jul. 2012, om 14:23 heeft AnilKumar Ch <[email protected]> het volgende geschreven:

Quoted 8 lines

Add Bosch D_CAN controller device tree data to AM33XX dtsi file by adding d_can device node with all the necessary parameters.

---
arch/arm/boot/dts/am33xx.dtsi | 5 +++++

1 file changed, 5 insertions(+)
Quoted 17 lines
Quoted 5 lines
arch/arm/boot/dts/am33xx.dtsi +0 -0
index 9b974dc..2db2ffb 100644

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

Quoted 9 lines
arch/arm/boot/dts/am33xx.dtsi +5 -0
@@ -163,5 +163,10 @@
 			#size-cells = <0>;
 			ti,hwmods = "i2c3";
 		};
+
+		dcan1: d_can at 481D0000 {
+			compatible = "bosch,d_can";
+			ti,hwmods = "d_can1";
+		};
 	};

I scanned the linux-networking mailinglist and l-o-ml, but I can't find the patchset that actually adds the d_can drivers, could you provide a link to that? I have 2 different CAN capes I'd like to test on beaglebone.

Quoted 5 lines

You can find it from linux-next or net-next trees, D_CAN support is added to C_CAN driver.

http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;
a=commitdiff;h=69927fccd96b15bd228bb82d356a7a2a0cfaeefb

Thanks! I'll try merging net-next into l-o master and see if I can get the CAN boards to work.

regards,

Koen

#10 lore raw

PATCH v2 1/2 arm/dts: AM33XX: Add D_CAN device tree data

In reply to AnilKumar Ch
Quoted 13 lines · AnilKumar Ch

Add Bosch D_CAN controller device tree data to AM33XX dtsi file by adding d_can device node with all the necessary parameters.

---
 arch/arm/boot/dts/am33xx.dtsi |    5 +++++
 1 file changed, 5 insertions(+)
arch/arm/boot/dts/am33xx.dtsi +0 -0
index 9b974dc..2db2ffb 100644

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

Quoted 8 lines
arch/arm/boot/dts/am33xx.dtsi +5 -0
@@ -163,5 +163,10 @@
 			#size-cells = <0>;
 			ti,hwmods = "i2c3";
 		};
+
+		dcan1: d_can at 481D0000 {
+			compatible = "bosch,d_can";
+			ti,hwmods = "d_can1";
+		};

Anil,

Any reason why we are only specifying dcan1 instance? Shouldn't we specify dcan0 as well here?

Thanks,
Vaibhav

Quoted 3 lines
arch/arm/boot/dts/am33xx.dtsi +0 -0
 	};
 };
#11 lore raw

PATCH v2 1/2 arm/dts: AM33XX: Add D_CAN device tree data

Vaibhav,

Thanks for the review.

Quoted 27 lines · Vaibhav
Quoted 13 lines · AnilKumar Ch

Add Bosch D_CAN controller device tree data to AM33XX dtsi file by adding d_can device node with all the necessary parameters.

---
 arch/arm/boot/dts/am33xx.dtsi |    5 +++++
 1 file changed, 5 insertions(+)
arch/arm/boot/dts/am33xx.dtsi +0 -0
index 9b974dc..2db2ffb 100644

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

Quoted 8 lines
arch/arm/boot/dts/am33xx.dtsi +5 -0
@@ -163,5 +163,10 @@
 			#size-cells = <0>;
 			ti,hwmods = "i2c3";
 		};
+
+		dcan1: d_can at 481D0000 {
+			compatible = "bosch,d_can";
+			ti,hwmods = "d_can1";
+		};

Anil,

Quoted 3 lines

Any reason why we are only specifying dcan1 instance? Shouldn't we specify dcan0 as well here?

Yes, I agree dcan0 needs to add because SoC support two instances. I have added d_can1 only because on AM335x-EVM d_can1 is available and in other case AM335x-bone have two instances available. I will send next version of these patches.

Regards
AnilKumar

#12 lore raw

PATCH v2 2/2 arm/dts: AM33XX: Configure pinmuxs for D_CAN1 on AM335x-EVM

In reply to AnilKumar Ch

Add D_CAN1 pinctrl node to am3358_pinmux master node to export D_CAN functionality on AM335x EVM according to pinctrl-single driver.

---
 arch/arm/boot/dts/am335x-evm.dts |   13 +++++++++++++
 1 file changed, 13 insertions(+)
arch/arm/boot/dts/am335x-evm.dts +13 -0
index e4e1ccb..7f0fd6c 100644
@@ -46,3 +46,16 @@
 	regulator-boot-on;
 	regulator-always-on;
 };
+
+&am3358_pinmux {
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&d_can1_pins>;
+
+	d_can1_pins: pinmux_d_can_pins {
+		pinctrl-single,pins = <
+			0x168 0x2	/* uart0_ctsn.d_can1_tx, OUTPUT | MODE2 */
+			0x16C 0x32	/* uart0_rtsn.d_can1_rx, INPUT_PULLUP | MODE2 */
+		>;
+	};
+};
Signature · 1 line
1.7.9.5