diff mbox series

[v9,1/4] dt-bindings:drm/bridge:anx7625:add vendor define flags

Message ID 308427448195e2db37a32997c6d32905c96ca876.1624349480.git.xji@analogixsemi.com
State Changes Requested, archived
Headers show
Series [v9,1/4] dt-bindings:drm/bridge:anx7625:add vendor define flags | expand

Checks

Context Check Description
robh/checkpatch success
robh/dt-meta-schema success
robh/dtbs-check fail build log

Commit Message

Xin Ji June 22, 2021, 12:31 p.m. UTC
Add 'bus-type' and 'data-lanes' define for port0. Define DP tx lane0,
lane1 swing register array define, and audio enable flag.

Signed-off-by: Xin Ji <xji@analogixsemi.com>
---
 .../display/bridge/analogix,anx7625.yaml      | 57 ++++++++++++++++++-
 1 file changed, 56 insertions(+), 1 deletion(-)

Comments

Xin Ji July 7, 2021, 7:30 a.m. UTC | #1
On Thu, Jun 24, 2021 at 01:57:22PM +0200, Robert Foss wrote:
> Hey Xin,
> 
> I would like to merge this series now, but this patch needs a review
> first. Maybe Laurent/Rob Herring are good candidates.
> 
> 
> Rob.
Hi Rob, I get Laurent/Rob comments before, and explained why we needs
these DT properties, so far, I didn't get any response.

Hi Rob Herring and Laurent, for the DT property lane0/1-swing, Google
engineer has strong demond for them, they don't want to move DP swing
adjusting to kernel, thus may cause change the driver code in each
project, so config them in DT is a best option.

Thanks,
Xin
> 
> On Tue, 22 Jun 2021 at 14:31, Xin Ji <xji@analogixsemi.com> wrote:
> >
> > Add 'bus-type' and 'data-lanes' define for port0. Define DP tx lane0,
> > lane1 swing register array define, and audio enable flag.
> >
> > Signed-off-by: Xin Ji <xji@analogixsemi.com>
> > ---
> >  .../display/bridge/analogix,anx7625.yaml      | 57 ++++++++++++++++++-
> >  1 file changed, 56 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
> > index ab48ab2f4240..9e604d19a3d5 100644
> > --- a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
> > +++ b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
> > @@ -43,6 +43,26 @@ properties:
> >    vdd33-supply:
> >      description: Regulator that provides the supply 3.3V power.
> >
> > +  analogix,lane0-swing:
> > +    $ref: /schemas/types.yaml#/definitions/uint32-array
> > +    minItems: 1
> > +    maxItems: 20
> > +    description:
> > +      an array of swing register setting for DP tx lane0 PHY, please don't
> > +      add this property, or contact vendor.
> > +
> > +  analogix,lane1-swing:
> > +    $ref: /schemas/types.yaml#/definitions/uint32-array
> > +    minItems: 1
> > +    maxItems: 20
> > +    description:
> > +      an array of swing register setting for DP tx lane1 PHY, please don't
> > +      add this property, or contact vendor.
> > +
> > +  analogix,audio-enable:
> > +    type: boolean
> > +    description: let the driver enable audio HDMI codec function or not.
> > +
> >    ports:
> >      $ref: /schemas/graph.yaml#/properties/ports
> >
> > @@ -50,13 +70,43 @@ properties:
> >        port@0:
> >          $ref: /schemas/graph.yaml#/properties/port
> >          description:
> > -          Video port for MIPI DSI input.
> > +          MIPI DSI/DPI input.
> > +
> > +        properties:
> > +          endpoint:
> > +            $ref: /schemas/media/video-interfaces.yaml#
> > +            type: object
> > +            additionalProperties: false
> > +
> > +            properties:
> > +              remote-endpoint: true
> > +              bus-type: true
> > +              data-lanes: true
> > +
> > +            required:
> > +              - remote-endpoint
> > +
> > +        required:
> > +          - endpoint
> > +
> >
> >        port@1:
> >          $ref: /schemas/graph.yaml#/properties/port
> >          description:
> >            Video port for panel or connector.
> >
> > +        properties:
> > +          endpoint:
> > +            $ref: /schemas/media/video-interfaces.yaml#
> > +            type: object
> > +            additionalProperties: false
> > +
> > +            properties:
> > +              remote-endpoint: true
> > +
> > +            required:
> > +              - remote-endpoint
> > +
> >      required:
> >        - port@0
> >        - port@1
> > @@ -87,6 +137,9 @@ examples:
> >              vdd10-supply = <&pp1000_mipibrdg>;
> >              vdd18-supply = <&pp1800_mipibrdg>;
> >              vdd33-supply = <&pp3300_mipibrdg>;
> > +            analogix,audio-enable;
> > +            analogix,lane0-swing = <0x14 0x54 0x64 0x74 0x29 0x7b 0x77 0x5b>;
> > +            analogix,lane1-swing = <0x14 0x54 0x64 0x74 0x29 0x7b 0x77 0x5b>;
> >
> >              ports {
> >                  #address-cells = <1>;
> > @@ -96,6 +149,8 @@ examples:
> >                      reg = <0>;
> >                      anx7625_in: endpoint {
> >                          remote-endpoint = <&mipi_dsi>;
> > +                        bus-type = <5>;
> > +                        data-lanes = <0 1 2 3>;
> >                      };
> >                  };
> >
> > --
> > 2.25.1
> >
Rob Herring July 13, 2021, 10:10 p.m. UTC | #2
On Wed, Jul 07, 2021 at 03:30:51PM +0800, Xin Ji wrote:
> On Thu, Jun 24, 2021 at 01:57:22PM +0200, Robert Foss wrote:
> > Hey Xin,
> > 
> > I would like to merge this series now, but this patch needs a review
> > first. Maybe Laurent/Rob Herring are good candidates.
> > 
> > 
> > Rob.
> Hi Rob, I get Laurent/Rob comments before, and explained why we needs
> these DT properties, so far, I didn't get any response.

