[v4,1/2] dt-bindings: it6505: add properties to restrict output bandwidth

Message ID 20221013105116.180380-2-allen.chen@ite.com.tw
State New
Headers
Series *** IT6505 driver read dt properties *** |

Commit Message

allen Oct. 13, 2022, 10:51 a.m. UTC
  From: allen chen <allen.chen@ite.com.tw>

Add properties to restrict dp output data-lanes and clock.

Signed-off-by: Pin-Yen Lin <treapking@chromium.org>
Signed-off-by: Allen Chen <allen.chen@ite.com.tw>
---
 .../bindings/display/bridge/ite,it6505.yaml   | 43 +++++++++++++++++++
 1 file changed, 43 insertions(+)
  

Comments

Laurent Pinchart Oct. 13, 2022, 11:05 a.m. UTC | #1
Hi Allen,

Thank you for the patch.

On Thu, Oct 13, 2022 at 06:51:13PM +0800, allen wrote:
> From: allen chen <allen.chen@ite.com.tw>
> 
> Add properties to restrict dp output data-lanes and clock.
> 
> Signed-off-by: Pin-Yen Lin <treapking@chromium.org>
> Signed-off-by: Allen Chen <allen.chen@ite.com.tw>
> ---
>  .../bindings/display/bridge/ite,it6505.yaml   | 43 +++++++++++++++++++
>  1 file changed, 43 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> index 833d11b2303a7..f2c3d1d10359e 100644
> --- a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> +++ b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> @@ -52,10 +52,51 @@ properties:
>      maxItems: 1
>      description: extcon specifier for the Power Delivery
>  
> +  data-lanes:
> +    oneOf:
> +      - minItems: 1
> +        maxItems: 1
> +        uniqueItems: true
> +        items:
> +          enum:
> +            - 0
> +            - 1
> +        description: For one lane operation.
> +
> +      - minItems: 2
> +        maxItems: 2
> +        uniqueItems: true
> +        items:
> +          enum:
> +            - 0
> +            - 1
> +        description: For two lanes operation.
> +
> +      - minItems: 4
> +        maxItems: 4
> +        uniqueItems: true
> +        items:
> +          enum:
> +            - 0
> +            - 1
> +            - 2
> +            - 3
> +        description: For four lanes operation.

The data lanes should be in the output endpoint. If there's no output
port, one should be added.

> +
>    port:
>      $ref: /schemas/graph.yaml#/properties/port
>      description: A port node pointing to DPI host port node
>  
> +    properties:
> +      endpoint:
> +        $ref: /schemas/graph.yaml#/$defs/endpoint-base
> +
> +        properties:
> +          link-frequencies:
> +            minItems: 1
> +            maxItems: 1
> +            description: Allowed max link frequencies in Hz.
> +
>  required:
>    - compatible
>    - ovdd-supply
> @@ -84,10 +125,12 @@ examples:
>              pwr18-supply = <&it6505_pp18_reg>;
>              reset-gpios = <&pio 179 1>;
>              extcon = <&usbc_extcon>;
> +            data-lanes = <0 1>;
>  
>              port {
>                  it6505_in: endpoint {
>                      remote-endpoint = <&dpi_out>;
> +                    link-frequencies = /bits/ 64 <150000000>;
>                  };
>              };
>          };
  
Rob Herring Oct. 13, 2022, 3:55 p.m. UTC | #2
On Thu, 13 Oct 2022 18:51:13 +0800, allen wrote:
> From: allen chen <allen.chen@ite.com.tw>
> 
> Add properties to restrict dp output data-lanes and clock.
> 
> Signed-off-by: Pin-Yen Lin <treapking@chromium.org>
> Signed-off-by: Allen Chen <allen.chen@ite.com.tw>
> ---
>  .../bindings/display/bridge/ite,it6505.yaml   | 43 +++++++++++++++++++
>  1 file changed, 43 insertions(+)
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/bridge/ite,it6505.example.dtb: dp-bridge@5c: port:endpoint: Unevaluated properties are not allowed ('link-frequencies' was unexpected)
	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.
  
