Tool/software: Linux
Dear e2e community,
I have worked in the past with AM3352 GPIO in some custom design without problem.
Now, I have a new custom board based on the AM3352.
I have to read two inputs: GPIO2_28 and GPIO2_29 (balls G15 and G16 of the ZCZ package).
In the device tree I have set the following (the inputs are last two items 0x0F8 and 0x0FC):
other_gpio_default: other_gpio_default { pinctrl-single,pins = < 0x21C (PIN_OUTPUT_PULLUP | MUX_MODE7) /* usb0_drvvbus.gpio0_18 */ 0x090 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_adva_ale REED_0 */ 0x17C (PIN_OUTPUT_PULLUP | MUX_MODE7) /* uart1_rtsn.gpio0_13 REED_1 */ 0x234 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* usb1_drvvbus.gpio3_13 */ 0x0F8 (PIN_INPUT | MUX_MODE7) /* mmc0_dat1.mmc0_dat1 ALARM_1 */ 0x0FC (PIN_INPUT | MUX_MODE7) /* mmc0_dat0.mmc0_dat0 ALARM_0 */ >; };
The GPIO are powered by the 3v3 domain and the measured input voltage is 0.1V when low and 3.25V when high.
This voltage is obtained from a regulator different from the one which powers the CPU GPIO power domain. Obviously they refers to the same ground.
In any case when I try a raw read:
cat /sys/class/gpio/gpio92/value cat /sys/class/gpio/gpio93/value
I get always 0 both with 0.1V at the input and with 3.25V.
I tested the GPIO set as outputs and they work as expected. Maybe I am forgotting something.
Thank you in advance for the support.