Message ID | 20190725151829.DC20968B02@verein.lst.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3,6a/7] dt-bindings: Add ANX6345 DP/eDP transmitter binding | expand |
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
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
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
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 = <®_dldo2>; + dvdd12-supply = <®_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>; + }; + }; + }; + };