I had the same problem, I had to grope a bit, knowing nothing about dt overlays.
Here are the ones I came up with, if they can be useful to anyone as a temp fix at least.
I've not bothered with the UARTs RTS/CTS, having no use for them, and these might break on kernel upgrade when the pinctrl phandles change.
UART#1 -> U1F : UART_EE_A = GPIO pins 8(TX),10(RX)
/dts-v1/;
/ {
compatible = "amlogic,meson-gxbb";
fragment@0 {
target-path = "/aliases";
__overlay__ {
serial1 = "/soc/bus@ffd00000/serial@24000";
};
};
fragment@1 {
target-path = "/soc/bus@ffd00000/serial@24000";
__overlay__ {
pinctrl-0 = <0xdc 0xdd>;
pinctrl-names = "default";
status = "okay";
};
};
};
UART#2 -> U1F : UART_EE_B = GPIO pins 33(TX), 15(RX)
/dts-v1/;
/ {
compatible = "amlogic,meson-gxbb";
fragment@0 {
target-path = "/aliases";
__overlay__ {
serial2 = "/soc/bus@ffd00000/serial@23000";
};
};
fragment@1 {
target-path = "/soc/bus@ffd00000/serial@23000";
__overlay__ {
pinctrl-0 = <0xde>;
pinctrl-names = "default";
status = "okay";
};
};
};
UART#4 -> U1A : UART_AO_B = GPIO pins 12(TX), 37(RX)
/dts-v1/;
/ {
compatible = "amlogic,meson-gxbb";
fragment@0 {
target-path = "/aliases";
__overlay__ {
serial4 = "/soc/bus@ff800000/serial@4000";
};
};
fragment@1 {
target-path = "/soc/bus@ff800000/serial@4000";
__overlay__ {
pinctrl-0 = <0x103>;
pinctrl-names = "default";
status = "okay";
};
};
};
I2C_EE_M2 = GPIO pins 3(SDA), 5(SCL)
/dts-v1/;
/ {
compatible = "amlogic,meson-gxbb";
fragment@0 {
target-path = "/aliases";
__overlay__ {
i2c0 = "/soc/bus@ffd00000/i2c@1d000";
};
};
fragment@1 {
target-path = "/soc/bus@ffd00000/i2c@1d000";
__overlay__ {
pinctrl-0 = <0x6f 0x70>;
pinctrl-names = "default";
status = "okay";
};
};
};