Hi Ricardo, Thank you for your patch. On 27/4/20 12:09, Ricardo Cañuelo wrote: > This converts the Analogix ANX7814 bridge DT binding to yaml. Port > definitions and descriptions were expanded, apart from that it's a > direct translation from the original binding. > > Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@xxxxxxxxxxxxx> > Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx> > --- > Changes in v3 (suggested by Sam Ravnborg): > - Rename example node i2c0 to i2c. > > Changes in v2 (suggested by Enric Balletbo): > - File name change: use full compatible string. > - Binding description removed. > - #address-cells and #size-cells properties removed from ports node. > - Example node renamed: anx7814 -> bridge. > > Tested with: > make dt_binding_check ARCH=arm64 DT_SCHEMA_FILES=<.../analogix,anx7814.yaml> > make dtbs_check ARCH=arm64 DT_SCHEMA_FILES=<.../analogix,anx7814.yaml> > > .../display/bridge/analogix,anx7814.yaml | 124 ++++++++++++++++++ > .../bindings/display/bridge/anx7814.txt | 42 ------ > 2 files changed, 124 insertions(+), 42 deletions(-) > create mode 100644 Documentation/devicetree/bindings/display/bridge/analogix,anx7814.yaml > delete mode 100644 Documentation/devicetree/bindings/display/bridge/anx7814.txt > > diff --git a/Documentation/devicetree/bindings/display/bridge/analogix,anx7814.yaml b/Documentation/devicetree/bindings/display/bridge/analogix,anx7814.yaml > new file mode 100644 > index 000000000000..13f0b52edefd > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/bridge/analogix,anx7814.yaml > @@ -0,0 +1,124 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/bridge/analogix,anx7814.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Analogix ANX7814 SlimPort (Full-HD Transmitter) > + > +maintainers: > + - Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx> > + > +properties: > + compatible: > + enum: > + - analogix,anx7808 > + - analogix,anx7812 > + - analogix,anx7814 > + - analogix,anx7818 > + > + reg: > + maxItems: 1 > + description: I2C address of the device. > + > + interrupts: > + maxItems: 1 > + description: Should contain the INTP interrupt. > + > + hpd-gpios: > + maxItems: 1 > + description: Which GPIO to use for hpd. > + > + pd-gpios: > + maxItems: 1 > + description: Which GPIO to use for power down. > + > + reset-gpios: > + maxItems: 1 > + description: Which GPIO to use for reset. > + > + dvdd10-supply: > + maxItems: 1 > + description: Regulator for 1.0V digital core power. > + > + ports: > + type: object > + description: > + A node containing input and output port nodes with endpoint > + definitions as documented in > + Documentation/devicetree/bindings/media/video-interfaces.txt > + Documentation/devicetree/bindings/graph.txt > + > + properties: > + port@0: > + type: object > + description: Video port for HDMI input. > + > + properties: > + reg: > + const: 0 > + > + port@1: > + type: object > + description: > + Video port for SlimPort, DisplayPort, eDP or MyDP output. > + > + properties: > + reg: > + const: 1 > + > + required: > + - port@0 > + - port@1 > + > +required: > + - compatible > + - reg > + - interrupts See below ... > + - hpd-gpios > + - pd-gpios > + - reset-gpios I know that these gpio attributes were required in the old binding and the driver handles these gpios as required, but assuming that we should really describe the hardware _not_ the driver, strictly talking, none of these gpios are really required. The same happens with the interrupt, you can left the pin floating and poll the registers. So I am wondering if you should remove interrupts, *-gpios from required. Maybe Rob Herring can give us more light on this? Other than that: Reviewed-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx> Thanks, Enric > + - ports > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + #include <dt-bindings/gpio/gpio.h> > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + anx7814: bridge@38 { > + compatible = "analogix,anx7814"; > + reg = <0x38>; > + interrupt-parent = <&gpio0>; > + interrupts = <99 IRQ_TYPE_LEVEL_LOW>; /* INTP */ > + hpd-gpios = <&pio 36 GPIO_ACTIVE_HIGH>; > + pd-gpios = <&pio 33 GPIO_ACTIVE_HIGH>; > + reset-gpios = <&pio 98 GPIO_ACTIVE_HIGH>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + anx7814_in: endpoint { > + remote-endpoint = <&hdmi0_out>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + anx7814_out: endpoint { > + remote-endpoint = <&edp_out>; > + }; > + }; > + }; > + }; > + }; > + > +... > diff --git a/Documentation/devicetree/bindings/display/bridge/anx7814.txt b/Documentation/devicetree/bindings/display/bridge/anx7814.txt > deleted file mode 100644 > index 17258747fff6..000000000000 > --- a/Documentation/devicetree/bindings/display/bridge/anx7814.txt > +++ /dev/null > @@ -1,42 +0,0 @@ > -Analogix ANX7814 SlimPort (Full-HD Transmitter) > ------------------------------------------------ > - > -The ANX7814 is an ultra-low power Full-HD (1080p60) SlimPort transmitter > -designed for portable devices. > - > -Required properties: > - > - - compatible : Must be one of: > - "analogix,anx7808" > - "analogix,anx7812" > - "analogix,anx7814" > - "analogix,anx7818" > - - reg : I2C address of the device > - - interrupts : Should contain the INTP interrupt > - - hpd-gpios : Which GPIO to use for hpd > - - pd-gpios : Which GPIO to use for power down > - - reset-gpios : Which GPIO to use for reset > - > -Optional properties: > - > - - dvdd10-supply : Regulator for 1.0V digital core power. > - - Video port for HDMI input, using the DT bindings defined in [1]. > - > -[1]: Documentation/devicetree/bindings/media/video-interfaces.txt > - > -Example: > - > - anx7814: anx7814@38 { > - compatible = "analogix,anx7814"; > - reg = <0x38>; > - interrupt-parent = <&gpio0>; > - interrupts = <99 IRQ_TYPE_LEVEL_LOW>; /* INTP */ > - hpd-gpios = <&pio 36 GPIO_ACTIVE_HIGH>; > - pd-gpios = <&pio 33 GPIO_ACTIVE_HIGH>; > - reset-gpios = <&pio 98 GPIO_ACTIVE_HIGH>; > - port { > - anx7814_in: endpoint { > - remote-endpoint = <&hdmi0_out>; > - }; > - }; > - }; >