avr32: Enable pullup on USART TX lines

Make USART initialization conform to Section 24.6.1 in the AT32AP7000 manual,
i.e. "To prevent the TXD line from falling when the USART is disabled, the use
of an internal pull up is mandatory."

Signed-off-by: Anders Blomdell <anders.blomdell@control.lth.se>
[haavard.skinnemoen@atmel.com: enable pullup on RX as well]
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>

authored by Anders Blomdell and committed by Haavard Skinnemoen 10546263 57f8f7b6

+4 -4
+4 -4
arch/avr32/mach-at32ap/at32ap700x.c
··· 967 967 { 968 968 u32 pin_mask = (1 << 8) | (1 << 9); /* RXD & TXD */ 969 969 970 - select_peripheral(PIOA, pin_mask, PERIPH_B, 0); 970 + select_peripheral(PIOA, pin_mask, PERIPH_B, AT32_GPIOF_PULLUP); 971 971 } 972 972 973 973 static inline void configure_usart1_pins(void) 974 974 { 975 975 u32 pin_mask = (1 << 17) | (1 << 18); /* RXD & TXD */ 976 976 977 - select_peripheral(PIOA, pin_mask, PERIPH_A, 0); 977 + select_peripheral(PIOA, pin_mask, PERIPH_A, AT32_GPIOF_PULLUP); 978 978 } 979 979 980 980 static inline void configure_usart2_pins(void) 981 981 { 982 982 u32 pin_mask = (1 << 26) | (1 << 27); /* RXD & TXD */ 983 983 984 - select_peripheral(PIOB, pin_mask, PERIPH_B, 0); 984 + select_peripheral(PIOB, pin_mask, PERIPH_B, AT32_GPIOF_PULLUP); 985 985 } 986 986 987 987 static inline void configure_usart3_pins(void) 988 988 { 989 989 u32 pin_mask = (1 << 18) | (1 << 17); /* RXD & TXD */ 990 990 991 - select_peripheral(PIOB, pin_mask, PERIPH_B, 0); 991 + select_peripheral(PIOB, pin_mask, PERIPH_B, AT32_GPIOF_PULLUP); 992 992 } 993 993 994 994 static struct platform_device *__initdata at32_usarts[4];