On 31/08/17 11:20, Linus Walleij wrote: > On Wed, Aug 30, 2017 at 6:10 PM, Hans Verkuil <hverkuil@xxxxxxxxx> wrote: > >> From: Hans Verkuil <hans.verkuil@xxxxxxxxx> >> >> 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@xxxxxxxxx> > > 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