GPIO2 re-mapped from 64-95 to 96-127

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?

Are the GPIO banks now labled 1-4 now versus 0-3 before ? As far as the memory address change up . . . this is just the sort of inconsistency I’ve become accustomed to from TI.

I think the quick answer you’ll receive if you complain about it is this: “If you do not like it, no one is forcing you to upgrade kernels . . .” Which is very true, but not exactly professional / consistent behavior.

Maybe someone left a comment in their git ?