Message ID | 20221019093215.8204-2-allen.chen@ite.com.tw (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | *** IT6505 driver read dt properties *** | expand |
On Wed, Oct 19, 2022 at 05:32: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 | 89 +++++++++++++++++-- > 1 file changed, 83 insertions(+), 6 deletions(-) > > diff --git a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml > index 833d11b2303a7..8e607b6929fc9 100644 > --- a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml > +++ b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml > @@ -52,9 +52,70 @@ properties: > maxItems: 1 > description: extcon specifier for the Power Delivery > > - port: > - $ref: /schemas/graph.yaml#/properties/port > - description: A port node pointing to DPI host port node No existing users you are breaking? The commit msg should explain. > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + > + properties: > + port@0: > + $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 > + unevaluatedProperties: false > + > + properties: > + link-frequencies: > + minItems: 1 > + maxItems: 1 > + description: Allowed max link frequencies in Hz > + > + port@1: > + $ref: /schemas/graph.yaml#/$defs/port-base > + unevaluatedProperties: false > + description: Video port for DP output > + > + properties: > + endpoint: > + $ref: /schemas/graph.yaml#/$defs/endpoint-base > + unevaluatedProperties: false > + > + properties: > + 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. I would do just: data-lanes: minItems: 1 items: - enum: [ 0, 1 ] - const: 1 - const: 2 - const: 3 It does allow 3 lanes, but I don't think that's a big deal. What it does doesn't allow is any order and yours does. Rob
Hi Allen, On Tue, Oct 25, 2022 at 12:37 AM Rob Herring <robh@kernel.org> wrote: > > On Wed, Oct 19, 2022 at 05:32: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 | 89 +++++++++++++++++-- > > 1 file changed, 83 insertions(+), 6 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml > > index 833d11b2303a7..8e607b6929fc9 100644 > > --- a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml > > +++ b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml > > @@ -52,9 +52,70 @@ properties: > > maxItems: 1 > > description: extcon specifier for the Power Delivery > > > > - port: > > - $ref: /schemas/graph.yaml#/properties/port > > - description: A port node pointing to DPI host port node > > No existing users you are breaking? The commit msg should explain. > > > + ports: > > + $ref: /schemas/graph.yaml#/properties/ports > > + > > + properties: > > + port@0: > > + $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 > > + unevaluatedProperties: false > > + > > + properties: > > + link-frequencies: > > + minItems: 1 > > + maxItems: 1 > > + description: Allowed max link frequencies in Hz > > + > > + port@1: > > + $ref: /schemas/graph.yaml#/$defs/port-base > > + unevaluatedProperties: false > > + description: Video port for DP output > > + > > + properties: > > + endpoint: > > + $ref: /schemas/graph.yaml#/$defs/endpoint-base > > + unevaluatedProperties: false > > + > > + properties: > > + 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. > > I would do just: > > data-lanes: > minItems: 1 > items: > - enum: [ 0, 1 ] > - const: 1 > - const: 2 > - const: 3 I believe we also want a `uniqueItems: true` to prevent duplicate items like `<1 1>`. Regards, Pin-yen > > It does allow 3 lanes, but I don't think that's a big deal. What it does > doesn't allow is any order and yours does. > > Rob
Hi rob -----Original Message----- From: Rob Herring <robh@kernel.org> Sent: Tuesday, October 25, 2022 12:38 AM To: Allen Chen (陳柏宇) <allen.chen@ite.com.tw> Cc: Pin-Yen Lin <treapking@chromium.org>; Jau-Chih Tseng (曾昭智) <Jau-Chih.Tseng@ite.com.tw>; Hermes Wu (吳佳宏) <Hermes.Wu@ite.com.tw>; Kenneth Hung (洪家倫) <Kenneth.Hung@ite.com.tw>; Andrzej Hajda <andrzej.hajda@intel.com>; Neil Armstrong <narmstrong@baylibre.com>; Robert Foss <robert.foss@linaro.org>; Laurent Pinchart <Laurent.pinchart@ideasonboard.com>; 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 v5 1/2] dt-bindings: it6505: add properties to restrict output bandwidth On Wed, Oct 19, 2022 at 05:32: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 | 89 +++++++++++++++++-- > 1 file changed, 83 insertions(+), 6 deletions(-) > > diff --git > a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml > b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml > index 833d11b2303a7..8e607b6929fc9 100644 > --- a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml > +++ b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml > @@ -52,9 +52,70 @@ properties: > maxItems: 1 > description: extcon specifier for the Power Delivery > > - port: > - $ref: /schemas/graph.yaml#/properties/port > - description: A port node pointing to DPI host port node No existing users you are breaking? The commit msg should explain. ==> There are no it6505 users in community. > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + > + properties: > + port@0: > + $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 > + unevaluatedProperties: false > + > + properties: > + link-frequencies: > + minItems: 1 > + maxItems: 1 > + description: Allowed max link frequencies in Hz > + > + port@1: > + $ref: /schemas/graph.yaml#/$defs/port-base > + unevaluatedProperties: false > + description: Video port for DP output > + > + properties: > + endpoint: > + $ref: /schemas/graph.yaml#/$defs/endpoint-base > + unevaluatedProperties: false > + > + properties: > + 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. I would do just: data-lanes: minItems: 1 items: - enum: [ 0, 1 ] - const: 1 - const: 2 - const: 3 It does allow 3 lanes, but I don't think that's a big deal. What it does doesn't allow is any order and yours does. Rob
Hi Allen, On Thu, Oct 27, 2022 at 9:09 AM <allen.chen@ite.com.tw> wrote: > > Hi rob > > -----Original Message----- > From: Rob Herring <robh@kernel.org> > Sent: Tuesday, October 25, 2022 12:38 AM > To: Allen Chen (陳柏宇) <allen.chen@ite.com.tw> > Cc: Pin-Yen Lin <treapking@chromium.org>; Jau-Chih Tseng (曾昭智) <Jau-Chih.Tseng@ite.com.tw>; Hermes Wu (吳佳宏) <Hermes.Wu@ite.com.tw>; Kenneth Hung (洪家倫) <Kenneth.Hung@ite.com.tw>; Andrzej Hajda <andrzej.hajda@intel.com>; Neil Armstrong <narmstrong@baylibre.com>; Robert Foss <robert.foss@linaro.org>; Laurent Pinchart <Laurent.pinchart@ideasonboard.com>; 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 v5 1/2] dt-bindings: it6505: add properties to restrict output bandwidth > > On Wed, Oct 19, 2022 at 05:32: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 | 89 +++++++++++++++++-- > > 1 file changed, 83 insertions(+), 6 deletions(-) > > > > diff --git > > a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml > > b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml > > index 833d11b2303a7..8e607b6929fc9 100644 > > --- a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml > > +++ b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml > > @@ -52,9 +52,70 @@ properties: > > maxItems: 1 > > description: extcon specifier for the Power Delivery > > > > - port: > > - $ref: /schemas/graph.yaml#/properties/port > > - description: A port node pointing to DPI host port node > > No existing users you are breaking? The commit msg should explain. > > ==> There are no it6505 users in community. I would say, currently there are no "upstream" users. So, no existing users to break. The term "community" is a bit vague and broad. Regards, Pin-yen > > + ports: > > + $ref: /schemas/graph.yaml#/properties/ports > > + > > + properties: > > + port@0: > > + $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 > > + unevaluatedProperties: false > > + > > + properties: > > + link-frequencies: > > + minItems: 1 > > + maxItems: 1 > > + description: Allowed max link frequencies in Hz > > + > > + port@1: > > + $ref: /schemas/graph.yaml#/$defs/port-base > > + unevaluatedProperties: false > > + description: Video port for DP output > > + > > + properties: > > + endpoint: > > + $ref: /schemas/graph.yaml#/$defs/endpoint-base > > + unevaluatedProperties: false > > + > > + properties: > > + 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. > > I would do just: > > data-lanes: > minItems: 1 > items: > - enum: [ 0, 1 ] > - const: 1 > - const: 2 > - const: 3 > > It does allow 3 lanes, but I don't think that's a big deal. What it does doesn't allow is any order and yours does. > > Rob
On 26/10/2022 00:03, Pin-yen Lin wrote: >>> + - minItems: 4 >>> + maxItems: 4 >>> + uniqueItems: true >>> + items: >>> + enum: >>> + - 0 >>> + - 1 >>> + - 2 >>> + - 3 >>> + description: For four lanes operation. >> >> I would do just: >> >> data-lanes: >> minItems: 1 >> items: >> - enum: [ 0, 1 ] >> - const: 1 >> - const: 2 >> - const: 3 > > I believe we also want a `uniqueItems: true` to prevent duplicate > items like `<1 1>`. ... and are <1 1> passing with Rob's proposal? Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml index 833d11b2303a7..8e607b6929fc9 100644 --- a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml +++ b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml @@ -52,9 +52,70 @@ properties: maxItems: 1 description: extcon specifier for the Power Delivery - port: - $ref: /schemas/graph.yaml#/properties/port - description: A port node pointing to DPI host port node + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $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 + unevaluatedProperties: false + + properties: + link-frequencies: + minItems: 1 + maxItems: 1 + description: Allowed max link frequencies in Hz + + port@1: + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false + description: Video port for DP output + + properties: + endpoint: + $ref: /schemas/graph.yaml#/$defs/endpoint-base + unevaluatedProperties: false + + properties: + 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. + required: + - port@0 + - port@1 required: - compatible @@ -63,6 +124,7 @@ required: - interrupts - reset-gpios - extcon + - ports additionalProperties: false @@ -85,9 +147,24 @@ examples: reset-gpios = <&pio 179 1>; extcon = <&usbc_extcon>; - port { - it6505_in: endpoint { - remote-endpoint = <&dpi_out>; + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + it6505_in: endpoint { + remote-endpoint = <&dpi_out>; + link-frequencies = /bits/ 64 <150000000>; + }; + }; + + port@1 { + reg = <1>; + it6505_out: endpoint { + remote-endpoint = <&dp_in>; + data-lanes = <0 1>; + }; }; }; };