xref: /freebsd/sys/contrib/device-tree/Bindings/clock/brcm,kona-ccu.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1*8d13bc63SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*8d13bc63SEmmanuel Vadot%YAML 1.2
3*8d13bc63SEmmanuel Vadot---
4*8d13bc63SEmmanuel Vadot$id: http://devicetree.org/schemas/clock/brcm,kona-ccu.yaml#
5*8d13bc63SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*8d13bc63SEmmanuel Vadot
7*8d13bc63SEmmanuel Vadottitle: Broadcom Kona family clock control units (CCU)
8*8d13bc63SEmmanuel Vadot
9*8d13bc63SEmmanuel Vadotmaintainers:
10*8d13bc63SEmmanuel Vadot  - Florian Fainelli <florian.fainelli@broadcom.com>
11*8d13bc63SEmmanuel Vadot  - Ray Jui <rjui@broadcom.com>
12*8d13bc63SEmmanuel Vadot  - Scott Branden <sbranden@broadcom.com>
13*8d13bc63SEmmanuel Vadot
14*8d13bc63SEmmanuel Vadotdescription: |
15*8d13bc63SEmmanuel Vadot  Broadcom "Kona" style clock control unit (CCU) is a clock provider that
16*8d13bc63SEmmanuel Vadot  manages a set of clock signals.
17*8d13bc63SEmmanuel Vadot
18*8d13bc63SEmmanuel Vadot  All available clock IDs are defined in
19*8d13bc63SEmmanuel Vadot  - include/dt-bindings/clock/bcm281xx.h for BCM281XX family
20*8d13bc63SEmmanuel Vadot  - include/dt-bindings/clock/bcm21664.h for BCM21664 family
21*8d13bc63SEmmanuel Vadot
22*8d13bc63SEmmanuel Vadotproperties:
23*8d13bc63SEmmanuel Vadot  compatible:
24*8d13bc63SEmmanuel Vadot    enum:
25*8d13bc63SEmmanuel Vadot      - brcm,bcm11351-aon-ccu
26*8d13bc63SEmmanuel Vadot      - brcm,bcm11351-hub-ccu
27*8d13bc63SEmmanuel Vadot      - brcm,bcm11351-master-ccu
28*8d13bc63SEmmanuel Vadot      - brcm,bcm11351-root-ccu
29*8d13bc63SEmmanuel Vadot      - brcm,bcm11351-slave-ccu
30*8d13bc63SEmmanuel Vadot      - brcm,bcm21664-aon-ccu
31*8d13bc63SEmmanuel Vadot      - brcm,bcm21664-master-ccu
32*8d13bc63SEmmanuel Vadot      - brcm,bcm21664-root-ccu
33*8d13bc63SEmmanuel Vadot      - brcm,bcm21664-slave-ccu
34*8d13bc63SEmmanuel Vadot
35*8d13bc63SEmmanuel Vadot  reg:
36*8d13bc63SEmmanuel Vadot    maxItems: 1
37*8d13bc63SEmmanuel Vadot
38*8d13bc63SEmmanuel Vadot  '#clock-cells':
39*8d13bc63SEmmanuel Vadot    const: 1
40*8d13bc63SEmmanuel Vadot
41*8d13bc63SEmmanuel Vadot  clock-output-names:
42*8d13bc63SEmmanuel Vadot    minItems: 1
43*8d13bc63SEmmanuel Vadot    maxItems: 10
44*8d13bc63SEmmanuel Vadot
45*8d13bc63SEmmanuel Vadotrequired:
46*8d13bc63SEmmanuel Vadot  - compatible
47*8d13bc63SEmmanuel Vadot  - reg
48*8d13bc63SEmmanuel Vadot  - '#clock-cells'
49*8d13bc63SEmmanuel Vadot  - clock-output-names
50*8d13bc63SEmmanuel Vadot
51*8d13bc63SEmmanuel VadotallOf:
52*8d13bc63SEmmanuel Vadot  - if:
53*8d13bc63SEmmanuel Vadot      properties:
54*8d13bc63SEmmanuel Vadot        compatible:
55*8d13bc63SEmmanuel Vadot          contains:
56*8d13bc63SEmmanuel Vadot            const: brcm,bcm11351-aon-ccu
57*8d13bc63SEmmanuel Vadot    then:
58*8d13bc63SEmmanuel Vadot      properties:
59*8d13bc63SEmmanuel Vadot        clock-output-names:
60*8d13bc63SEmmanuel Vadot          items:
61*8d13bc63SEmmanuel Vadot            - const: hub_timer
62*8d13bc63SEmmanuel Vadot            - const: pmu_bsc
63*8d13bc63SEmmanuel Vadot            - const: pmu_bsc_var
64*8d13bc63SEmmanuel Vadot  - if:
65*8d13bc63SEmmanuel Vadot      properties:
66*8d13bc63SEmmanuel Vadot        compatible:
67*8d13bc63SEmmanuel Vadot          contains:
68*8d13bc63SEmmanuel Vadot            const: brcm,bcm11351-hub-ccu
69*8d13bc63SEmmanuel Vadot    then:
70*8d13bc63SEmmanuel Vadot      properties:
71*8d13bc63SEmmanuel Vadot        clock-output-names:
72*8d13bc63SEmmanuel Vadot          const: tmon_1m
73*8d13bc63SEmmanuel Vadot  - if:
74*8d13bc63SEmmanuel Vadot      properties:
75*8d13bc63SEmmanuel Vadot        compatible:
76*8d13bc63SEmmanuel Vadot          contains:
77*8d13bc63SEmmanuel Vadot            const: brcm,bcm11351-master-ccu
78*8d13bc63SEmmanuel Vadot    then:
79*8d13bc63SEmmanuel Vadot      properties:
80*8d13bc63SEmmanuel Vadot        clock-output-names:
81*8d13bc63SEmmanuel Vadot          items:
82*8d13bc63SEmmanuel Vadot            - const: sdio1
83*8d13bc63SEmmanuel Vadot            - const: sdio2
84*8d13bc63SEmmanuel Vadot            - const: sdio3
85*8d13bc63SEmmanuel Vadot            - const: sdio4
86*8d13bc63SEmmanuel Vadot            - const: usb_ic
87*8d13bc63SEmmanuel Vadot            - const: hsic2_48m
88*8d13bc63SEmmanuel Vadot            - const: hsic2_12m
89*8d13bc63SEmmanuel Vadot  - if:
90*8d13bc63SEmmanuel Vadot      properties:
91*8d13bc63SEmmanuel Vadot        compatible:
92*8d13bc63SEmmanuel Vadot          contains:
93*8d13bc63SEmmanuel Vadot            enum:
94*8d13bc63SEmmanuel Vadot              - brcm,bcm11351-root-ccu
95*8d13bc63SEmmanuel Vadot              - brcm,bcm21664-root-ccu
96*8d13bc63SEmmanuel Vadot    then:
97*8d13bc63SEmmanuel Vadot      properties:
98*8d13bc63SEmmanuel Vadot        clock-output-names:
99*8d13bc63SEmmanuel Vadot          const: frac_1m
100*8d13bc63SEmmanuel Vadot  - if:
101*8d13bc63SEmmanuel Vadot      properties:
102*8d13bc63SEmmanuel Vadot        compatible:
103*8d13bc63SEmmanuel Vadot          contains:
104*8d13bc63SEmmanuel Vadot            const: brcm,bcm11351-slave-ccu
105*8d13bc63SEmmanuel Vadot    then:
106*8d13bc63SEmmanuel Vadot      properties:
107*8d13bc63SEmmanuel Vadot        clock-output-names:
108*8d13bc63SEmmanuel Vadot          items:
109*8d13bc63SEmmanuel Vadot            - const: uartb
110*8d13bc63SEmmanuel Vadot            - const: uartb2
111*8d13bc63SEmmanuel Vadot            - const: uartb3
112*8d13bc63SEmmanuel Vadot            - const: uartb4
113*8d13bc63SEmmanuel Vadot            - const: ssp0
114*8d13bc63SEmmanuel Vadot            - const: ssp2
115*8d13bc63SEmmanuel Vadot            - const: bsc1
116*8d13bc63SEmmanuel Vadot            - const: bsc2
117*8d13bc63SEmmanuel Vadot            - const: bsc3
118*8d13bc63SEmmanuel Vadot            - const: pwm
119*8d13bc63SEmmanuel Vadot  - if:
120*8d13bc63SEmmanuel Vadot      properties:
121*8d13bc63SEmmanuel Vadot        compatible:
122*8d13bc63SEmmanuel Vadot          contains:
123*8d13bc63SEmmanuel Vadot            const: brcm,bcm21664-aon-ccu
124*8d13bc63SEmmanuel Vadot    then:
125*8d13bc63SEmmanuel Vadot      properties:
126*8d13bc63SEmmanuel Vadot        clock-output-names:
127*8d13bc63SEmmanuel Vadot          const: hub_timer
128*8d13bc63SEmmanuel Vadot  - if:
129*8d13bc63SEmmanuel Vadot      properties:
130*8d13bc63SEmmanuel Vadot        compatible:
131*8d13bc63SEmmanuel Vadot          contains:
132*8d13bc63SEmmanuel Vadot            const: brcm,bcm21664-master-ccu
133*8d13bc63SEmmanuel Vadot    then:
134*8d13bc63SEmmanuel Vadot      properties:
135*8d13bc63SEmmanuel Vadot        clock-output-names:
136*8d13bc63SEmmanuel Vadot          items:
137*8d13bc63SEmmanuel Vadot            - const: sdio1
138*8d13bc63SEmmanuel Vadot            - const: sdio2
139*8d13bc63SEmmanuel Vadot            - const: sdio3
140*8d13bc63SEmmanuel Vadot            - const: sdio4
141*8d13bc63SEmmanuel Vadot            - const: sdio1_sleep
142*8d13bc63SEmmanuel Vadot            - const: sdio2_sleep
143*8d13bc63SEmmanuel Vadot            - const: sdio3_sleep
144*8d13bc63SEmmanuel Vadot            - const: sdio4_sleep
145*8d13bc63SEmmanuel Vadot  - if:
146*8d13bc63SEmmanuel Vadot      properties:
147*8d13bc63SEmmanuel Vadot        compatible:
148*8d13bc63SEmmanuel Vadot          contains:
149*8d13bc63SEmmanuel Vadot            const: brcm,bcm21664-slave-ccu
150*8d13bc63SEmmanuel Vadot    then:
151*8d13bc63SEmmanuel Vadot      properties:
152*8d13bc63SEmmanuel Vadot        clock-output-names:
153*8d13bc63SEmmanuel Vadot          items:
154*8d13bc63SEmmanuel Vadot            - const: uartb
155*8d13bc63SEmmanuel Vadot            - const: uartb2
156*8d13bc63SEmmanuel Vadot            - const: uartb3
157*8d13bc63SEmmanuel Vadot            - const: bsc1
158*8d13bc63SEmmanuel Vadot            - const: bsc2
159*8d13bc63SEmmanuel Vadot            - const: bsc3
160*8d13bc63SEmmanuel Vadot            - const: bsc4
161*8d13bc63SEmmanuel Vadot
162*8d13bc63SEmmanuel VadotadditionalProperties: false
163*8d13bc63SEmmanuel Vadot
164*8d13bc63SEmmanuel Vadotexamples:
165*8d13bc63SEmmanuel Vadot  - |
166*8d13bc63SEmmanuel Vadot    clock-controller@3e011000 {
167*8d13bc63SEmmanuel Vadot      compatible = "brcm,bcm11351-slave-ccu";
168*8d13bc63SEmmanuel Vadot      reg = <0x3e011000 0x0f00>;
169*8d13bc63SEmmanuel Vadot      #clock-cells = <1>;
170*8d13bc63SEmmanuel Vadot      clock-output-names = "uartb",
171*8d13bc63SEmmanuel Vadot                           "uartb2",
172*8d13bc63SEmmanuel Vadot                           "uartb3",
173*8d13bc63SEmmanuel Vadot                           "uartb4",
174*8d13bc63SEmmanuel Vadot                           "ssp0",
175*8d13bc63SEmmanuel Vadot                           "ssp2",
176*8d13bc63SEmmanuel Vadot                           "bsc1",
177*8d13bc63SEmmanuel Vadot                           "bsc2",
178*8d13bc63SEmmanuel Vadot                           "bsc3",
179*8d13bc63SEmmanuel Vadot                           "pwm";
180*8d13bc63SEmmanuel Vadot    };
181*8d13bc63SEmmanuel Vadot...
182