Rob Herring Oct. 13, 2022, 7:20 p.m. UTC | #3
On Thu, Oct 13, 2022 at 02:05:45PM +0300, Laurent Pinchart wrote:
> Hi Allen,
> 
> Thank you for the patch.
> 
> On Thu, Oct 13, 2022 at 06:51:13PM +0800, allen wrote:
> > From: allen chen <allen.chen@ite.com.tw>
> > 
> > Add properties to restrict dp output data-lanes and clock.
> > 
> > Signed-off-by: Pin-Yen Lin <treapking@chromium.org>
> > Signed-off-by: Allen Chen <allen.chen@ite.com.tw>
> > ---
> >  .../bindings/display/bridge/ite,it6505.yaml   | 43 +++++++++++++++++++
> >  1 file changed, 43 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> > index 833d11b2303a7..f2c3d1d10359e 100644
> > --- a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> > +++ b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> > @@ -52,10 +52,51 @@ properties:
> >      maxItems: 1
> >      description: extcon specifier for the Power Delivery
> >  
> > +  data-lanes:
> > +    oneOf:
> > +      - minItems: 1
> > +        maxItems: 1
> > +        uniqueItems: true
> > +        items:
> > +          enum:
> > +            - 0
> > +            - 1
> > +        description: For one lane operation.
> > +
> > +      - minItems: 2
> > +        maxItems: 2
> > +        uniqueItems: true
> > +        items:
> > +          enum:
> > +            - 0
> > +            - 1
> > +        description: For two lanes operation.
> > +
> > +      - minItems: 4
> > +        maxItems: 4
> > +        uniqueItems: true
> > +        items:
> > +          enum:
> > +            - 0
> > +            - 1
> > +            - 2
> > +            - 3
> > +        description: For four lanes operation.
> 
> The data lanes should be in the output endpoint. If there's no output
> port, one should be added.
> 
> > +
> >    port:
> >      $ref: /schemas/graph.yaml#/properties/port

To fix the error, this must be:

$ref: /schemas/graph.yaml#/$defs/port-base
unevaluatedProperties: false

> >      description: A port node pointing to DPI host port node
> >  
> > +    properties:
> > +      endpoint:
> > +        $ref: /schemas/graph.yaml#/$defs/endpoint-base
> > +
> > +        properties:
> > +          link-frequencies:
> > +            minItems: 1
> > +            maxItems: 1
> > +            description: Allowed max link frequencies in Hz.
> > +
> >  required:
> >    - compatible
> >    - ovdd-supply
> > @@ -84,10 +125,12 @@ examples:
> >              pwr18-supply = <&it6505_pp18_reg>;
> >              reset-gpios = <&pio 179 1>;
> >              extcon = <&usbc_extcon>;
> > +            data-lanes = <0 1>;
> >  
> >              port {
> >                  it6505_in: endpoint {
> >                      remote-endpoint = <&dpi_out>;
> > +                    link-frequencies = /bits/ 64 <150000000>;
> >                  };
> >              };
> >          };
> 
> -- 
> Regards,
> 
> Laurent Pinchart
>
  
allen Oct. 14, 2022, 3:28 a.m. UTC | #4
Hi

-----Original Message-----
From: Rob Herring <robh@kernel.org> 
Sent: Friday, October 14, 2022 3:20 AM
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>; Allen Chen (陳柏宇) <allen.chen@ite.com.tw>
Cc: Pin-yen Lin <treapking@chromium.org>; Jau-Chih Tseng (曾昭智) <Jau-Chih.Tseng@ite.com.tw>; Kenneth Hung (洪家倫) <Kenneth.Hung@ite.com.tw>; Hermes Wu (吳佳宏) <Hermes.Wu@ite.com.tw>; Andrzej Hajda <andrzej.hajda@intel.com>; Neil Armstrong <narmstrong@baylibre.com>; Robert Foss <robert.foss@linaro.org>; Jonas Karlman <jonas@kwiboo.se>; Jernej Skrabec <jernej.skrabec@gmail.com>; David Airlie <airlied@linux.ie>; Daniel Vetter <daniel@ffwll.ch>; Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>; open list:DRM DRIVERS <dri-devel@lists.freedesktop.org>; open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS <devicetree@vger.kernel.org>; open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 1/2] dt-bindings: it6505: add properties to restrict output bandwidth

