Jetson nano DTB file

Dear,

I have a custom DTB. The Kernel is using this DTB file no problem.
We are having difficulties during boot. It look like the DTB file is not used in UBoot, TegraBoot or Cboot, only in Linux.

I have replaced the tegra210-p3448-0002-p3449-0000-b00.dtb file with our own in Linux_for_Tegra/kernel/dtb.

I presume this will be used in the Kernel.
I found the same file in Linux_for_Tegra/bootloader I also replaced this file.

In Linux the changed GPIO’s are working as expected. But during booting, the ‘default’ DTB or settings are used. Can we change the behavior of the GPIO’s during boot using a DTB?

Second question,
I have made a custom .conf file and EMMC_CGF file.
The contents of the .conf file are:

#!/bin/bash
EMMC_CFG=flash_l4t_t210_cust.xml;
BLBlockSize=1048576;
source “${LDK_DIR}/p3448-0000.conf.common”;
T21BINARGS="–bins "EBT cboot.bin; "
CMDLINE_ADD=“console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1”;

DTB_FILE=tegra210-p3448-0002-cust.dtb;
ROOTFSSIZE=12GiB;
VERFILENAME=“emmc_bootblob_ver.txt”;
OTA_BOOT_DEVICE="/dev/mmcblk0boot0";
OTA_GPT_DEVICE="/dev/mmcblk0boot1";

The EMMC_CFG file is used correctly. The DTB file is not used I think, am I missing something?

hello koen.schoutens,

it’s CBoot functionality includes a default booting scan sequence. please check /boot/extlinux/extlinux.conf.
it’ll load the device tree binary file if you’d specify the FDT entry.

you may also have a try with Flashing a Specific Partition,
you’re able to flash a specific partition instead of flashing the whole device by using the command line switch ‑k.
for example, $ sudo ./flash.sh -k DTB jetson-nano-emmc mmcblk0p1
thanks

Dear JerryChang,

I am aware of the -k switch. This is working when booted into Linux.

The problem is, for our application we have some GPIO’s used as indicators. We would like to keep these off during boot.
I used sudo ./flash.sh -k DTB -d <path/to/custom.dtb> jetson-nano-custom mmcblk0p1

This succesfully flashes the DTB, but the changes only applies in the Kernel, not uboot/Cboot.
I also tried to change the custom.dtb to tegra210-p3448-0002-p3449-0000-b00.dtb in the kernel/dtb and bootloader/ folders.

hello koen.schoutens,

may I know the pin modifications you would like to done?
please refer to Pinmux Changes to define your board’s pinmux configuration.
thanks

Yes, we are trying to change the following pins to output:
GPIO04 I01
GPIO05 H07
GPIO06 I00
GPIO07 V00
GPIO09 BB00
GPIO10 V01
GPIO13 E06
GPIO14 E07

We already have a dtsi file for the required gpio changes,. Would it be possible to add this to the hardware/nvidia/platform/t210/porg/kernel-dts/porg-platforms folder and build the device tree?

hello koen.schoutens,

please access Jetson Nano Pinmux through download center for reference,
these GPIOs has already configured as output by default.

GPIO04 / GPIO3_PI.01
GPIO05 / GPIO3_PH.07
GPIO06 / GPIO3_PI.00

there’re several GPIOs configured as input by default.

GPIO07 / GPIO3_PV.00 (input)
GPIO09 / GPIO3_PBB.00 (input)
GPIO10 / GPIO3_PV.01 (input)
GPIO13 / GPIO3_PE.06 (input)

and GPIO14 by default setting as PWM. you may have update the pin muxing and re-flash the board to change board configuration.

GPIO14 / PM3_PWM3

you may using pinmux spreadsheet to generate board configure files,
please copy the generated .dtsi files from the directory that contains the spreadsheet, and rebuild the device tree blob in order to update the board.
thanks

Do the full flash and it shall work. Bootloader dtb and kernel dtb are in different partitions.

I have successfully flashed the device tree, the GPIO behaviour is much better now. Only during boot, the indicators flash for about ~0.5 seconds in an incorrect state. When the device enters Tegraboot, the indicators turn to our default. Could this be an error in the pinmux?

