hc
2024-05-10 10ebd8556b7990499c896a550e3d416b444211e6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
* Gated Clock bindings for Marvell EBU SoCs
 
Marvell Armada 370/375/380/385/39x/XP, Dove and Kirkwood allow some
peripheral clocks to be gated to save some power. The clock consumer
should specify the desired clock by having the clock ID in its
"clocks" phandle cell. The clock ID is directly mapped to the
corresponding clock gating control bit in HW to ease manual clock
lookup in datasheet.
 
The following is a list of provided IDs for Armada 370:
ID    Clock    Peripheral
-----------------------------------
0    Audio    AC97 Cntrl
1    pex0_en    PCIe 0 Clock out
2    pex1_en    PCIe 1 Clock out
3    ge1    Gigabit Ethernet 1
4    ge0    Gigabit Ethernet 0
5    pex0    PCIe Cntrl 0
9    pex1    PCIe Cntrl 1
15    sata0    SATA Host 0
17    sdio    SDHCI Host
23    crypto    CESA (crypto engine)
25    tdm    Time Division Mplx
28    ddr    DDR Cntrl
30    sata1    SATA Host 0
 
The following is a list of provided IDs for Armada 375:
ID    Clock        Peripheral
-----------------------------------
2    mu        Management Unit
3    pp        Packet Processor
4    ptp        PTP
5    pex0        PCIe 0 Clock out
6    pex1        PCIe 1 Clock out
8    audio        Audio Cntrl
11    nd_clk        Nand Flash Cntrl
14    sata0_link    SATA 0 Link
15    sata0_core    SATA 0 Core
16    usb3        USB3 Host
17    sdio        SDHCI Host
18    usb        USB Host
19    gop        Gigabit Ethernet MAC
20    sata1_link    SATA 1 Link
21    sata1_core    SATA 1 Core
22    xor0        XOR DMA 0
23    xor1        XOR DMA 0
24    copro        Coprocessor
25    tdm        Time Division Mplx
28    crypto0_enc    Cryptographic Unit Port 0 Encryption
29    crypto0_core    Cryptographic Unit Port 0 Core
30    crypto1_enc    Cryptographic Unit Port 1 Encryption
31    crypto1_core    Cryptographic Unit Port 1 Core
 
The following is a list of provided IDs for Armada 380/385:
ID    Clock        Peripheral
-----------------------------------
0    audio        Audio
2    ge2        Gigabit Ethernet 2
3    ge1        Gigabit Ethernet 1
4    ge0        Gigabit Ethernet 0
5    pex1        PCIe 1
6    pex2        PCIe 2
7    pex3        PCIe 3
8    pex0        PCIe 0
9    usb3h0        USB3 Host 0
10    usb3h1        USB3 Host 1
11    usb3d        USB3 Device
13    bm        Buffer Management
14    crypto0z    Cryptographic 0 Z
15    sata0        SATA 0
16    crypto1z    Cryptographic 1 Z
17    sdio        SDIO
18    usb2        USB 2
21    crypto1        Cryptographic 1
22    xor0        XOR 0
23    crypto0        Cryptographic 0
25    tdm        Time Division Multiplexing
28    xor1        XOR 1
30    sata1        SATA 1
 
The following is a list of provided IDs for Armada 39x:
ID    Clock        Peripheral
-----------------------------------
5    pex1        PCIe 1
6    pex2        PCIe 2
7    pex3        PCIe 3
8    pex0        PCIe 0
9    usb3h0        USB3 Host 0
10    usb3h1        USB3 Host 1
15    sata0        SATA 0
17    sdio        SDIO
22    xor0        XOR 0
28    xor1        XOR 1
 
