SK-AM62B-P1: SK-AM62B-P1

Part Number: SK-AM62B-P1

Tool/software:

Hi, 
I wanted to use the UART5 in user expansion board and changed the dtb file and created a custom-image file with extlinux.conf in buildroot.
After boot, I can see the custom dtb with uart5 has been enabled and status is okay from /proc files.


Following below are the modifications done in dtb:

I have enabled uart5, uart6 and two gpio for my application requirement.

Can someone help me if I was in right path with this?

When I try the loop back test I couldn't see anything.

This was the modifications done on my dtb:

k3-am625-sk.dts:
        pinctrl@f4000 {
            bootph-all;
            compatible = "ti,am654-padconf\0pinctrl-single";
            reg = <0x00 0xf4000 0x00 0x2ac>;
            #pinctrl-cells = <0x01>;
            pinctrl-single,register-width = <0x20>;
            pinctrl-single,function-mask = <0xffffffff>;
            interrupts = <0x00 0x62 0x04>;
            interrupt-controller;
            #interrupt-cells = <0x01>;
            phandle = <0x16>;

            main-uart0-default-pins {
                bootph-all;
                pinctrl-single,pins = <0x1c8 0x50000 0x1cc 0x10000>;
                phandle = <0x15>;
            };

            main-uart1-default-pins {
                bootph-pre-ram;
                pinctrl-single,pins = <0x194 0x50002 0x198 0x10002 0x1ac 0x50002 0x1b0 0x10002>;
                phandle = <0x17>;
            };

            main-uart5-default-pins {
                bootph-all;
                pinctrl-single,pins = <0x1d8 0x50001 0x1dc 0x10001>;
                phandle = <0xdf>;
            };
            
            main-uart6-default-pins {
                bootph-all;
                pinctrl-single,pins = <0x09c 0x50003 0x0a0 0x10003>;
                phandle = <0xe0>;
            };

};

__symbols__ {
             
        main_uart0_pins_default = "/bus@f0000/pinctrl@f4000/main-uart0-default-pins";
        main_uart1_pins_default = "/bus@f0000/pinctrl@f4000/main-uart1-default-pins";
        main_uart5_pins_default = "/bus@f0000/pinctrl@f4000/main-uart5-default-pins";
        main_uart6_pins_default = "/bus@f0000/pinctrl@f4000/main-uart6-default-pins";
        main_uart0 = "/bus@f0000/serial@2800000";
        main_uart1 = "/bus@f0000/serial@2810000";
        main_uart2 = "/bus@f0000/serial@2820000";
        main_uart3 = "/bus@f0000/serial@2830000";
        main_uart4 = "/bus@f0000/serial@2840000";
        main_uart5 = "/bus@f0000/serial@2850000";
        main_uart6 = "/bus@f0000/serial@2860000";
};

aliases {
        serial0 = "/bus@f0000/bus@b00000/target-module@2b300050/serial@0";
        serial1 = "/bus@f0000/bus@4000000/serial@4a00000";
        serial2 = "/bus@f0000/serial@2800000";
        serial5 = "/bus@f0000/serial@2850000";
        serial6 = "/bus@f0000/serial@2860000";
};

        serial@2850000 {
            compatible = "ti,am64-uart\0ti,am654-uart";
            reg = <0x00 0x2850000 0x00 0x100>;
            interrupts = <0x00 0xb7 0x04>;
            power-domains = <0x02 0x9c 0x01>;
            clocks = <0x03 0x9c 0x00>;
            clock-names = "fclk";
            status = "okay";
            pinctrl-names = "default";
            pinctrl-0 = <0xdf>;
            phandle = <0x87>;
        };

        serial@2860000 {
            compatible = "ti,am64-uart\0ti,am654-uart";
            reg = <0x00 0x2860000 0x00 0x100>;
            interrupts = <0x00 0xb8 0x04>;
            power-domains = <0x02 0x9e 0x01>;
            clocks = <0x03 0x9e 0x00>;
            clock-names = "fclk";
            status = "okay";
            pinctrl-names = "default";
            pinctrl-0 = <0xe0>;
            phandle = <0x88>;
        };

        gpio@602000 {
            compatible =  "ti,am64-gpio\0ti,keystone-gpio";
            reg = <0x00 0x602000 0x00 0x100>;
            gpio-controller;
            pinctrl-names = "default";
            pinctrl-0 = <0xe1>;
            status = "okay";
        };
        
        gpio@603000 {
            compatible = "ti,am64-gpio\0ti,keystone-gpio";
            reg = <0x00 0x603000 0x00 0x100>;
            gpio-controller;
            pinctrl-names = "default";
            pinctrl-0 = <0xe2>;
            status = "okay";
        };




# dmesg | grep ttyS
[    0.000000] Kernel command line: root=/dev/mmcblk1p2 rw rootwait console=ttyS2,115200n8 quite loglevel=3
[    0.336132] printk: legacy console [ttyS2] disabled
[    0.336561] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 238, base_baud = 3000000) is a 8250
[    0.336653] printk: legacy console [ttyS2] enabled
[    0.339254] 2850000.serial: ttyS0 at MMIO 0x2850000 (irq = 240, base_baud = 3000000) is a 8250
[    0.341249] 2860000.serial: ttyS1 at MMIO 0x2860000 (irq = 241, base_baud = 3000000) is a 8250

# grep -i uart /sys/kernel/debug/pinctrl/*/pinmux-pins

/sys/kernel/debug/pinctrl/f4000.pinctrl-pinctrl-single/pinmux-pins:pin 39 (PIN39): 2860000.serial (GPIO UNCLAIMED) function main-uart6-default-pins group main-uart6-default-pins
/sys/kernel/debug/pinctrl/f4000.pinctrl-pinctrl-single/pinmux-pins:pin 40 (PIN40): 2860000.serial (GPIO UNCLAIMED) function main-uart6-default-pins group main-uart6-default-pins
/sys/kernel/debug/pinctrl/f4000.pinctrl-pinctrl-single/pinmux-pins:pin 114 (PIN114): 2800000.serial (GPIO UNCLAIMED) function main-uart0-default-pins group main-uart0-default-pins
/sys/kernel/debug/pinctrl/f4000.pinctrl-pinctrl-single/pinmux-pins:pin 115 (PIN115): 2800000.serial (GPIO UNCLAIMED) function main-uart0-default-pins group main-uart0-default-pins
/sys/kernel/debug/pinctrl/f4000.pinctrl-pinctrl-single/pinmux-pins:pin 118 (PIN118): 2850000.serial (GPIO UNCLAIMED) function main-uart5-default-pins group main-uart5-default-pins
/sys/kernel/debug/pinctrl/f4000.pinctrl-pinctrl-single/pinmux-pins:pin 119 (PIN119): 2850000.serial (GPIO UNCLAIMED) function main-uart5-default-pins group main-uart5-default-pins


# ls -1 /proc/device-tree/bus@f0000/ | grep serial

serial@2800000
serial@2810000
serial@2820000
serial@2830000
serial@2840000
serial@2850000
serial@2860000