pinmux file:
`This dtsi file was generated by jetson_nano_module.xlsm Revision: 1,01 /
/

  • Copyright © 2019, NVIDIA CORPORATION. All rights reserved.
  • This program is free software; you can redistribute it and/or modify
  • it under the terms of the GNU General Public License as published by
  • the Free Software Foundation; either version 2 of the License, or
  • (at your option) any later version.
  • This program is distributed in the hope that it will be useful, but WITHOUT
  • ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  • FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  • more details.
  • You should have received a copy of the GNU General Public License along
  • with this program; if not, write to the Free Software Foundation, Inc.,
  • 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    */

#include <dt-bindings/pinctrl/pinctrl-tegra.h>

/ {
pinmux: pinmux@700008d4 {
status = “okay”;
pinctrl-names = “default”, “drive”, “unused”;
pinctrl-0 = <&pinmux_default>;
pinctrl-1 = <&drive_default>;
pinctrl-2 = <&pinmux_unused_lowpower>;

	pinmux_default: common {
		/* SFIO Pin Configuration */
		dvfs_pwm_pbb1 {
			nvidia,pins = "dvfs_pwm_pbb1";
			nvidia,function = "cldvfs";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		dmic1_clk_pe0 {
			nvidia,pins = "dmic1_clk_pe0";
			nvidia,function = "i2s3";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		dmic1_dat_pe1 {
			nvidia,pins = "dmic1_dat_pe1";
			nvidia,function = "i2s3";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		dmic2_clk_pe2 {
			nvidia,pins = "dmic2_clk_pe2";
			nvidia,function = "i2s3";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		dmic2_dat_pe3 {
			nvidia,pins = "dmic2_dat_pe3";
			nvidia,function = "i2s3";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		gen3_i2c_scl_pf0 {
			nvidia,pins = "gen3_i2c_scl_pf0";
			nvidia,function = "i2c3";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
		};

		gen3_i2c_sda_pf1 {
			nvidia,pins = "gen3_i2c_sda_pf1";
			nvidia,function = "i2c3";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
		};

		cam_i2c_scl_ps2 {
			nvidia,pins = "cam_i2c_scl_ps2";
			nvidia,function = "i2cvi";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
		};

		cam_i2c_sda_ps3 {
			nvidia,pins = "cam_i2c_sda_ps3";
			nvidia,function = "i2cvi";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
		};

		cam1_mclk_ps0 {
			nvidia,pins = "cam1_mclk_ps0";
			nvidia,function = "extperiph3";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		cam2_mclk_ps1 {
			nvidia,pins = "cam2_mclk_ps1";
			nvidia,function = "extperiph3";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pex_l0_clkreq_n_pa1 {
			nvidia,pins = "pex_l0_clkreq_n_pa1";
			nvidia,function = "pe0";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
		};

		pex_l0_rst_n_pa0 {
			nvidia,pins = "pex_l0_rst_n_pa0";
			nvidia,function = "pe0";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
		};

		pex_l1_clkreq_n_pa4 {
			nvidia,pins = "pex_l1_clkreq_n_pa4";
			nvidia,function = "pe1";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
		};

		pex_l1_rst_n_pa3 {
			nvidia,pins = "pex_l1_rst_n_pa3";
			nvidia,function = "pe1";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
		};

		pex_wake_n_pa2 {
			nvidia,pins = "pex_wake_n_pa2";
			nvidia,function = "pe";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
		};

		sdmmc1_clk_pm0 {
			nvidia,pins = "sdmmc1_clk_pm0";
			nvidia,function = "sdmmc1";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		sdmmc1_cmd_pm1 {
			nvidia,pins = "sdmmc1_cmd_pm1";
			nvidia,function = "sdmmc1";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		sdmmc1_dat0_pm5 {
			nvidia,pins = "sdmmc1_dat0_pm5";
			nvidia,function = "sdmmc1";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		sdmmc1_dat1_pm4 {
			nvidia,pins = "sdmmc1_dat1_pm4";
			nvidia,function = "sdmmc1";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		sdmmc1_dat2_pm3 {
			nvidia,pins = "sdmmc1_dat2_pm3";
			nvidia,function = "sdmmc1";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		sdmmc1_dat3_pm2 {
			nvidia,pins = "sdmmc1_dat3_pm2";
			nvidia,function = "sdmmc1";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		sdmmc3_clk_pp0 {
			nvidia,pins = "sdmmc3_clk_pp0";
			nvidia,function = "sdmmc3";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		sdmmc3_cmd_pp1 {
			nvidia,pins = "sdmmc3_cmd_pp1";
			nvidia,function = "sdmmc3";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		sdmmc3_dat0_pp5 {
			nvidia,pins = "sdmmc3_dat0_pp5";
			nvidia,function = "sdmmc3";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		sdmmc3_dat1_pp4 {
			nvidia,pins = "sdmmc3_dat1_pp4";
			nvidia,function = "sdmmc3";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		sdmmc3_dat2_pp3 {
			nvidia,pins = "sdmmc3_dat2_pp3";
			nvidia,function = "sdmmc3";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		sdmmc3_dat3_pp2 {
			nvidia,pins = "sdmmc3_dat3_pp2";
			nvidia,function = "sdmmc3";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		shutdown {
			nvidia,pins = "shutdown";
			nvidia,function = "shutdown";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		lcd_gpio2_pv4 {
			nvidia,pins = "lcd_gpio2_pv4";
			nvidia,function = "pwm1";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pwr_i2c_scl_py3 {
			nvidia,pins = "pwr_i2c_scl_py3";
			nvidia,function = "i2cpmu";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
		};

		pwr_i2c_sda_py4 {
			nvidia,pins = "pwr_i2c_sda_py4";
			nvidia,function = "i2cpmu";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
		};

		clk_32k_in {
			nvidia,pins = "clk_32k_in";
			nvidia,function = "clk";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		clk_32k_out_py5 {
			nvidia,pins = "clk_32k_out_py5";
			nvidia,function = "soc";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		pz1 {
			nvidia,pins = "pz1";
			nvidia,function = "sdmmc1";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		pz5 {
			nvidia,pins = "pz5";
			nvidia,function = "soc";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		core_pwr_req {
			nvidia,pins = "core_pwr_req";
			nvidia,function = "core";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pwr_int_n {
			nvidia,pins = "pwr_int_n";
			nvidia,function = "pmi";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		gen1_i2c_scl_pj1 {
			nvidia,pins = "gen1_i2c_scl_pj1";
			nvidia,function = "i2c1";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
		};

		gen1_i2c_sda_pj0 {
			nvidia,pins = "gen1_i2c_sda_pj0";
			nvidia,function = "i2c1";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
		};

		gen2_i2c_scl_pj2 {
			nvidia,pins = "gen2_i2c_scl_pj2";
			nvidia,function = "i2c2";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
		};

		gen2_i2c_sda_pj3 {
			nvidia,pins = "gen2_i2c_sda_pj3";
			nvidia,function = "i2c2";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
		};

		uart2_tx_pg0 {
			nvidia,pins = "uart2_tx_pg0";
			nvidia,function = "uartb";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		uart2_rx_pg1 {
			nvidia,pins = "uart2_rx_pg1";
			nvidia,function = "uartb";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		uart1_tx_pu0 {
			nvidia,pins = "uart1_tx_pu0";
			nvidia,function = "uarta";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		uart1_rx_pu1 {
			nvidia,pins = "uart1_rx_pu1";
			nvidia,function = "uarta";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		jtag_rtck {
			nvidia,pins = "jtag_rtck";
			nvidia,function = "jtag";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		uart3_tx_pd1 {
			nvidia,pins = "uart3_tx_pd1";
			nvidia,function = "uartc";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		uart3_rx_pd2 {
			nvidia,pins = "uart3_rx_pd2";
			nvidia,function = "uartc";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		uart3_rts_pd3 {
			nvidia,pins = "uart3_rts_pd3";
			nvidia,function = "uartc";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		uart3_cts_pd4 {
			nvidia,pins = "uart3_cts_pd4";
			nvidia,function = "uartc";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		uart4_tx_pi4 {
			nvidia,pins = "uart4_tx_pi4";
			nvidia,function = "uartd";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		uart4_rx_pi5 {
			nvidia,pins = "uart4_rx_pi5";
			nvidia,function = "uartd";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		uart4_rts_pi6 {
			nvidia,pins = "uart4_rts_pi6";
			nvidia,function = "uartd";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		uart4_cts_pi7 {
			nvidia,pins = "uart4_cts_pi7";
			nvidia,function = "uartd";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		qspi_io0_pee2 {
			nvidia,pins = "qspi_io0_pee2";
			nvidia,function = "qspi";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		qspi_io1_pee3 {
			nvidia,pins = "qspi_io1_pee3";
			nvidia,function = "qspi";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		qspi_sck_pee0 {
			nvidia,pins = "qspi_sck_pee0";
			nvidia,function = "qspi";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		qspi_cs_n_pee1 {
			nvidia,pins = "qspi_cs_n_pee1";
			nvidia,function = "qspi";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		qspi_io2_pee4 {
			nvidia,pins = "qspi_io2_pee4";
			nvidia,function = "qspi";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		qspi_io3_pee5 {
			nvidia,pins = "qspi_io3_pee5";
			nvidia,function = "qspi";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		dap2_din_paa2 {
			nvidia,pins = "dap2_din_paa2";
			nvidia,function = "i2s2";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		dap2_dout_paa3 {
			nvidia,pins = "dap2_dout_paa3";
			nvidia,function = "i2s2";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		dap2_fs_paa0 {
			nvidia,pins = "dap2_fs_paa0";
			nvidia,function = "i2s2";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		dap2_sclk_paa1 {
			nvidia,pins = "dap2_sclk_paa1";
			nvidia,function = "i2s2";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		dp_hpd0_pcc6 {
			nvidia,pins = "dp_hpd0_pcc6";
			nvidia,function = "dp";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		hdmi_int_dp_hpd_pcc1 {
			nvidia,pins = "hdmi_int_dp_hpd_pcc1";
			nvidia,function = "dp";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
		};

		hdmi_cec_pcc0 {
			nvidia,pins = "hdmi_cec_pcc0";
			nvidia,function = "cec";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
		};

		/* GPIO Pin Configuration */
		aud_mclk_pbb0 {
			nvidia,pins = "aud_mclk_pbb0";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		spi2_mosi_pb4 {
			nvidia,pins = "spi2_mosi_pb4";
			nvidia,function = "rsvd2";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		spi2_miso_pb5 {
			nvidia,pins = "spi2_miso_pb5";
			nvidia,function = "rsvd2";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		spi2_sck_pb6 {
			nvidia,pins = "spi2_sck_pb6";
			nvidia,function = "rsvd2";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		spi2_cs0_pb7 {
			nvidia,pins = "spi2_cs0_pb7";
			nvidia,function = "rsvd2";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		spi2_cs1_pdd0 {
			nvidia,pins = "spi2_cs1_pdd0";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		pe6 {
			nvidia,pins = "pe6";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pe7 {
			nvidia,pins = "pe7";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		cam_af_en_ps5 {
			nvidia,pins = "cam_af_en_ps5";
			nvidia,function = "rsvd2";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		cam1_pwdn_ps7 {
			nvidia,pins = "cam1_pwdn_ps7";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		cam2_pwdn_pt0 {
			nvidia,pins = "cam2_pwdn_pt0";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		sata_led_active_pa5 {
			nvidia,pins = "sata_led_active_pa5";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		pa6 {
			nvidia,pins = "pa6";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		als_prox_int_px3 {
			nvidia,pins = "als_prox_int_px3";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		temp_alert_px4 {
			nvidia,pins = "temp_alert_px4";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		button_power_on_px5 {
			nvidia,pins = "button_power_on_px5";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		button_vol_up_px6 {
			nvidia,pins = "button_vol_up_px6";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		button_home_py1 {
			nvidia,pins = "button_home_py1";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		lcd_te_py2 {
			nvidia,pins = "lcd_te_py2";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		lcd_bl_pwm_pv0 {
			nvidia,pins = "lcd_bl_pwm_pv0";
			nvidia,function = "rsvd3";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		lcd_bl_en_pv1 {
			nvidia,pins = "lcd_bl_en_pv1";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pz0 {
			nvidia,pins = "pz0";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		pz2 {
			nvidia,pins = "pz2";
			nvidia,function = "rsvd2";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		pz3 {
			nvidia,pins = "pz3";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		dap4_din_pj5 {
			nvidia,pins = "dap4_din_pj5";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		dap4_dout_pj6 {
			nvidia,pins = "dap4_dout_pj6";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		dap4_fs_pj4 {
			nvidia,pins = "dap4_fs_pj4";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		dap4_sclk_pj7 {
			nvidia,pins = "dap4_sclk_pj7";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		uart2_rts_pg2 {
			nvidia,pins = "uart2_rts_pg2";
			nvidia,function = "rsvd2";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		uart2_cts_pg3 {
			nvidia,pins = "uart2_cts_pg3";
			nvidia,function = "rsvd2";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		spi1_mosi_pc0 {
			nvidia,pins = "spi1_mosi_pc0";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		spi1_miso_pc1 {
			nvidia,pins = "spi1_miso_pc1";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		spi1_sck_pc2 {
			nvidia,pins = "spi1_sck_pc2";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		spi1_cs0_pc3 {
			nvidia,pins = "spi1_cs0_pc3";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		spi1_cs1_pc4 {
			nvidia,pins = "spi1_cs1_pc4";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		wifi_en_ph0 {
			nvidia,pins = "wifi_en_ph0";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		wifi_wake_ap_ph2 {
			nvidia,pins = "wifi_wake_ap_ph2";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		ap_wake_bt_ph3 {
			nvidia,pins = "ap_wake_bt_ph3";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		bt_rst_ph4 {
			nvidia,pins = "bt_rst_ph4";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		bt_wake_ap_ph5 {
			nvidia,pins = "bt_wake_ap_ph5";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		ph6 {
			nvidia,pins = "ph6";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
		};

		ap_wake_nfc_ph7 {
			nvidia,pins = "ap_wake_nfc_ph7";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		nfc_en_pi0 {
			nvidia,pins = "nfc_en_pi0";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		nfc_int_pi1 {
			nvidia,pins = "nfc_int_pi1";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		gps_en_pi2 {
			nvidia,pins = "gps_en_pi2";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pcc7 {
			nvidia,pins = "pcc7";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
		};

		usb_vbus_en0_pcc4 {
			nvidia,pins = "usb_vbus_en0_pcc4";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_UP>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
		};
	};

	pinmux_unused_lowpower: unused_lowpower {
		dvfs_clk_pbb2 {
			nvidia,pins = "dvfs_clk_pbb2";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		gpio_x1_aud_pbb3 {
			nvidia,pins = "gpio_x1_aud_pbb3";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		gpio_x3_aud_pbb4 {
			nvidia,pins = "gpio_x3_aud_pbb4";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		dap1_din_pb1 {
			nvidia,pins = "dap1_din_pb1";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		dap1_dout_pb2 {
			nvidia,pins = "dap1_dout_pb2";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		dap1_fs_pb0 {
			nvidia,pins = "dap1_fs_pb0";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		dap1_sclk_pb3 {
			nvidia,pins = "dap1_sclk_pb3";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		dmic3_clk_pe4 {
			nvidia,pins = "dmic3_clk_pe4";
			nvidia,function = "rsvd2";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		dmic3_dat_pe5 {
			nvidia,pins = "dmic3_dat_pe5";
			nvidia,function = "rsvd2";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		cam_rst_ps4 {
			nvidia,pins = "cam_rst_ps4";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		cam_flash_en_ps6 {
			nvidia,pins = "cam_flash_en_ps6";
			nvidia,function = "rsvd2";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		cam1_strobe_pt1 {
			nvidia,pins = "cam1_strobe_pt1";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		motion_int_px2 {
			nvidia,pins = "motion_int_px2";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		touch_rst_pv6 {
			nvidia,pins = "touch_rst_pv6";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		touch_clk_pv7 {
			nvidia,pins = "touch_clk_pv7";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		touch_int_px1 {
			nvidia,pins = "touch_int_px1";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		modem_wake_ap_px0 {
			nvidia,pins = "modem_wake_ap_px0";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		button_vol_down_px7 {
			nvidia,pins = "button_vol_down_px7";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		button_slide_sw_py0 {
			nvidia,pins = "button_slide_sw_py0";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		lcd_rst_pv2 {
			nvidia,pins = "lcd_rst_pv2";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		lcd_gpio1_pv3 {
			nvidia,pins = "lcd_gpio1_pv3";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		ap_ready_pv5 {
			nvidia,pins = "ap_ready_pv5";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pz4 {
			nvidia,pins = "pz4";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		clk_req {
			nvidia,pins = "clk_req";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		cpu_pwr_req {
			nvidia,pins = "cpu_pwr_req";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		uart1_rts_pu2 {
			nvidia,pins = "uart1_rts_pu2";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		uart1_cts_pu3 {
			nvidia,pins = "uart1_cts_pu3";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pk0 {
			nvidia,pins = "pk0";
			nvidia,function = "rsvd2";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pk1 {
			nvidia,pins = "pk1";
			nvidia,function = "rsvd2";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pk2 {
			nvidia,pins = "pk2";
			nvidia,function = "rsvd2";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pk3 {
			nvidia,pins = "pk3";
			nvidia,function = "rsvd2";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pk4 {
			nvidia,pins = "pk4";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pk5 {
			nvidia,pins = "pk5";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pk6 {
			nvidia,pins = "pk6";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pk7 {
			nvidia,pins = "pk7";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pl0 {
			nvidia,pins = "pl0";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		pl1 {
			nvidia,pins = "pl1";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		spi4_mosi_pc7 {
			nvidia,pins = "spi4_mosi_pc7";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		spi4_miso_pd0 {
			nvidia,pins = "spi4_miso_pd0";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		spi4_sck_pc5 {
			nvidia,pins = "spi4_sck_pc5";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		spi4_cs0_pc6 {
			nvidia,pins = "spi4_cs0_pc6";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		wifi_rst_ph1 {
			nvidia,pins = "wifi_rst_ph1";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		gps_rst_pi3 {
			nvidia,pins = "gps_rst_pi3";
			nvidia,function = "rsvd0";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		spdif_out_pcc2 {
			nvidia,pins = "spdif_out_pcc2";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		spdif_in_pcc3 {
			nvidia,pins = "spdif_in_pcc3";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
		};

		usb_vbus_en1_pcc5 {
			nvidia,pins = "usb_vbus_en1_pcc5";
			nvidia,function = "rsvd1";
			nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			nvidia,tristate = <TEGRA_PIN_ENABLE>;
			nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
		};
	};

	drive_default: drive {
	};
};

relevant

gpio default file:
#include <dt-bindings/gpio/tegra-gpio.h>
gpio: gpio@6000d000 {
gpio-init-names = “default”;
gpio-init-0 = <&gpio_default>;
gpio_default: default {
gpio-input = <
TEGRA_GPIO(A, 5)
TEGRA_GPIO(X, 4)
TEGRA_GPIO(X, 5)
TEGRA_GPIO(X, 6)
TEGRA_GPIO(Y, 1)
TEGRA_GPIO(Z, 2) // GPIO08
TEGRA_GPIO(H, 2)
TEGRA_GPIO(H, 5)
TEGRA_GPIO(H, 6) // GPIO02
// Add GPIO03 as input
TEGRA_GPIO(I, 2) // GPIO03
TEGRA_GPIO(CC, 4)// GPIO00
>;
gpio-output-low = <
TEGRA_GPIO(S, 7)
TEGRA_GPIO(T, 0)
TEGRA_GPIO(Z, 3)
TEGRA_GPIO(H, 0)
TEGRA_GPIO(H, 3)
TEGRA_GPIO(H, 4)
TEGRA_GPIO(I, 1) // GPIO04 RTSP1_GLED
TEGRA_GPIO(I, 0) // GPIO06 RTSP2_GLED
TEGRA_GPIO(BB, 0) // GPIO09 RTSP3_GLED
TEGRA_GPIO(E, 6) // GPIO13 SYSDEFAULT_GLED
/* Don’t config GPIO03 as output, DONE_T is used as input
TEGRA_GPIO(I, 2) // GPIO03
*/
>;
gpio-output-high = <
TEGRA_GPIO(H, 7) // GPIO05 RTSP1_RLED
TEGRA_GPIO(V, 0) // GPIO10 RTSP2_RLED
TEGRA_GPIO(V, 1) // GPIO10 RTSP3_RLED
TEGRA_GPIO(E, 7) // GPIO14 SYSDEFAULT_RLED
TEGRA_GPIO(A, 6)
TEGRA_GPIO(X, 3)
TEGRA_GPIO(CC, 7)
>;
};
};

hello koen.schoutens,

please check Jetson Nano Boot Flow, it’s Boot Configuration Table (i.e. P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg).

Dear Jerry,

I d not understand, if I open this file in ~/Linux_for_Tegra/bootloader/t210ref/BTC I only see a list of registers for the DDR, where do I need to look for the GPIO’s?

hello koen.schoutens,

my meant that’s not an error in the pinmux configuration,
since it’s BCT contains configuration parameters used by the BootROM for hardware initialization. later for the TegraBoot stage to load the bootloader device tree.

Hello Jerry,
I think you mean the following file:

CFG Version 13 Do not edit. Generated by t210_emc_reg_tool_P987.exe V9.8.7. Command: t210_emc_reg_tool_P987.exe -i Micron_lpddr4_MT53D512M32D2DS-046_2CH_1R_4GB_1866.par 4.90196078431372549019 -dram_board_cfg 39 -data_bus_to_0 1 -dsr_per_dev 0 -fly_by_time_ps 1100 -dbi_rd_en 1 -is_bkv 1 -t T214MID_LP4_tBKV_template_V1_P3448.xlsm_BKV.txt -o P3448_A00_4GB_P987_configs\P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg Parameter file: Micron_lpddr4_MT53D512M32D2DS-046_2CH_1R_4GB_1866.par, tck = 4.90 ns (204.00 MHz) SDRAM[0].MemoryType = NvBootMemoryType_LpDdr4; SDRAM[0].PllMInputDivider = 0x00000001; SDRAM[0].PllMFeedbackDivider = 0x00000022; SDRAM[0].PllMStableTime = 0x0000012c;

How how does this work? I cannot find this in the documentation.
I think I should add the register of the GPIO, and add the value?

hello koen.schoutens,

did you know which pin cause the indicator flash?

The following pins hould be on:

TEGRA_GPIO(H, 7) → GPIO05 → module pin 128
TEGRA_GPIO(V, 0) → GPIO7 → module pin 206
TEGRA_GPIO(V, 1) → GPIO10 → module pin 212
TEGRA_GPIO(E, 7) → GPIO14 → module pin 230

The following pins hould be off:
TEGRA_GPIO(I, 1) → GPIO04 → module pin 127
TEGRA_GPIO(I, 0) → GPIO06 → module pin 130
TEGRA_GPIO(BB, 0) → GPIO09–> module pin 211
TEGRA_GPIO(E, 6) → GPIO13 → module pin 228

Hi koen.schoutens,
Only from dtb, pinmux settings get applied. So, if you have made changes correctly, it should be reflected fine. If you are saying in kernel, above mentioned pins are on/off as per your need then indicators flash may be due to some other reason. I would like to get confirmation if in kernel, your settings are applied.
Get gpio number:
Port are mapped like below:
A-> 0
Z-> 25
BB-> 27

Example for (H,7):
GPIO= (port8+offset) = 78+7= 63

echo 63 > /sys/class/gpio/export
cat /sys/class/gpio/gpio63/direction
Let me know the results for all above GPIO pins.

Thanks,
Shubhi