I am little bit confused with few things
mux pins (I2S0_ DIN DOUT CLK FS on SOM ) which is pins for I2S4 (PJ05,PJ06,PJ04,PJ07)
i am not able prove if it is GPIO or I2S4B
because if i
cat /sys/kernel/debug/tegra_gpio | grep J
J: 2:1 f0 00 00 00 00 00 000000
f0 mean thaht upper 4 bits of port are GPIO which is P04-P07
but in dts i has
dap4_din_pj5 {
nvidia,pins = "dap4_din_pj5";
nvidia,function = "i2s4b"; //miro change rsvd1 to i2s4b
nvidia,pull = <TEGRA_PIN_PULL_NONE>; //miro set NONE instead DOWN
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};
dap4_dout_pj6 {
nvidia,pins = "dap4_dout_pj6";
nvidia,function = "i2s4b"; //miro change rsvd1 to i2s4b
nvidia,pull = <TEGRA_PIN_PULL_NONE>; //miro set NONE instead DOWN
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,open-drain = <TEGRA_PIN_DISABLE>; // miro add this
};
dap4_fs_pj4 {
nvidia,pins = "dap4_fs_pj4";
nvidia,function = "i2s4b"; //miro change rsvd1 to i2s4b
nvidia,pull = <TEGRA_PIN_PULL_NONE>; //miro set NONE instead DOWN
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,open-drain = <TEGRA_PIN_DISABLE>; // miro add this
};
dap4_sclk_pj7 {
nvidia,pins = "dap4_sclk_pj7";
nvidia,function = "i2s4b"; //miro change rsvd1 to i2s4b
nvidia,pull = <TEGRA_PIN_PULL_NONE>; //miro set NONE instead DOWN
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,open-drain = <TEGRA_PIN_DISABLE>; // miro add this
};
which is correct
and if i try
grep dap4 /sys/kernel/debug/tegra_pinctrl_reg
Bank: 1 Reg: 0x70003144 Val: 0x00000040 -> dap4_fs_pj4
Bank: 1 Reg: 0x70003148 Val: 0x00000040 -> dap4_din_pj5
Bank: 1 Reg: 0x7000314c Val: 0x00000040 -> dap4_dout_pj6
Bank: 1 Reg: 0x70003150 Val: 0x00000040 -> dap4_sclk_pj7
and
cat /sys/kernel/debug/pinctrl/700008d4.pinmux/pinconf-groups | grep dap4
92 (dap4_fs_pj4):
93 (dap4_din_pj5):
94 (dap4_dout_pj6):
95 (dap4_sclk_pj7):
so where is the problem