[v3,6a/7] dt-bindings: Add ANX6345 DP/eDP transmitter binding
diff mbox series

Message ID 20190725151829.DC20968B02@verein.lst.de
State New
Headers show
Series
  • [v3,6a/7] dt-bindings: Add ANX6345 DP/eDP transmitter binding
Related show

Commit Message

Torsten Duwe July 25, 2019, 3:18 p.m. UTC
The anx6345 is an ultra-low power DisplayPort/eDP transmitter designed
for portable devices.

Add a binding document for it.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Torsten Duwe <duwe@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 .../devicetree/bindings/display/bridge/anx6345.yaml |   90 ++++++++++
 1 file changed, 90 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/bridge/anx6345.yaml

Comments

Maxime Ripard July 26, 2019, 4:36 p.m. UTC | #1
Hi,

On Thu, Jul 25, 2019 at 05:18:29PM +0200, Torsten Duwe wrote:
> The anx6345 is an ultra-low power DisplayPort/eDP transmitter designed
> for portable devices.
>
> Add a binding document for it.
>
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Signed-off-by: Torsten Duwe <duwe@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
>  .../devicetree/bindings/display/bridge/anx6345.yaml |   90 ++++++++++
>  1 file changed, 90 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/bridge/anx6345.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/bridge/anx6345.yaml b/Documentation/devicetree/bindings/display/bridge/anx6345.yaml
> new file mode 100644
> index 000000000000..0af092d101c5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/bridge/anx6345.yaml
> @@ -0,0 +1,90 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/bridge/anx6345.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analogix ANX6345 eDP Transmitter Device Tree Bindings
> +
> +maintainers:
> +  - Torsten Duwe <duwe@lst.de>
> +
> +description: |
> +  The ANX6345 is an ultra-low power Full-HD eDP transmitter designed for
> +  portable devices.
> +
> +properties:
> +  compatible:
> +    const: analogix,anx6345
> +
> +  reg:
> +    maxItems: 1
> +    description: I2C address of the device
> +
> +  reset-gpios:
> +    maxItems: 1
> +    description: active low GPIO to use for reset
> +
> +  dvdd12-supply:
> +    maxItems: 1
> +    description: Regulator for 1.2V digital core power.
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +
> +  dvdd25-supply:
> +    maxItems: 1
> +    description: Regulator for 2.5V digital core power.
> +    $ref: /schemas/types.yaml#/definitions/phandle

There's no need to specify the type here, all the properties ending in
-supply are already checked for that type

> +  ports:
> +    type: object
> +    minItems: 1
> +    maxItems: 2
> +    description: |
> +      Video port 0 for LVTTL input,
> +      Video port 1 for eDP output (panel or connector)
> +      using the DT bindings defined in
> +      Documentation/devicetree/bindings/media/video-interfaces.txt

You should probably describe the port@0 and port@1 nodes here as
well. It would allow you to express that the port 0 is mandatory and
the port 1 optional, which got dropped in the conversion.

Maxime

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Torsten Duwe July 29, 2019, 2:22 p.m. UTC | #2
On Fri, Jul 26, 2019 at 06:36:01PM +0200, Maxime Ripard wrote:
> > +
> > +  dvdd12-supply:
> > +    maxItems: 1
> > +    description: Regulator for 1.2V digital core power.
> > +    $ref: /schemas/types.yaml#/definitions/phandle
> > +
> > +  dvdd25-supply:
> > +    maxItems: 1
> > +    description: Regulator for 2.5V digital core power.
> > +    $ref: /schemas/types.yaml#/definitions/phandle
> 
> There's no need to specify the type here, all the properties ending in
> -supply are already checked for that type

Ok, thanks for the hint.

> > +  ports:
> > +    type: object
> > +    minItems: 1
> > +    maxItems: 2
> > +    description: |
> > +      Video port 0 for LVTTL input,
> > +      Video port 1 for eDP output (panel or connector)
> > +      using the DT bindings defined in
> > +      Documentation/devicetree/bindings/media/video-interfaces.txt
> 
> You should probably describe the port@0 and port@1 nodes here as
> well. It would allow you to express that the port 0 is mandatory and
> the port 1 optional, which got dropped in the conversion.

I would have liked to, but have not discovered yet a comprehensive source
of information about recommended syntax and semantics of the YAML schemes.

Is there some central reference for these types of issues? I mean not the
"here is a git repo with the meta-schemes" but sort of a cookbook?

	Torsten