The following is a list of provided IDs for Armada XP:
ID    Clock    Peripheral
-----------------------------------
0    audio    Audio Cntrl
1    ge3    Gigabit Ethernet 3
2    ge2    Gigabit Ethernet 2
3    ge1    Gigabit Ethernet 1
4    ge0    Gigabit Ethernet 0
5    pex0    PCIe Cntrl 0
6    pex1    PCIe Cntrl 1
7    pex2    PCIe Cntrl 2
8    pex3    PCIe Cntrl 3
13    bp
14    sata0lnk
15    sata0    SATA Host 0
16    lcd    LCD Cntrl
17    sdio    SDHCI Host
18    usb0    USB Host 0
19    usb1    USB Host 1
20    usb2    USB Host 2
22    xor0    XOR DMA 0
23    crypto    CESA engine
25    tdm    Time Division Mplx
28    xor1    XOR DMA 1
29    sata1lnk
30    sata1    SATA Host 1
 
The following is a list of provided IDs for 98dx3236:
ID    Clock    Peripheral
-----------------------------------
3    ge1    Gigabit Ethernet 1
4    ge0    Gigabit Ethernet 0
5    pex0    PCIe Cntrl 0
17    sdio    SDHCI Host
18    usb0    USB Host 0
22    xor0    XOR DMA 0
 
The following is a list of provided IDs for Dove:
ID    Clock    Peripheral
-----------------------------------
0    usb0    USB Host 0
1    usb1    USB Host 1
2    ge    Gigabit Ethernet
3    sata    SATA Host
4    pex0    PCIe Cntrl 0
5    pex1    PCIe Cntrl 1
8    sdio0    SDHCI Host 0
9    sdio1    SDHCI Host 1
10    nand    NAND Cntrl
11    camera    Camera Cntrl
12    i2s0    I2S Cntrl 0
13    i2s1    I2S Cntrl 1
15    crypto    CESA engine
21    ac97    AC97 Cntrl
22    pdma    Peripheral DMA
23    xor0    XOR DMA 0
24    xor1    XOR DMA 1
30    gephy    Gigabit Ethernel PHY
Note: gephy(30) is implemented as a parent clock of ge(2)
 
The following is a list of provided IDs for Kirkwood:
ID    Clock    Peripheral
-----------------------------------
0    ge0    Gigabit Ethernet 0
2    pex0    PCIe Cntrl 0
3    usb0    USB Host 0
4    sdio    SDIO Cntrl
5    tsu    Transp. Stream Unit
6    dunit    SDRAM Cntrl
7    runit    Runit
8    xor0    XOR DMA 0
9    audio    I2S Cntrl 0
14    sata0    SATA Host 0
15    sata1    SATA Host 1
16    xor1    XOR DMA 1
17    crypto    CESA engine
18    pex1    PCIe Cntrl 1
19    ge1    Gigabit Ethernet 1
20    tdm    Time Division Mplx
 
Required properties:
- compatible : shall be one of the following:
   "marvell,armada-370-gating-clock" - for Armada 370 SoC clock gating
   "marvell,armada-375-gating-clock" - for Armada 375 SoC clock gating
   "marvell,armada-380-gating-clock" - for Armada 380/385 SoC clock gating
   "marvell,armada-390-gating-clock" - for Armada 39x SoC clock gating
   "marvell,armada-xp-gating-clock" - for Armada XP SoC clock gating
   "marvell,mv98dx3236-gating-clock" - for 98dx3236 SoC clock gating
   "marvell,dove-gating-clock" - for Dove SoC clock gating
   "marvell,kirkwood-gating-clock" - for Kirkwood SoC clock gating
- reg : shall be the register address of the Clock Gating Control register
- #clock-cells : from common clock binding; shall be set to 1
 
Optional properties:
- clocks : default parent clock phandle (e.g. tclk)
 
Example:
 
gate_clk: clock-gating-control@d0038 {
   compatible = "marvell,dove-gating-clock";
   reg = <0xd0038 0x4>;
   /* default parent clock is tclk */
   clocks = <&core_clk 0>;
   #clock-cells = <1>;
};
 
sdio0: sdio@92000 {
   compatible = "marvell,dove-sdhci";
   /* get clk gate bit 8 (sdio0) */
   clocks = <&gate_clk 8>;
};