.. _SD.Bootloader.PinmuxGpioConfig: .. include:: /content/swdocs.rsts .. spelling:: pad init DTS sdmmc hv eqos io ao ufs qspi DTSI SoC PMC IMPL bct GPIO pinmux dtsi pinctrl lpdr tristate ps PADCTL Pinmux and GPIO Configuration !!!!!!!!!!!!!!!!!!!!!!!!!!!!! The pinmux configuration file provides pinmux and GPIO configuration, which is generated by using the pinmux spreadsheet. The stark contrast in the New DTS format with respect to the old legacy format is because of the pinmux sheet output. The pinmux DTS file is in the ``hardware/nvidia/platform/t23x//bct/`` directory. Here is the new DTS format example of a pad-voltage configuration file: .. code-block:: none /*This dtsi file was generated by e3360_1099_slt_a01.xlsm Revision: 126 */ #include / { pmc@2430000 { pinctrl-names = "default", "drive", "unused"; pinctrl-0 = <&pinmux_default>; pinctrl-1 = <&drive_default>; pinctrl-2 = <&pinmux_unused_lowpower>; pinmux_default: common { nvidia,pins = "dap1_sclk_ps0"; nvidia,function = "i2s1"; nvidia,pull = ; nvidia,tristate = ; nvidia,enable-input = ; nvidia,lpdr = ; }; dap1_dout_ps1 { nvidia,pins = "dap1_dout_ps1"; nvidia,function = "i2s1"; nvidia,pull = ; nvidia,tristate = ; nvidia,enable-input = ; nvidia,lpdr = ; }; dap1_din_ps2 { nvidia,pins = "dap1_din_ps2"; nvidia,function = "i2s1"; nvidia,pull = ; nvidia,tristate = ; nvidia,enable-input = ; nvidia,lpdr = ; }; dap1_fs_ps3 { nvidia,pins = "dap1_fs_ps3"; nvidia,function = "i2s1"; nvidia,pull = ; nvidia,tristate = ; nvidia,enable-input = ; nvidia,lpdr = ; }; aud_mclk_ps4 { nvidia,pins = "aud_mclk_ps4"; nvidia,function = "aud"; nvidia,pull = ; nvidia,tristate = ; nvidia,enable-input = ; nvidia,lpdr = ; }; soc_gpio31_ps6 { nvidia,pins = "soc_gpio31_ps6"; nvidia,function = "sdmmc1"; nvidia,pull = ; nvidia,tristate = ; nvidia,enable-input = ; nvidia,lpdr = ; }; soc_gpio32_ps7 { nvidia,pins = "soc_gpio32_ps7"; nvidia,function = "spdif"; nvidia,pull = ; nvidia,tristate = ; nvidia,enable-input = ; nvidia,lpdr = ; }; soc_gpio33_pt0 { nvidia,pins = "soc_gpio33_pt0"; nvidia,function = "spdif"; nvidia,pull = ; nvidia,tristate = ; nvidia,enable-input = ; nvidia,lpdr = ; }; }; drive_default: drive { }; }; }; .. note:: In the kernel, some Pinmux configurations in MB1 BCT might be overridden. In the SPI2_MOSI pin, for example, to remove the following node from the kernel device tree: .. code-block:: none dsi_vdd_1v8_bl_en: regulator@116 { compatible = "regulator-fixed"; reg = <116>; regulator-name = "dsi-vdd-1v8-bl-en"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; vin-supply = <&p3737_vdd_1v8_sys>; gpio = <&tegra_aon_gpio TEGRA234_AON_GPIO(CC, 2) 0>; //CAM_INT3, GPIO_ACTIVE_HIGH == 0 enable-active-high; }; Here is the previous CFG format: .. code-block:: none //////// Pinmux for used pins //////// pinmux.0x02434060 = ; // gen1_i2c_scl_pc5.PADCTL_CONN_GEN1_I2C_SCL_0 pinmux.0x02434064 = ; // gen1_i2c_scl_pc5.PADCTL_CONN_CFG2TMC_GEN1_I2C_SCL_0 pinmux.0x02434068 = ; // gen1_i2c_sda_pc6.PADCTL_CONN_GEN1_I2C_SDA_0 pinmux.0x0243406C = ; // gen1_i2c_sda_pc6.PADCTL_CONN_CFG2TMC_GEN1_I2C_DA_0 //////// Pinmux for unused pins for low-power configuration //////// pinmux.0x02434040 = ; // gpio_wan4_ph0.PADCTL_CONN_GPIO_WAN4_0 pinmux.0x02434044 = ; // gpio_wan4_ph0.PADCTL_CONN_CFG2TMC_GPIO_WAN4_0 pinmux.0x02434048 = ; // gpio_wan3_ph1.PADCTL_CONN_GPIO_WAN3_0 pinmux.0x0243404C = ; // gpio_wan3_ph1.PADCTL_CONN_CFG2TMC_GPIO_WAN3_0