Rob Herring July 29, 2019, 11:54 p.m. UTC | #3
On Mon, Jul 29, 2019 at 8:23 AM Torsten Duwe <duwe@lst.de> wrote:
>
> On Fri, Jul 26, 2019 at 06:36:01PM +0200, Maxime Ripard wrote:
> > > +
> > > +  dvdd12-supply:
> > > +    maxItems: 1
> > > +    description: Regulator for 1.2V digital core power.
> > > +    $ref: /schemas/types.yaml#/definitions/phandle
> > > +
> > > +  dvdd25-supply:
> > > +    maxItems: 1
> > > +    description: Regulator for 2.5V digital core power.
> > > +    $ref: /schemas/types.yaml#/definitions/phandle
> >
> > There's no need to specify the type here, all the properties ending in
> > -supply are already checked for that type
>
> Ok, thanks for the hint.
>
> > > +  ports:
> > > +    type: object
> > > +    minItems: 1
> > > +    maxItems: 2
> > > +    description: |
> > > +      Video port 0 for LVTTL input,
> > > +      Video port 1 for eDP output (panel or connector)
> > > +      using the DT bindings defined in
> > > +      Documentation/devicetree/bindings/media/video-interfaces.txt
> >
> > You should probably describe the port@0 and port@1 nodes here as
> > well. It would allow you to express that the port 0 is mandatory and
> > the port 1 optional, which got dropped in the conversion.
>
> I would have liked to, but have not discovered yet a comprehensive source
> of information about recommended syntax and semantics of the YAML schemes.

The language is json-schema.

> Is there some central reference for these types of issues? I mean not the
> "here is a git repo with the meta-schemes" but sort of a cookbook?

Documentation/devicetree/writing-schema.md (soon .rst) and
Documentation/devicetree/bindings/example-schema.yaml attempt to do
this. Any feedback on them would be helpful.

For this case specifically, we do need to define a common graph
schema, but haven't yet. You can assume we do and only really need to
capture what Maxime said above.

Rob

Patch
diff mbox series

diff --git a/Documentation/devicetree/bindings/display/bridge/anx6345.yaml b/Documentation/devicetree/bindings/display/bridge/anx6345.yaml
new file mode 100644
index 000000000000..0af092d101c5
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/bridge/anx6345.yaml
@@ -0,0 +1,90 @@ 
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/bridge/anx6345.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analogix ANX6345 eDP Transmitter Device Tree Bindings
+
+maintainers:
+  - Torsten Duwe <duwe@lst.de>
+
+description: |
+  The ANX6345 is an ultra-low power Full-HD eDP transmitter designed for
+  portable devices.
+
+properties:
+  compatible:
+    const: analogix,anx6345
+
+  reg:
+    maxItems: 1
+    description: I2C address of the device
+
+  reset-gpios:
+    maxItems: 1
+    description: active low GPIO to use for reset
+
+  dvdd12-supply:
+    maxItems: 1
+    description: Regulator for 1.2V digital core power.
+    $ref: /schemas/types.yaml#/definitions/phandle
+
+  dvdd25-supply:
+    maxItems: 1
+    description: Regulator for 2.5V digital core power.
+    $ref: /schemas/types.yaml#/definitions/phandle
+
+  ports:
+    type: object
+    minItems: 1
+    maxItems: 2
+    description: |
+      Video port 0 for LVTTL input,
+      Video port 1 for eDP output (panel or connector)
+      using the DT bindings defined in
+      Documentation/devicetree/bindings/media/video-interfaces.txt
+
+required:
+  - compatible
+  - reg
+  - reset-gpios
+  - dvdd12-supply
+  - dvdd25-supply
+  - ports
+
+examples:
+ - |
+  anx6345: anx6345@38 {
+      compatible = "analogix,anx6345";
+      reg = <0x38>;
+      reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
+      dvdd25-supply = <&reg_dldo2>;
+      dvdd12-supply = <&reg_fldo1>;
+
+      ports {
+          #address-cells = <1>;
+          #size-cells = <0>;
+
+          anx6345_in: port@0 {
+              #address-cells = <1>;
+              #size-cells = <0>;
+              reg = <0>;
+              anx6345_in_tcon0: endpoint@0 {
+                  reg = <0>;
+                  remote-endpoint = <&tcon0_out_anx6345>;
+              };
+          };
+
+          anx6345_out: port@1 {
+              #address-cells = <1>;
+              #size-cells = <0>;
+              reg = <1>;
+
+              anx6345_out_panel: endpoint@0 {
+                  reg = <0>;
+                  remote-endpoint = <&panel_in_edp>;
+              };
+          };
+      };
+  };