WP7702
GPIO 7 (Mangoh Red IOT0_GPIO3, pin 26) will not respond to the le_gpio commands issued to it. legato programs will bind properly and silently accept all issued commands, but it will not change value or pull-up/pull-down. Interestingly I can apparently change the input/output state and the pull-up/pull-down state from the command line, but the changes have no effect.
cat /sys/kernel/debug/gpio
GPIOs 0-79, platform/1000000.pinctrl, 1000000.pinctrl:
gpio0 : in 0 2mA pull down
gpio1 : in 0 2mA pull down
gpio2 : in 0 2mA pull up
gpio3 : in 0 2mA pull down
gpio4 : out 2 2mA pull up
gpio5 : in 2 2mA pull down
gpio6 : in 2 2mA pull down
gpio7 : out 2 2mA pull up
gpio8 : in 0 2mA no pull
gpio9 : in 0 2mA no pull
gpio10 : in 0 2mA no pull
gpio11 : in 0 2mA no pull
gpio12 : out 2 2mA pull down
gpio13 : in 2 2mA pull down
gpio14 : in 2 2mA no pull
gpio15 : in 2 2mA no pull
gpio16 : out 0 2mA pull up
gpio17 : in 0 2mA pull up
gpio18 : in 0 2mA pull down
gpio19 : in 0 2mA pull down
gpio20 : out 3 8mA no pull
gpio21 : in 3 8mA no pull
gpio22 : out 3 8mA no pull
gpio23 : out 3 8mA no pull
gpio24 : out 0 2mA no pull
gpio25 : out 0 6mA no pull
gpio26 : in 0 2mA pull up
gpio27 : out 0 2mA no pull
gpio28 : out 0 2mA no pull
gpio29 : out 0 2mA no pull
gpio30 : in 1 2mA pull up
gpio31 : out 1 2mA no pull
gpio32 : out 1 2mA no pull
gpio33 : out 1 2mA no pull
gpio34 : in 1 2mA pull up
gpio35 : in 0 2mA pull down
gpio36 : out 0 2mA no pull
gpio37 : in 0 2mA no pull
gpio38 : in 0 2mA no pull
gpio39 : out 1 2mA pull down
gpio40 : out 1 2mA pull down
gpio41 : out 1 2mA pull down
gpio42 : out 1 2mA pull down
gpio43 : out 1 2mA pull down
gpio44 : out 1 2mA pull down
gpio45 : in 0 2mA no pull
gpio46 : in 0 2mA no pull
gpio47 : in 0 2mA no pull
gpio48 : in 0 2mA no pull
gpio49 : out 1 2mA pull down
gpio50 : out 1 2mA pull down
gpio51 : in 0 2mA no pull
gpio52 : out 1 2mA pull down
gpio53 : out 3 2mA pull down
gpio54 : out 0 6mA no pull
gpio55 : out 1 2mA no pull
gpio56 : out 1 2mA pull down
gpio57 : out 1 2mA pull down
gpio58 : out 0 2mA no pull
gpio59 : in 0 2mA pull up
gpio60 : in 0 2mA pull down
gpio61 : in 0 2mA pull down
gpio62 : in 0 2mA pull down
gpio63 : in 0 2mA pull down
gpio64 : in 0 2mA pull down
gpio65 : in 0 2mA pull down
gpio66 : in 0 2mA pull down
gpio67 : in 0 2mA pull down
gpio68 : in 0 2mA pull down
gpio69 : in 0 2mA pull down
gpio70 : in 0 2mA pull down
gpio71 : in 0 2mA pull down
gpio72 : in 0 2mA pull down
gpio73 : in 0 2mA pull down
gpio74 : in 0 2mA pull down
gpio75 : out 0 6mA no pull
gpio76 : out 0 2mA no pull
gpio77 : in 0 2mA no pull
gpio78 : in 0 2mA no pull
gpio79 : in 0 2mA no pull
GPIOs 200-204, platform/swimcu-gpio, swimcu, can sleep:
GPIOs 820-851, platform/soc:qcom,smp2pgpio-ssr-smp2p-1-out, master-kernel:
GPIOs 852-883, platform/soc:qcom,smp2pgpio-ssr-smp2p-1-in, slave-kernel:
GPIOs 884-915, platform/soc:qcom,smp2pgpio-smp2p-1-out, smp2p:
GPIOs 916-947, platform/soc:qcom,smp2pgpio-smp2p-1-in, smp2p:
GPIOs 948-979, platform/soc:qcom,smp2pgpio-smp2p-15-out, smp2p:
GPIOs 980-1011, platform/soc:qcom,smp2pgpio-smp2p-15-in, smp2p:
GPIOs 1012-1017, spmi/qpnp-pin-7, pm8019-mpp:
gpio-1012 (USB_ID_GPIO ) in hi
GPIOs 1018-1023, spmi/qpnp-pin-6, pm8019-gpio:
gpio-1023 (sfpr-gpio ) in lo
echo 1 > /sys/class/gpio/gpio7/value; cat /sys/class/gpio/gpio7/value
0
I can even unexport and export gpio7 to no effect. It will not write the pin high, and will still silently accept any commands issued to it.
I can also use AT commands to check if the GPIO is supposed to be attached to the linux processor or not, and the problem is still present there. I can configure it as a GPIO output under the AT command section with AT+WIOCFG=7,4,1,0,1,0,0 and it will respond OK to AT+WIOW=7,1 but the output is still low.
Anyone else seen this? I haven’t come across any other documentation indicating GPIO7 is disabled or unavailable.