I want to use UART9 (GPIO4_C6 UART9_RX_M1 and GPIO4_C5 UART9_TX_M1)
I routed UART9 on my custom board and connet each other RX and TX to test it.
I added it in rk3566-radxa-cm3-io.dts
&uart9 {
status = “okay”;
pinctrl-names = “default”;
pinctrl-0 = <&uart9m1_xfer>;
clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
clock-names = “baudclk”, “apb_pclk”;
};
built it by bsp with command
./bsp --no-prepare-source linux rk356x -r 900
than install packages on my board
sudo dpkg -i linux-headers-5.10.160-900-rk356x_5.10.160-900_arm64.deb
sudo dpkg -i linux-image-5.10.160-900-rk356x_5.10.160-900_arm64.deb
sudo reboot
my new dts was accepted. I check it.
then
I open minicom on /dev/ttyS9 with no flow control (I tryed and screen too)
I check clocks
radxa@radxa-cm3-io:~$ sudo cat /sys/kernel/debug/clk/clk_summary | grep uart9
sclk_uart9_mux 1 1 0 24000000 0 0 50000
sclk_uart9 1 1 0 24000000 0 0 50000
clk_uart9_src 0 0 0 99000000 0 0 50000
clk_uart9_frac 0 0 0 99000000 0 0 50000
pclk_uart9 1 1 0 99000000 0 0 50000
radxa@radxa-cm3-io:~$ ls /dev/ttyS*
/dev/ttyS1 /dev/ttyS2 /dev/ttyS6 /dev/ttyS9
I checked GPIO
radxa@radxa-cm3-io:~$ sudo cat /sys/kernel/debug/pinctrl/pinctrl-handles
type: MUX_GROUP controller rockchip-pinctrl group: uart9m1-xfer (300) function: uart9 (150)
type: CONFIGS_PIN controller rockchip-pinctrl pin gpio4-22 (150)config 00000105
type: CONFIGS_PIN controller rockchip-pinctrl pin gpio4-21 (149)config 00000105
device: fe0a0000.hdmi current state: default
I can’t understand why USART9 isn’t work.
I used similar with USART6
&uart6 {
status = “okay”;
clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
pinctrl-names = “default”;
clock-names = “baudclk”, “apb_pclk”;
pinctrl-0 = <&uart6m1_xfer>;
};
and it works, but now works with UART9