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.
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.
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