Hello. I made DM3730-based board, which use GPIO_70 as output. The problem is: gpio is not working.
Here is piese of device tree source:
&omap3_pmx_core {
pinctrl-names = "default";
gpio3_pins: pinmux_gpio3_pins {
pinctrl-single,pins = <
OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE4) /* gpio70 OUTPUT */
OMAP3_CORE1_IOPAD(0x20e4, PIN_INPUT | MUX_MODE4) /* gpio74 OUTPUT */
>;
};
};
&gpio3 {
status = "ok";
pinctrl-names = "default";
pinctrl-0 = <&gpio3_pins>;
};
Here is a piece of /sys/kernel/debug/pinctrl/48002030.pinmux/pins:
pin 85 (480020da.0) 00000000 pinctrl-single
pin 86 (480020dc.0) 00000004 pinctrl-single
pin 87 (480020de.0) 00000000 pinctrl-single
pin 88 (480020e0.0) 00000000 pinctrl-single
pin 89 (480020e2.0) 00000000 pinctrl-single
pin 90 (480020e4.0) 00000104 pinctrl-single
pin 91 (480020e6.0) 00000000 pinctrl-single
Seems, pinmux settings applied well.
I tried to drive pin through sysfs:
echo 70 > exprot
cd gpio70
echo out > direction
echo 1 > value
But the pin is not driven. Here is /sys/kernel/debug/gpio
GPIOs 0-31, platform/48310000.gpio, gpio:
GPIOs 32-63, platform/49050000.gpio, gpio:
GPIOs 64-95, platform/49056000.gpio, gpio:
gpio-70 ( |sysfs ) out hi
GPIOs 96-127, platform/49058000.gpio, gpio:
GPIOs 128-159, platform/49052000.gpio, gpio:
GPIOs 160-191, platform/49054000.gpio, gpio:
GPIOs 492-511, platform/twl4030-gpio, twl4030, can sleep:
What am I doing wrong?