[PATCH] dt-bindings: display: analogix_dp.txt: convert to yaml
Rob Herring
robh at kernel.org
Mon May 11 21:31:08 UTC 2020
On Fri, Apr 24, 2020 at 01:26:34PM +0200, Ricardo Cañuelo wrote:
> This converts the DT binding for the Analogix DP bridge used in
> the Exynos 5 and Rockchip RK3288/RK3399 SoCs to yaml.
>
> Changes from the original binding:
> - phy and phy-names aren't defined as 'required' (rk3399-evb.dts doesn't
> define them)
>
> Signed-off-by: Ricardo Cañuelo <ricardo.canuelo at collabora.com>
> ---
> This binding is meant to be used in conjunction with
> Documentation/bindings/display/rockchip/analogix_dp-rockchip.txt
> and
> Documentation/bindings/display/exynos/exynos_dp.txt
>
> I was careful to define the bindings to be flexible enough for both
> cases, since the properties might be slightly different depending
> on the SoC.
They need to be converted all at once to schema.
>
> Tested with
> make dt_binding_check ARCH=arm64 DT_SCHEMA_FILES=<...analogix_dp.yaml>
> make dtbs_check ARCH=arm64 DT_SCHEMA_FILES=<...analogix_dp.yaml>
>
> .../bindings/display/bridge/analogix_dp.txt | 51 --------
> .../bindings/display/bridge/analogix_dp.yaml | 120 ++++++++++++++++++
> 2 files changed, 120 insertions(+), 51 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/display/bridge/analogix_dp.txt
> create mode 100644 Documentation/devicetree/bindings/display/bridge/analogix_dp.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/bridge/analogix_dp.txt b/Documentation/devicetree/bindings/display/bridge/analogix_dp.txt
> deleted file mode 100644
> index 027d76c27a41..000000000000
> --- a/Documentation/devicetree/bindings/display/bridge/analogix_dp.txt
> +++ /dev/null
> @@ -1,51 +0,0 @@
> -Analogix Display Port bridge bindings
> -
> -Required properties for dp-controller:
> - -compatible:
> - platform specific such as:
> - * "samsung,exynos5-dp"
> - * "rockchip,rk3288-dp"
> - * "rockchip,rk3399-edp"
> - -reg:
> - physical base address of the controller and length
> - of memory mapped region.
> - -interrupts:
> - interrupt combiner values.
> - -clocks:
> - from common clock binding: handle to dp clock.
> - -clock-names:
> - from common clock binding: Shall be "dp".
> - -phys:
> - from general PHY binding: the phandle for the PHY device.
> - -phy-names:
> - from general PHY binding: Should be "dp".
> -
> -Optional properties for dp-controller:
> - -force-hpd:
> - Indicate driver need force hpd when hpd detect failed, this
> - is used for some eDP screen which don't have hpd signal.
> - -hpd-gpios:
> - Hotplug detect GPIO.
> - Indicates which GPIO should be used for hotplug detection
> - -port@[X]: SoC specific port nodes with endpoint definitions as defined
> - in Documentation/devicetree/bindings/media/video-interfaces.txt,
> - please refer to the SoC specific binding document:
> - * Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
> - * Documentation/devicetree/bindings/display/rockchip/analogix_dp-rockchip.txt
> -
> -[1]: Documentation/devicetree/bindings/media/video-interfaces.txt
> --------------------------------------------------------------------------------
> -
> -Example:
> -
> - dp-controller {
> - compatible = "samsung,exynos5-dp";
> - reg = <0x145b0000 0x10000>;
> - interrupts = <10 3>;
> - interrupt-parent = <&combiner>;
> - clocks = <&clock 342>;
> - clock-names = "dp";
> -
> - phys = <&dp_phy>;
> - phy-names = "dp";
> - };
> diff --git a/Documentation/devicetree/bindings/display/bridge/analogix_dp.yaml b/Documentation/devicetree/bindings/display/bridge/analogix_dp.yaml
> new file mode 100644
> index 000000000000..a29a79d92c4b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/bridge/analogix_dp.yaml
> @@ -0,0 +1,120 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/bridge/analogix_dp.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analogix Display Port bridge bindings
> +
> +maintainers:
> + - Yakir Yang <ykk at rock-chips.com>
> +
> +description: |
> + The Samsung Exynos eDP and Rockchip RK3288 eDP controllers share the
> + same IP. This binding describes the nodes and properties that are
> + common to both SoCs.
> +
> + Please, read this together with
> + Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
> + and
> + Documentation/devicetree/bindings/display/rockchip/analogix_dp-rockchip.txt
> +
> +properties:
> + compatible:
> + enum:
> + - samsung,exynos5-dp
> + - rockchip,rk3288-dp
> + - rockchip,rk3399-edp
> +
> + reg:
> + maxItems: 1
> + description:
> + Physical base address of the controller and length of memory
> + mapped region.
That's all 'reg' properties, drop.
> +
> + interrupts:
> + maxItems: 1
> + description: Interrupt combiner values.
> +
> + clocks:
> + description: Phandles to dp clocks.
Need:
minItems: 1
maxItems: 3
> +
> + clock-names:
> + minItems: 1
> + maxItems: 3
> + additionalItems: true
> + items:
> + - const: dp
> + description: Must define at least "dp".
That's what the schema says.
> +
> + phys:
> + maxItems: 1
> + description: Phandle for the PHY device.
Drop
> +
> + phy-names:
> + const: dp
> +
> + force-hpd: true
> +
> + hpd-gpios:
> + maxItems: 1
> + description:
> + Hotplug Detect GPIO. Indicates which GPIO should be used for
> + hotplug detection.
This should be marked deprecated because this belongs in a connector
node.
> +
> + ports:
> + type: object
> + description: |
> + A node containing SoC-specific port nodes with endpoint
> + definitions as documented in
> + Documentation/devicetree/bindings/media/video-interfaces.txt
> +
> + Please, refer to
> + Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
> + and
> + Documentation/devicetree/bindings/display/rockchip/analogix_dp-rockchip.txt
> + for SoC-specific information about port and endpoint definitions.
Is the port numbering different? If so, probably should just have 2
separate schema files.
> +
> + properties:
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0
> +
> + port at 0:
> + type: object
Needs 'description' to say what data each port is.
> +
> + properties:
> + reg:
> + const: 0
> +
> + port at 1:
> + type: object
> +
> + properties:
> + reg:
> + const: 1
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> + - clock-names
> +
> +examples:
> + - |
> + dp: dp-controller at 145b0000 {
> + compatible = "samsung,exynos5-dp";
> + reg = <0x145b0000 0x10000>;
> + interrupts = <10 3>;
> + interrupt-parent = <&combiner>;
> + clocks = <&clock 342>;
> + clock-names = "dp";
> +
> + phys = <&dp_phy>;
> + phy-names = "dp";
> + };
> +
> +...
> --
> 2.18.0
>
More information about the dri-devel
mailing list