Do I have to go dig that up? If it was more than a week ago, assume I 
don't remember. This is 1 of 100 bindings a week.

Justify why this is needed in your commit message.

> Hi Rob Herring and Laurent, for the DT property lane0/1-swing, Google
> engineer has strong demond for them, they don't want to move DP swing
> adjusting to kernel, thus may cause change the driver code in each
> project, so config them in DT is a best option.

Where's the ack from a Google engineer?

> 
> Thanks,
> Xin
> > 
> > On Tue, 22 Jun 2021 at 14:31, Xin Ji <xji@analogixsemi.com> wrote:
> > >
> > > Add 'bus-type' and 'data-lanes' define for port0. Define DP tx lane0,
> > > lane1 swing register array define, and audio enable flag.
> > >
> > > Signed-off-by: Xin Ji <xji@analogixsemi.com>
> > > ---
> > >  .../display/bridge/analogix,anx7625.yaml      | 57 ++++++++++++++++++-
> > >  1 file changed, 56 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
> > > index ab48ab2f4240..9e604d19a3d5 100644
> > > --- a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
> > > +++ b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
> > > @@ -43,6 +43,26 @@ properties:
> > >    vdd33-supply:
> > >      description: Regulator that provides the supply 3.3V power.
> > >
> > > +  analogix,lane0-swing:
> > > +    $ref: /schemas/types.yaml#/definitions/uint32-array
> > > +    minItems: 1
> > > +    maxItems: 20
> > > +    description:
> > > +      an array of swing register setting for DP tx lane0 PHY, please don't
> > > +      add this property, or contact vendor.

Why do we have the property if we're not supposed to add it.

> > > +
> > > +  analogix,lane1-swing:
> > > +    $ref: /schemas/types.yaml#/definitions/uint32-array
> > > +    minItems: 1
> > > +    maxItems: 20
> > > +    description:
> > > +      an array of swing register setting for DP tx lane1 PHY, please don't
> > > +      add this property, or contact vendor.
> > > +
> > > +  analogix,audio-enable:
> > > +    type: boolean
> > > +    description: let the driver enable audio HDMI codec function or not.

