mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-27 00:10:51 +07:00
gpio: dt-bindings: document the official use of "ngpios"
There are a bunch of drivers that utilize the "ngpios" DT property without any vendor prefix. Try to start cleaning up the mess by defining what we mean by this property. Cc: devicetree@vger.kernel.org Cc: Pramod Kumar <pramodku@broadcom.com> Cc: Jonas Gorski <jogo@openwrt.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
aad7a21199
commit
aacaffd1d9
@ -129,6 +129,30 @@ Every GPIO controller node must contain both an empty "gpio-controller"
|
|||||||
property, and a #gpio-cells integer property, which indicates the number of
|
property, and a #gpio-cells integer property, which indicates the number of
|
||||||
cells in a gpio-specifier.
|
cells in a gpio-specifier.
|
||||||
|
|
||||||
|
Optionally, a GPIO controller may have a "ngpios" property. This property
|
||||||
|
indicates the number of in-use slots of available slots for GPIOs. The
|
||||||
|
typical example is something like this: the hardware register is 32 bits
|
||||||
|
wide, but only 18 of the bits have a physical counterpart. The driver is
|
||||||
|
generally written so that all 32 bits can be used, but the IP block is reused
|
||||||
|
in a lot of designs, some using all 32 bits, some using 18 and some using
|
||||||
|
12. In this case, setting "ngpios = <18>;" informs the driver that only the
|
||||||
|
first 18 GPIOs, at local offset 0 .. 17, are in use.
|
||||||
|
|
||||||
|
If these GPIOs do not happen to be the first N GPIOs at offset 0...N-1, an
|
||||||
|
additional bitmask is needed to specify which GPIOs are actually in use,
|
||||||
|
and which are dummies. The bindings for this case has not yet been
|
||||||
|
specified, but should be specified if/when such hardware appears.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
gpio-controller@00000000 {
|
||||||
|
compatible = "foo";
|
||||||
|
reg = <0x00000000 0x1000>;
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
ngpios = <18>;
|
||||||
|
}
|
||||||
|
|
||||||
The GPIO chip may contain GPIO hog definitions. GPIO hogging is a mechanism
|
The GPIO chip may contain GPIO hog definitions. GPIO hogging is a mechanism
|
||||||
providing automatic GPIO request and configuration as part of the
|
providing automatic GPIO request and configuration as part of the
|
||||||
gpio-controller's driver probe function.
|
gpio-controller's driver probe function.
|
||||||
|
Loading…
Reference in New Issue
Block a user