xref: /linux/Documentation/devicetree/bindings/clock/rockchip,rk3188-cru.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1*43434c66SJohan Jonker# SPDX-License-Identifier: GPL-2.0
2*43434c66SJohan Jonker%YAML 1.2
3*43434c66SJohan Jonker---
4*43434c66SJohan Jonker$id: http://devicetree.org/schemas/clock/rockchip,rk3188-cru.yaml#
5*43434c66SJohan Jonker$schema: http://devicetree.org/meta-schemas/core.yaml#
6*43434c66SJohan Jonker
7*43434c66SJohan Jonkertitle: Rockchip RK3188/RK3066 Clock and Reset Unit (CRU)
8*43434c66SJohan Jonker
9*43434c66SJohan Jonkermaintainers:
10*43434c66SJohan Jonker  - Elaine Zhang <zhangqing@rock-chips.com>
11*43434c66SJohan Jonker  - Heiko Stuebner <heiko@sntech.de>
12*43434c66SJohan Jonker
13*43434c66SJohan Jonkerdescription: |
14*43434c66SJohan Jonker  The RK3188/RK3066 clock controller generates and supplies clocks to various
15*43434c66SJohan Jonker  controllers within the SoC and also implements a reset controller for SoC
16*43434c66SJohan Jonker  peripherals.
17*43434c66SJohan Jonker  Each clock is assigned an identifier and client nodes can use this identifier
18*43434c66SJohan Jonker  to specify the clock which they consume. All available clocks are defined as
19*43434c66SJohan Jonker  preprocessor macros in the dt-bindings/clock/rk3188-cru.h and
20*43434c66SJohan Jonker  dt-bindings/clock/rk3066-cru.h headers and can be used in device tree sources.
21*43434c66SJohan Jonker  Similar macros exist for the reset sources in these files.
22*43434c66SJohan Jonker  There are several clocks that are generated outside the SoC. It is expected
23*43434c66SJohan Jonker  that they are defined using standard clock bindings with following
24*43434c66SJohan Jonker  clock-output-names:
25*43434c66SJohan Jonker    - "xin24m"    - crystal input                 - required
26*43434c66SJohan Jonker    - "xin32k"    - RTC clock                     - optional
27*43434c66SJohan Jonker    - "xin27m"    - 27mhz crystal input on RK3066 - optional
28*43434c66SJohan Jonker    - "ext_hsadc" - external HSADC clock          - optional
29*43434c66SJohan Jonker    - "ext_cif0"  - external camera clock         - optional
30*43434c66SJohan Jonker    - "ext_rmii"  - external RMII clock           - optional
31*43434c66SJohan Jonker    - "ext_jtag"  - external JTAG clock           - optional
32*43434c66SJohan Jonker
33*43434c66SJohan Jonkerproperties:
34*43434c66SJohan Jonker  compatible:
35*43434c66SJohan Jonker    enum:
36*43434c66SJohan Jonker      - rockchip,rk3066a-cru
37*43434c66SJohan Jonker      - rockchip,rk3188-cru
38*43434c66SJohan Jonker      - rockchip,rk3188a-cru
39*43434c66SJohan Jonker
40*43434c66SJohan Jonker  reg:
41*43434c66SJohan Jonker    maxItems: 1
42*43434c66SJohan Jonker
43*43434c66SJohan Jonker  "#clock-cells":
44*43434c66SJohan Jonker    const: 1
45*43434c66SJohan Jonker
46*43434c66SJohan Jonker  "#reset-cells":
47*43434c66SJohan Jonker    const: 1
48*43434c66SJohan Jonker
49*43434c66SJohan Jonker  clocks:
50*43434c66SJohan Jonker    maxItems: 1
51*43434c66SJohan Jonker
52*43434c66SJohan Jonker  clock-names:
53*43434c66SJohan Jonker    const: xin24m
54*43434c66SJohan Jonker
55*43434c66SJohan Jonker  rockchip,grf:
56*43434c66SJohan Jonker    $ref: /schemas/types.yaml#/definitions/phandle
57*43434c66SJohan Jonker    description:
58*43434c66SJohan Jonker      Phandle to the syscon managing the "general register files" (GRF),
59*43434c66SJohan Jonker      if missing pll rates are not changeable, due to the missing pll
60*43434c66SJohan Jonker      lock status.
61*43434c66SJohan Jonker
62*43434c66SJohan Jonkerrequired:
63*43434c66SJohan Jonker  - compatible
64*43434c66SJohan Jonker  - reg
65*43434c66SJohan Jonker  - "#clock-cells"
66*43434c66SJohan Jonker  - "#reset-cells"
67*43434c66SJohan Jonker
68*43434c66SJohan JonkeradditionalProperties: false
69*43434c66SJohan Jonker
70*43434c66SJohan Jonkerexamples:
71*43434c66SJohan Jonker  - |
72*43434c66SJohan Jonker    cru: clock-controller@20000000 {
73*43434c66SJohan Jonker      compatible = "rockchip,rk3188-cru";
74*43434c66SJohan Jonker      reg = <0x20000000 0x1000>;
75*43434c66SJohan Jonker      rockchip,grf = <&grf>;
76*43434c66SJohan Jonker      #clock-cells = <1>;
77*43434c66SJohan Jonker      #reset-cells = <1>;
78*43434c66SJohan Jonker    };
79