Wouldn't we have a 'port' node if audio is to be enabled?

> > > +
> > >    ports:
> > >      $ref: /schemas/graph.yaml#/properties/ports
> > >
> > > @@ -50,13 +70,43 @@ properties:
> > >        port@0:
> > >          $ref: /schemas/graph.yaml#/properties/port
> > >          description:
> > > -          Video port for MIPI DSI input.
> > > +          MIPI DSI/DPI input.
> > > +
> > > +        properties:
> > > +          endpoint:
> > > +            $ref: /schemas/media/video-interfaces.yaml#
> > > +            type: object
> > > +            additionalProperties: false

Use 'unevaluatedProperties: false' instead...

> > > +
> > > +            properties:
> > > +              remote-endpoint: true

...And drop this.

> > > +              bus-type: true

This device supports all the possible bus types? What's the default as 
it is not required?

> > > +              data-lanes: true

And up to 8 lanes? 

> > > +
> > > +            required:
> > > +              - remote-endpoint
> > > +
> > > +        required:
> > > +          - endpoint

You can drop both 'required'.

> > > +
> > >
> > >        port@1:
> > >          $ref: /schemas/graph.yaml#/properties/port
> > >          description:
> > >            Video port for panel or connector.
> > >
> > > +        properties:
> > > +          endpoint:
> > > +            $ref: /schemas/media/video-interfaces.yaml#

Doesn't look like anything from video-interfaces.yaml is used. This 
whole chunk is not needed.

> > > +            type: object
> > > +            additionalProperties: false
> > > +
> > > +            properties:
> > > +              remote-endpoint: true
> > > +
> > > +            required:
> > > +              - remote-endpoint
> > > +
> > >      required:
> > >        - port@0
> > >        - port@1
> > > @@ -87,6 +137,9 @@ examples:
> > >              vdd10-supply = <&pp1000_mipibrdg>;
> > >              vdd18-supply = <&pp1800_mipibrdg>;
> > >              vdd33-supply = <&pp3300_mipibrdg>;
> > > +            analogix,audio-enable;
> > > +            analogix,lane0-swing = <0x14 0x54 0x64 0x74 0x29 0x7b 0x77 0x5b>;
> > > +            analogix,lane1-swing = <0x14 0x54 0x64 0x74 0x29 0x7b 0x77 0x5b>;
> > >
> > >              ports {
> > >                  #address-cells = <1>;
> > > @@ -96,6 +149,8 @@ examples:
> > >                      reg = <0>;
> > >                      anx7625_in: endpoint {
> > >                          remote-endpoint = <&mipi_dsi>;
> > > +                        bus-type = <5>;
> > > +                        data-lanes = <0 1 2 3>;
> > >                      };
> > >                  };
> > >
> > > --
> > > 2.25.1
> > >
>
Laurent Pinchart July 14, 2021, 8:32 a.m. UTC | #3
Hi Xin,

On Wed, Jul 07, 2021 at 03:30:51PM +0800, Xin Ji wrote:
> On Thu, Jun 24, 2021 at 01:57:22PM +0200, Robert Foss wrote:
> > Hey Xin,
> > 
> > I would like to merge this series now, but this patch needs a review
> > first. Maybe Laurent/Rob Herring are good candidates.
>
> Hi Rob, I get Laurent/Rob comments before, and explained why we needs
> these DT properties, so far, I didn't get any response.
> 
> Hi Rob Herring and Laurent, for the DT property lane0/1-swing, Google
> engineer has strong demond for them, they don't want to move DP swing
> adjusting to kernel, thus may cause change the driver code in each
> project, so config them in DT is a best option.

Hardcoding it in the driver is certainly not a good option, but
hardcoding it in DT isn't either unless you can explain how the value
should be computed. "Contact the vendor" isn't good enough.

