BBAI64 _ How many UART active?

This may help with any future pinmuix issues

bbai-64 pinmux spreadsheet

I have had so many iterations of trying to get UART’s working and in my excitement to publish my results I messed up. Their maybe other pin configurations but these are the ones I have got working. Here is my final version of what I currently have working:

Linux BeagleBone 5.10.168-ti-arm64-r103 #1bullseye SMP Fri May 12

/opt/source/dtb-5.10-ti/src/arm64/k3-j721e-beagleboneai64-bone-buses.dtsi

BONE_PIN(P8_37, uart,      P8_37A(PIN_OUTPUT, 3) P8_37B(PIN_INPUT, 7))	/* uart5_txd */
BONE_PIN(P8_38, uart,      P8_38A(PIN_INPUT, 7) P8_38B(PIN_INPUT, 3))	/* uart5_rxd */
BONE_PIN(P9_24, uart,      P9_24A(PIN_OUTPUT, 3) P9_24B(PIN_INPUT, 7))	/* uart2_txd */
BONE_PIN(P9_26, uart,      P9_26A(PIN_INPUT, 3) P9_26B(PIN_INPUT, 7))	/* uart2_rxd */
BONE_PIN(P9_27, uart,      P9_27A(PIN_OUTPUT, 8) P9_27B(PIN_INPUT, 7))	/* uart3_txd */
BONE_PIN(P9_12, uart,      P9_12(PIN_INPUT, 8))   						/* uart3_rxd */

bone_uart_0: &main_uart0 {
	/* TODO: also has option as "bone/uart/4" */
	symlink = "bone/uart/0";
	power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>;
};

bone_uart_1: &main_uart2 {
	/* tested with sudo agetty 115200 ttyS4 */
	pinctrl-names = "default";
	pinctrl-0 = <
		&P9_24_uart_pin /* uart2_txd */
		&P9_26_uart_pin /* uart2_rxd */
	>;
	symlink = "bone/uart/1";
	status = "disabled";
};

bone_uart_3: &main_uart3 {
	pinctrl-names = "default";
	pinctrl-0 = <
		&P9_27_uart_pin /* uart3_txd */
		&P9_12_uart_pin /* uart3_rxd *.
	>;
	symlink = "bone/uart/3";
	status = "disabled";
};

bone_uart_5: &main_uart5 {
	pinctrl-names = "default";
	pinctrl-0 = <uart
		&P8_37_uart_pin /* uart5_txd */
		&P8_38_uart_pin /* uart5_rxd */
	>;
	symlink = "bone/uart/5";
	status = "disabled";
};

/opt/source/dtb-5.10-ti/src/arm64/overlays/MY-UARTS.dts

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2022 BeagleBoard.org - https://beagleboard.org/
 *
 * https://elinux.org/Beagleboard:BeagleBone_cape_interface_spec#UART
 */

/dts-v1/;
/plugin/;

/*
 * Helper to show loaded overlays under: /proc/device-tree/chosen/overlays/
 */
&{/chosen} {
	overlays {
		MY-UARTS.kernel = __TIMESTAMP__;
	};
};
&bone_uart_1 { /* tested with sudo agetty 115200 ttyS4 */
	status = "okay";
};
&bone_uart_3 { 	/* tested with sudo agetty 115200 ttyS5 */
	status = "okay";
};
&bone_uart_5 {
	/* tested with sudo agetty 115200 ttyS7 */
	status = "okay";
};

The link doesn’t work for me.

Strange, must have messed up the pasting.

bbai-64 pinmux spreadsheet

Scroll down to the bottom to get the latest file, or you can use the google link in the first post

I don’t know if you’ll understand the picture, but here it is.

I currently have four UARTs, one I2C, and a CAN port enabled.
The UART ports I am using are 2,3,5,8.

1 Like