xref: /freebsd/sys/contrib/device-tree/Bindings/clock/rockchip,rk3568-cru.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
22eb4d8dcSEmmanuel Vadot%YAML 1.2
32eb4d8dcSEmmanuel Vadot---
42eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/rockchip,rk3568-cru.yaml#
52eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
62eb4d8dcSEmmanuel Vadot
7*8bab661aSEmmanuel Vadottitle: ROCKCHIP rk3568 Family Clock Control Module
82eb4d8dcSEmmanuel Vadot
92eb4d8dcSEmmanuel Vadotmaintainers:
102eb4d8dcSEmmanuel Vadot  - Elaine Zhang <zhangqing@rock-chips.com>
112eb4d8dcSEmmanuel Vadot  - Heiko Stuebner <heiko@sntech.de>
122eb4d8dcSEmmanuel Vadot
132eb4d8dcSEmmanuel Vadotdescription: |
142eb4d8dcSEmmanuel Vadot  The RK3568 clock controller generates the clock and also implements a
152eb4d8dcSEmmanuel Vadot  reset controller for SoC peripherals.
162eb4d8dcSEmmanuel Vadot  (examples: provide SCLK_UART1\PCLK_UART1 and SRST_P_UART1\SRST_S_UART1 for UART module)
172eb4d8dcSEmmanuel Vadot  Each clock is assigned an identifier and client nodes can use this identifier
182eb4d8dcSEmmanuel Vadot  to specify the clock which they consume. All available clocks are defined as
192eb4d8dcSEmmanuel Vadot  preprocessor macros in the dt-bindings/clock/rk3568-cru.h headers and can be
202eb4d8dcSEmmanuel Vadot  used in device tree sources.
212eb4d8dcSEmmanuel Vadot
222eb4d8dcSEmmanuel Vadotproperties:
232eb4d8dcSEmmanuel Vadot  compatible:
242eb4d8dcSEmmanuel Vadot    enum:
252eb4d8dcSEmmanuel Vadot      - rockchip,rk3568-cru
262eb4d8dcSEmmanuel Vadot      - rockchip,rk3568-pmucru
272eb4d8dcSEmmanuel Vadot
282eb4d8dcSEmmanuel Vadot  reg:
292eb4d8dcSEmmanuel Vadot    maxItems: 1
302eb4d8dcSEmmanuel Vadot
312eb4d8dcSEmmanuel Vadot  "#clock-cells":
322eb4d8dcSEmmanuel Vadot    const: 1
332eb4d8dcSEmmanuel Vadot
342eb4d8dcSEmmanuel Vadot  "#reset-cells":
352eb4d8dcSEmmanuel Vadot    const: 1
362eb4d8dcSEmmanuel Vadot
37d5b0e70fSEmmanuel Vadot  clocks:
38d5b0e70fSEmmanuel Vadot    maxItems: 1
39d5b0e70fSEmmanuel Vadot
40d5b0e70fSEmmanuel Vadot  clock-names:
41d5b0e70fSEmmanuel Vadot    const: xin24m
42d5b0e70fSEmmanuel Vadot
43d5b0e70fSEmmanuel Vadot  rockchip,grf:
44d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
45d5b0e70fSEmmanuel Vadot    description:
46d5b0e70fSEmmanuel Vadot      Phandle to the syscon managing the "general register files" (GRF),
47d5b0e70fSEmmanuel Vadot      if missing pll rates are not changeable, due to the missing pll
48d5b0e70fSEmmanuel Vadot      lock status.
49d5b0e70fSEmmanuel Vadot
502eb4d8dcSEmmanuel Vadotrequired:
512eb4d8dcSEmmanuel Vadot  - compatible
522eb4d8dcSEmmanuel Vadot  - reg
532eb4d8dcSEmmanuel Vadot  - "#clock-cells"
542eb4d8dcSEmmanuel Vadot  - "#reset-cells"
552eb4d8dcSEmmanuel Vadot
562eb4d8dcSEmmanuel VadotadditionalProperties: false
572eb4d8dcSEmmanuel Vadot
582eb4d8dcSEmmanuel Vadotexamples:
592eb4d8dcSEmmanuel Vadot  # Clock Control Module node:
602eb4d8dcSEmmanuel Vadot  - |
612eb4d8dcSEmmanuel Vadot    pmucru: clock-controller@fdd00000 {
622eb4d8dcSEmmanuel Vadot      compatible = "rockchip,rk3568-pmucru";
632eb4d8dcSEmmanuel Vadot      reg = <0xfdd00000 0x1000>;
642eb4d8dcSEmmanuel Vadot      #clock-cells = <1>;
652eb4d8dcSEmmanuel Vadot      #reset-cells = <1>;
662eb4d8dcSEmmanuel Vadot    };
672eb4d8dcSEmmanuel Vadot  - |
682eb4d8dcSEmmanuel Vadot    cru: clock-controller@fdd20000 {
692eb4d8dcSEmmanuel Vadot      compatible = "rockchip,rk3568-cru";
702eb4d8dcSEmmanuel Vadot      reg = <0xfdd20000 0x1000>;
712eb4d8dcSEmmanuel Vadot      #clock-cells = <1>;
722eb4d8dcSEmmanuel Vadot      #reset-cells = <1>;
732eb4d8dcSEmmanuel Vadot    };
74