Hi @KevinFFF , i thought it would be best to establish a complete picture of the configuration I have done up until now, since there seems to be endless forums each going down a different path.
I have configured PINMUX accordingly:
Orin-gdu-pinmux.zip (6.3 KB)
In the .dtsi file, i have included the entry you recommended, and added additional infor for dma as per another forum:
uartd: serial@3130000 {//uart4
compatible = “nvidia,tegra194-hsuart”;
reg = <0x0 0x03130000 0x0 0x10000>;
dma-coherent;
dmas = <&gpcdma 19>, <&gpcdma 19>;
dma-names = “rx”, “tx”;
clocks = <&bpmp TEGRA234_CLK_UARTD>;
resets = <&bpmp TEGRA234_RESET_UARTD>;
reset-names = “serial”;
status = “okay”;
};
I also removed the usage of gpio@2200000 from every camera overlay to ensure the required pins werent being used as gpio’s - this was also in another forum. I also removed the usage of H4 by the one regulator:
vdd_3v3_pcie: regulator-vdd-3v3-pcie {
compatible = “regulator-fixed”;
regulator-name = “VDD_3V3_PCIE”;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
//gpio = <&gpio TEGRA234_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
regulator-boot-on;
enable-active-high;
};
In the decompiled device tree following the building of source code, i see this entry for the uart4:
serial@3130000 {
compatible = “nvidia,tegra194-hsuart”;
reg = <0x00 0x3130000 0x00 0x10000>;
interrupts = <0x00 0x73 0x04>;
clocks = <0x03 0x9e>;
resets = <0x03 0x67>;
status = “okay”;
dma-coherent;
dmas = <0xee 0x13 0xee 0x13>;
dma-names = “rx\0tx”;
reset-names = “serial”;
phandle = <0x232>;
};
Heres some of the stuff i see on the jetson, for your analysis:
root@ubuntudev:/home/devdev# sudo busybox devmem 0x02434020
0x00000002
root@ubuntudev:/home/devdev# sudo busybox devmem 0x02434018
0x00000001
root@ubuntudev:/home/devdev# dmesg | grep serial
[ 0.154042] 31d0000.serial: ttyAMA0 at MMIO 0x31d0000 (irq = 120, base_baud = 0) is a SBSA
[ 0.284358] msm_serial: driver initialized
[ 2.026080] 3100000.serial: ttyTHS1 at MMIO 0x3100000 (irq = 112, base_baud = 0) is a TEGRA_UART
[ 2.027167] 3140000.serial: ttyTHS5 at MMIO 0x3140000 (irq = 113, base_baud = 0) is a TEGRA_UART
[ 2.028013] 3130000.serial: ttyTHS3 at MMIO 0x3130000 (irq = 114, base_baud = 0) is a TEGRA_UART
[ 2.028320] serial-tegra 3110000.serial: RX in PIO mode
[ 2.028323] serial-tegra 3110000.serial: TX in PIO mode
[ 2.028356] 3110000.serial: ttyTHS2 at MMIO 0x3110000 (irq = 208, base_baud = 0) is a TEGRA_UART
[ 6.495622] systemd[1]: Created slice Slice /system/serial-getty.
root@ubuntudev:/home/devdev# cat /sys/kernel/debug/gpio | grep PH
gpio-391 (PH.00 )
gpio-392 (PH.01 )
gpio-393 (PH.02 )
gpio-394 (PH.03 )
gpio-395 (PH.04 )
gpio-396 (PH.05 )
gpio-397 (PH.06 )
gpio-398 (PH.07 )
125 (uart4_cts_ph6):
pull=0
tristate=0
enable-input=0
open-drain=1
io-reset=1
rcv-sel=1
io-hv=1
schmitt=0
pull-down-strength=0
pull-up-strength=0
drive-type=0
gpio-mode=0
function=rsvd1
126 (uart4_rts_ph5):
pull=0
tristate=0
enable-input=0
open-drain=0
io-reset=0
rcv-sel=0
io-hv=0
schmitt=0
pull-down-strength=0
pull-up-strength=0
drive-type=0
gpio-mode=0
function=rsvd2
127 (uart4_rx_ph4):
pull=0
tristate=0
enable-input=0
open-drain=1
io-reset=1
rcv-sel=1
io-hv=1
schmitt=0
pull-down-strength=0
pull-up-strength=0
drive-type=0
gpio-mode=0
function=rsvd1
128 (uart4_tx_ph3):
pull=0
tristate=0
enable-input=0
open-drain=0
io-reset=0
rcv-sel=0
io-hv=0
schmitt=0
pull-down-strength=0
pull-up-strength=0
drive-type=0
gpio-mode=0
function=rsvd2