> > On Tue, 22 Jun 2021 at 14:31, Xin Ji <xji@analogixsemi.com> wrote:
> > >
> > > Add 'bus-type' and 'data-lanes' define for port0. Define DP tx lane0,
> > > lane1 swing register array define, and audio enable flag.
> > >
> > > Signed-off-by: Xin Ji <xji@analogixsemi.com>
> > > ---
> > >  .../display/bridge/analogix,anx7625.yaml      | 57 ++++++++++++++++++-
> > >  1 file changed, 56 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
> > > index ab48ab2f4240..9e604d19a3d5 100644
> > > --- a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
> > > +++ b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
> > > @@ -43,6 +43,26 @@ properties:
> > >    vdd33-supply:
> > >      description: Regulator that provides the supply 3.3V power.
> > >
> > > +  analogix,lane0-swing:
> > > +    $ref: /schemas/types.yaml#/definitions/uint32-array
> > > +    minItems: 1
> > > +    maxItems: 20
> > > +    description:
> > > +      an array of swing register setting for DP tx lane0 PHY, please don't
> > > +      add this property, or contact vendor.
> > > +
> > > +  analogix,lane1-swing:
> > > +    $ref: /schemas/types.yaml#/definitions/uint32-array
> > > +    minItems: 1
> > > +    maxItems: 20
> > > +    description:
> > > +      an array of swing register setting for DP tx lane1 PHY, please don't
> > > +      add this property, or contact vendor.
> > > +
> > > +  analogix,audio-enable:
> > > +    type: boolean
> > > +    description: let the driver enable audio HDMI codec function or not.
> > > +
> > >    ports:
> > >      $ref: /schemas/graph.yaml#/properties/ports
> > >
> > > @@ -50,13 +70,43 @@ properties:
> > >        port@0:
> > >          $ref: /schemas/graph.yaml#/properties/port
> > >          description:
> > > -          Video port for MIPI DSI input.
> > > +          MIPI DSI/DPI input.
> > > +
> > > +        properties:
> > > +          endpoint:
> > > +            $ref: /schemas/media/video-interfaces.yaml#
> > > +            type: object
> > > +            additionalProperties: false
> > > +
> > > +            properties:
> > > +              remote-endpoint: true
> > > +              bus-type: true
> > > +              data-lanes: true
> > > +
> > > +            required:
> > > +              - remote-endpoint
> > > +
> > > +        required:
> > > +          - endpoint
> > > +
> > >
> > >        port@1:
> > >          $ref: /schemas/graph.yaml#/properties/port
> > >          description:
> > >            Video port for panel or connector.
> > >
> > > +        properties:
> > > +          endpoint:
> > > +            $ref: /schemas/media/video-interfaces.yaml#
> > > +            type: object
> > > +            additionalProperties: false
> > > +
> > > +            properties:
> > > +              remote-endpoint: true
> > > +
> > > +            required:
> > > +              - remote-endpoint
> > > +
> > >      required:
> > >        - port@0
> > >        - port@1
> > > @@ -87,6 +137,9 @@ examples:
> > >              vdd10-supply = <&pp1000_mipibrdg>;
> > >              vdd18-supply = <&pp1800_mipibrdg>;
> > >              vdd33-supply = <&pp3300_mipibrdg>;
> > > +            analogix,audio-enable;
> > > +            analogix,lane0-swing = <0x14 0x54 0x64 0x74 0x29 0x7b 0x77 0x5b>;
> > > +            analogix,lane1-swing = <0x14 0x54 0x64 0x74 0x29 0x7b 0x77 0x5b>;
> > >
> > >              ports {
> > >                  #address-cells = <1>;
> > > @@ -96,6 +149,8 @@ examples:
> > >                      reg = <0>;
> > >                      anx7625_in: endpoint {
> > >                          remote-endpoint = <&mipi_dsi>;
> > > +                        bus-type = <5>;
> > > +                        data-lanes = <0 1 2 3>;
> > >                      };
> > >                  };
> > >
Xin Ji July 16, 2021, 5:32 a.m. UTC | #4
On Tue, Jul 13, 2021 at 04:10:10PM -0600, Rob Herring wrote:
> On Wed, Jul 07, 2021 at 03:30:51PM +0800, Xin Ji wrote:
> > On Thu, Jun 24, 2021 at 01:57:22PM +0200, Robert Foss wrote:
> > > Hey Xin,
> > > 
> > > I would like to merge this series now, but this patch needs a review
> > > first. Maybe Laurent/Rob Herring are good candidates.
> > > 
> > > 
> > > Rob.
> > Hi Rob, I get Laurent/Rob comments before, and explained why we needs
> > these DT properties, so far, I didn't get any response.
> 
> Do I have to go dig that up? If it was more than a week ago, assume I 
> don't remember. This is 1 of 100 bindings a week.
> 
> Justify why this is needed in your commit message.
Hi Rob, I'll give more detail description in commit message.
> 
> > Hi Rob Herring and Laurent, for the DT property lane0/1-swing, Google
> > engineer has strong demond for them, they don't want to move DP swing
> > adjusting to kernel, thus may cause change the driver code in each
> > project, so config them in DT is a best option.
> 
> Where's the ack from a Google engineer?
They didn't give the review ack, but we discussed it offline. Nicolas
Boichat known this.

