Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: gpio: add raspberry pi GPIO expander binding

The Raspberry Pi 3 GPIO expander is controlled by the VC4 firmware over
I2C. The firmware mailbox interface allows the ARM core to control the
GPIO lines.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Baruch Siach and committed by
Linus Walleij
9777d809 08af112e

+30
+30
Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt
··· 1 + Raspberry Pi GPIO expander 2 + 3 + The Raspberry Pi 3 GPIO expander is controlled by the VC4 firmware. The 4 + firmware exposes a mailbox interface that allows the ARM core to control the 5 + GPIO lines on the expander. 6 + 7 + The Raspberry Pi GPIO expander node must be a child node of the Raspberry Pi 8 + firmware node. 9 + 10 + Required properties: 11 + 12 + - compatible : Should be "raspberrypi,firmware-gpio" 13 + - gpio-controller : Marks the device node as a gpio controller 14 + - #gpio-cells : Should be two. The first cell is the pin number, and 15 + the second cell is used to specify the gpio polarity: 16 + 0 = active high 17 + 1 = active low 18 + 19 + Example: 20 + 21 + firmware: firmware-rpi { 22 + compatible = "raspberrypi,bcm2835-firmware"; 23 + mboxes = <&mailbox>; 24 + 25 + expgpio: gpio { 26 + compatible = "raspberrypi,firmware-gpio"; 27 + gpio-controller; 28 + #gpio-cells = <2>; 29 + }; 30 + };