Thread (14 messages) 14 messages, 4 authors, 2021-12-16

Re: [PATCH v11 3/8] dt-bindings: display: Add ingenic,jz4780-dw-hdmi DT Schema

From: Paul Cercueil <paul@crapouillou.net>
Date: 2021-12-10 20:19:11
Also in: dri-devel, linux-mips, lkml

Hi Nikolaus,

Le ven., déc. 10 2021 at 10:53:18 -0600, Rob Herring [off-list ref] 
a écrit :
On Thu, Dec 02, 2021 at 07:39:48PM +0100, H. Nikolaus Schaller wrote:
quoted
 From: Sam Ravnborg [off-list ref]

 Add DT bindings for the hdmi driver for the Ingenic JZ4780 SoC.
 Based on .txt binding from Zubair Lutfullah Kakakhel

 We also add generic ddc-i2c-bus to synopsys,dw-hdmi.yaml

 Signed-off-by: Sam Ravnborg [off-list ref]
 Signed-off-by: H. Nikolaus Schaller [off-list ref]
 Cc: Rob Herring [off-list ref]
 Cc: devicetree@vger.kernel.org
 ---
  .../display/bridge/ingenic,jz4780-hdmi.yaml   | 78 
+++++++++++++++++++
  .../display/bridge/synopsys,dw-hdmi.yaml      |  3 +
  2 files changed, 81 insertions(+)
  create mode 100644 
Documentation/devicetree/bindings/display/bridge/ingenic,jz4780-hdmi.yaml

 diff --git 
a/Documentation/devicetree/bindings/display/bridge/ingenic,jz4780-hdmi.yaml 
b/Documentation/devicetree/bindings/display/bridge/ingenic,jz4780-hdmi.yaml
 new file mode 100644
 index 0000000000000..49ae1130efded
 --- /dev/null
 +++ 
b/Documentation/devicetree/bindings/display/bridge/ingenic,jz4780-hdmi.yaml
 @@ -0,0 +1,78 @@
 +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
 +%YAML 1.2
 +---
 +$id: 
http://devicetree.org/schemas/display/bridge/ingenic,jz4780-hdmi.yaml#
 +$schema: http://devicetree.org/meta-schemas/core.yaml#
 +
 +title: Bindings for Ingenic JZ4780 HDMI Transmitter
 +
 +maintainers:
 +  - H. Nikolaus Schaller [off-list ref]
 +
 +description: |
 +  The HDMI Transmitter in the Ingenic JZ4780 is a Synopsys 
DesignWare HDMI 1.4
 +  TX controller IP with accompanying PHY IP.
 +
 +allOf:
 +  - $ref: synopsys,dw-hdmi.yaml#
 +
 +properties:
 +  compatible:
 +    const: ingenic,jz4780-dw-hdmi
 +
 +  reg-io-width:
 +    const: 4
 +
 +  clocks:
 +    maxItems: 2
 +
 +  hdmi-5v-supply:
 +    description: regulator to provide +5V at the connector
Being part of the connector, that belongs in a connector node.
I believe that means adding .atomic_{enable,disable} callbacks to the 
display-connector bridge (drivers/gpu/drm/bridge/display-connector.c) 
which would enable/disable the regulator.

Unless it messes up with e.g. cable detection (which I believe requires 
the regulator to be enabled), in that case unconditionally enable it in 
the connector's probe function.
quoted
 +
 +  ports:
 +    $ref: /schemas/graph.yaml#/properties/ports
You need to define what each 'port' node is.
Have a look at 
Documentation/devicetree/bindings/display/ingenic,lcd.yaml for an 
example on how to do this.
quoted
 +
 +required:
 +  - compatible
 +  - clocks
 +  - clock-names
 +  - hdmi-5v-supply
 +  - ports
 +  - reg-io-width
 +
 +unevaluatedProperties: false
 +
 +examples:
 +  - |
 +    #include <dt-bindings/clock/ingenic,jz4780-cgu.h>
 +
 +    hdmi: hdmi@10180000 {
 +        compatible = "ingenic,jz4780-dw-hdmi";
 +        reg = <0x10180000 0x8000>;
 +        reg-io-width = <4>;
 +        ddc-i2c-bus = <&i2c4>;
 +        interrupt-parent = <&intc>;
 +        interrupts = <3>;
 +        clocks = <&cgu JZ4780_CLK_AHB0>, <&cgu JZ4780_CLK_HDMI>;
 +        clock-names = "iahb", "isfr";
 +        hdmi-5v-supply = <&hdmi_power>;
 +
 +        ports {
 +            #address-cells = <1>;
 +            #size-cells = <0>;
 +            hdmi_in: port@0 {
 +                reg = <0>;
 +                dw_hdmi_in: endpoint {
 +                    remote-endpoint = <&jz4780_lcd_out>;
 +                };
 +            };
 +            hdmi_out: port@1 {
 +                reg = <1>;
 +                dw_hdmi_out: endpoint {
 +                    remote-endpoint = <&hdmi_con>;
 +                };
 +            };
 +        };
 +    };
 +
 +...
 diff --git 
a/Documentation/devicetree/bindings/display/bridge/synopsys,dw-hdmi.yaml 
b/Documentation/devicetree/bindings/display/bridge/synopsys,dw-hdmi.yaml
 index 9be44a682e67a..9cbeabaee0968 100644
 --- 
a/Documentation/devicetree/bindings/display/bridge/synopsys,dw-hdmi.yaml
 +++ 
b/Documentation/devicetree/bindings/display/bridge/synopsys,dw-hdmi.yaml
 @@ -50,6 +50,9 @@ properties:
    interrupts:
      maxItems: 1

 +  ddc-i2c-bus:
 +    description: An I2C interface if the internal DDC I2C driver 
is not to be used
That too is already defined to be part of the connector node.
Just remove the property then, since you don't use it in the ci20 
bindings.

Cheers,
-Paul
quoted
 +
  additionalProperties: true

  ...
 --
 2.33.0
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help