Commit f95cad74 authored by Maxime Ripard's avatar Maxime Ripard Committed by Rob Herring
Browse files

dt-bindings: clocks: Convert Allwinner legacy clocks to schemas



The Allwinner SoCs have a legacy set of bindings (and a framework to
support it in Linux) for their clock controllers.

Now that we have the DT validation in place, let's split into separate file
and convert the device tree bindings for those clocks to schemas, and mark
them all as deprecated.

Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent b30d8cf5
Loading
Loading
Loading
Loading
+108 −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,sun4i-a10-ahb-clk.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A10 AHB Clock Device Tree Bindings

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

deprecated: true

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

  compatible:
    enum:
      - allwinner,sun4i-a10-ahb-clk
      - allwinner,sun6i-a31-ahb1-clk
      - allwinner,sun8i-h3-ahb2-clk

  reg:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 4
    description: >
      The parent order must match the hardware programming order.

  clock-output-names:
    maxItems: 1

required:
  - "#clock-cells"
  - compatible
  - reg
  - clocks
  - clock-output-names

additionalProperties: false

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: allwinner,sun4i-a10-ahb-clk

    then:
      properties:
        clocks:
          maxItems: 1

  - if:
      properties:
        compatible:
          contains:
            const: allwinner,sun6i-a31-ahb1-clk

    then:
      properties:
        clocks:
          maxItems: 4

  - if:
      properties:
        compatible:
          contains:
            const: allwinner,sun8i-h3-ahb2-clk

    then:
      properties:
        clocks:
          maxItems: 2

examples:
  - |
    ahb@1c20054 {
        #clock-cells = <0>;
        compatible = "allwinner,sun4i-a10-ahb-clk";
        reg = <0x01c20054 0x4>;
        clocks = <&axi>;
        clock-output-names = "ahb";
    };

  - |
    ahb1@1c20054 {
        #clock-cells = <0>;
        compatible = "allwinner,sun6i-a31-ahb1-clk";
        reg = <0x01c20054 0x4>;
        clocks = <&osc32k>, <&osc24M>, <&axi>, <&pll6 0>;
        clock-output-names = "ahb1";
    };

  - |
    ahb2_clk@1c2005c {
        #clock-cells = <0>;
        compatible = "allwinner,sun8i-h3-ahb2-clk";
        reg = <0x01c2005c 0x4>;
        clocks = <&ahb1>, <&pll6d2>;
        clock-output-names = "ahb2";
    };

...
+50 −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,sun4i-a10-apb0-clk.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A10 APB0 Bus Clock Device Tree Bindings

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

deprecated: true

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

  compatible:
    const: allwinner,sun4i-a10-apb0-clk

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-output-names:
    maxItems: 1

required:
  - "#clock-cells"
  - compatible
  - reg
  - clocks
  - clock-output-names

additionalProperties: false

examples:
  - |
    apb0@1c20054 {
        #clock-cells = <0>;
        compatible = "allwinner,sun4i-a10-apb0-clk";
        reg = <0x01c20054 0x4>;
        clocks = <&ahb>;
        clock-output-names = "apb0";
    };

...
+52 −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,sun4i-a10-apb1-clk.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A10 APB1 Bus Clock Device Tree Bindings

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

deprecated: true

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

  compatible:
    const: allwinner,sun4i-a10-apb1-clk

  reg:
    maxItems: 1

  clocks:
    maxItems: 3
    description: >
      The parent order must match the hardware programming order.

  clock-output-names:
    maxItems: 1

required:
  - "#clock-cells"
  - compatible
  - reg
  - clocks
  - clock-output-names

additionalProperties: false

examples:
  - |
    clk@1c20058 {
        #clock-cells = <0>;
        compatible = "allwinner,sun4i-a10-apb1-clk";
        reg = <0x01c20058 0x4>;
        clocks = <&osc24M>, <&pll6 1>, <&osc32k>;
        clock-output-names = "apb1";
    };

...
+61 −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,sun4i-a10-axi-clk.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A10 AXI Clock Device Tree Bindings

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

deprecated: true

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

  compatible:
    enum:
      - allwinner,sun4i-a10-axi-clk
      - allwinner,sun8i-a23-axi-clk

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-output-names:
    maxItems: 1

required:
  - "#clock-cells"
  - compatible
  - reg
  - clocks
  - clock-output-names

additionalProperties: false

examples:
  - |
    axi@1c20054 {
        #clock-cells = <0>;
        compatible = "allwinner,sun4i-a10-axi-clk";
        reg = <0x01c20054 0x4>;
        clocks = <&cpu>;
        clock-output-names = "axi";
    };

  - |
    axi_clk@1c20050 {
        #clock-cells = <0>;
        compatible = "allwinner,sun8i-a23-axi-clk";
        reg = <0x01c20050 0x4>;
        clocks = <&cpu>;
        clock-output-names = "axi";
    };

...
+52 −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,sun4i-a10-cpu-clk.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A10 CPU Clock Device Tree Bindings

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

deprecated: true

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

  compatible:
    const: allwinner,sun4i-a10-cpu-clk

  reg:
    maxItems: 1

  clocks:
    maxItems: 4
    description: >
      The parent order must match the hardware programming order.

  clock-output-names:
    maxItems: 1

required:
  - "#clock-cells"
  - compatible
  - reg
  - clocks
  - clock-output-names

additionalProperties: false

examples:
  - |
    cpu@1c20054 {
        #clock-cells = <0>;
        compatible = "allwinner,sun4i-a10-cpu-clk";
        reg = <0x01c20054 0x4>;
        clocks = <&osc32k>, <&osc24M>, <&pll1>, <&dummy>;
        clock-output-names = "cpu";
    };

...
Loading