diff mbox

[PATCHv3,3/5] dt-bindings: document the CEC GPIO bindings

Message ID 20170830161044.26571-4-hverkuil@xs4all.nl (mailing list archive)
State New, archived
Headers show

Commit Message

Hans Verkuil Aug. 30, 2017, 4:10 p.m. UTC
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>
---
 .../devicetree/bindings/media/cec-gpio.txt         | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/cec-gpio.txt

Comments

Linus Walleij Aug. 31, 2017, 9:20 a.m. UTC | #1
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
Hans Verkuil Aug. 31, 2017, 10:31 a.m. UTC | #2
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 mbox

Patch

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>;
+};