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