On Thu, Oct 13, 2022 at 02:05:45PM +0300, Laurent Pinchart wrote:
> Hi Allen,
> 
> Thank you for the patch.
> 
> On Thu, Oct 13, 2022 at 06:51:13PM +0800, allen wrote:
> > From: allen chen <allen.chen@ite.com.tw>
> > 
> > Add properties to restrict dp output data-lanes and clock.
> > 
> > Signed-off-by: Pin-Yen Lin <treapking@chromium.org>
> > Signed-off-by: Allen Chen <allen.chen@ite.com.tw>
> > ---
> >  .../bindings/display/bridge/ite,it6505.yaml   | 43 +++++++++++++++++++
> >  1 file changed, 43 insertions(+)
> > 
> > diff --git 
> > a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml 
> > b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> > index 833d11b2303a7..f2c3d1d10359e 100644
> > --- 
> > a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> > +++ b/Documentation/devicetree/bindings/display/bridge/ite,it6505.ya
> > +++ ml
> > @@ -52,10 +52,51 @@ properties:
> >      maxItems: 1
> >      description: extcon specifier for the Power Delivery
> >  
> > +  data-lanes:
> > +    oneOf:
> > +      - minItems: 1
> > +        maxItems: 1
> > +        uniqueItems: true
> > +        items:
> > +          enum:
> > +            - 0
> > +            - 1
> > +        description: For one lane operation.
> > +
> > +      - minItems: 2
> > +        maxItems: 2
> > +        uniqueItems: true
> > +        items:
> > +          enum:
> > +            - 0
> > +            - 1
> > +        description: For two lanes operation.
> > +
> > +      - minItems: 4
> > +        maxItems: 4
> > +        uniqueItems: true
> > +        items:
> > +          enum:
> > +            - 0
> > +            - 1
> > +            - 2
> > +            - 3
> > +        description: For four lanes operation.
> 
> The data lanes should be in the output endpoint. If there's no output 
> port, one should be added.
> 
==> In this dt-binding, our output point is "extcon" so doesn't have output endpoint.
I don't know how to add the endpoint.
If need to add the endpoint to this dt-binding, what is your recommend about adding the endpoint?
By the way, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> said we could put "data-lanes" here.
> > +
> >    port:
> >      $ref: /schemas/graph.yaml#/properties/port

To fix the error, this must be:

$ref: /schemas/graph.yaml#/$defs/port-base
unevaluatedProperties: false

> >      description: A port node pointing to DPI host port node
> >  
> > +    properties:
> > +      endpoint:
> > +        $ref: /schemas/graph.yaml#/$defs/endpoint-base
> > +
> > +        properties:
> > +          link-frequencies:
> > +            minItems: 1
> > +            maxItems: 1
> > +            description: Allowed max link frequencies in Hz.
> > +
> >  required:
> >    - compatible
> >    - ovdd-supply
> > @@ -84,10 +125,12 @@ examples:
> >              pwr18-supply = <&it6505_pp18_reg>;
> >              reset-gpios = <&pio 179 1>;
> >              extcon = <&usbc_extcon>;
> > +            data-lanes = <0 1>;
> >  
> >              port {
> >                  it6505_in: endpoint {
> >                      remote-endpoint = <&dpi_out>;
> > +                    link-frequencies = /bits/ 64 <150000000>;
> >                  };
> >              };
> >          };
> 
> --
> Regards,
> 
> Laurent Pinchart
>
  
Laurent Pinchart Oct. 15, 2022, 6:28 p.m. UTC | #5
Hello,

On Fri, Oct 14, 2022 at 03:28:31AM +0000, allen.chen@ite.com.tw wrote:
> On Friday, October 14, 2022 3:20 AM, Rob Herring wrote:
> > On Thu, Oct 13, 2022 at 02:05:45PM +0300, Laurent Pinchart wrote:
> > > On Thu, Oct 13, 2022 at 06:51:13PM +0800, allen wrote:
> > > > From: allen chen <allen.chen@ite.com.tw>
> > > > 
> > > > Add properties to restrict dp output data-lanes and clock.
> > > > 
> > > > Signed-off-by: Pin-Yen Lin <treapking@chromium.org>
> > > > Signed-off-by: Allen Chen <allen.chen@ite.com.tw>
> > > > ---
> > > >  .../bindings/display/bridge/ite,it6505.yaml   | 43 +++++++++++++++++++
> > > >  1 file changed, 43 insertions(+)
> > > > 
> > > > diff --git a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> > > > index 833d11b2303a7..f2c3d1d10359e 100644
> > > > --- a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> > > > +++ b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> > > > @@ -52,10 +52,51 @@ properties:
> > > >      maxItems: 1
> > > >      description: extcon specifier for the Power Delivery
> > > >  
> > > > +  data-lanes:
> > > > +    oneOf:
> > > > +      - minItems: 1
> > > > +        maxItems: 1
> > > > +        uniqueItems: true
> > > > +        items:
> > > > +          enum:
> > > > +            - 0
> > > > +            - 1
> > > > +        description: For one lane operation.
> > > > +
> > > > +      - minItems: 2
> > > > +        maxItems: 2
> > > > +        uniqueItems: true
> > > > +        items:
> > > > +          enum:
> > > > +            - 0
> > > > +            - 1
> > > > +        description: For two lanes operation.
> > > > +
> > > > +      - minItems: 4
> > > > +        maxItems: 4
> > > > +        uniqueItems: true
> > > > +        items:
> > > > +          enum:
> > > > +            - 0
> > > > +            - 1
> > > > +            - 2
> > > > +            - 3
> > > > +        description: For four lanes operation.
> > > 
> > > The data lanes should be in the output endpoint. If there's no output 
> > > port, one should be added.
> 
> ==> In this dt-binding, our output point is "extcon" so doesn't have output endpoint.
> I don't know how to add the endpoint.
> If need to add the endpoint to this dt-binding, what is your recommend about adding the endpoint?

