[PATCH v3 2/4] dt-bindings: gpio: add raspberry pi GPIO expander binding

Baruch Siach baruch at tkos.co.il
Mon Jan 29 08:30:20 PST 2018


Hi Rob,

Thanks for reviewing.

On Mon, Jan 29, 2018 at 10:11:34AM -0600, Rob Herring wrote:
> On Tue, Jan 16, 2018 at 02:45:08PM +0200, Baruch Siach wrote:
> > The Raspberry Pi 3 GPIO expander is controlled by the VC4 firmware over
> > I2C. The firmware mailbox interface allows the ARM core to control the
> > GPIO lines.
> > 
> > Signed-off-by: Baruch Siach <baruch at tkos.co.il>
> > ---
> > v3:
> >   * Rename node name.
> > 
> > v2:
> >   * Rename compatible string to raspberrypi,firmware-gpio
> > ---
> >  .../bindings/gpio/raspberrypi,firmware-gpio.txt    | 24 ++++++++++++++++++++++
> >  1 file changed, 24 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt b/Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt
> > new file mode 100644
> > index 000000000000..936dc59eba12
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt
> > @@ -0,0 +1,24 @@
> > +Raspberry Pi GPIO expander
> > +
> > +The Raspberry Pi 3 GPIO expander is controlled by the VC4 firmware. The
> > +firmware exposes a mailbox interface that allows the ARM core to control the
> > +GPIO lines on the expander.
> > +
> > +Required properties:
> > +
> > +- compatible : Should be "raspberrypi,firmware-gpio"
> > +- gpio-controller : Marks the device node as a gpio controller
> > +- #gpio-cells : Should be two.  The first cell is the pin number, and
> > +  the second cell is used to specify the gpio polarity:
> > +  0 = active high
> > +  1 = active low
> > +- firmware : Reference to the RPi firmware device node
> > +
> > +Example:
> > +
> > +expgpio: gpio-expander {
> 
> Still not right. The correct generic node name is "gpio".

I'll fix that.

> > +	compatible = "raspberrypi,firmware-gpio";
> > +	gpio-controller;
> > +	#gpio-cells = <2>;
> > +	firmware = <&firmware>;
> 
> Can you make this a child of the firmware node instead?

I guess I can, I'll need to look into it. What is the advantage of that? What 
about the existing raspberrypi,bcm2835-power[1] node in bcm2835-rpi.dtsi? 
Should it move under the firmware node as well?

[1] Documentation/devicetree/bindings/soc/bcm/raspberrypi,bcm2835-power.txt

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -



More information about the linux-arm-kernel mailing list