Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: add documentation for rk1108 cru

This adds the dt-binding documentation for the clock and reset unit
found on Rockchip rk1108 SoCs.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>

authored by

Shawn Lin and committed by
Heiko Stuebner
aac343eb 00f0bf69

+59
+59
Documentation/devicetree/bindings/clock/rockchip,rk1108-cru.txt
··· 1 + * Rockchip RK1108 Clock and Reset Unit 2 + 3 + The RK1108 clock controller generates and supplies clock to various 4 + controllers within the SoC and also implements a reset controller for SoC 5 + peripherals. 6 + 7 + Required Properties: 8 + 9 + - compatible: should be "rockchip,rk1108-cru" 10 + - reg: physical base address of the controller and length of memory mapped 11 + region. 12 + - #clock-cells: should be 1. 13 + - #reset-cells: should be 1. 14 + 15 + Optional Properties: 16 + 17 + - rockchip,grf: phandle to the syscon managing the "general register files" 18 + If missing pll rates are not changeable, due to the missing pll lock status. 19 + 20 + Each clock is assigned an identifier and client nodes can use this identifier 21 + to specify the clock which they consume. All available clocks are defined as 22 + preprocessor macros in the dt-bindings/clock/rk1108-cru.h headers and can be 23 + used in device tree sources. Similar macros exist for the reset sources in 24 + these files. 25 + 26 + External clocks: 27 + 28 + There are several clocks that are generated outside the SoC. It is expected 29 + that they are defined using standard clock bindings with following 30 + clock-output-names: 31 + - "xin24m" - crystal input - required, 32 + - "ext_vip" - external VIP clock - optional 33 + - "ext_i2s" - external I2S clock - optional 34 + - "ext_gmac" - external GMAC clock - optional 35 + - "hdmiphy" - external clock input derived from HDMI PHY - optional 36 + - "usbphy" - external clock input derived from USB PHY - optional 37 + 38 + Example: Clock controller node: 39 + 40 + cru: cru@20200000 { 41 + compatible = "rockchip,rk1108-cru"; 42 + reg = <0x20200000 0x1000>; 43 + rockchip,grf = <&grf>; 44 + 45 + #clock-cells = <1>; 46 + #reset-cells = <1>; 47 + }; 48 + 49 + Example: UART controller node that consumes the clock generated by the clock 50 + controller: 51 + 52 + uart0: serial@10230000 { 53 + compatible = "rockchip,rk1108-uart", "snps,dw-apb-uart"; 54 + reg = <0x10230000 0x100>; 55 + interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 56 + reg-shift = <2>; 57 + reg-io-width = <4>; 58 + clocks = <&cru SCLK_UART0>; 59 + };