Unverified Commit 04a55fb2 authored by Maxime Ripard's avatar Maxime Ripard
Browse files

dt-bindings: clocks: Convert Allwinner DE2 clocks to a schema



The newer Allwinner SoCs have a DE2 clocks controller that is supported in
Linux, with a matching Device Tree binding.

Now that we have the DT validation in place, let's convert the device tree
bindings for that controller over to a YAML schemas.

Reviewed-by: default avatarStephen Boyd <sboyd@kernel.org>
Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
parent 0738badd
Loading
Loading
Loading
Loading
+76 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0+
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/allwinner,sun8i-a83t-de2-clk.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A83t Display Engine 2/3 Clock Controller Device Tree Bindings

maintainers:
  - Chen-Yu Tsai <wens@csie.org>
  - Maxime Ripard <mripard@kernel.org>

properties:
  "#clock-cells":
    const: 1

  "#reset-cells":
    const: 1

  compatible:
    oneOf:
      - const: allwinner,sun8i-a83t-de2-clk
      - const: allwinner,sun8i-h3-de2-clk
      - const: allwinner,sun8i-v3s-de2-clk
      - const: allwinner,sun50i-a64-de2-clk
      - const: allwinner,sun50i-h5-de2-clk
      - const: allwinner,sun50i-h6-de2-clk
      - items:
          - const: allwinner,sun8i-r40-de2-clk
          - const: allwinner,sun8i-h3-de2-clk

  reg:
    maxItems: 1

  clocks:
    items:
      - description: Bus Clock
      - description: Module Clock

  clock-names:
    items:
      - const: bus
      - const: mod

  resets:
    maxItems: 1

required:
  - "#clock-cells"
  - "#reset-cells"
  - compatible
  - reg
  - clocks
  - clock-names
  - resets

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/sun8i-h3-ccu.h>
    #include <dt-bindings/reset/sun8i-h3-ccu.h>

    de2_clocks: clock@1000000 {
        compatible = "allwinner,sun8i-h3-de2-clk";
        reg = <0x01000000 0x100000>;
        clocks = <&ccu CLK_BUS_DE>,
                 <&ccu CLK_DE>;
        clock-names = "bus",
                      "mod";
        resets = <&ccu RST_BUS_DE>;
        #clock-cells = <1>;
        #reset-cells = <1>;
    };

...
+0 −34
Original line number Diff line number Diff line
Allwinner Display Engine 2.0/3.0 Clock Control Binding
------------------------------------------------------

Required properties :
- compatible: must contain one of the following compatibles:
		- "allwinner,sun8i-a83t-de2-clk"
		- "allwinner,sun8i-h3-de2-clk"
		- "allwinner,sun8i-v3s-de2-clk"
		- "allwinner,sun50i-a64-de2-clk"
		- "allwinner,sun50i-h5-de2-clk"
		- "allwinner,sun50i-h6-de3-clk"

- reg: Must contain the registers base address and length
- clocks: phandle to the clocks feeding the display engine subsystem.
	  Three are needed:
  - "mod": the display engine module clock (on A83T it's the DE PLL)
  - "bus": the bus clock for the whole display engine subsystem
- clock-names: Must contain the clock names described just above
- resets: phandle to the reset control for the display engine subsystem.
- #clock-cells : must contain 1
- #reset-cells : must contain 1

Example:
de2_clocks: clock@1000000 {
	compatible = "allwinner,sun8i-h3-de2-clk";
	reg = <0x01000000 0x100000>;
	clocks = <&ccu CLK_BUS_DE>,
		 <&ccu CLK_DE>;
	clock-names = "bus",
		      "mod";
	resets = <&ccu RST_BUS_DE>;
	#clock-cells = <1>;
	#reset-cells = <1>;
};