Here are the environment details for the Jetson AGX Orin development kit that I’m using.
JetPack version: 5.0.2
L4T Kernel: R35.1
Pinmux sheet downloaded from the Nvidia download center for Orin.
So, before approaching you, I attempted to modify the Pinmux settings based on my prior expertise.
Changed the GPIO pins to I2S2 pins using the Pinmux spreadsheet. Please see the attached image. The .dtsi file for Pinmux, GPIO, and pad voltage was generated.
I updated the dtsi files that reference this page Linux for Tegra/bootloader/ and Linux for Tegra/bootloader/t186ref/BCT/tegra234-mb1-bct-pinmux-p3701-0000-a04.dtsi and tegra234-mb1-bct-pinmux-p3701-0000.dtsi to change the GPIO pins to I2S2 pins.
Flashed the Orin Dev Kit using the command “sudo./flash.sh jetson-agx-orin-devkit mmcblk0p1”. However, the Orin kit does not reflect the modified pins.
As referred in this page, I replaced those 3 files in the /Linux for Tegra/bootloader folder, but I was unable to flash the Orin dev kit. Please see the attached image.
Flashed the Orin Dev Kit using the command “sudo./flash.sh jetson-agx-orin-devkit mmcblk0p1”. However, the Orin kit does not reflect the modified pins.
Have you checked the flash log from above step and confirm your pinmux dtsi file is really getting flashed?
Please find the attached flash log flash.log (83.3 KB)
I can see that the bootloader file’s. dtsi file was copied. copying pinmux_config(/home/parashuram/nvidia/nvidia_sdk/JetPack_5.0.2_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/bootloader/t186ref/BCT/tegra234-mb1-bct-pinmux-p3701-0000.dtsi)... done.
and also --pinmux_config tegra234-mb1-bct-pinmux-p3701-0000.dtsi --gpioint_config tegra234-mb1-bct-gpioint-p3701-0000.dts
Changed GPIO pins to I2S2 pins in spreadsheet and generated DT files and replaced pinmux dtsi changes in Linux for Tegra/bootloader/t186ref/BCT/tegra234-mb1-bct-pinmux-p3701-0000-a04.dtsi and tegra234-mb1-bct-pinmux-p3701-0000.dtsi.
Pinmix changes are made in both files tegra234-mb1-bct-gpio-p3701-0000-a04.dtsi and tegra234-mb1-bct-gpio-p3701-0000.dtsi
I can see that in the flash log this file is taking here copying pinmux_config(/home/parashuram/nvidia/nvidia_sdk/JetPack_5.0.2_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/bootloader/t186ref/BCT/tegra234-mb1-bct-pinmux-p3701-0000.dtsi)... done.
Complete log file is attached here flash.log (83.3 KB)
BTW, before going further, I have one thing to clarify here. It seems you didn’t get my point in previous comments.
I am not asking how you flashed your pinmux or changed your pinmux files.
My point is how did you check whether your pinmux is taking effect on the board or not?
You keep telling me how you flashed it or modified it “on your host PC”. But you didn’t tell me how you checked the pinmux status “on your board”.
For example, when you are doing (1), no matter what pinmux status you set before, this “export” and “set value” will lead the pinmux back to gpio.
Thus, no matter what you set before, maybe it is really in SFIO mode already. But it will be back to GPIO again when you export the node…
I think you could directly go to test audio function if this is what you are trying to do… if that does not work, then we can come back and read the pinctrol register value.