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