Tool/software: Linux
I have added the following configurations in my am335x-boneblack.dts file to enable uart4.
&am33xx_pinmux {
uart4_pins_default: uart4_pins_default {
pinctrl-single,pins = <
AM33XX_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE6) /* (P9_11) uart4_rxd */
AM33XX_IOPAD(0x874, PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* (P9_13) uart4_txd */
>;
};
};
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&uart4_pins_default>;
status = "okay";
};
After creating a dtb file with these configurations. I could change the disabled status to okay as shown below:
serial@481a8000 {
compatible = "ti,am3352-uart", "ti,omap3-uart";
ti,hwmods = "uart5"; // in TI uart starts from 1, so uart4=uart5
clock-frequency = <0x2dc6c00>;
reg = <0x481a8000 0x2000>;
interrupts = <0x2d>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0x2c>;
};
I then copied the compiled dtb file into beaglebone's boot folder, performed a sync operation and rebooted it and checked for the device with the command:
>>dmesg | grep ttyO
Only the UART0 is showing and there are no signs of UART4. What could have possibly gone wrong?