Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: at91: Reenable UART TX pull-ups

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>

authored by

Ingo van Lil and committed by
Alexandre Belloni
9d39d86c bbd73c02

+20 -20
+6 -6
arch/arm/boot/dts/at91sam9260.dtsi
··· 187 187 usart0 { 188 188 pinctrl_usart0: usart0-0 { 189 189 atmel,pins = 190 - <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE 190 + <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 191 191 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 192 192 }; 193 193 ··· 221 221 usart1 { 222 222 pinctrl_usart1: usart1-0 { 223 223 atmel,pins = 224 - <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE 224 + <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 225 225 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 226 226 }; 227 227 ··· 239 239 usart2 { 240 240 pinctrl_usart2: usart2-0 { 241 241 atmel,pins = 242 - <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE 242 + <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 243 243 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 244 244 }; 245 245 ··· 257 257 usart3 { 258 258 pinctrl_usart3: usart3-0 { 259 259 atmel,pins = 260 - <AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE 260 + <AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 261 261 AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 262 262 }; 263 263 ··· 275 275 uart0 { 276 276 pinctrl_uart0: uart0-0 { 277 277 atmel,pins = 278 - <AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_NONE 278 + <AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_PULL_UP 279 279 AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; 280 280 }; 281 281 }; ··· 283 283 uart1 { 284 284 pinctrl_uart1: uart1-0 { 285 285 atmel,pins = 286 - <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE 286 + <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 287 287 AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 288 288 }; 289 289 };
+3 -3
arch/arm/boot/dts/at91sam9261.dtsi
··· 329 329 usart0 { 330 330 pinctrl_usart0: usart0-0 { 331 331 atmel,pins = 332 - <AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_NONE>, 332 + <AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 333 333 <AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 334 334 }; 335 335 ··· 347 347 usart1 { 348 348 pinctrl_usart1: usart1-0 { 349 349 atmel,pins = 350 - <AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_NONE>, 350 + <AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 351 351 <AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 352 352 }; 353 353 ··· 365 365 usart2 { 366 366 pinctrl_usart2: usart2-0 { 367 367 atmel,pins = 368 - <AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_NONE>, 368 + <AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 369 369 <AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 370 370 }; 371 371
+3 -3
arch/arm/boot/dts/at91sam9263.dtsi
··· 183 183 usart0 { 184 184 pinctrl_usart0: usart0-0 { 185 185 atmel,pins = 186 - <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE 186 + <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 187 187 AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 188 188 }; 189 189 ··· 201 201 usart1 { 202 202 pinctrl_usart1: usart1-0 { 203 203 atmel,pins = 204 - <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_NONE 204 + <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 205 205 AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 206 206 }; 207 207 ··· 219 219 usart2 { 220 220 pinctrl_usart2: usart2-0 { 221 221 atmel,pins = 222 - <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_NONE 222 + <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 223 223 AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 224 224 }; 225 225
+4 -4
arch/arm/boot/dts/at91sam9g45.dtsi
··· 556 556 usart0 { 557 557 pinctrl_usart0: usart0-0 { 558 558 atmel,pins = 559 - <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE 559 + <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 560 560 AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 561 561 }; 562 562 ··· 574 574 usart1 { 575 575 pinctrl_usart1: usart1-0 { 576 576 atmel,pins = 577 - <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE 577 + <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 578 578 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 579 579 }; 580 580 ··· 592 592 usart2 { 593 593 pinctrl_usart2: usart2-0 { 594 594 atmel,pins = 595 - <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE 595 + <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 596 596 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 597 597 }; 598 598 ··· 610 610 usart3 { 611 611 pinctrl_usart3: usart3-0 { 612 612 atmel,pins = 613 - <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE 613 + <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 614 614 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 615 615 }; 616 616
+4 -4
arch/arm/boot/dts/at91sam9rl.dtsi
··· 682 682 usart0 { 683 683 pinctrl_usart0: usart0-0 { 684 684 atmel,pins = 685 - <AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE>, 685 + <AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 686 686 <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 687 687 }; 688 688 ··· 721 721 usart1 { 722 722 pinctrl_usart1: usart1-0 { 723 723 atmel,pins = 724 - <AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE>, 724 + <AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 725 725 <AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 726 726 }; 727 727 ··· 744 744 usart2 { 745 745 pinctrl_usart2: usart2-0 { 746 746 atmel,pins = 747 - <AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE>, 747 + <AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 748 748 <AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 749 749 }; 750 750 ··· 767 767 usart3 { 768 768 pinctrl_usart3: usart3-0 { 769 769 atmel,pins = 770 - <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE>, 770 + <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 771 771 <AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 772 772 }; 773 773