18c2ecf20Sopenharmony_ciRaspberry Pi GPIO expander
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciThe Raspberry Pi 3 GPIO expander is controlled by the VC4 firmware. The
48c2ecf20Sopenharmony_cifirmware exposes a mailbox interface that allows the ARM core to control the
58c2ecf20Sopenharmony_ciGPIO lines on the expander.
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciThe Raspberry Pi GPIO expander node must be a child node of the Raspberry Pi
88c2ecf20Sopenharmony_cifirmware node.
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciRequired properties:
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci- compatible : Should be "raspberrypi,firmware-gpio"
138c2ecf20Sopenharmony_ci- gpio-controller : Marks the device node as a gpio controller
148c2ecf20Sopenharmony_ci- #gpio-cells : Should be two.  The first cell is the pin number, and
158c2ecf20Sopenharmony_ci  the second cell is used to specify the gpio polarity:
168c2ecf20Sopenharmony_ci  0 = active high
178c2ecf20Sopenharmony_ci  1 = active low
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciExample:
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_cifirmware: firmware-rpi {
228c2ecf20Sopenharmony_ci	compatible = "raspberrypi,bcm2835-firmware";
238c2ecf20Sopenharmony_ci	mboxes = <&mailbox>;
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci	expgpio: gpio {
268c2ecf20Sopenharmony_ci		 compatible = "raspberrypi,firmware-gpio";
278c2ecf20Sopenharmony_ci		 gpio-controller;
288c2ecf20Sopenharmony_ci		 #gpio-cells = <2>;
298c2ecf20Sopenharmony_ci	 };
308c2ecf20Sopenharmony_ci};
31