Thread (1 message) flat view 1 message, 1 author, 2014-11-16

Re: [PATCHv2 5/8] arm: mvebu: add common uart0 and spi0 pintcrl entries for Armada 370

From: Arnaud Ebalard <hidden>
Date: 2014-11-16 22:29:00
Also in: linux-arm-kernel

Hi,

Andrew Lunn [off-list ref] writes:
On Sun, Nov 16, 2014 at 06:37:33PM +0100, Arnaud Ebalard wrote:
quoted
pinctrl entries for uart0 using MPP0-1 and spi0 using MPP33-36 are
common configurations. Instead of replicating them in each .dts file,
put those in armada-370.dtsi file so that they can be referenced.

Suggested-by: Andrew Lunn <redacted>
Signed-off-by: Arnaud Ebalard <redacted>
---
 arch/arm/boot/dts/armada-370.dtsi | 11 +++++++++++
 1 file changed, 11 insertions(+)
diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
index 6b3c23b1e138..d9f5d59e463e 100644
--- a/arch/arm/boot/dts/armada-370.dtsi
+++ b/arch/arm/boot/dts/armada-370.dtsi
@@ -115,6 +115,17 @@
 				compatible = "marvell,mv88f6710-pinctrl";
 				reg = <0x18000 0x38>;
 
+				uart0_pins: uart0-pins {
+					marvell,pins = "mpp0", "mpp1";
+					marvell,function = "uart0";
+				};
Thanks for these.

We can go one stage further. kirkwood.dts has:

                uart0: serial@12000 {
                        compatible = "ns16550a";
                        reg = <0x12000 0x100>;
                        reg-shift = <2>;
                        interrupts = <33>;
                        clocks = <&gate_clk 7>;
                        pinctrl-0 = <&pmx_uart0>;
                        pinctrl-names = "default";
                        status = "disabled";
                };

i.e actually references them. This is safe because a board .dts file
can override the pins if needed.

We should do the same here, both for 370 and XP.
Just to be sure I understand: for uart0 and uart1, I think this can only
be done for Armada 370 (on XP, uart0/1 rx/tx are not mpp).

This only a matter of adding the following in armada-370.dtsi for uart0: 

 		 /*
		  * Default UART pinctrl setting without RTS/CTS, can
		  * be overwritten on board level.
                  */
                 uart0: serial@12000 {
                         pinctrl-0 = <&uart0_pins>;
                         pinctrl-names = "default";
                 };

For uart1, it's not obvious because there are 6 different MPP which can
be configured to act as uart1 TXD. Same for RXD. If I remove the ones
overlapping w/ RGMII pins for GbE interfaces, which one should be
selected as default: 41/42, 55/57, 60/61?

Now, regarding armada XP, uart2 and uart3 txd/rxd MPP are 42/43 and
44/45. Best we can do is put the same as above in each specific
armada-xp-mv78XXX.dtsi file, where pinctrl node is, after adding
uart2-pins and uart3-pins. Unless I am missing something, this cannot
be done in armada-xp.dtsi.

Cheers,

a+
--
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help