Unverified Commit c82f3030 authored by Maxime Ripard's avatar Maxime Ripard
Browse files

dt-bindings: clocks: Convert Allwinner A80 USB clocks to a schema



The Allwinner A80 SoC has a USB 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 04a55fb2
Loading
Loading
Loading
Loading
+59 −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,sun9i-a80-usb-clocks.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A80 USB 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:
    const: allwinner,sun9i-a80-usb-clocks

  reg:
    maxItems: 1

  clocks:
    items:
      - description: Bus Clock
      - description: High Frequency Oscillator

  clock-names:
    items:
      - const: bus
      - const: hosc

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

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/sun9i-a80-ccu.h>

    usb_clocks: clock@a08000 {
        compatible = "allwinner,sun9i-a80-usb-clks";
        reg = <0x00a08000 0x8>;
        clocks = <&ccu CLK_BUS_USB>, <&osc24M>;
        clock-names = "bus", "hosc";
        #clock-cells = <1>;
        #reset-cells = <1>;
    };

...
+0 −24
Original line number Diff line number Diff line
Allwinner A80 USB Clock Control Binding
---------------------------------------

Required properties :
- compatible: must contain one of the following compatibles:
		- "allwinner,sun9i-a80-usb-clocks"

- reg: Must contain the registers base address and length
- clocks: phandle to the clocks feeding the USB subsystem. Two are needed:
  - "bus": the bus clock for the whole USB subsystem
  - "hosc": the high frequency oscillator (usually at 24MHz)
- clock-names: Must contain the clock names described just above
- #clock-cells : must contain 1
- #reset-cells : must contain 1

Example:
usb_clocks: clock@a08000 {
	compatible = "allwinner,sun9i-a80-usb-clks";
	reg = <0x00a08000 0x8>;
	clocks = <&ccu CLK_BUS_USB>, <&osc24M>;
	clock-names = "bus", "hosc";
	#clock-cells = <1>;
	#reset-cells = <1>;
};