I’m building custom images in yocto build environment, based on RobertCNelson kernel (release 4.4.14-ti-rt-r33).
Using following dts changes to re-configure GPIO2 pin
&am33xx_pinmux {
/* gpio2 pins */
gpio2_pins_default: pinmux_gpio2_pins_default {
pinctrl-single,pins = <
0x94 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (T7) gpmc_oen_ren.gpio2[3] SKY_ON-OFF */
;
};
};
&gpio2 {
pinctrl-names = “default”;
pinctrl-0 = <&gpio2_pins_default>;
status = “okay”;
sky_onoff {
gpio-hog;
gpios = <3 GPIO_ACTIVE_HIGH>;
output-high;
line-name = “sky_onoff”;
};
};
BEFORE my change, GPIO2 pins are mapped to 64-95 as I would expect:
root@beaglebone:~# more /sys/kernel/debug/gpio
GPIOs 0-31, platform/44e07000.gpio, gpio:
gpio-6 ( |cd ) in hi IRQ
gpio-26 ( |wlan-en-regulator ) out hi
GPIOs 32-63, platform/4804c000.gpio, gpio:
gpio-53 ( |? ) out lo
gpio-54 ( |? ) out lo
gpio-55 ( |? ) out lo
gpio-56 ( |? ) out lo
gpio-60 ( |sysfs ) out hi
GPIOs 64-95, platform/481ac000.gpio, gpio:
GPIOs 96-127, platform/481ae000.gpio, gpio:
root@beaglebone:~#
AFTER my change, GPIO2 pins are mapped to 97-127:
root@beaglebone:~# more /sys/kernel/debug/gpio
GPIOs 0-31, platform/44e07000.gpio, gpio:
gpio-6 ( |cd ) in hi IRQ
gpio-26 ( |wlan-en-regulator ) out hi
GPIOs 32-63, platform/4804c000.gpio, gpio:
gpio-53 ( |? ) out lo
gpio-54 ( |? ) out lo
gpio-55 ( |? ) out lo
gpio-56 ( |? ) out lo
gpio-60 ( |sysfs ) out hi
GPIOs 64-95, platform/481ae000.gpio, gpio:
GPIOs 96-127, platform/481ac000.gpio, gpio:
gpio-99 ( |sky_onoff ) out hi
Notice GPIO3 (platform/481ae00) is now mapped to 64-95.
Anyone know why?