I am using Orin NX 16GB with a custom board, R35.3.1 , I modify this dtsi to config spi1 pinmux:
bootloader/t186ref/BCT/tegra234-mb1-bct-pinmux-p3767-hdmi-a03.dtsi
my spi1 pinnux is
spi1_sck_pz3 {
nvidia,pins = "spi1_sck_pz3";
nvidia,function = "spi1";
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
};
spi1_miso_pz4 {
nvidia,pins = "spi1_miso_pz4";
nvidia,function = "spi1";
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
};
spi1_mosi_pz5 {
nvidia,pins = "spi1_mosi_pz5";
nvidia,function = "spi1";
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
};
spi1_cs0_pz6 {
nvidia,pins = "spi1_cs0_pz6";
nvidia,function = "spi1";
nvidia,pull = <TEGRA_PIN_PULL_UP>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
};
spi1_cs1_pz7 {
nvidia,pins = "spi1_cs1_pz7";
nvidia,function = "spi1";
nvidia,pull = <TEGRA_PIN_PULL_UP>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
};
here is my p3509-a02+p3767-0000.conf
DEFAULT_EMC_FUSE="0";
PINMUX_CONFIG="tegra234-mb1-bct-pinmux-p3767-hdmi-a03.dtsi";
PMC_CONFIG="tegra234-mb1-bct-padvoltage-p3767-hdmi-a03.dtsi";
BPFDTB_FILE="tegra234-bpmp-3767-0000-a02-3509-a02.dtb";
DTB_FILE="tegra234-p3767-0000-p3509-a02.dtb";
TBCDTB_FILE="${DTB_FILE}";
EMMC_CFG="flash_t234_qspi.xml";
when flashed the system, I check the spi function not worked, the pinmux setting not worked
root@w:~# cat /sys/kernel/debug/pinctrl/pinctrl-handles
Requested pin control handlers their pinmux maps:
device: c360000.pmc current state: default
state: default
type: CONFIGS_PIN controller c360000.pmc pin sdmmc1-hv (56)config 00000080
type: CONFIGS_PIN controller c360000.pmc pin sdmmc3-hv (60)config 00000080
device: 3400000.sdhci current state: sdmmc-3v3
state: sdmmc-3v3
type: CONFIGS_PIN controller c360000.pmc pin sdmmc1-hv (56)config 00000112
state: sdmmc-1v8
type: CONFIGS_PIN controller c360000.pmc pin sdmmc1-hv (56)config 00000012
state: sdmmc-sdexp-enable
type: CONFIGS_GROUP controller 2430000.pinmux group sdmmc1_dat0_pj2 (98)config enable-input=0
type: CONFIGS_GROUP controller 2430000.pinmux group sdmmc1_dat1_pj3 (97)config enable-input=0
type: MUX_GROUP controller 2430000.pinmux group: sdmmc1_dat2_pj4 (96) function: rsvd1 (56)
type: CONFIGS_GROUP controller 2430000.pinmux group sdmmc1_dat2_pj4 (96)config enable-input=0
type: MUX_GROUP controller 2430000.pinmux group: sdmmc1_dat3_pj5 (95) function: rsvd1 (56)
type: CONFIGS_GROUP controller 2430000.pinmux group sdmmc1_dat3_pj5 (95)config enable-input=0
state: sdmmc-sdexp-disable
type: CONFIGS_GROUP controller 2430000.pinmux group sdmmc1_dat0_pj2 (98)config enable-input=1
type: CONFIGS_GROUP controller 2430000.pinmux group sdmmc1_dat1_pj3 (97)config enable-input=1
type: MUX_GROUP controller 2430000.pinmux group: sdmmc1_dat2_pj4 (96) function: sdmmc1 (31)
type: CONFIGS_GROUP controller 2430000.pinmux group sdmmc1_dat2_pj4 (96)config enable-input=1
type: MUX_GROUP controller 2430000.pinmux group: sdmmc1_dat3_pj5 (95) function: sdmmc1 (31)
type: CONFIGS_GROUP controller 2430000.pinmux group sdmmc1_dat3_pj5 (95)config enable-input=1
root@w:~#
root@w:~# dmesg | grep spi
[ 11.251281] spi-tegra114 3210000.spi: Adding to iommu group 1
[ 11.273474] spi-tegra114 3230000.spi: Adding to iommu group 1
root@w:~#
BTW, when I set pinmux by command , spi1 fuction works well,
devmem2 0x0243d008 w 0x00000400 # spi1_cs0
devmem2 0x0243d018 w 0x00000450 # spi1_miso
devmem2 0x0243d028 w 0x00000400 # spi1_sck
devmem2 0x0243d038 w 0x00000400 # spi1_cs1
devmem2 0x0243d040 w 0x00000400 # spi1_mosi
please help me to solve this. thanks