Good day!
Can you tell me if UART can even work on Rockchip (especially on RK3568) processors with hardware flow control, but only using the RTS signal, without CTS?
Now I am observing the following situation when modifying the device tree when using minicom to transmit data (with hardware flow control):
- if specify “pinctrl-0 = <&uart3m0_xfer &uart3m0_rtsn &uart3m0_ctsn>;”, then the data on TX are transmitting normally, but RTS always low, no matter how many data will be transmitted (?).
- but if pinctrl-0 = <&uart3m0_xfer &uart3m0_rtsn>; or “pinctrl-0 = <&uart3m0_xfer>; rts-gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;”, then there is no data on the TX line at all.
- Using “auto-flow-control;” or “cts-override;” or “uart-has-rtscts;” does not affect behavior in any way.
device-tree part
uart0: serial@fdd50000 {
compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
reg = <0x0 0xfdd50000 0x0 0x100>;
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>;
clock-names = "baudclk", "apb_pclk";
dmas = <&dmac0 0>, <&dmac0 1>;
pinctrl-0 = <&uart0_xfer>;
pinctrl-names = "default";
reg-io-width = <4>;
reg-shift = <2>;
status = "okay";
dma-names = "tx", "rx";
pinctrl-0 = <&uart0_xfer &uart0_rtsn &uart0_ctsn>; // This property
//rts-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; // Or this property
//snps,uart-16550-compatible;
cts-override;
};