Tool/software: Linux
Hello,
I have some problems with my UART-Interfaces on my custom board.
If I connect Tx/Rx of the same UART-Interface (In the following example UART4), I can see in /proc/tty/driver/serial that I have received data.
echo "test" > /dev/ttyS4
serial file:
serinfo:1.0 driver revision:
0: uart:8250 mmio:0x44E09000 irq:30 tx:9066 rx:195 RTS|CTS|DTR|DSR|CD
1: uart:8250 mmio:0x48022000 irq:31 tx:0 rx:0 CTS|DSR|CD|RI
2: uart:8250 mmio:0x48024000 irq:32 tx:0 rx:0 CTS|DSR
3: uart:8250 mmio:0x481A6000 irq:33 tx:0 rx:0 CTS|DSR
4: uart:8250 mmio:0x481A8000 irq:34 tx:6 rx:6 CTS|DSR
5: uart:unknown port:00000000 irq:0
6: uart:unknown port:00000000 irq:0
7: uart:unknown port:00000000 irq:0
8: uart:unknown port:00000000 irq:0
9: uart:unknown port:00000000 irq:0
If I now connect uart2 or uart3 Tx to uart4 Rx no data is recognized:
serialfile:
serinfo:1.0 driver revision:
0: uart:8250 mmio:0x44E09000 irq:30 tx:9066 rx:195 RTS|CTS|DTR|DSR|CD
1: uart:8250 mmio:0x48022000 irq:31 tx:0 rx:0 CTS|DSR|CD|RI
2: uart:8250 mmio:0x48024000 irq:32 tx:6 rx:0 CTS|DSR
3: uart:8250 mmio:0x481A6000 irq:33 tx:0 rx:0 CTS|DSR
4: uart:8250 mmio:0x481A8000 irq:34 tx:0 rx:0 CTS|DSR
5: uart:unknown port:00000000 irq:0
6: uart:unknown port:00000000 irq:0
7: uart:unknown port:00000000 irq:0
8: uart:unknown port:00000000 irq:0
9: uart:unknown port:00000000 irq:0
This behavior is the same on all Uart2-4 Interfaces.
I have also tried to read the input file of the uart with cat /dev/ttyS2 and send Data from Host-PC but it does not work either. I also measured the with an analyzer, the voltage level, baudrate are okey.
Reference-Board: AM437x-GP-EVM
Ti-processor-sdk version: 05.01.00.11
Linux version: 04.14.67
The Kernel-Image is build with the following default config: tisdk_am437x-evm_defconfig
Devicetree-Snippet (made with pinmux tool):
uart3pins_default: uart3pins_default {
pinctrl-single,pins = <
0x228 ( PIN_INPUT | MUX_MODE0 ) /* (H25) uart3_rxd.uart3_rxd */
0x22c ( PIN_OUTPUT | MUX_MODE0 ) /* (H24) uart3_txd.uart3_txd */
>;
};
uart4pins_default: uart4pins_default {
pinctrl-single,pins = <
0x168 ( PIN_INPUT | MUX_MODE1 ) /* (L25) uart0_ctsn.uart4_rxd */
0x16c ( PIN_OUTPUT | MUX_MODE1 ) /* (J25) uart0_rtsn.uart4_txd */
>;
};
uart2pins_default: uart2pins_default {
pinctrl-single,pins = <
0x150 ( PIN_INPUT | MUX_MODE1 ) /* (P23) spi0_sclk.uart2_rxd */
0x154 ( PIN_OUTPUT | MUX_MODE1 ) /* (T22) spi0_d0.uart2_txd */
>;
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2pins_default>;
status = "okay";
};
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&uart3pins_default>;
status = "okay";
};
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&uart4pins_default>;
status = "okay";
};
Am I doing anything wrong? Do I have to enable something in the driver?
Thanks!