Using UART0 via PIN 17 and PIN 18 from P9


I have an application that needs 5 UARTs to work. We are building a cape board to plug on P8 and P9 to expose all 6 uarts from the CPU.

I’ve made a DT file for all uarts. All are working now except for UART0 that is still only accessable via the 6 pin ttl debug pins.

Specific for UART0, the PIN settings on my DT file is:

fragment@0 {
target = <&am33xx_pinmux>;
overlay {
bb_uart0_pins: pinmux_bb_uart0_pins {
pinctrl-single,pins = <
0x15C 0x04 /* P9.17 uart0_txd.uart0_txd OUTPUT /
0x158 0x24 /
P9.18 uart0_rxd.uart0_rxd INPUT */


But still only on debug header I can get a signal. Any ideas of what I am doing wrong?


Looking at the Reference Manual (Rev A5.6), on table 12, pins 17 and 18 on P9 are used by I2C1_SCL and I2C1_SDA and then on table 17, it says that P9 17 and 18 are used by EEPROM.

Is that the reason I can’t use them?

Is there another way to use all UARTs on P8 and P9?


You can use them.


I’ve made a DT overlay to use them, but trying to sending something to ttyO0, the output was still going to the 6 pin debug header.

Can you help me with this issue?

I can’t but maybe someone from the SW side can.


Hi, did you get uart0 working from the H9 pin?