Message ID | 20170830161044.26571-4-hverkuil@xs4all.nl (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Aug 30, 2017 at 6:10 PM, Hans Verkuil <hverkuil@xs4all.nl> wrote: > From: Hans Verkuil <hans.verkuil@cisco.com> > > Document the bindings for the cec-gpio module for hardware where the > CEC pin and optionally the HPD pin are connected to GPIO pins. > > Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> I usually refer to GPIO "lines" rather than "pins" for clarity. It's because some systems also have pin control, and then it becomes a bit muddy what is a pin. > +* HDMI CEC GPIO driver > + > +The HDMI CEC GPIO module supports CEC implementations where the CEC pin > +is hooked up to a pull-up GPIO pin and - optionally - the HPD pin is > +hooked up to a pull-down GPIO pin. > + > +Required properties: > + - compatible: value must be "cec-gpio" > + - cec-gpio: gpio that the CEC line is connected to > + > +Optional property: > + - hpd-gpio: gpio that the HPD line is connected to > + > +Example for the Raspberry Pi 3 where the CEC line is connected to > +pin 26 aka BCM7 aka CE1 on the GPIO pin header and the HPD line is > +connected to pin 11 aka BCM17: > + > +cec-gpio@7 { > + compatible = "cec-gpio"; > + cec-gpio = <&gpio 7 GPIO_ACTIVE_HIGH>; > + hpd-gpio = <&gpio 17 GPIO_ACTIVE_HIGH>; > +}; So what I understood from the driver is that the cec-gpio is maybe actually an open drain output line, so in that case it should be stated in the docs and cec-gpio = <&gpio 7 GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN> or GPIO_LINE_OPEN_DRAIN if it is not also single-ended. Yours, Linus Walleij
On 31/08/17 11:20, Linus Walleij wrote: > On Wed, Aug 30, 2017 at 6:10 PM, Hans Verkuil <hverkuil@xs4all.nl> wrote: > >> From: Hans Verkuil <hans.verkuil@cisco.com> >> >> Document the bindings for the cec-gpio module for hardware where the >> CEC pin and optionally the HPD pin are connected to GPIO pins. >> >> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> > > I usually refer to GPIO "lines" rather than "pins" for clarity. > It's because some systems also have pin control, and then it becomes > a bit muddy what is a pin. I'll change the terminology. >> +* HDMI CEC GPIO driver >> + >> +The HDMI CEC GPIO module supports CEC implementations where the CEC pin >> +is hooked up to a pull-up GPIO pin and - optionally - the HPD pin is >> +hooked up to a pull-down GPIO pin. >> + >> +Required properties: >> + - compatible: value must be "cec-gpio" >> + - cec-gpio: gpio that the CEC line is connected to >> + >> +Optional property: >> + - hpd-gpio: gpio that the HPD line is connected to >> + >> +Example for the Raspberry Pi 3 where the CEC line is connected to >> +pin 26 aka BCM7 aka CE1 on the GPIO pin header and the HPD line is >> +connected to pin 11 aka BCM17: >> + >> +cec-gpio@7 { >> + compatible = "cec-gpio"; >> + cec-gpio = <&gpio 7 GPIO_ACTIVE_HIGH>; >> + hpd-gpio = <&gpio 17 GPIO_ACTIVE_HIGH>; >> +}; > > So what I understood from the driver is that the cec-gpio is maybe actually > an open drain output line, so in that case it should be stated in the docs and > cec-gpio = <&gpio 7 GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN> > or GPIO_LINE_OPEN_DRAIN if it is not also single-ended. Yes, I agree, it's open drain. I'm not sure whether or not it is single-ended. I'm not sure what the difference is, and I have no electronics background. Looking at fwnode_get_named_gpiod() it seems that it has to be single-ended for GPIO_OPEN_DRAIN to be set, so I am going with that. It works, so it is probably right :-) Regards, Hans
diff --git a/Documentation/devicetree/bindings/media/cec-gpio.txt b/Documentation/devicetree/bindings/media/cec-gpio.txt new file mode 100644 index 000000000000..d1df742af0ac --- /dev/null +++ b/Documentation/devicetree/bindings/media/cec-gpio.txt @@ -0,0 +1,22 @@ +* HDMI CEC GPIO driver + +The HDMI CEC GPIO module supports CEC implementations where the CEC pin +is hooked up to a pull-up GPIO pin and - optionally - the HPD pin is +hooked up to a pull-down GPIO pin. + +Required properties: + - compatible: value must be "cec-gpio" + - cec-gpio: gpio that the CEC line is connected to + +Optional property: + - hpd-gpio: gpio that the HPD line is connected to + +Example for the Raspberry Pi 3 where the CEC line is connected to +pin 26 aka BCM7 aka CE1 on the GPIO pin header and the HPD line is +connected to pin 11 aka BCM17: + +cec-gpio@7 { + compatible = "cec-gpio"; + cec-gpio = <&gpio 7 GPIO_ACTIVE_HIGH>; + hpd-gpio = <&gpio 17 GPIO_ACTIVE_HIGH>; +};