* [PATCH v3 0/4] ARM: dts: sunxi: Add CAN node and can0_pins_a pinctrl settings
@ 2017-04-03 17:00 Patrick Menschel
[not found] ` <1491238814-4888-1-git-send-email-menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org>
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Patrick Menschel @ 2017-04-03 17:00 UTC (permalink / raw)
To: robh+dt, mark.rutland, linux, maxime.ripard, wens, devicetree,
linux-arm-kernel, linux-kernel, linux-can
Cc: Patrick Menschel
The Allwinner A10/A20 SoCs have an on-board CAN (Controller Area Network)
controller. This patch adds the CAN core to the SoC's include files,
sun4i-a10.dtsi and sun7i-a20.dtsi.
On linux-can mailing list was a discussion about updating the device tree bindings
https://lkml.org/lkml/2015/9/17/220
but it did not progress past writing the documentation file.
Documentation/devicetree/bindings/net/can/sun4i_can.txt
The CAN controller can be enabled in a board specific dts file as
described in the documentation file or by using a device tree overlay.
I have tested the patch on a Banana Pi (A20 SoC) with mainline kernel 4.10.5.
History:
v3: added "allwinner,sun7i-a20-can" compatible to can0 device node contents,
make separate patches for device nodes and pinctrl settings
v2: changed can0_pins_a node contents to new generic binding method,
changed can0_pins_a node position by alphabetical order,
changed can0 device node position by rising physical address order
v1: initial
Patrick Menschel (4):
ARM: dts: sun4i: Add CAN node
ARM: dts: sun4i: Add can0_pins_a pinctrl settings
ARM: dts: sun7i: Add CAN node
ARM: dts: sun7i: Add can0_pins_a pinctrl settings
arch/arm/boot/dts/sun4i-a10.dtsi | 13 +++++++++++++
arch/arm/boot/dts/sun7i-a20.dtsi | 14 ++++++++++++++
2 files changed, 27 insertions(+)
--
1.9.1
^ permalink raw reply [flat|nested] 9+ messages in thread[parent not found: <1491238814-4888-1-git-send-email-menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org>]
* [PATCH v3 1/4] ARM: dts: sun4i: Add CAN node [not found] ` <1491238814-4888-1-git-send-email-menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org> @ 2017-04-03 17:00 ` Patrick Menschel [not found] ` <1491238814-4888-2-git-send-email-menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org> 0 siblings, 1 reply; 9+ messages in thread From: Patrick Menschel @ 2017-04-03 17:00 UTC (permalink / raw) To: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8, linux-I+IVW8TIWO2tmTQ+vhA3Yw, maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8, wens-jdAy2FN1RRM, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-can-u79uwXL29TY76Z2rM5mHXA Cc: Patrick Menschel The A10 SoC has an on-board CAN controller. This patch adds the device node. This patch is adapted from the description in Documentation/devicetree/bindings/net/can/sun4i_can.txt Signed-off-by: Patrick Menschel <menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org> --- arch/arm/boot/dts/sun4i-a10.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi index ba20b48..7c559e7 100644 --- a/arch/arm/boot/dts/sun4i-a10.dtsi +++ b/arch/arm/boot/dts/sun4i-a10.dtsi @@ -1313,6 +1313,14 @@ #size-cells = <0>; }; + can0: can@01c2bc00 { + compatible = "allwinner,sun4i-a10-can"; + reg = <0x01c2bc00 0x400>; + interrupts = <26>; + clocks = <&apb1_gates 4>; + status = "disabled"; + }; + ps20: ps2@01c2a000 { compatible = "allwinner,sun4i-a10-ps2"; reg = <0x01c2a000 0x400>; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 9+ messages in thread
[parent not found: <1491238814-4888-2-git-send-email-menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org>]
* Re: [PATCH v3 1/4] ARM: dts: sun4i: Add CAN node [not found] ` <1491238814-4888-2-git-send-email-menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org> @ 2017-04-04 15:40 ` Maxime Ripard 2017-04-04 16:54 ` Patrick Menschel 0 siblings, 1 reply; 9+ messages in thread From: Maxime Ripard @ 2017-04-04 15:40 UTC (permalink / raw) To: Patrick Menschel Cc: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8, linux-I+IVW8TIWO2tmTQ+vhA3Yw, wens-jdAy2FN1RRM, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-can-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 1092 bytes --] On Mon, Apr 03, 2017 at 07:00:11PM +0200, Patrick Menschel wrote: > The A10 SoC has an on-board CAN controller. > This patch adds the device node. > > This patch is adapted from the description in > Documentation/devicetree/bindings/net/can/sun4i_can.txt > > Signed-off-by: Patrick Menschel <menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org> > --- > arch/arm/boot/dts/sun4i-a10.dtsi | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi > index ba20b48..7c559e7 100644 > --- a/arch/arm/boot/dts/sun4i-a10.dtsi > +++ b/arch/arm/boot/dts/sun4i-a10.dtsi > @@ -1313,6 +1313,14 @@ > #size-cells = <0>; > }; > > + can0: can@01c2bc00 { > + compatible = "allwinner,sun4i-a10-can"; > + reg = <0x01c2bc00 0x400>; > + interrupts = <26>; > + clocks = <&apb1_gates 4>; > + status = "disabled"; > + }; > + This wasn't ordered properly. Fixed and applied. Maxime -- Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 1/4] ARM: dts: sun4i: Add CAN node 2017-04-04 15:40 ` Maxime Ripard @ 2017-04-04 16:54 ` Patrick Menschel 0 siblings, 0 replies; 9+ messages in thread From: Patrick Menschel @ 2017-04-04 16:54 UTC (permalink / raw) To: Maxime Ripard Cc: robh+dt, mark.rutland, linux, wens, devicetree, linux-arm-kernel, linux-kernel, linux-can [-- Attachment #1: Type: text/plain, Size: 1585 bytes --] Am 04.04.2017 um 17:40 schrieb Maxime Ripard: > On Mon, Apr 03, 2017 at 07:00:11PM +0200, Patrick Menschel wrote: >> The A10 SoC has an on-board CAN controller. >> This patch adds the device node. >> >> This patch is adapted from the description in >> Documentation/devicetree/bindings/net/can/sun4i_can.txt >> >> Signed-off-by: Patrick Menschel <menschel.p@posteo.de> >> --- >> arch/arm/boot/dts/sun4i-a10.dtsi | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> >> diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi >> index ba20b48..7c559e7 100644 >> --- a/arch/arm/boot/dts/sun4i-a10.dtsi >> +++ b/arch/arm/boot/dts/sun4i-a10.dtsi >> @@ -1313,6 +1313,14 @@ >> #size-cells = <0>; >> }; >> >> + can0: can@01c2bc00 { >> + compatible = "allwinner,sun4i-a10-can"; >> + reg = <0x01c2bc00 0x400>; >> + interrupts = <26>; >> + clocks = <&apb1_gates 4>; >> + status = "disabled"; >> + }; >> + > This wasn't ordered properly. Fixed and applied. > > Now that you mention it, ps20 and ps21 do not follow follow the rising address order. uart7: serial@01c29c00 { ... i2c0: i2c@01c2ac00 { ... i2c1: i2c@01c2b000 { ... i2c2: i2c@01c2b400 { ... can0: can@01c2bc00 { ... ps20: ps2@01c2a000 { .... ps21: ps2@01c2a400 { ... The correct order would be uart7, ps20, ps21, i2c0, i2c1, i2c2, can0 . I'll fix that in patch v4. Thanks, Patrick [-- Attachment #2: S/MIME Cryptographic Signature --] [-- Type: application/pkcs7-signature, Size: 3709 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 2/4] ARM: dts: sun4i: Add can0_pins_a pinctrl settings 2017-04-03 17:00 [PATCH v3 0/4] ARM: dts: sunxi: Add CAN node and can0_pins_a pinctrl settings Patrick Menschel [not found] ` <1491238814-4888-1-git-send-email-menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org> @ 2017-04-03 17:00 ` Patrick Menschel 2017-04-04 15:40 ` Maxime Ripard 2017-04-03 17:00 ` [PATCH v3 3/4] ARM: dts: sun7i: Add CAN node Patrick Menschel 2017-04-03 17:00 ` [PATCH v3 4/4] ARM: dts: sun7i: Add can0_pins_a pinctrl settings Patrick Menschel 3 siblings, 1 reply; 9+ messages in thread From: Patrick Menschel @ 2017-04-03 17:00 UTC (permalink / raw) To: robh+dt, mark.rutland, linux, maxime.ripard, wens, devicetree, linux-arm-kernel, linux-kernel, linux-can Cc: Patrick Menschel The A10 SoC has an on-board CAN controller. This patch adds the pinctrl settings for pins PH20 and PH21. This patch is adapted from the description in Documentation/devicetree/bindings/net/can/sun4i_can.txt Signed-off-by: Patrick Menschel <menschel.p@posteo.de> --- arch/arm/boot/dts/sun4i-a10.dtsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi index 7c559e7..f7dced4 100644 --- a/arch/arm/boot/dts/sun4i-a10.dtsi +++ b/arch/arm/boot/dts/sun4i-a10.dtsi @@ -974,6 +974,11 @@ #interrupt-cells = <3>; #gpio-cells = <3>; + can0_pins_a: can0@0 { + pins = "PH20","PH21"; + function = "can"; + }; + emac_pins_a: emac0@0 { pins = "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", -- 1.9.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v3 2/4] ARM: dts: sun4i: Add can0_pins_a pinctrl settings 2017-04-03 17:00 ` [PATCH v3 2/4] ARM: dts: sun4i: Add can0_pins_a pinctrl settings Patrick Menschel @ 2017-04-04 15:40 ` Maxime Ripard 0 siblings, 0 replies; 9+ messages in thread From: Maxime Ripard @ 2017-04-04 15:40 UTC (permalink / raw) To: Patrick Menschel Cc: robh+dt, mark.rutland, linux, wens, devicetree, linux-arm-kernel, linux-kernel, linux-can [-- Attachment #1: Type: text/plain, Size: 965 bytes --] On Mon, Apr 03, 2017 at 07:00:12PM +0200, Patrick Menschel wrote: > The A10 SoC has an on-board CAN controller. This patch adds the > pinctrl settings for pins PH20 and PH21. > > This patch is adapted from the description in > Documentation/devicetree/bindings/net/can/sun4i_can.txt > > Signed-off-by: Patrick Menschel <menschel.p@posteo.de> > --- > arch/arm/boot/dts/sun4i-a10.dtsi | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi > index 7c559e7..f7dced4 100644 > --- a/arch/arm/boot/dts/sun4i-a10.dtsi > +++ b/arch/arm/boot/dts/sun4i-a10.dtsi > @@ -974,6 +974,11 @@ > #interrupt-cells = <3>; > #gpio-cells = <3>; > > + can0_pins_a: can0@0 { > + pins = "PH20","PH21"; You need a space after the comma here. Fixed and applied. Maxime -- Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 3/4] ARM: dts: sun7i: Add CAN node 2017-04-03 17:00 [PATCH v3 0/4] ARM: dts: sunxi: Add CAN node and can0_pins_a pinctrl settings Patrick Menschel [not found] ` <1491238814-4888-1-git-send-email-menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org> 2017-04-03 17:00 ` [PATCH v3 2/4] ARM: dts: sun4i: Add can0_pins_a pinctrl settings Patrick Menschel @ 2017-04-03 17:00 ` Patrick Menschel 2017-04-03 17:00 ` [PATCH v3 4/4] ARM: dts: sun7i: Add can0_pins_a pinctrl settings Patrick Menschel 3 siblings, 0 replies; 9+ messages in thread From: Patrick Menschel @ 2017-04-03 17:00 UTC (permalink / raw) To: robh+dt, mark.rutland, linux, maxime.ripard, wens, devicetree, linux-arm-kernel, linux-kernel, linux-can Cc: Patrick Menschel The A20 SoC has an on-board CAN controller. This patch adds the device node. The CAN controller is inherited from the A10 SoC and uses the same driver. This patch is adapted from the description in Documentation/devicetree/bindings/net/can/sun4i_can.txt Signed-off-by: Patrick Menschel <menschel.p@posteo.de> --- arch/arm/boot/dts/sun7i-a20.dtsi | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi index 2db97fc..c637e10 100644 --- a/arch/arm/boot/dts/sun7i-a20.dtsi +++ b/arch/arm/boot/dts/sun7i-a20.dtsi @@ -1582,6 +1582,15 @@ #size-cells = <0>; }; + can0: can@01c2bc00 { + compatible = "allwinner,sun7i-a20-can", + "allwinner,sun4i-a10-can"; + reg = <0x01c2bc00 0x400>; + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&apb1_gates 4>; + status = "disabled"; + }; + i2c4: i2c@01c2c000 { compatible = "allwinner,sun7i-a20-i2c", "allwinner,sun4i-a10-i2c"; -- 1.9.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v3 4/4] ARM: dts: sun7i: Add can0_pins_a pinctrl settings 2017-04-03 17:00 [PATCH v3 0/4] ARM: dts: sunxi: Add CAN node and can0_pins_a pinctrl settings Patrick Menschel ` (2 preceding siblings ...) 2017-04-03 17:00 ` [PATCH v3 3/4] ARM: dts: sun7i: Add CAN node Patrick Menschel @ 2017-04-03 17:00 ` Patrick Menschel [not found] ` <1491238814-4888-5-git-send-email-menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org> 3 siblings, 1 reply; 9+ messages in thread From: Patrick Menschel @ 2017-04-03 17:00 UTC (permalink / raw) To: robh+dt, mark.rutland, linux, maxime.ripard, wens, devicetree, linux-arm-kernel, linux-kernel, linux-can Cc: Patrick Menschel The A20 SoC has an on-board CAN controller. This patch adds the pinctrl settings for pins PH20 and PH21. This patch is adapted from the description in Documentation/devicetree/bindings/net/can/sun4i_can.txt Signed-off-by: Patrick Menschel <menschel.p@posteo.de> --- arch/arm/boot/dts/sun7i-a20.dtsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi index c637e10..8536caf 100644 --- a/arch/arm/boot/dts/sun7i-a20.dtsi +++ b/arch/arm/boot/dts/sun7i-a20.dtsi @@ -1096,6 +1096,11 @@ #interrupt-cells = <3>; #gpio-cells = <3>; + can0_pins_a: can0@0 { + pins = "PH20","PH21"; + function = "can"; + }; + clk_out_a_pins_a: clk_out_a@0 { pins = "PI12"; function = "clk_out_a"; -- 1.9.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
[parent not found: <1491238814-4888-5-git-send-email-menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org>]
* Re: [PATCH v3 4/4] ARM: dts: sun7i: Add can0_pins_a pinctrl settings [not found] ` <1491238814-4888-5-git-send-email-menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org> @ 2017-04-04 15:43 ` Maxime Ripard 0 siblings, 0 replies; 9+ messages in thread From: Maxime Ripard @ 2017-04-04 15:43 UTC (permalink / raw) To: Patrick Menschel Cc: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8, linux-I+IVW8TIWO2tmTQ+vhA3Yw, wens-jdAy2FN1RRM, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-can-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 1038 bytes --] On Mon, Apr 03, 2017 at 07:00:14PM +0200, Patrick Menschel wrote: > The A20 SoC has an on-board CAN controller. This patch adds > the pinctrl settings for pins PH20 and PH21. > > This patch is adapted from the description in > Documentation/devicetree/bindings/net/can/sun4i_can.txt > > Signed-off-by: Patrick Menschel <menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org> > --- > arch/arm/boot/dts/sun7i-a20.dtsi | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi > index c637e10..8536caf 100644 > --- a/arch/arm/boot/dts/sun7i-a20.dtsi > +++ b/arch/arm/boot/dts/sun7i-a20.dtsi > @@ -1096,6 +1096,11 @@ > #interrupt-cells = <3>; > #gpio-cells = <3>; > > + can0_pins_a: can0@0 { > + pins = "PH20","PH21"; Same thing here, you need a space after that comma. I've fixed it and applied the patch. Thanks! Maxime -- Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2017-04-04 16:54 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-03 17:00 [PATCH v3 0/4] ARM: dts: sunxi: Add CAN node and can0_pins_a pinctrl settings Patrick Menschel
[not found] ` <1491238814-4888-1-git-send-email-menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org>
2017-04-03 17:00 ` [PATCH v3 1/4] ARM: dts: sun4i: Add CAN node Patrick Menschel
[not found] ` <1491238814-4888-2-git-send-email-menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org>
2017-04-04 15:40 ` Maxime Ripard
2017-04-04 16:54 ` Patrick Menschel
2017-04-03 17:00 ` [PATCH v3 2/4] ARM: dts: sun4i: Add can0_pins_a pinctrl settings Patrick Menschel
2017-04-04 15:40 ` Maxime Ripard
2017-04-03 17:00 ` [PATCH v3 3/4] ARM: dts: sun7i: Add CAN node Patrick Menschel
2017-04-03 17:00 ` [PATCH v3 4/4] ARM: dts: sun7i: Add can0_pins_a pinctrl settings Patrick Menschel
[not found] ` <1491238814-4888-5-git-send-email-menschel.p-1KBjaw7Xf1+zQB+pC5nmwQ@public.gmane.org>
2017-04-04 15:43 ` Maxime Ripard
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox