19777d809SBaruch SiachRaspberry Pi GPIO expander
29777d809SBaruch Siach
39777d809SBaruch SiachThe Raspberry Pi 3 GPIO expander is controlled by the VC4 firmware. The
49777d809SBaruch Siachfirmware exposes a mailbox interface that allows the ARM core to control the
59777d809SBaruch SiachGPIO lines on the expander.
69777d809SBaruch Siach
79777d809SBaruch SiachThe Raspberry Pi GPIO expander node must be a child node of the Raspberry Pi
89777d809SBaruch Siachfirmware node.
99777d809SBaruch Siach
109777d809SBaruch SiachRequired properties:
119777d809SBaruch Siach
129777d809SBaruch Siach- compatible : Should be "raspberrypi,firmware-gpio"
139777d809SBaruch Siach- gpio-controller : Marks the device node as a gpio controller
149777d809SBaruch Siach- #gpio-cells : Should be two.  The first cell is the pin number, and
159777d809SBaruch Siach  the second cell is used to specify the gpio polarity:
169777d809SBaruch Siach  0 = active high
179777d809SBaruch Siach  1 = active low
189777d809SBaruch Siach
199777d809SBaruch SiachExample:
209777d809SBaruch Siach
219777d809SBaruch Siachfirmware: firmware-rpi {
229777d809SBaruch Siach	compatible = "raspberrypi,bcm2835-firmware";
239777d809SBaruch Siach	mboxes = <&mailbox>;
249777d809SBaruch Siach
259777d809SBaruch Siach	expgpio: gpio {
269777d809SBaruch Siach		 compatible = "raspberrypi,firmware-gpio";
279777d809SBaruch Siach		 gpio-controller;
289777d809SBaruch Siach		 #gpio-cells = <2>;
299777d809SBaruch Siach	 };
309777d809SBaruch Siach};
31