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