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