Hello,
I’ve a problem similar to this one. A support member from Nvidia asks me to create a new post.
L4T : R35.3.1
GPIO02(Orin NX pin124,GPIO3_PP.06) can’t output high level.
$ echo PP.06 > /sys/class/gpio/export
$ echo out > /sys/class/gpio/PP.06/direction
$ echo 1 > /sys/class/gpio/PP.06/value (can not get high level)
Modified Pinmux:
soc_gpio25_pp6 {
nvidia,pins = "soc_gpio25_pp6";
nvidia,function = "vi0";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
};
Default GPIO:
gpio@2200000 {
gpio-init-names = "default";
gpio-init-0 = <&gpio_main_default>;
gpio_main_default: default {
gpio-input = <
TEGRA234_MAIN_GPIO(B, 0)
TEGRA234_MAIN_GPIO(X, 7)
TEGRA234_MAIN_GPIO(Y, 3)
TEGRA234_MAIN_GPIO(Z, 1)
TEGRA234_MAIN_GPIO(P, 2)
TEGRA234_MAIN_GPIO(P, 3)
TEGRA234_MAIN_GPIO(Q, 2)
TEGRA234_MAIN_GPIO(Q, 6)
TEGRA234_MAIN_GPIO(M, 0)
TEGRA234_MAIN_GPIO(N, 1)
TEGRA234_MAIN_GPIO(G, 0)
TEGRA234_MAIN_GPIO(G, 6)
TEGRA234_MAIN_GPIO(G, 7)
TEGRA234_MAIN_GPIO(H, 7)
TEGRA234_MAIN_GPIO(AC, 0)
TEGRA234_MAIN_GPIO(AC, 6)
TEGRA234_MAIN_GPIO(L, 2)
TEGRA234_MAIN_GPIO(A, 4)
TEGRA234_MAIN_GPIO(A, 5)
TEGRA234_MAIN_GPIO(A, 7)
>;
gpio-output-low = <
TEGRA234_MAIN_GPIO(X, 6)
TEGRA234_MAIN_GPIO(Y, 4)
TEGRA234_MAIN_GPIO(Z, 6)
TEGRA234_MAIN_GPIO(Z, 7)
TEGRA234_MAIN_GPIO(P, 1)
TEGRA234_MAIN_GPIO(I, 0)
TEGRA234_MAIN_GPIO(I, 1)
TEGRA234_MAIN_GPIO(I, 5)
TEGRA234_MAIN_GPIO(K, 4)
TEGRA234_MAIN_GPIO(K, 5)
TEGRA234_MAIN_GPIO(A, 6)
>;
gpio-output-high = <
TEGRA234_MAIN_GPIO(P, 0)
TEGRA234_MAIN_GPIO(P, 6)
TEGRA234_MAIN_GPIO(Q, 3)
TEGRA234_MAIN_GPIO(Q, 5)
TEGRA234_MAIN_GPIO(H, 6)
TEGRA234_MAIN_GPIO(I, 2)
TEGRA234_MAIN_GPIO(A, 0)
>;
};
};
I take a screenshot from the oscilloscope where we saw that there is a difference (10mV) between 0 and 1 (changed with /sys/class/gpio)
Set to 0:
Set to 1:
Thank you