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.

Linux: how to enable all uart in beagle bone rev c using i-processor-sdk-linux-am335x-evm-04.03.00.05



Tool/software: Linux

Hello All,

can anyone tell me how to enable all uarts by changing in DTB /arch/arm/boot/dts/am335x-bone-common.dtsi.

looking forward to listing you.

  • Hi Shilesh,

    You need to add uart node (similar to uart0) with "status = okay" entry. You need also add the UART pinmux.

    See for example how am335x-evm.dts enable two uarts (uart0 for console and uart1):

    chosen {
            stdout-path = &uart0;
        };

    uart0_pins: pinmux_uart0_pins {
            pinctrl-single,pins = <
                AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0)    /* uart0_rxd.uart0_rxd */
                AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0)    /* uart0_txd.uart0_txd */
            >;
        };

        uart1_pins: pinmux_uart1_pins {
            pinctrl-single,pins = <
                AM33XX_IOPAD(0x978, PIN_INPUT | MUX_MODE0)        /* uart1_ctsn.uart1_ctsn */
                AM33XX_IOPAD(0x97C, PIN_OUTPUT_PULLDOWN | MUX_MODE0)    /* uart1_rtsn.uart1_rtsn */
                AM33XX_IOPAD(0x980, PIN_INPUT_PULLUP | MUX_MODE0)    /* uart1_rxd.uart1_rxd */
                AM33XX_IOPAD(0x984, PIN_OUTPUT_PULLDOWN | MUX_MODE0)    /* uart1_txd.uart1_txd */
            >;
        };

    &uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart0_pins>;

        status = "okay";
    };

    &uart1 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart1_pins>;

        status = "okay";
    };

    You should enable the rest of the uarts (uart2/3/4/5) in similar way. Check also how uart2 is enabled in am335x-baltos-ir5221.dts, uart3 in am335x-boneblue.dts,

    Check also below docs:

    linux-kernel/Documentation/devicetree/bindings/serial/serial.txt
    linux-kernel/Documentation/devicetree/bindings/serial/omap_serial.txt

    Regards,
    Pavel

  • Thanks Paval, its working!!!