Hi,
I have been trying hard to get the pins 16, 18 and 32 to output but failing. The issue I am facing is that after applying the overlay using jetson-io.py the pins do not respond properly when changed gpioset from command line. It sometimes toggle and sometimes it wont. I am using multi-meter to measure the voltage. But one interesting thing that I have seen is that If I make a gpio on 40 pin header as input and read any of the above gpios using it, it shows high and low states and even logic analyzer shows that but not the DMM and if I put some load on it, it also doesn’t toggle properly.
This is my dts for the overlay.
/dts-v1/;
/plugin/;
/ {
jetson-header-name = "Jetson 40pin Header";
overlay-name = "My Custom Header 1.0";
compatible = "nvidia,p3768-0000+p3767-0000\0nvidia,p3768-0000+p3767-0001\0nvidia,p3768-0000+p3767-0003\0nvidia,p3768-0000+p3767-0004\0nvidia,p3768-0000+p3767-0005\0nvidia,p3768-0000+p3767-0000-super\0nvidia,p3768-0000+p3767-0001-super\0nvidia,p3768-0000+p3767-0003-super\0nvidia,p3768-0000+p3767-0004-super\0nvidia,p3768-0000+p3767-0005-super\0nvidia,p3509-0000+p3767-0000\0nvidia,p3509-0000+p3767-0001\0nvidia,p3509-0000+p3767-0003\0nvidia,p3509-0000+p3767-0004\0nvidia,p3509-0000+p3767-0005";
fragment@0 {
target-path = "/bus@0/spi@3230000";
__overlay__ {
status = "disabled";
};
};
fragment@1 {
target = <&pinmux>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&jetson_io_pinmux>;
jetson_io_pinmux: exp-header-pinmux {
hdr40-pin12 {
nvidia,pins = "soc_gpio41_ph7";
nvidia,tristate = <0x0>;
nvidia,enable-input = <0x0>;
nvidia,pull = <0x0>;
nvidia,lpdr = <0x0>;
};
hdr40-pin16 {
nvidia,pins = "spi3_cs1_py4";
nvidia,tristate = <0x0>;
nvidia,enable-input = <0x0>;
nvidia,pull = <0x0>;
nvidia,io-high-voltage = <0x1>;
nvidia,lpdr = <0x0>;
};
hdr40-pin18 {
nvidia,pins = "spi3_cs0_py3";
nvidia,tristate = <0x0>;
nvidia,enable-input = <0x0>;
nvidia,pull = <0x0>;
nvidia,io-high-voltage = <0x1>;
nvidia,lpdr = <0x0>;
};
hdr40-pin32 {
nvidia,pins = "soc_gpio19_pg6";
nvidia,tristate = <0x0>;
nvidia,enable-input = <0x0>;
nvidia,pull = <0x0>;
nvidia,io-high-voltage = <0x1>;
nvidia,lpdr = <0x0>;
};
};
};
};
};