Summary
As part of transitioning to kernel 6.12, the old numeric gpio library needs to be replaced with the new descriptor based one (gpiod).
Device tree
Gpiod relies on the device tree for pinmuxing and tagging. The gps device tree is thus the good place to start. For the sake of expediency, a device tree overlay should be created (*.dtso). This can be compiled and loaded in the extlinux.conf file found in the boot partition. For example, extlinux.conf should contain something like the following:
FDTOVERLAYS /overlays/${kernel_version}/gps.dtbo
Alternatively, an overlay can be omitted by using the gps board device tree blob directly.
FDT /dtbs/${kernel_version}/gps.dtb
Modifying the device tree
My experience is with device nodes, so this is a little different, but the basic pattern is to convert a node like MAX_EN (see below)
// ...
MAX_EN {
gpio-name = "GPS_EN";
gpio = <&gpio3 4 GPIO_ACTIVE_HIGH>; /* AM335X_PIN_MII1_RX_DV */
output;
};
// ...
to something like:
GPS_EN-gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>;
GPS_EN will be the descriptor used by the gpio consumer (i.e. the GPS Python app).
References
Summary
As part of transitioning to kernel 6.12, the old numeric gpio library needs to be replaced with the new descriptor based one (gpiod).
Device tree
Gpiod relies on the device tree for pinmuxing and tagging. The gps device tree is thus the good place to start. For the sake of expediency, a device tree overlay should be created (*.dtso). This can be compiled and loaded in the
extlinux.conffile found in the boot partition. For example,extlinux.confshould contain something like the following:Alternatively, an overlay can be omitted by using the gps board device tree blob directly.
Modifying the device tree
My experience is with device nodes, so this is a little different, but the basic pattern is to convert a node like
MAX_EN(see below)to something like:
GPS_ENwill be the descriptor used by the gpio consumer (i.e. the GPS Python app).References
/sys/kernel/debug(debugfs) has debug information forgpioandpinctrl(pinmuxing)