This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SK-AM62P-LP: UART5 not working

Part Number: SK-AM62P-LP


Tool/software:

Hi I was adjusting my device tree to receive a GNSS communication through UART5, I've configured my device tree as shown bellow

diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
index 87a999b6574c..155b1ee4474a 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
@@ -22,7 +22,7 @@ aliases {
                serial1 = &mcu_uart0;
                serial2 = &main_uart0;
                serial3 = &main_uart1;
-               serial4 = &main_uart5;
+               serial5 = &main_uart5;
                mmc0 = &sdhci0;
                mmc1 = &sdhci1;
                mmc2 = &sdhci2;
@@ -297,11 +297,11 @@ reg_gnss_uart5: regulator-16{
                regulator-name = "reg_gnss_uart5";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
+               gpios = <&main_gpio0 38 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
        };

 
@@ -586,7 +586,7 @@ AM62PX_IOPAD(0x0194, PIN_INPUT, 2) /* (D25) MCASP0_AXR3.UART1_CTSn */
                bootph-all;
        };
 
-       uart5_pins_default: uart5-default-pins {
+       main_uart5_pins_default: main_uart5-default-pins {
                pinctrl-single,pins = <
                        AM62PX_IOPAD(0x01d8, PIN_OUTPUT, 1) /* (B23) MCAN0_TX.UART5_RXD */
                        AM62PX_IOPAD(0x01dc, PIN_INPUT, 1) /* (F20) MCAN0_RX.UART5_TXD */
@@ -1186,17 +1186,18 @@ bluetooth_8987 {
 
 &main_uart5 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart5_pins_default>;
-               interrupts-extended = <&gic500 GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
+       pinctrl-0 = <&main_uart5_pins_default>;
+       interrupts-extended = <&gic500 GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
                <&main_pmx0 0x01d8>; /* (B23) MCAN0_TX.UART5_RXD */
        interrupt-names = "irq", "wakeup";
-       current-speed = <115200>;
+       current-speed = <9600>;
        status = "okay";
 
        gnss {
                compatible = "u-blox,neo-m8";
-               vcc = <&reg_gnss_uart5>;
-               //current-speed = 115200;
+               vcc-supply = <&reg_gnss_uart5>;
+               //current-speed = <9600>;
+               status = "okay";
        };
 };


I start the module by insmod the driver, and then when i try to read the output it didn't work.

root@am62pxx-evm:/# insmod /lib/modules/6.6.32-ti-01287-g6de6e418c80e-dirty/kernel/drivers/gnss/gnss.ko
root@am62pxx-evm:/# insmod /lib/modules/6.6.32-ti-01287-g6de6e418c80e-dirty/kernel/drivers/gnss/gnss-serial.ko
root@am62pxx-evm:/# insmod /lib/modules/6.6.32-ti-01287-g6de6e418c80e-dirty/kernel/drivers/gnss/gnss-ubx.ko
root@am62pxx-evm:/# cat /dev/gnss0
^C

is there anything else that i need to do on the device tree?



Best Regards,

Sergio.

  • I've solved it

    main_uart5_pins_default: main_uart5-default-pins {
    pinctrl-single,pins = <
    /*AM62PX_IOPAD(0x01d8, PIN_OUTPUT, 1)*/ /* (B23) MCAN0_TX.UART5_RXD */
    /*AM62PX_IOPAD(0x01dc, PIN_INPUT, 1)*/ /* (F20) MCAN0_RX.UART5_TXD */
    AM62PX_IOPAD(0x01d8, PIN_INPUT, 1) /* (B23) MCAN0_TX.UART5_RXD */
    AM62PX_IOPAD(0x01dc, PIN_OUTPUT, 1) /* (F20) MCAN0_RX.UART5_TXD */
    >;
    };