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