ARM: dts: at91: Reenable UART TX pull-ups
authorIngo van Lil <inguin@gmx.de>
Tue, 3 Dec 2019 14:21:47 +0000 (15:21 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 14 Feb 2020 21:33:25 +0000 (16:33 -0500)
commit 9d39d86cd4af2b17b970d63307daad71f563d207 upstream.

Pull-ups for SAM9 UART/USART TX lines were disabled in a previous
commit. However, several chips in the SAM9 family require pull-ups to
prevent the TX lines from falling (and causing an endless break
condition) when the transceiver is disabled.

From the SAM9G20 datasheet, 32.5.1: "To prevent the TXD line from
falling when the USART is disabled, the use of an internal pull up
is mandatory.". This commit reenables the pull-ups for all chips having
that sentence in their datasheets.

Fixes: 5e04822f7db5 ("ARM: dts: at91: fixes uart pinctrl, set pullup on rx, clear pullup on tx")
Signed-off-by: Ingo van Lil <inguin@gmx.de>
Cc: Peter Rosin <peda@axentia.se>
Link: https://lore.kernel.org/r/20191203142147.875227-1-inguin@gmx.de
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/boot/dts/at91sam9260.dtsi
arch/arm/boot/dts/at91sam9261.dtsi
arch/arm/boot/dts/at91sam9263.dtsi
arch/arm/boot/dts/at91sam9g45.dtsi
arch/arm/boot/dts/at91sam9rl.dtsi

index 9118e29..3fa6b9f 100644 (file)
                                usart0 {
                                        pinctrl_usart0: usart0-0 {
                                                atmel,pins =
-                                                       <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE
+                                                       <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
                                                         AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
                                usart1 {
                                        pinctrl_usart1: usart1-0 {
                                                atmel,pins =
-                                                       <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE
+                                                       <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
                                                         AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
                                usart2 {
                                        pinctrl_usart2: usart2-0 {
                                                atmel,pins =
-                                                       <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE
+                                                       <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
                                                         AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
                                usart3 {
                                        pinctrl_usart3: usart3-0 {
                                                atmel,pins =
-                                                       <AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE
+                                                       <AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
                                                         AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
                                uart0 {
                                        pinctrl_uart0: uart0-0 {
                                                atmel,pins =
-                                                       <AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_NONE
+                                                       <AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_PULL_UP
                                                         AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
                                        };
                                };
                                uart1 {
                                        pinctrl_uart1: uart1-0 {
                                                atmel,pins =
-                                                       <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE
+                                                       <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
                                                         AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
                                };
index 33f09d5..590d288 100644 (file)
                                usart0 {
                                        pinctrl_usart0: usart0-0 {
                                                atmel,pins =
-                                                       <AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_NONE>,
+                                                       <AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
                                                        <AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
                                usart1 {
                                        pinctrl_usart1: usart1-0 {
                                                atmel,pins =
-                                                       <AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_NONE>,
+                                                       <AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
                                                        <AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
                                usart2 {
                                        pinctrl_usart2: usart2-0 {
                                                atmel,pins =
-                                                       <AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_NONE>,
+                                                       <AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
                                                        <AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
index af68a86..745918b 100644 (file)
                                usart0 {
                                        pinctrl_usart0: usart0-0 {
                                                atmel,pins =
-                                                       <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE
+                                                       <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
                                                         AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
                                usart1 {
                                        pinctrl_usart1: usart1-0 {
                                                atmel,pins =
-                                                       <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_NONE
+                                                       <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
                                                         AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
                                usart2 {
                                        pinctrl_usart2: usart2-0 {
                                                atmel,pins =
-                                                       <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_NONE
+                                                       <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
                                                         AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
index d16db1f..ea80a5a 100644 (file)
                                usart0 {
                                        pinctrl_usart0: usart0-0 {
                                                atmel,pins =
-                                                       <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE
+                                                       <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
                                                         AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
                                usart1 {
                                        pinctrl_usart1: usart1-0 {
                                                atmel,pins =
-                                                       <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE
+                                                       <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
                                                         AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
                                usart2 {
                                        pinctrl_usart2: usart2-0 {
                                                atmel,pins =
-                                                       <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE
+                                                       <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
                                                         AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
                                usart3 {
                                        pinctrl_usart3: usart3-0 {
                                                atmel,pins =
-                                                       <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE
+                                                       <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
                                                         AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
index 8fb2203..ad495f5 100644 (file)
                                usart0 {
                                        pinctrl_usart0: usart0-0 {
                                                atmel,pins =
-                                                       <AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE>,
+                                                       <AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
                                                        <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
                                usart1 {
                                        pinctrl_usart1: usart1-0 {
                                                atmel,pins =
-                                                       <AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE>,
+                                                       <AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
                                                        <AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
                                usart2 {
                                        pinctrl_usart2: usart2-0 {
                                                atmel,pins =
-                                                       <AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE>,
+                                                       <AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
                                                        <AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };
 
                                usart3 {
                                        pinctrl_usart3: usart3-0 {
                                                atmel,pins =
-                                                       <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE>,
+                                                       <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
                                                        <AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
                                        };