* [PATCH] arm64: dts: allwinner: a64: Add UART2 pin nodes
@ 2017-04-14 17:13 Andreas Färber
[not found] ` <20170414171320.19743-1-afaerber-l3A5Bk7waGM@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Andreas Färber @ 2017-04-14 17:13 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Andreas Färber, Maxime Ripard, Chen-Yu Tsai, Rob Herring,
Mark Rutland, Catalin Marinas, Will Deacon, devicetree,
linux-kernel
UART2 is exposed on the Pi connector of Pine64. Make a pinctrl node
available at the SoC level, to simplify enabling UART2 via DT overlay.
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
index 1c64ea2d23f9..61d3a19659bf 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -285,6 +285,11 @@
pins = "PG8", "PG9";
function = "uart1";
};
+
+ uart2_pins: uart2-pins {
+ pins = "PB0", "PB1";
+ function = "uart2";
+ };
};
uart0: serial@1c28000 {
--
2.10.2
^ permalink raw reply related [flat|nested] 5+ messages in thread[parent not found: <20170414171320.19743-1-afaerber-l3A5Bk7waGM@public.gmane.org>]
* Re: [PATCH] arm64: dts: allwinner: a64: Add UART2 pin nodes [not found] ` <20170414171320.19743-1-afaerber-l3A5Bk7waGM@public.gmane.org> @ 2017-04-18 5:34 ` Maxime Ripard 2017-04-18 19:25 ` [PATCH] arm64: dts: allwinner: pine64: Prepare optional UART nodes with pinctrl Andreas Färber 2017-04-18 19:32 ` [PATCH] arm64: dts: allwinner: a64: Add UART2 pin nodes Andreas Färber 0 siblings, 2 replies; 5+ messages in thread From: Maxime Ripard @ 2017-04-18 5:34 UTC (permalink / raw) To: Andreas Färber Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Chen-Yu Tsai, Rob Herring, Mark Rutland, Catalin Marinas, Will Deacon, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 583 bytes --] On Fri, Apr 14, 2017 at 07:13:20PM +0200, Andreas Färber wrote: > UART2 is exposed on the Pi connector of Pine64. Make a pinctrl node > available at the SoC level, to simplify enabling UART2 via DT overlay. > > Signed-off-by: Andreas Färber <afaerber-l3A5Bk7waGM@public.gmane.org> Applied, thanks! Could you also create the node in the pine64 DTS (with an explicit status = "disabled" in there) so that the overlay would be even easier to make ? 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] 5+ messages in thread
* [PATCH] arm64: dts: allwinner: pine64: Prepare optional UART nodes with pinctrl 2017-04-18 5:34 ` Maxime Ripard @ 2017-04-18 19:25 ` Andreas Färber 2017-04-19 14:52 ` Maxime Ripard 2017-04-18 19:32 ` [PATCH] arm64: dts: allwinner: a64: Add UART2 pin nodes Andreas Färber 1 sibling, 1 reply; 5+ messages in thread From: Andreas Färber @ 2017-04-18 19:25 UTC (permalink / raw) To: Maxime Ripard Cc: Andreas Färber, Chen-Yu Tsai, Rob Herring, Mark Rutland, Catalin Marinas, Will Deacon, linux-arm-kernel, devicetree, linux-kernel Pine64 exposes all A64 UARTs, not just UART0. Since the pins can be used as GPIO, don't enable the new UART nodes by default, but prepare the pinctrl settings to aid in activating them via overlays, i.e., overriding the status property of &uartX nodes. For UART4 (Euler) the safer route of not including RTS/CTS pins is chosen, whereas for UART1 (Bluetooth) they are included. Add the corresponding pinctrl nodes where missing. Suggested-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Andreas Färber <afaerber@suse.de> --- .../arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 29 ++++++++++++++++++++++ arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 15 +++++++++++ 2 files changed, 44 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts index db6c0f36999e..260fb12ac3fc 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts @@ -99,12 +99,41 @@ status = "okay"; }; +/* On Exp and Euler connectors */ &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pins_a>; status = "okay"; }; +/* On Wifi/BT connector, with RTS/CTS */ +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; + status = "disabled"; +}; + +/* On Pi-2 connector */ +&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&uart2_pins>; + status = "disabled"; +}; + +/* On Euler connector */ +&uart3 { + pinctrl-names = "default"; + pinctrl-0 = <&uart3_pins>; + status = "disabled"; +}; + +/* On Euler connector, RTS/CTS optional */ +&uart4 { + pinctrl-names = "default"; + pinctrl-0 = <&uart4_pins>; + status = "disabled"; +}; + &usb_otg { dr_mode = "host"; status = "okay"; diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi index 133810df06b9..c172c62447e8 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi @@ -292,6 +292,21 @@ pins = "PB0", "PB1"; function = "uart2"; }; + + uart3_pins: uart3-pins { + pins = "PD0", "PD1"; + function = "uart3"; + }; + + uart4_pins: uart4-pins { + pins = "PD2", "PD3"; + function = "uart4"; + }; + + uart4_rts_cts_pins: uart4-rts-cts-pins { + pins = "PD4", "PD5"; + function = "uart4"; + }; }; uart0: serial@1c28000 { -- 2.10.2 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] arm64: dts: allwinner: pine64: Prepare optional UART nodes with pinctrl 2017-04-18 19:25 ` [PATCH] arm64: dts: allwinner: pine64: Prepare optional UART nodes with pinctrl Andreas Färber @ 2017-04-19 14:52 ` Maxime Ripard 0 siblings, 0 replies; 5+ messages in thread From: Maxime Ripard @ 2017-04-19 14:52 UTC (permalink / raw) To: Andreas Färber Cc: Chen-Yu Tsai, Rob Herring, Mark Rutland, Catalin Marinas, Will Deacon, linux-arm-kernel, devicetree, linux-kernel [-- Attachment #1: Type: text/plain, Size: 780 bytes --] On Tue, Apr 18, 2017 at 09:25:38PM +0200, Andreas Färber wrote: > Pine64 exposes all A64 UARTs, not just UART0. > > Since the pins can be used as GPIO, don't enable the new UART nodes by > default, but prepare the pinctrl settings to aid in activating them via > overlays, i.e., overriding the status property of &uartX nodes. > > For UART4 (Euler) the safer route of not including RTS/CTS pins is chosen, > whereas for UART1 (Bluetooth) they are included. > > Add the corresponding pinctrl nodes where missing. > > Suggested-by: Maxime Ripard <maxime.ripard@free-electrons.com> > Signed-off-by: Andreas Färber <afaerber@suse.de> Applied, 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] 5+ messages in thread
* Re: [PATCH] arm64: dts: allwinner: a64: Add UART2 pin nodes 2017-04-18 5:34 ` Maxime Ripard 2017-04-18 19:25 ` [PATCH] arm64: dts: allwinner: pine64: Prepare optional UART nodes with pinctrl Andreas Färber @ 2017-04-18 19:32 ` Andreas Färber 1 sibling, 0 replies; 5+ messages in thread From: Andreas Färber @ 2017-04-18 19:32 UTC (permalink / raw) To: Maxime Ripard Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Chen-Yu Tsai, Rob Herring, Mark Rutland, Catalin Marinas, Will Deacon, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA Am 18.04.2017 um 07:34 schrieb Maxime Ripard: > On Fri, Apr 14, 2017 at 07:13:20PM +0200, Andreas Färber wrote: >> UART2 is exposed on the Pi connector of Pine64. Make a pinctrl node >> available at the SoC level, to simplify enabling UART2 via DT overlay. >> >> Signed-off-by: Andreas Färber <afaerber-l3A5Bk7waGM@public.gmane.org> > > Applied, thanks! Thanks, that was fast. > Could you also create the node in the pine64 DTS (with an explicit > status = "disabled" in there) so that the overlay would be even easier > to make ? Makes sense. I went ahead and did it for all UART nodes then - careful, final patch is neither build- nor runtime-tested yet. Cheers, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) -- 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 [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-04-19 14:52 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-14 17:13 [PATCH] arm64: dts: allwinner: a64: Add UART2 pin nodes Andreas Färber
[not found] ` <20170414171320.19743-1-afaerber-l3A5Bk7waGM@public.gmane.org>
2017-04-18 5:34 ` Maxime Ripard
2017-04-18 19:25 ` [PATCH] arm64: dts: allwinner: pine64: Prepare optional UART nodes with pinctrl Andreas Färber
2017-04-19 14:52 ` Maxime Ripard
2017-04-18 19:32 ` [PATCH] arm64: dts: allwinner: a64: Add UART2 pin nodes Andreas Färber
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).