1*d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 2*d5b0e70fSEmmanuel Vadot%YAML 1.2 3*d5b0e70fSEmmanuel Vadot--- 4*d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/rockchip,rv1108-cru.yaml# 5*d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*d5b0e70fSEmmanuel Vadot 7*d5b0e70fSEmmanuel Vadottitle: Rockchip RV1108 Clock and Reset Unit (CRU) 8*d5b0e70fSEmmanuel Vadot 9*d5b0e70fSEmmanuel Vadotmaintainers: 10*d5b0e70fSEmmanuel Vadot - Elaine Zhang <zhangqing@rock-chips.com> 11*d5b0e70fSEmmanuel Vadot - Heiko Stuebner <heiko@sntech.de> 12*d5b0e70fSEmmanuel Vadot 13*d5b0e70fSEmmanuel Vadotdescription: | 14*d5b0e70fSEmmanuel Vadot The RV1108 clock controller generates and supplies clocks to various 15*d5b0e70fSEmmanuel Vadot controllers within the SoC and also implements a reset controller for SoC 16*d5b0e70fSEmmanuel Vadot peripherals. 17*d5b0e70fSEmmanuel Vadot Each clock is assigned an identifier and client nodes can use this identifier 18*d5b0e70fSEmmanuel Vadot to specify the clock which they consume. All available clocks are defined as 19*d5b0e70fSEmmanuel Vadot preprocessor macros in the dt-bindings/clock/rv1108-cru.h headers and can be 20*d5b0e70fSEmmanuel Vadot used in device tree sources. Similar macros exist for the reset sources in 21*d5b0e70fSEmmanuel Vadot these files. 22*d5b0e70fSEmmanuel Vadot There are several clocks that are generated outside the SoC. It is expected 23*d5b0e70fSEmmanuel Vadot that they are defined using standard clock bindings with following 24*d5b0e70fSEmmanuel Vadot clock-output-names: 25*d5b0e70fSEmmanuel Vadot - "xin24m" - crystal input - required 26*d5b0e70fSEmmanuel Vadot - "ext_vip" - external VIP clock - optional 27*d5b0e70fSEmmanuel Vadot - "ext_i2s" - external I2S clock - optional 28*d5b0e70fSEmmanuel Vadot - "ext_gmac" - external GMAC clock - optional 29*d5b0e70fSEmmanuel Vadot - "hdmiphy" - external clock input derived from HDMI PHY - optional 30*d5b0e70fSEmmanuel Vadot - "usbphy" - external clock input derived from USB PHY - optional 31*d5b0e70fSEmmanuel Vadot 32*d5b0e70fSEmmanuel Vadotproperties: 33*d5b0e70fSEmmanuel Vadot compatible: 34*d5b0e70fSEmmanuel Vadot enum: 35*d5b0e70fSEmmanuel Vadot - rockchip,rv1108-cru 36*d5b0e70fSEmmanuel Vadot 37*d5b0e70fSEmmanuel Vadot reg: 38*d5b0e70fSEmmanuel Vadot maxItems: 1 39*d5b0e70fSEmmanuel Vadot 40*d5b0e70fSEmmanuel Vadot "#clock-cells": 41*d5b0e70fSEmmanuel Vadot const: 1 42*d5b0e70fSEmmanuel Vadot 43*d5b0e70fSEmmanuel Vadot "#reset-cells": 44*d5b0e70fSEmmanuel Vadot const: 1 45*d5b0e70fSEmmanuel Vadot 46*d5b0e70fSEmmanuel Vadot clocks: 47*d5b0e70fSEmmanuel Vadot maxItems: 1 48*d5b0e70fSEmmanuel Vadot 49*d5b0e70fSEmmanuel Vadot clock-names: 50*d5b0e70fSEmmanuel Vadot const: xin24m 51*d5b0e70fSEmmanuel Vadot 52*d5b0e70fSEmmanuel Vadot rockchip,grf: 53*d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 54*d5b0e70fSEmmanuel Vadot description: 55*d5b0e70fSEmmanuel Vadot Phandle to the syscon managing the "general register files" (GRF), 56*d5b0e70fSEmmanuel Vadot if missing pll rates are not changeable, due to the missing pll 57*d5b0e70fSEmmanuel Vadot lock status. 58*d5b0e70fSEmmanuel Vadot 59*d5b0e70fSEmmanuel Vadotrequired: 60*d5b0e70fSEmmanuel Vadot - compatible 61*d5b0e70fSEmmanuel Vadot - reg 62*d5b0e70fSEmmanuel Vadot - "#clock-cells" 63*d5b0e70fSEmmanuel Vadot - "#reset-cells" 64*d5b0e70fSEmmanuel Vadot 65*d5b0e70fSEmmanuel VadotadditionalProperties: false 66*d5b0e70fSEmmanuel Vadot 67*d5b0e70fSEmmanuel Vadotexamples: 68*d5b0e70fSEmmanuel Vadot - | 69*d5b0e70fSEmmanuel Vadot cru: clock-controller@20200000 { 70*d5b0e70fSEmmanuel Vadot compatible = "rockchip,rv1108-cru"; 71*d5b0e70fSEmmanuel Vadot reg = <0x20200000 0x1000>; 72*d5b0e70fSEmmanuel Vadot rockchip,grf = <&grf>; 73*d5b0e70fSEmmanuel Vadot #clock-cells = <1>; 74*d5b0e70fSEmmanuel Vadot #reset-cells = <1>; 75*d5b0e70fSEmmanuel Vadot }; 76