xref: /openbmc/linux/Documentation/devicetree/bindings/clock/mvebu-core-clock.txt (revision 0898782247ae533d1f4e47a06bc5d4870931b284)
197fa4cf4SSebastian Hesselbarth* Core Clock bindings for Marvell MVEBU SoCs
297fa4cf4SSebastian Hesselbarth
397fa4cf4SSebastian HesselbarthMarvell MVEBU SoCs usually allow to determine core clock frequencies by
497fa4cf4SSebastian Hesselbarthreading the Sample-At-Reset (SAR) register. The core clock consumer should
597fa4cf4SSebastian Hesselbarthspecify the desired clock by having the clock ID in its "clocks" phandle cell.
697fa4cf4SSebastian Hesselbarth
797fa4cf4SSebastian HesselbarthThe following is a list of provided IDs and clock names on Armada 370/XP:
897fa4cf4SSebastian Hesselbarth 0 = tclk    (Internal Bus clock)
997fa4cf4SSebastian Hesselbarth 1 = cpuclk  (CPU clock)
1097fa4cf4SSebastian Hesselbarth 2 = nbclk   (L2 Cache clock)
1197fa4cf4SSebastian Hesselbarth 3 = hclk    (DRAM control clock)
1297fa4cf4SSebastian Hesselbarth 4 = dramclk (DDR clock)
1397fa4cf4SSebastian Hesselbarth
14dc04f2b2SGregory CLEMENTThe following is a list of provided IDs and clock names on Armada 375:
15dc04f2b2SGregory CLEMENT 0 = tclk    (Internal Bus clock)
16dc04f2b2SGregory CLEMENT 1 = cpuclk  (CPU clock)
17dc04f2b2SGregory CLEMENT 2 = l2clk   (L2 Cache clock)
18dc04f2b2SGregory CLEMENT 3 = ddrclk  (DDR clock)
19dc04f2b2SGregory CLEMENT
203e8947aeSThomas PetazzoniThe following is a list of provided IDs and clock names on Armada 380/385:
213e8947aeSThomas Petazzoni 0 = tclk    (Internal Bus clock)
223e8947aeSThomas Petazzoni 1 = cpuclk  (CPU clock)
233e8947aeSThomas Petazzoni 2 = l2clk   (L2 Cache clock)
243e8947aeSThomas Petazzoni 3 = ddrclk  (DDR clock)
253e8947aeSThomas Petazzoni
269baf9688SThomas PetazzoniThe following is a list of provided IDs and clock names on Armada 39x:
279baf9688SThomas Petazzoni 0 = tclk    (Internal Bus clock)
289baf9688SThomas Petazzoni 1 = cpuclk  (CPU clock)
299baf9688SThomas Petazzoni 2 = nbclk   (Coherent Fabric clock)
309baf9688SThomas Petazzoni 3 = hclk    (SDRAM Controller Internal Clock)
319baf9688SThomas Petazzoni 4 = dclk    (SDRAM Interface Clock)
329baf9688SThomas Petazzoni 5 = refclk  (Reference Clock)
339baf9688SThomas Petazzoni
34b4bcfccbSChris PackhamThe following is a list of provided IDs and clock names on 98dx3236:
35b4bcfccbSChris Packham 0 = tclk    (Internal Bus clock)
36b4bcfccbSChris Packham 1 = cpuclk  (CPU clock)
37b4bcfccbSChris Packham 2 = ddrclk   (DDR clock)
38b4bcfccbSChris Packham 3 = mpll    (MPLL Clock)
39b4bcfccbSChris Packham
4097fa4cf4SSebastian HesselbarthThe following is a list of provided IDs and clock names on Kirkwood and Dove:
4197fa4cf4SSebastian Hesselbarth 0 = tclk   (Internal Bus clock)
4297fa4cf4SSebastian Hesselbarth 1 = cpuclk (CPU0 clock)
4397fa4cf4SSebastian Hesselbarth 2 = l2clk  (L2 Cache clock derived from CPU0 clock)
4497fa4cf4SSebastian Hesselbarth 3 = ddrclk (DDR controller clock derived from CPU0 clock)
4597fa4cf4SSebastian Hesselbarth
4666ecbfeaSThomas PetazzoniThe following is a list of provided IDs and clock names on Orion5x:
4766ecbfeaSThomas Petazzoni 0 = tclk   (Internal Bus clock)
4866ecbfeaSThomas Petazzoni 1 = cpuclk (CPU0 clock)
4966ecbfeaSThomas Petazzoni 2 = ddrclk (DDR controller clock derived from CPU0 clock)
5066ecbfeaSThomas Petazzoni
5197fa4cf4SSebastian HesselbarthRequired properties:
5297fa4cf4SSebastian Hesselbarth- compatible : shall be one of the following:
5397fa4cf4SSebastian Hesselbarth	"marvell,armada-370-core-clock" - For Armada 370 SoC core clocks
54dc04f2b2SGregory CLEMENT	"marvell,armada-375-core-clock" - For Armada 375 SoC core clocks
553e8947aeSThomas Petazzoni	"marvell,armada-380-core-clock" - For Armada 380/385 SoC core clocks
569baf9688SThomas Petazzoni	"marvell,armada-390-core-clock" - For Armada 39x SoC core clocks
5797fa4cf4SSebastian Hesselbarth	"marvell,armada-xp-core-clock" - For Armada XP SoC core clocks
58b4bcfccbSChris Packham	"marvell,mv98dx3236-core-clock" - For 98dx3236 family SoC core clocks
5997fa4cf4SSebastian Hesselbarth	"marvell,dove-core-clock" - for Dove SoC core clocks
6097fa4cf4SSebastian Hesselbarth	"marvell,kirkwood-core-clock" - for Kirkwood SoC (except mv88f6180)
6197fa4cf4SSebastian Hesselbarth	"marvell,mv88f6180-core-clock" - for Kirkwood MV88f6180 SoC
62*9a042e71SChris Packham	"marvell,mv98dx1135-core-clock" - for Kirkwood 98dx1135 SoC
6357d0ee07SJamie Lentin	"marvell,mv88f5181-core-clock" - for Orion MV88F5181 SoC
6466ecbfeaSThomas Petazzoni	"marvell,mv88f5182-core-clock" - for Orion MV88F5182 SoC
6566ecbfeaSThomas Petazzoni	"marvell,mv88f5281-core-clock" - for Orion MV88F5281 SoC
6666ecbfeaSThomas Petazzoni	"marvell,mv88f6183-core-clock" - for Orion MV88F6183 SoC
6797fa4cf4SSebastian Hesselbarth- reg : shall be the register address of the Sample-At-Reset (SAR) register
6897fa4cf4SSebastian Hesselbarth- #clock-cells : from common clock binding; shall be set to 1
6997fa4cf4SSebastian Hesselbarth
7097fa4cf4SSebastian HesselbarthOptional properties:
7197fa4cf4SSebastian Hesselbarth- clock-output-names : from common clock binding; allows overwrite default clock
7297fa4cf4SSebastian Hesselbarth	output names ("tclk", "cpuclk", "l2clk", "ddrclk")
7397fa4cf4SSebastian Hesselbarth
7497fa4cf4SSebastian HesselbarthExample:
7597fa4cf4SSebastian Hesselbarth
7697fa4cf4SSebastian Hesselbarthcore_clk: core-clocks@d0214 {
7797fa4cf4SSebastian Hesselbarth	compatible = "marvell,dove-core-clock";
7897fa4cf4SSebastian Hesselbarth	reg = <0xd0214 0x4>;
7997fa4cf4SSebastian Hesselbarth	#clock-cells = <1>;
8097fa4cf4SSebastian Hesselbarth};
8197fa4cf4SSebastian Hesselbarth
8297fa4cf4SSebastian Hesselbarthspi0: spi@10600 {
8397fa4cf4SSebastian Hesselbarth	compatible = "marvell,orion-spi";
8497fa4cf4SSebastian Hesselbarth	/* ... */
8597fa4cf4SSebastian Hesselbarth	/* get tclk from core clock provider */
8697fa4cf4SSebastian Hesselbarth	clocks = <&core_clk 0>;
8797fa4cf4SSebastian Hesselbarth};
88