So I'm wanting to use the Zero 3E's UARTs to connect to the consoles of a few nearby devices. I can get to:
Which is accomplished with overlays that look like this (UART3):
But for whatever reason, only UART2 (primary) and UART3 work (they map to uart0 and uart1). For example, the overlay for UART4 is:
But neither a loopback test or connecting to another system work. Any known work arounds to enable these additional UARTs? I suspect it's something to do with m0 vs. m1, but I don't know. Curious if others have enable these.
Code:
dmesg | grep uart
uart0: <16750 or compatible> mem 0xfe660000-0xfe6600ff irq 66 on ofwbus0
uart0: console (1500000,n,8,1)
uart1: <16750 or compatible> mem 0xfe670000-0xfe6700ff irq 67 on ofwbus0
uart2: <16750 or compatible> mem 0xfe680000-0xfe6800ff irq 68 on ofwbus0
uart3: <16750 or compatible> mem 0xfe690000-0xfe6900ff irq 69 on ofwbus0
uart4: <16750 or compatible> mem 0xfe6d0000-0xfe6d00ff irq 73 on ofwbus0
Which is accomplished with overlays that look like this (UART3):
Code:
/dts-v1/;
/plugin/;
/ {
compatible = "radxa,zero3", "rockchip,rk3566";
fragment@0 {
target = <&uart3>;
__overlay__ {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart3m0_xfer>;
};
};
};
But for whatever reason, only UART2 (primary) and UART3 work (they map to uart0 and uart1). For example, the overlay for UART4 is:
Code:
/dts-v1/;
/plugin/;
/ {
compatible = "radxa,zero3", "rockchip,rk3566";
fragment@0 {
target = <&uart4>;
__overlay__ {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart4m1_xfer>;
};
};
};
But neither a loopback test or connecting to another system work. Any known work arounds to enable these additional UARTs? I suspect it's something to do with m0 vs. m1, but I don't know. Curious if others have enable these.