TX1 GPIO/pinmux changes

I need to make some very minor changes to the default pin configuration on my TX1. Specifically, I’m looking to set pins 148 and 149 (cam_rst_ps4 and cam_af_en_ps5, respectively) to be inputs, and pin 152 (cam2_pwdn_pt0) to drive 1 as its initial state.

I’ve downloaded the TX1 pinmux spreadsheet [1], and I’ve been able to make the appropriate changes and create two dtsi files named *-pinmux.dtsi and *-gpio-default.dtsi. My question is how to apply these when I’m building my kernel.

I’ve done a little poking around and I think the changes from *-pinmux.dtsi need to go into <kernel_src>/arch/arm64/boot/dts/tegra210-platforms/tegra210-jetson-cv-pinmux-p2597-2180-a00.dtsi, but admittedly it’s just a guess. I have no idea where to put the *-gpio-default.dtsi stuff.

[1] https://developer.nvidia.com/embedded/dlc/jetson-tx1-module-pinmux

Hi, have you seen this post about re-compiling DTS / DTB?

In order to switch between DTB’s during development, the active DTB that’s loaded can be changed in /boot/extlinux/extlinux.conf

Hi Dusty, thanks for the response.

I had seen a couple posts by linuxdev describing how to de-compile and re-compile dtb files, and I’d located the tegra210-jetson-cv-pinmux-p2597-2180-a00.dtsi file I mentioned in the original post based on what’s currently referenced in my extlinux.conf file. At this point, I’m pretty confident that’s the right spot for the changes in the *-pinmux.dtsi file produced by the pinmux spreadsheet.

I’m still not sure where to put my changes from the spreadsheet’s *-gpio-default.dtsi file. Before I made any changes in the spreadsheet, I saved a copy of the output files and I’ve been using those for comparison to see what actually changed once I made my modifications for pins 148/149/152. The *-gpio-default.dtsi files have a number of calls to TEGRA_GPIO() separated into 3 groups: gpio-input, gpio-output-low, and gpio-output-high. When I diff the two versions of the file, the calls for pins S4 and S5 move from gpio-output-low to gpio-input, and the call for pin T0 moves from gpio-output-low to gpio-output-high. This all seems to match the changes I made in the spreadsheet.

Any idea which file these changes belong in? There’s a file in the tegra210-platforms directory called tegra210-jetson-e-gpio-p2530-0930-e03.dtsi. That has the same general format as the two *-gpio-default.dtsi files produced by the spreadsheet, but the naming syntax is different from both my extlinux.conf file and the pinmux file I’ve already edited. Any idea what the “p2597-2180” and “p2530-0930” portions of the filename are for?

Those are hardware board ID’s, p2597 indicates support for Jetson TX1.

Have you #included or copy/pasted the gpio-default.dtsi in the dts before re-building the dtb with dtc tool?