xref: /linux/Documentation/devicetree/bindings/clock/img,pistachio-clk.yaml (revision 8d2b0853add1d7534dc0794e3c8e0b9e8c4ec640)
1*46dba2e6SRob Herring (Arm)# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*46dba2e6SRob Herring (Arm)%YAML 1.2
3*46dba2e6SRob Herring (Arm)---
4*46dba2e6SRob Herring (Arm)$id: http://devicetree.org/schemas/clock/img,pistachio-clk.yaml#
5*46dba2e6SRob Herring (Arm)$schema: http://devicetree.org/meta-schemas/core.yaml#
6*46dba2e6SRob Herring (Arm)
7*46dba2e6SRob Herring (Arm)title: Imagination Technologies Pistachio SoC clock controllers
8*46dba2e6SRob Herring (Arm)
9*46dba2e6SRob Herring (Arm)maintainers:
10*46dba2e6SRob Herring (Arm)  - Andrew Bresticker <abrestic@chromium.org>
11*46dba2e6SRob Herring (Arm)
12*46dba2e6SRob Herring (Arm)description: |
13*46dba2e6SRob Herring (Arm)  Pistachio has four clock controllers (core clock, peripheral clock, peripheral
14*46dba2e6SRob Herring (Arm)  general control, and top general control) which are instantiated individually
15*46dba2e6SRob Herring (Arm)  from the device-tree.
16*46dba2e6SRob Herring (Arm)
17*46dba2e6SRob Herring (Arm)  Core clock controller:
18*46dba2e6SRob Herring (Arm)
19*46dba2e6SRob Herring (Arm)  The core clock controller generates clocks for the CPU, RPU (WiFi + BT
20*46dba2e6SRob Herring (Arm)  co-processor), audio, and several peripherals.
21*46dba2e6SRob Herring (Arm)
22*46dba2e6SRob Herring (Arm)  Peripheral clock controller:
23*46dba2e6SRob Herring (Arm)
24*46dba2e6SRob Herring (Arm)  The peripheral clock controller generates clocks for the DDR, ROM, and other
25*46dba2e6SRob Herring (Arm)  peripherals. The peripheral system clock ("periph_sys") generated by the core
26*46dba2e6SRob Herring (Arm)  clock controller is the input clock to the peripheral clock controller.
27*46dba2e6SRob Herring (Arm)
28*46dba2e6SRob Herring (Arm)  Peripheral general control:
29*46dba2e6SRob Herring (Arm)
30*46dba2e6SRob Herring (Arm)  The peripheral general control block generates system interface clocks and
31*46dba2e6SRob Herring (Arm)  resets for various peripherals. It also contains miscellaneous peripheral
32*46dba2e6SRob Herring (Arm)  control registers.
33*46dba2e6SRob Herring (Arm)
34*46dba2e6SRob Herring (Arm)  Top-level general control:
35*46dba2e6SRob Herring (Arm)
36*46dba2e6SRob Herring (Arm)  The top-level general control block contains miscellaneous control registers
37*46dba2e6SRob Herring (Arm)  and gates for the external clocks "audio_clk_in" and "enet_clk_in".
38*46dba2e6SRob Herring (Arm)
39*46dba2e6SRob Herring (Arm)properties:
40*46dba2e6SRob Herring (Arm)  compatible:
41*46dba2e6SRob Herring (Arm)    items:
42*46dba2e6SRob Herring (Arm)      - enum:
43*46dba2e6SRob Herring (Arm)          - img,pistachio-clk
44*46dba2e6SRob Herring (Arm)          - img,pistachio-clk-periph
45*46dba2e6SRob Herring (Arm)          - img,pistachio-cr-periph
46*46dba2e6SRob Herring (Arm)          - img,pistachio-cr-top
47*46dba2e6SRob Herring (Arm)
48*46dba2e6SRob Herring (Arm)  reg:
49*46dba2e6SRob Herring (Arm)    maxItems: 1
50*46dba2e6SRob Herring (Arm)
51*46dba2e6SRob Herring (Arm)  '#clock-cells':
52*46dba2e6SRob Herring (Arm)    const: 1
53*46dba2e6SRob Herring (Arm)
54*46dba2e6SRob Herring (Arm)  clocks:
55*46dba2e6SRob Herring (Arm)    minItems: 1
56*46dba2e6SRob Herring (Arm)    maxItems: 3
57*46dba2e6SRob Herring (Arm)
58*46dba2e6SRob Herring (Arm)  clock-names:
59*46dba2e6SRob Herring (Arm)    minItems: 1
60*46dba2e6SRob Herring (Arm)    maxItems: 3
61*46dba2e6SRob Herring (Arm)
62*46dba2e6SRob Herring (Arm)required:
63*46dba2e6SRob Herring (Arm)  - compatible
64*46dba2e6SRob Herring (Arm)  - reg
65*46dba2e6SRob Herring (Arm)  - '#clock-cells'
66*46dba2e6SRob Herring (Arm)  - clocks
67*46dba2e6SRob Herring (Arm)  - clock-names
68*46dba2e6SRob Herring (Arm)
69*46dba2e6SRob Herring (Arm)allOf:
70*46dba2e6SRob Herring (Arm)  - if:
71*46dba2e6SRob Herring (Arm)      properties:
72*46dba2e6SRob Herring (Arm)        compatible:
73*46dba2e6SRob Herring (Arm)          contains:
74*46dba2e6SRob Herring (Arm)            const: img,pistachio-clk
75*46dba2e6SRob Herring (Arm)    then:
76*46dba2e6SRob Herring (Arm)      properties:
77*46dba2e6SRob Herring (Arm)        clocks:
78*46dba2e6SRob Herring (Arm)          items:
79*46dba2e6SRob Herring (Arm)            - description: External 52Mhz oscillator
80*46dba2e6SRob Herring (Arm)            - description: Alternate audio reference clock
81*46dba2e6SRob Herring (Arm)            - description: Alternate ethernet PHY clock
82*46dba2e6SRob Herring (Arm)
83*46dba2e6SRob Herring (Arm)        clock-names:
84*46dba2e6SRob Herring (Arm)          items:
85*46dba2e6SRob Herring (Arm)            - const: xtal
86*46dba2e6SRob Herring (Arm)            - const: audio_refclk_ext_gate
87*46dba2e6SRob Herring (Arm)            - const: ext_enet_in_gate
88*46dba2e6SRob Herring (Arm)
89*46dba2e6SRob Herring (Arm)  - if:
90*46dba2e6SRob Herring (Arm)      properties:
91*46dba2e6SRob Herring (Arm)        compatible:
92*46dba2e6SRob Herring (Arm)          contains:
93*46dba2e6SRob Herring (Arm)            const: img,pistachio-clk-periph
94*46dba2e6SRob Herring (Arm)    then:
95*46dba2e6SRob Herring (Arm)      properties:
96*46dba2e6SRob Herring (Arm)        clocks:
97*46dba2e6SRob Herring (Arm)          items:
98*46dba2e6SRob Herring (Arm)            - description: Peripheral system clock
99*46dba2e6SRob Herring (Arm)
100*46dba2e6SRob Herring (Arm)        clock-names:
101*46dba2e6SRob Herring (Arm)          items:
102*46dba2e6SRob Herring (Arm)            - const: periph_sys_core
103*46dba2e6SRob Herring (Arm)
104*46dba2e6SRob Herring (Arm)  - if:
105*46dba2e6SRob Herring (Arm)      properties:
106*46dba2e6SRob Herring (Arm)        compatible:
107*46dba2e6SRob Herring (Arm)          contains:
108*46dba2e6SRob Herring (Arm)            const: img,pistachio-cr-periph
109*46dba2e6SRob Herring (Arm)    then:
110*46dba2e6SRob Herring (Arm)      properties:
111*46dba2e6SRob Herring (Arm)        clocks:
112*46dba2e6SRob Herring (Arm)          items:
113*46dba2e6SRob Herring (Arm)            - description: System interface clock
114*46dba2e6SRob Herring (Arm)
115*46dba2e6SRob Herring (Arm)        clock-names:
116*46dba2e6SRob Herring (Arm)          items:
117*46dba2e6SRob Herring (Arm)            - const: sys
118*46dba2e6SRob Herring (Arm)
119*46dba2e6SRob Herring (Arm)  - if:
120*46dba2e6SRob Herring (Arm)      properties:
121*46dba2e6SRob Herring (Arm)        compatible:
122*46dba2e6SRob Herring (Arm)          contains:
123*46dba2e6SRob Herring (Arm)            const: img,pistachio-cr-top
124*46dba2e6SRob Herring (Arm)    then:
125*46dba2e6SRob Herring (Arm)      properties:
126*46dba2e6SRob Herring (Arm)        clocks:
127*46dba2e6SRob Herring (Arm)          items:
128*46dba2e6SRob Herring (Arm)            - description: External audio reference clock
129*46dba2e6SRob Herring (Arm)            - description: External ethernet PHY clock
130*46dba2e6SRob Herring (Arm)
131*46dba2e6SRob Herring (Arm)        clock-names:
132*46dba2e6SRob Herring (Arm)          items:
133*46dba2e6SRob Herring (Arm)            - const: audio_clk_in
134*46dba2e6SRob Herring (Arm)            - const: enet_clk_in
135*46dba2e6SRob Herring (Arm)
136*46dba2e6SRob Herring (Arm)additionalProperties: false
137