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

dt-bindings: clock: brcm,kona-ccu: convert to YAML

Convert Broadcom Kona family clock controller unit (CCU) bindings
to DT schema.

Changes during conversion:
- remove "dmac" from clock-output-names for brcm,bcm11351-master-ccu,
such a clock doesn't exist
- remove "uartb4" from clock-output-names for brcm,bcm21664-slave-ccu,
such a clock doesn't exist

Signed-off-by: Stanislav Jakubek <stano.jakubek@gmail.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/ZVED01t3+coBd44x@standask-GA-A55M-S2HP
Signed-off-by: Stephen Boyd <sboyd@kernel.org>

authored by

Stanislav Jakubek and committed by
Stephen Boyd
616eceb1 94b0f301

+181 -138
-138
Documentation/devicetree/bindings/clock/brcm,kona-ccu.txt
··· 1 - Broadcom Kona Family Clocks 2 - 3 - This binding is associated with Broadcom SoCs having "Kona" style 4 - clock control units (CCUs). A CCU is a clock provider that manages 5 - a set of clock signals. Each CCU is represented by a node in the 6 - device tree. 7 - 8 - This binding uses the common clock binding: 9 - Documentation/devicetree/bindings/clock/clock-bindings.txt 10 - 11 - Required properties: 12 - - compatible 13 - Shall have a value of the form "brcm,<model>-<which>-ccu", 14 - where <model> is a Broadcom SoC model number and <which> is 15 - the name of a defined CCU. For example: 16 - "brcm,bcm11351-root-ccu" 17 - The compatible strings used for each supported SoC family 18 - are defined below. 19 - - reg 20 - Shall define the base and range of the address space 21 - containing clock control registers 22 - - #clock-cells 23 - Shall have value <1>. The permitted clock-specifier values 24 - are defined below. 25 - - clock-output-names 26 - Shall be an ordered list of strings defining the names of 27 - the clocks provided by the CCU. 28 - 29 - Device tree example: 30 - 31 - slave_ccu: slave_ccu { 32 - compatible = "brcm,bcm11351-slave-ccu"; 33 - reg = <0x3e011000 0x0f00>; 34 - #clock-cells = <1>; 35 - clock-output-names = "uartb", 36 - "uartb2", 37 - "uartb3", 38 - "uartb4"; 39 - }; 40 - 41 - ref_crystal_clk: ref_crystal { 42 - #clock-cells = <0>; 43 - compatible = "fixed-clock"; 44 - clock-frequency = <26000000>; 45 - }; 46 - 47 - uart@3e002000 { 48 - compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart"; 49 - reg = <0x3e002000 0x1000>; 50 - clocks = <&slave_ccu BCM281XX_SLAVE_CCU_UARTB3>; 51 - interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 52 - reg-shift = <2>; 53 - reg-io-width = <4>; 54 - }; 55 - 56 - BCM281XX family 57 - --------------- 58 - CCU compatible string values for SoCs in the BCM281XX family are: 59 - "brcm,bcm11351-root-ccu" 60 - "brcm,bcm11351-aon-ccu" 61 - "brcm,bcm11351-hub-ccu" 62 - "brcm,bcm11351-master-ccu" 63 - "brcm,bcm11351-slave-ccu" 64 - 65 - The following table defines the set of CCUs and clock specifiers for 66 - BCM281XX family clocks. When a clock consumer references a clocks, 67 - its symbolic specifier (rather than its numeric index value) should 68 - be used. These specifiers are defined in: 69 - "include/dt-bindings/clock/bcm281xx.h" 70 - 71 - CCU Clock Type Index Specifier 72 - --- ----- ---- ----- --------- 73 - root frac_1m peri 0 BCM281XX_ROOT_CCU_FRAC_1M 74 - 75 - aon hub_timer peri 0 BCM281XX_AON_CCU_HUB_TIMER 76 - aon pmu_bsc peri 1 BCM281XX_AON_CCU_PMU_BSC 77 - aon pmu_bsc_var peri 2 BCM281XX_AON_CCU_PMU_BSC_VAR 78 - 79 - hub tmon_1m peri 0 BCM281XX_HUB_CCU_TMON_1M 80 - 81 - master sdio1 peri 0 BCM281XX_MASTER_CCU_SDIO1 82 - master sdio2 peri 1 BCM281XX_MASTER_CCU_SDIO2 83 - master sdio3 peri 2 BCM281XX_MASTER_CCU_SDIO3 84 - master sdio4 peri 3 BCM281XX_MASTER_CCU_SDIO4 85 - master dmac peri 4 BCM281XX_MASTER_CCU_DMAC 86 - master usb_ic peri 5 BCM281XX_MASTER_CCU_USB_IC 87 - master hsic2_48m peri 6 BCM281XX_MASTER_CCU_HSIC_48M 88 - master hsic2_12m peri 7 BCM281XX_MASTER_CCU_HSIC_12M 89 - 90 - slave uartb peri 0 BCM281XX_SLAVE_CCU_UARTB 91 - slave uartb2 peri 1 BCM281XX_SLAVE_CCU_UARTB2 92 - slave uartb3 peri 2 BCM281XX_SLAVE_CCU_UARTB3 93 - slave uartb4 peri 3 BCM281XX_SLAVE_CCU_UARTB4 94 - slave ssp0 peri 4 BCM281XX_SLAVE_CCU_SSP0 95 - slave ssp2 peri 5 BCM281XX_SLAVE_CCU_SSP2 96 - slave bsc1 peri 6 BCM281XX_SLAVE_CCU_BSC1 97 - slave bsc2 peri 7 BCM281XX_SLAVE_CCU_BSC2 98 - slave bsc3 peri 8 BCM281XX_SLAVE_CCU_BSC3 99 - slave pwm peri 9 BCM281XX_SLAVE_CCU_PWM 100 - 101 - 102 - BCM21664 family 103 - --------------- 104 - CCU compatible string values for SoCs in the BCM21664 family are: 105 - "brcm,bcm21664-root-ccu" 106 - "brcm,bcm21664-aon-ccu" 107 - "brcm,bcm21664-master-ccu" 108 - "brcm,bcm21664-slave-ccu" 109 - 110 - The following table defines the set of CCUs and clock specifiers for 111 - BCM21664 family clocks. When a clock consumer references a clocks, 112 - its symbolic specifier (rather than its numeric index value) should 113 - be used. These specifiers are defined in: 114 - "include/dt-bindings/clock/bcm21664.h" 115 - 116 - CCU Clock Type Index Specifier 117 - --- ----- ---- ----- --------- 118 - root frac_1m peri 0 BCM21664_ROOT_CCU_FRAC_1M 119 - 120 - aon hub_timer peri 0 BCM21664_AON_CCU_HUB_TIMER 121 - 122 - master sdio1 peri 0 BCM21664_MASTER_CCU_SDIO1 123 - master sdio2 peri 1 BCM21664_MASTER_CCU_SDIO2 124 - master sdio3 peri 2 BCM21664_MASTER_CCU_SDIO3 125 - master sdio4 peri 3 BCM21664_MASTER_CCU_SDIO4 126 - master sdio1_sleep peri 4 BCM21664_MASTER_CCU_SDIO1_SLEEP 127 - master sdio2_sleep peri 5 BCM21664_MASTER_CCU_SDIO2_SLEEP 128 - master sdio3_sleep peri 6 BCM21664_MASTER_CCU_SDIO3_SLEEP 129 - master sdio4_sleep peri 7 BCM21664_MASTER_CCU_SDIO4_SLEEP 130 - 131 - slave uartb peri 0 BCM21664_SLAVE_CCU_UARTB 132 - slave uartb2 peri 1 BCM21664_SLAVE_CCU_UARTB2 133 - slave uartb3 peri 2 BCM21664_SLAVE_CCU_UARTB3 134 - slave uartb4 peri 3 BCM21664_SLAVE_CCU_UARTB4 135 - slave bsc1 peri 4 BCM21664_SLAVE_CCU_BSC1 136 - slave bsc2 peri 5 BCM21664_SLAVE_CCU_BSC2 137 - slave bsc3 peri 6 BCM21664_SLAVE_CCU_BSC3 138 - slave bsc4 peri 7 BCM21664_SLAVE_CCU_BSC4
+181
Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/clock/brcm,kona-ccu.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom Kona family clock control units (CCU) 8 + 9 + maintainers: 10 + - Florian Fainelli <florian.fainelli@broadcom.com> 11 + - Ray Jui <rjui@broadcom.com> 12 + - Scott Branden <sbranden@broadcom.com> 13 + 14 + description: | 15 + Broadcom "Kona" style clock control unit (CCU) is a clock provider that 16 + manages a set of clock signals. 17 + 18 + All available clock IDs are defined in 19 + - include/dt-bindings/clock/bcm281xx.h for BCM281XX family 20 + - include/dt-bindings/clock/bcm21664.h for BCM21664 family 21 + 22 + properties: 23 + compatible: 24 + enum: 25 + - brcm,bcm11351-aon-ccu 26 + - brcm,bcm11351-hub-ccu 27 + - brcm,bcm11351-master-ccu 28 + - brcm,bcm11351-root-ccu 29 + - brcm,bcm11351-slave-ccu 30 + - brcm,bcm21664-aon-ccu 31 + - brcm,bcm21664-master-ccu 32 + - brcm,bcm21664-root-ccu 33 + - brcm,bcm21664-slave-ccu 34 + 35 + reg: 36 + maxItems: 1 37 + 38 + '#clock-cells': 39 + const: 1 40 + 41 + clock-output-names: 42 + minItems: 1 43 + maxItems: 10 44 + 45 + required: 46 + - compatible 47 + - reg 48 + - '#clock-cells' 49 + - clock-output-names 50 + 51 + allOf: 52 + - if: 53 + properties: 54 + compatible: 55 + contains: 56 + const: brcm,bcm11351-aon-ccu 57 + then: 58 + properties: 59 + clock-output-names: 60 + items: 61 + - const: hub_timer 62 + - const: pmu_bsc 63 + - const: pmu_bsc_var 64 + - if: 65 + properties: 66 + compatible: 67 + contains: 68 + const: brcm,bcm11351-hub-ccu 69 + then: 70 + properties: 71 + clock-output-names: 72 + const: tmon_1m 73 + - if: 74 + properties: 75 + compatible: 76 + contains: 77 + const: brcm,bcm11351-master-ccu 78 + then: 79 + properties: 80 + clock-output-names: 81 + items: 82 + - const: sdio1 83 + - const: sdio2 84 + - const: sdio3 85 + - const: sdio4 86 + - const: usb_ic 87 + - const: hsic2_48m 88 + - const: hsic2_12m 89 + - if: 90 + properties: 91 + compatible: 92 + contains: 93 + enum: 94 + - brcm,bcm11351-root-ccu 95 + - brcm,bcm21664-root-ccu 96 + then: 97 + properties: 98 + clock-output-names: 99 + const: frac_1m 100 + - if: 101 + properties: 102 + compatible: 103 + contains: 104 + const: brcm,bcm11351-slave-ccu 105 + then: 106 + properties: 107 + clock-output-names: 108 + items: 109 + - const: uartb 110 + - const: uartb2 111 + - const: uartb3 112 + - const: uartb4 113 + - const: ssp0 114 + - const: ssp2 115 + - const: bsc1 116 + - const: bsc2 117 + - const: bsc3 118 + - const: pwm 119 + - if: 120 + properties: 121 + compatible: 122 + contains: 123 + const: brcm,bcm21664-aon-ccu 124 + then: 125 + properties: 126 + clock-output-names: 127 + const: hub_timer 128 + - if: 129 + properties: 130 + compatible: 131 + contains: 132 + const: brcm,bcm21664-master-ccu 133 + then: 134 + properties: 135 + clock-output-names: 136 + items: 137 + - const: sdio1 138 + - const: sdio2 139 + - const: sdio3 140 + - const: sdio4 141 + - const: sdio1_sleep 142 + - const: sdio2_sleep 143 + - const: sdio3_sleep 144 + - const: sdio4_sleep 145 + - if: 146 + properties: 147 + compatible: 148 + contains: 149 + const: brcm,bcm21664-slave-ccu 150 + then: 151 + properties: 152 + clock-output-names: 153 + items: 154 + - const: uartb 155 + - const: uartb2 156 + - const: uartb3 157 + - const: bsc1 158 + - const: bsc2 159 + - const: bsc3 160 + - const: bsc4 161 + 162 + additionalProperties: false 163 + 164 + examples: 165 + - | 166 + clock-controller@3e011000 { 167 + compatible = "brcm,bcm11351-slave-ccu"; 168 + reg = <0x3e011000 0x0f00>; 169 + #clock-cells = <1>; 170 + clock-output-names = "uartb", 171 + "uartb2", 172 + "uartb3", 173 + "uartb4", 174 + "ssp0", 175 + "ssp2", 176 + "bsc1", 177 + "bsc2", 178 + "bsc3", 179 + "pwm"; 180 + }; 181 + ...