Thanks,
Xin
> 
> > 
> > Thanks,
> > Xin
> > > 
> > > On Tue, 22 Jun 2021 at 14:31, Xin Ji <xji@analogixsemi.com> wrote:
> > > >
> > > > Add 'bus-type' and 'data-lanes' define for port0. Define DP tx lane0,
> > > > lane1 swing register array define, and audio enable flag.
> > > >
> > > > Signed-off-by: Xin Ji <xji@analogixsemi.com>
> > > > ---
> > > >  .../display/bridge/analogix,anx7625.yaml      | 57 ++++++++++++++++++-
> > > >  1 file changed, 56 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
> > > > index ab48ab2f4240..9e604d19a3d5 100644
> > > > --- a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
> > > > +++ b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
> > > > @@ -43,6 +43,26 @@ properties:
> > > >    vdd33-supply:
> > > >      description: Regulator that provides the supply 3.3V power.
> > > >
> > > > +  analogix,lane0-swing:
> > > > +    $ref: /schemas/types.yaml#/definitions/uint32-array
> > > > +    minItems: 1
> > > > +    maxItems: 20
> > > > +    description:
> > > > +      an array of swing register setting for DP tx lane0 PHY, please don't
> > > > +      add this property, or contact vendor.
> 
> Why do we have the property if we're not supposed to add it.
> 
> > > > +
> > > > +  analogix,lane1-swing:
> > > > +    $ref: /schemas/types.yaml#/definitions/uint32-array
> > > > +    minItems: 1
> > > > +    maxItems: 20
> > > > +    description:
> > > > +      an array of swing register setting for DP tx lane1 PHY, please don't
> > > > +      add this property, or contact vendor.
> > > > +
> > > > +  analogix,audio-enable:
> > > > +    type: boolean
> > > > +    description: let the driver enable audio HDMI codec function or not.
> 
> Wouldn't we have a 'port' node if audio is to be enabled?
> 
> > > > +
> > > >    ports:
> > > >      $ref: /schemas/graph.yaml#/properties/ports
> > > >
> > > > @@ -50,13 +70,43 @@ properties:
> > > >        port@0:
> > > >          $ref: /schemas/graph.yaml#/properties/port
> > > >          description:
> > > > -          Video port for MIPI DSI input.
> > > > +          MIPI DSI/DPI input.
> > > > +
> > > > +        properties:
> > > > +          endpoint:
> > > > +            $ref: /schemas/media/video-interfaces.yaml#
> > > > +            type: object
> > > > +            additionalProperties: false
> 
> Use 'unevaluatedProperties: false' instead...
> 
> > > > +
> > > > +            properties:
> > > > +              remote-endpoint: true
> 
> ...And drop this.
> 
> > > > +              bus-type: true
> 
> This device supports all the possible bus types? What's the default as 
> it is not required?
> 
> > > > +              data-lanes: true
> 
> And up to 8 lanes? 
> 
> > > > +
> > > > +            required:
> > > > +              - remote-endpoint
> > > > +
> > > > +        required:
> > > > +          - endpoint
> 
> You can drop both 'required'.
> 
> > > > +
> > > >
> > > >        port@1:
> > > >          $ref: /schemas/graph.yaml#/properties/port
> > > >          description:
> > > >            Video port for panel or connector.
> > > >
> > > > +        properties:
> > > > +          endpoint:
> > > > +            $ref: /schemas/media/video-interfaces.yaml#
> 
> Doesn't look like anything from video-interfaces.yaml is used. This 
> whole chunk is not needed.
> 
> > > > +            type: object
> > > > +            additionalProperties: false
> > > > +
> > > > +            properties:
> > > > +              remote-endpoint: true
> > > > +
> > > > +            required:
> > > > +              - remote-endpoint
> > > > +
> > > >      required:
> > > >        - port@0
> > > >        - port@1
> > > > @@ -87,6 +137,9 @@ examples:
> > > >              vdd10-supply = <&pp1000_mipibrdg>;
> > > >              vdd18-supply = <&pp1800_mipibrdg>;
> > > >              vdd33-supply = <&pp3300_mipibrdg>;
> > > > +            analogix,audio-enable;
> > > > +            analogix,lane0-swing = <0x14 0x54 0x64 0x74 0x29 0x7b 0x77 0x5b>;
> > > > +            analogix,lane1-swing = <0x14 0x54 0x64 0x74 0x29 0x7b 0x77 0x5b>;
> > > >
> > > >              ports {
> > > >                  #address-cells = <1>;
> > > > @@ -96,6 +149,8 @@ examples:
> > > >                      reg = <0>;
> > > >                      anx7625_in: endpoint {
> > > >                          remote-endpoint = <&mipi_dsi>;
> > > > +                        bus-type = <5>;
> > > > +                        data-lanes = <0 1 2 3>;
> > > >                      };
> > > >                  };
> > > >
> > > > --
> > > > 2.25.1
> > > >
> >
Xin Ji July 16, 2021, 5:35 a.m. UTC | #5
On Wed, Jul 14, 2021 at 11:32:35AM +0300, Laurent Pinchart wrote:
> Hi Xin,
> 
> On Wed, Jul 07, 2021 at 03:30:51PM +0800, Xin Ji wrote:
> > On Thu, Jun 24, 2021 at 01:57:22PM +0200, Robert Foss wrote:
> > > Hey Xin,
> > > 
> > > I would like to merge this series now, but this patch needs a review
> > > first. Maybe Laurent/Rob Herring are good candidates.
> >
> > Hi Rob, I get Laurent/Rob comments before, and explained why we needs
> > these DT properties, so far, I didn't get any response.
> > 
> > Hi Rob Herring and Laurent, for the DT property lane0/1-swing, Google
> > engineer has strong demond for them, they don't want to move DP swing
> > adjusting to kernel, thus may cause change the driver code in each
> > project, so config them in DT is a best option.
> 
> Hardcoding it in the driver is certainly not a good option, but
> hardcoding it in DT isn't either unless you can explain how the value
> should be computed. "Contact the vendor" isn't good enough.
Hi Laurent Pinchart, thanks for the coment, I'll add more detail explain
about the value means.

