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

dt-bindings: clock: convert rockchip,rk3308-cru.txt to YAML

Convert rockchip,rk3308-cru.txt to YAML.

Changes against original bindings:
- Add clocks and clock-names because the device has to have
at least one input clock.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20220329184339.1134-1-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>

authored by

Johan Jonker and committed by
Heiko Stuebner
d87642d7 2ab8e118

+76 -60
-60
Documentation/devicetree/bindings/clock/rockchip,rk3308-cru.txt
··· 1 - * Rockchip RK3308 Clock and Reset Unit 2 - 3 - The RK3308 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: CRU should be "rockchip,rk3308-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/rk3308-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 - - "xin32k" - rtc clock - optional, 33 - - "mclk_i2s0_8ch_in", "mclk_i2s1_8ch_in", "mclk_i2s2_8ch_in", 34 - "mclk_i2s3_8ch_in", "mclk_i2s0_2ch_in", 35 - "mclk_i2s1_2ch_in" - external I2S or SPDIF clock - optional, 36 - - "mac_clkin" - external MAC clock - optional 37 - 38 - Example: Clock controller node: 39 - 40 - cru: clock-controller@ff500000 { 41 - compatible = "rockchip,rk3308-cru"; 42 - reg = <0x0 0xff500000 0x0 0x1000>; 43 - rockchip,grf = <&grf>; 44 - #clock-cells = <1>; 45 - #reset-cells = <1>; 46 - }; 47 - 48 - Example: UART controller node that consumes the clock generated by the clock 49 - controller: 50 - 51 - uart0: serial@ff0a0000 { 52 - compatible = "rockchip,rk3308-uart", "snps,dw-apb-uart"; 53 - reg = <0x0 0xff0a0000 0x0 0x100>; 54 - interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 55 - clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 56 - clock-names = "baudclk", "apb_pclk"; 57 - reg-shift = <2>; 58 - reg-io-width = <4>; 59 - status = "disabled"; 60 - };
+76
Documentation/devicetree/bindings/clock/rockchip,rk3308-cru.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/clock/rockchip,rk3308-cru.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Rockchip RK3308 Clock and Reset Unit (CRU) 8 + 9 + maintainers: 10 + - Elaine Zhang <zhangqing@rock-chips.com> 11 + - Heiko Stuebner <heiko@sntech.de> 12 + 13 + description: | 14 + The RK3308 clock controller generates and supplies clocks to various 15 + controllers within the SoC and also implements a reset controller for SoC 16 + peripherals. 17 + Each clock is assigned an identifier and client nodes can use this identifier 18 + to specify the clock which they consume. All available clocks are defined as 19 + preprocessor macros in the dt-bindings/clock/rk3308-cru.h headers and can be 20 + used in device tree sources. Similar macros exist for the reset sources in 21 + these files. 22 + There are several clocks that are generated outside the SoC. It is expected 23 + that they are defined using standard clock bindings with following 24 + clock-output-names: 25 + - "xin24m" - crystal input - required 26 + - "xin32k" - rtc clock - optional 27 + - "mclk_i2s0_8ch_in", "mclk_i2s1_8ch_in", 28 + "mclk_i2s2_8ch_in", "mclk_i2s3_8ch_in", 29 + "mclk_i2s0_2ch_in", "mclk_i2s1_2ch_in" - external I2S or 30 + SPDIF clock - optional 31 + - "mac_clkin" - external MAC clock - optional 32 + 33 + properties: 34 + compatible: 35 + enum: 36 + - rockchip,rk3308-cru 37 + 38 + reg: 39 + maxItems: 1 40 + 41 + "#clock-cells": 42 + const: 1 43 + 44 + "#reset-cells": 45 + const: 1 46 + 47 + clocks: 48 + maxItems: 1 49 + 50 + clock-names: 51 + const: xin24m 52 + 53 + rockchip,grf: 54 + $ref: /schemas/types.yaml#/definitions/phandle 55 + description: 56 + Phandle to the syscon managing the "general register files" (GRF), 57 + if missing pll rates are not changeable, due to the missing pll 58 + lock status. 59 + 60 + required: 61 + - compatible 62 + - reg 63 + - "#clock-cells" 64 + - "#reset-cells" 65 + 66 + additionalProperties: false 67 + 68 + examples: 69 + - | 70 + cru: clock-controller@ff500000 { 71 + compatible = "rockchip,rk3308-cru"; 72 + reg = <0xff500000 0x1000>; 73 + rockchip,grf = <&grf>; 74 + #clock-cells = <1>; 75 + #reset-cells = <1>; 76 + };