This may help with any future pinmuix issues
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.
Scroll down to the bottom to get the latest file, or you can use the google link in the first post