You will also need to add a port to the USB-C connector. Then endpoints
can be added to connect the two.

> By the way, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> said
> we could put "data-lanes" here.

If I read him correctly, Krzysztof said we have a standard property for
the data lanes (and that's true, we do), but I don't think he implied it
could be put outside of the endpoint (Krzysztof, please correct me if
I'm wrong).

> > > > +
> > > >    port:
> > > >      $ref: /schemas/graph.yaml#/properties/port
> > 
> > To fix the error, this must be:
> > 
> > $ref: /schemas/graph.yaml#/$defs/port-base
> > unevaluatedProperties: false
> > 
> > > >      description: A port node pointing to DPI host port node
> > > >  
> > > > +    properties:
> > > > +      endpoint:
> > > > +        $ref: /schemas/graph.yaml#/$defs/endpoint-base
> > > > +
> > > > +        properties:
> > > > +          link-frequencies:
> > > > +            minItems: 1
> > > > +            maxItems: 1
> > > > +            description: Allowed max link frequencies in Hz.
> > > > +
> > > >  required:
> > > >    - compatible
> > > >    - ovdd-supply
> > > > @@ -84,10 +125,12 @@ examples:
> > > >              pwr18-supply = <&it6505_pp18_reg>;
> > > >              reset-gpios = <&pio 179 1>;
> > > >              extcon = <&usbc_extcon>;
> > > > +            data-lanes = <0 1>;
> > > >  
> > > >              port {
> > > >                  it6505_in: endpoint {
> > > >                      remote-endpoint = <&dpi_out>;
> > > > +                    link-frequencies = /bits/ 64 <150000000>;
> > > >                  };
> > > >              };
> > > >          };
  

Patch

diff --git a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
index 833d11b2303a7..f2c3d1d10359e 100644
--- a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
@@ -52,10 +52,51 @@  properties:
     maxItems: 1
     description: extcon specifier for the Power Delivery
 
+  data-lanes:
+    oneOf:
+      - minItems: 1
+        maxItems: 1
+        uniqueItems: true
+        items:
+          enum:
+            - 0
+            - 1
+        description: For one lane operation.
+
+      - minItems: 2
+        maxItems: 2
+        uniqueItems: true
+        items:
+          enum:
+            - 0
+            - 1
+        description: For two lanes operation.
+
+      - minItems: 4
+        maxItems: 4
+        uniqueItems: true
+        items:
+          enum:
+            - 0
+            - 1
+            - 2
+            - 3
+        description: For four lanes operation.
+
   port:
     $ref: /schemas/graph.yaml#/properties/port
     description: A port node pointing to DPI host port node
 
+    properties:
+      endpoint:
+        $ref: /schemas/graph.yaml#/$defs/endpoint-base
+
+        properties:
+          link-frequencies:
+            minItems: 1
+            maxItems: 1
+            description: Allowed max link frequencies in Hz.
+
 required:
   - compatible
   - ovdd-supply
@@ -84,10 +125,12 @@  examples:
             pwr18-supply = <&it6505_pp18_reg>;
             reset-gpios = <&pio 179 1>;
             extcon = <&usbc_extcon>;
+            data-lanes = <0 1>;
 
             port {
                 it6505_in: endpoint {
                     remote-endpoint = <&dpi_out>;
+                    link-frequencies = /bits/ 64 <150000000>;
                 };
             };
         };