Thanks,
Xin
> 
> > > On Tue, 22 Jun 2021 at 14:31, Xin Ji <xji@analogixsemi.com> wrote:
> > > >
> > > > Add 'bus-type' and 'data-lanes' define for port0. Define DP tx lane0,
> > > > lane1 swing register array define, and audio enable flag.
> > > >
> > > > Signed-off-by: Xin Ji <xji@analogixsemi.com>
> > > > ---
> > > >  .../display/bridge/analogix,anx7625.yaml      | 57 ++++++++++++++++++-
> > > >  1 file changed, 56 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
> > > > index ab48ab2f4240..9e604d19a3d5 100644
> > > > --- a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
> > > > +++ b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
> > > > @@ -43,6 +43,26 @@ properties:
> > > >    vdd33-supply:
> > > >      description: Regulator that provides the supply 3.3V power.
> > > >
> > > > +  analogix,lane0-swing:
> > > > +    $ref: /schemas/types.yaml#/definitions/uint32-array
> > > > +    minItems: 1
> > > > +    maxItems: 20
> > > > +    description:
> > > > +      an array of swing register setting for DP tx lane0 PHY, please don't
> > > > +      add this property, or contact vendor.
> > > > +
> > > > +  analogix,lane1-swing:
> > > > +    $ref: /schemas/types.yaml#/definitions/uint32-array
> > > > +    minItems: 1
> > > > +    maxItems: 20
> > > > +    description:
> > > > +      an array of swing register setting for DP tx lane1 PHY, please don't
> > > > +      add this property, or contact vendor.
> > > > +
> > > > +  analogix,audio-enable:
> > > > +    type: boolean
> > > > +    description: let the driver enable audio HDMI codec function or not.
> > > > +
> > > >    ports:
> > > >      $ref: /schemas/graph.yaml#/properties/ports
> > > >
> > > > @@ -50,13 +70,43 @@ properties:
> > > >        port@0:
> > > >          $ref: /schemas/graph.yaml#/properties/port
> > > >          description:
> > > > -          Video port for MIPI DSI input.
> > > > +          MIPI DSI/DPI input.
> > > > +
> > > > +        properties:
> > > > +          endpoint:
> > > > +            $ref: /schemas/media/video-interfaces.yaml#
> > > > +            type: object
> > > > +            additionalProperties: false
> > > > +
> > > > +            properties:
> > > > +              remote-endpoint: true
> > > > +              bus-type: true
> > > > +              data-lanes: true
> > > > +
> > > > +            required:
> > > > +              - remote-endpoint
> > > > +
> > > > +        required:
> > > > +          - endpoint
> > > > +
> > > >
> > > >        port@1:
> > > >          $ref: /schemas/graph.yaml#/properties/port
> > > >          description:
> > > >            Video port for panel or connector.
> > > >
> > > > +        properties:
> > > > +          endpoint:
> > > > +            $ref: /schemas/media/video-interfaces.yaml#
> > > > +            type: object
> > > > +            additionalProperties: false
> > > > +
> > > > +            properties:
> > > > +              remote-endpoint: true
> > > > +
> > > > +            required:
> > > > +              - remote-endpoint
> > > > +
> > > >      required:
> > > >        - port@0
> > > >        - port@1
> > > > @@ -87,6 +137,9 @@ examples:
> > > >              vdd10-supply = <&pp1000_mipibrdg>;
> > > >              vdd18-supply = <&pp1800_mipibrdg>;
> > > >              vdd33-supply = <&pp3300_mipibrdg>;
> > > > +            analogix,audio-enable;
> > > > +            analogix,lane0-swing = <0x14 0x54 0x64 0x74 0x29 0x7b 0x77 0x5b>;
> > > > +            analogix,lane1-swing = <0x14 0x54 0x64 0x74 0x29 0x7b 0x77 0x5b>;
> > > >
> > > >              ports {
> > > >                  #address-cells = <1>;
> > > > @@ -96,6 +149,8 @@ examples:
> > > >                      reg = <0>;
> > > >                      anx7625_in: endpoint {
> > > >                          remote-endpoint = <&mipi_dsi>;
> > > > +                        bus-type = <5>;
> > > > +                        data-lanes = <0 1 2 3>;
> > > >                      };
> > > >                  };
> > > >
> 
> -- 
> Regards,
> 
> Laurent Pinchart
Nicolas Boichat July 16, 2021, 6:13 a.m. UTC | #6
On Fri, Jul 16, 2021 at 1:32 PM Xin Ji <xji@analogixsemi.com> wrote:
>
> On Tue, Jul 13, 2021 at 04:10:10PM -0600, Rob Herring wrote:
> > On Wed, Jul 07, 2021 at 03:30:51PM +0800, Xin Ji wrote:
> > > On Thu, Jun 24, 2021 at 01:57:22PM +0200, Robert Foss wrote:
> > > > Hey Xin,
> > > >
> > > > I would like to merge this series now, but this patch needs a review
> > > > first. Maybe Laurent/Rob Herring are good candidates.
> > > >
> > > >
> > > > Rob.
> > > Hi Rob, I get Laurent/Rob comments before, and explained why we needs
> > > these DT properties, so far, I didn't get any response.
> >
> > Do I have to go dig that up? If it was more than a week ago, assume I
> > don't remember. This is 1 of 100 bindings a week.
> >
> > Justify why this is needed in your commit message.
> Hi Rob, I'll give more detail description in commit message.
> >
> > > Hi Rob Herring and Laurent, for the DT property lane0/1-swing, Google
> > > engineer has strong demond for them, they don't want to move DP swing
> > > adjusting to kernel, thus may cause change the driver code in each
> > > project, so config them in DT is a best option.
> >
> > Where's the ack from a Google engineer?
> They didn't give the review ack, but we discussed it offline. Nicolas
> Boichat known this.

