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@collabora.com Acked-by: Sam Ravnborg sam@ravnborg.org
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@collabora.com
+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@collabora.com
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>;
};
};
- };