162306a36Sopenharmony_ciRaspberry Pi GPIO expander
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciThe Raspberry Pi 3 GPIO expander is controlled by the VC4 firmware. The
462306a36Sopenharmony_cifirmware exposes a mailbox interface that allows the ARM core to control the
562306a36Sopenharmony_ciGPIO lines on the expander.
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciThe Raspberry Pi GPIO expander node must be a child node of the Raspberry Pi
862306a36Sopenharmony_cifirmware node.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciRequired properties:
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci- compatible : Should be "raspberrypi,firmware-gpio"
1362306a36Sopenharmony_ci- gpio-controller : Marks the device node as a gpio controller
1462306a36Sopenharmony_ci- #gpio-cells : Should be two.  The first cell is the pin number, and
1562306a36Sopenharmony_ci  the second cell is used to specify the gpio polarity:
1662306a36Sopenharmony_ci  0 = active high
1762306a36Sopenharmony_ci  1 = active low
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciExample:
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cifirmware: firmware-rpi {
2262306a36Sopenharmony_ci	compatible = "raspberrypi,bcm2835-firmware";
2362306a36Sopenharmony_ci	mboxes = <&mailbox>;
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	expgpio: gpio {
2662306a36Sopenharmony_ci		 compatible = "raspberrypi,firmware-gpio";
2762306a36Sopenharmony_ci		 gpio-controller;
2862306a36Sopenharmony_ci		 #gpio-cells = <2>;
2962306a36Sopenharmony_ci	 };
3062306a36Sopenharmony_ci};
31