Yeah I suggested this here:
https://lore.kernel.org/patchwork/patch/1359670/#1564682 .

I also looked at the ANX7625 datasheet at the time and it was pretty
clear to me that this was not something customers could tune without
ANX's help, but it'd be great if Xin Ji can describe a bit more.

>
> Thanks,
> Xin
> [snip]
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
index ab48ab2f4240..9e604d19a3d5 100644
--- a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
@@ -43,6 +43,26 @@  properties:
   vdd33-supply:
     description: Regulator that provides the supply 3.3V power.
 
+  analogix,lane0-swing:
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 1
+    maxItems: 20
+    description:
+      an array of swing register setting for DP tx lane0 PHY, please don't
+      add this property, or contact vendor.
+
+  analogix,lane1-swing:
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 1
+    maxItems: 20
+    description:
+      an array of swing register setting for DP tx lane1 PHY, please don't
+      add this property, or contact vendor.
+
+  analogix,audio-enable:
+    type: boolean
+    description: let the driver enable audio HDMI codec function or not.
+
   ports:
     $ref: /schemas/graph.yaml#/properties/ports
 
@@ -50,13 +70,43 @@  properties:
       port@0:
         $ref: /schemas/graph.yaml#/properties/port
         description:
-          Video port for MIPI DSI input.
+          MIPI DSI/DPI input.
+
+        properties:
+          endpoint:
+            $ref: /schemas/media/video-interfaces.yaml#
+            type: object
+            additionalProperties: false
+
+            properties:
+              remote-endpoint: true
+              bus-type: true
+              data-lanes: true
+
+            required:
+              - remote-endpoint
+
+        required:
+          - endpoint
+
 
       port@1:
         $ref: /schemas/graph.yaml#/properties/port
         description:
           Video port for panel or connector.
 
+        properties:
+          endpoint:
+            $ref: /schemas/media/video-interfaces.yaml#
+            type: object
+            additionalProperties: false
+
+            properties:
+              remote-endpoint: true
+
+            required:
+              - remote-endpoint
+
     required:
       - port@0
       - port@1
@@ -87,6 +137,9 @@  examples:
             vdd10-supply = <&pp1000_mipibrdg>;
             vdd18-supply = <&pp1800_mipibrdg>;
             vdd33-supply = <&pp3300_mipibrdg>;
+            analogix,audio-enable;
+            analogix,lane0-swing = <0x14 0x54 0x64 0x74 0x29 0x7b 0x77 0x5b>;
+            analogix,lane1-swing = <0x14 0x54 0x64 0x74 0x29 0x7b 0x77 0x5b>;
 
             ports {
                 #address-cells = <1>;
@@ -96,6 +149,8 @@  examples:
                     reg = <0>;
                     anx7625_in: endpoint {
                         remote-endpoint = <&mipi_dsi>;
+                        bus-type = <5>;
+                        data-lanes = <0 1 2 3>;
                     };
                 };