This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5708: Linux only uart5_rxd is not working

Part Number: AM5708

Hi

Our custom board is using uart4, uart5, uart6 for communication.

we test it according to  

board\ti\am57xx\mux_data.h the pinmux we have 

{MCASP4_AXR0, (M4 | PIN_INPUT)}, /* mcasp4_axr0.uart4_rxd *//* uart_4 */
{MCASP4_AXR1, (M4 | PIN_OUTPUT)}, /* mcasp4_axr1.uart4_txd *//* uart_4 */
{MCASP3_AXR0, (M4 | PIN_INPUT)}, /* mcasp3_axr0.uart5_rxd *//* uart_5 *//* B22 */
{MCASP3_AXR1, (M4 | PIN_OUTPUT)}, /* mcasp3_axr1.uart5_txd *//* uart_5 */
{MCASP1_AXR0, (M3 | PIN_INPUT)}, /* mcasp1_axr0.uart6_rxd *//* uart_6 */
{MCASP1_AXR1, (M3 | PIN_OUTPUT)}, /* mcasp1_axr1.uart6_txd *//* uart_6 */

arch\arm\boot\dts\am571x-idk.dts

&uart4 {
status = "okay";
};

&uart5 {
status = "okay";
};

&uart6 {
status = "okay";
};

In .config

#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_EXAR=y
CONFIG_SERIAL_8250_NR_UARTS=10
CONFIG_SERIAL_8250_RUNTIME_UARTS=10
# CONFIG_SERIAL_8250_EXTENDED is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_FSL=y
# CONFIG_SERIAL_8250_DW is not set
# CONFIG_SERIAL_8250_EM is not set
# CONFIG_SERIAL_8250_RT288X is not set
CONFIG_SERIAL_8250_OMAP=y
CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y
# CONFIG_SERIAL_8250_MOXA is not set
CONFIG_SERIAL_OF_PLATFORM=y

From dmesg

[ 0.634316] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
[ 0.638994] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 43, base_baud = 3000000) is a 8250
[ 1.513786] console [ttyS2] enabled
[ 1.518040] 4806e000.serial: ttyS3 at MMIO 0x4806e000 (irq = 44, base_baud = 3000000) is a 8250
[ 1.527641] 48066000.serial: ttyS4 at MMIO 0x48066000 (irq = 45, base_baud = 3000000) is a 8250
[ 1.537220] 48068000.serial: ttyS5 at MMIO 0x48068000 (irq = 46, base_baud = 3000000) is a 8250
[ 1.546797] 48420000.serial: ttyS6 at MMIO 0x48420000 (irq = 47, base_baud = 3000000) is a 8250

the uart4(ttyS3) and uart6(ttyS5) are working fine.

For uart5_rxd (ttyS4)

the oscilloscope did measure data on pin B22(uart5_rxd), but ttyS4 can not receive any data when issuing #cat /dev/ttyS4 &

For uart5_txd (ttyS4) is working fine when sending data to other devices.