xref: /freebsd/sys/contrib/device-tree/Bindings/clock/marvell,mvebu-core-clock.yaml (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*833e5d42SEmmanuel Vadot%YAML 1.2
3*833e5d42SEmmanuel Vadot---
4*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/clock/marvell,mvebu-core-clock.yaml#
5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*833e5d42SEmmanuel Vadot
7*833e5d42SEmmanuel Vadottitle: Marvell MVEBU SoC core clock
8*833e5d42SEmmanuel Vadot
9*833e5d42SEmmanuel Vadotmaintainers:
10*833e5d42SEmmanuel Vadot  - Andrew Lunn <andrew@lunn.ch>
11*833e5d42SEmmanuel Vadot  - Gregory Clement <gregory.clement@bootlin.com>
12*833e5d42SEmmanuel Vadot
13*833e5d42SEmmanuel Vadotdescription: >
14*833e5d42SEmmanuel Vadot  Marvell MVEBU SoCs usually allow to determine core clock frequencies by
15*833e5d42SEmmanuel Vadot  reading the Sample-At-Reset (SAR) register. The core clock consumer should
16*833e5d42SEmmanuel Vadot  specify the desired clock by having the clock ID in its "clocks" phandle cell.
17*833e5d42SEmmanuel Vadot
18*833e5d42SEmmanuel Vadot  The following is a list of provided IDs and clock names on Armada 370/XP:
19*833e5d42SEmmanuel Vadot   0 = tclk    (Internal Bus clock)
20*833e5d42SEmmanuel Vadot   1 = cpuclk  (CPU clock)
21*833e5d42SEmmanuel Vadot   2 = nbclk   (L2 Cache clock)
22*833e5d42SEmmanuel Vadot   3 = hclk    (DRAM control clock)
23*833e5d42SEmmanuel Vadot   4 = dramclk (DDR clock)
24*833e5d42SEmmanuel Vadot
25*833e5d42SEmmanuel Vadot  The following is a list of provided IDs and clock names on Armada 375:
26*833e5d42SEmmanuel Vadot   0 = tclk    (Internal Bus clock)
27*833e5d42SEmmanuel Vadot   1 = cpuclk  (CPU clock)
28*833e5d42SEmmanuel Vadot   2 = l2clk   (L2 Cache clock)
29*833e5d42SEmmanuel Vadot   3 = ddrclk  (DDR clock)
30*833e5d42SEmmanuel Vadot
31*833e5d42SEmmanuel Vadot  The following is a list of provided IDs and clock names on Armada 380/385:
32*833e5d42SEmmanuel Vadot   0 = tclk    (Internal Bus clock)
33*833e5d42SEmmanuel Vadot   1 = cpuclk  (CPU clock)
34*833e5d42SEmmanuel Vadot   2 = l2clk   (L2 Cache clock)
35*833e5d42SEmmanuel Vadot   3 = ddrclk  (DDR clock)
36*833e5d42SEmmanuel Vadot
37*833e5d42SEmmanuel Vadot  The following is a list of provided IDs and clock names on Armada 39x:
38*833e5d42SEmmanuel Vadot   0 = tclk    (Internal Bus clock)
39*833e5d42SEmmanuel Vadot   1 = cpuclk  (CPU clock)
40*833e5d42SEmmanuel Vadot   2 = nbclk   (Coherent Fabric clock)
41*833e5d42SEmmanuel Vadot   3 = hclk    (SDRAM Controller Internal Clock)
42*833e5d42SEmmanuel Vadot   4 = dclk    (SDRAM Interface Clock)
43*833e5d42SEmmanuel Vadot   5 = refclk  (Reference Clock)
44*833e5d42SEmmanuel Vadot
45*833e5d42SEmmanuel Vadot  The following is a list of provided IDs and clock names on 98dx3236:
46*833e5d42SEmmanuel Vadot   0 = tclk    (Internal Bus clock)
47*833e5d42SEmmanuel Vadot   1 = cpuclk  (CPU clock)
48*833e5d42SEmmanuel Vadot   2 = ddrclk  (DDR clock)
49*833e5d42SEmmanuel Vadot   3 = mpll    (MPLL Clock)
50*833e5d42SEmmanuel Vadot
51*833e5d42SEmmanuel Vadot  The following is a list of provided IDs and clock names on Kirkwood and Dove:
52*833e5d42SEmmanuel Vadot   0 = tclk   (Internal Bus clock)
53*833e5d42SEmmanuel Vadot   1 = cpuclk (CPU0 clock)
54*833e5d42SEmmanuel Vadot   2 = l2clk  (L2 Cache clock derived from CPU0 clock)
55*833e5d42SEmmanuel Vadot   3 = ddrclk (DDR controller clock derived from CPU0 clock)
56*833e5d42SEmmanuel Vadot
57*833e5d42SEmmanuel Vadot  The following is a list of provided IDs and clock names on Orion5x:
58*833e5d42SEmmanuel Vadot   0 = tclk   (Internal Bus clock)
59*833e5d42SEmmanuel Vadot   1 = cpuclk (CPU0 clock)
60*833e5d42SEmmanuel Vadot   2 = ddrclk (DDR controller clock derived from CPU0 clock)
61*833e5d42SEmmanuel Vadot
62*833e5d42SEmmanuel Vadotproperties:
63*833e5d42SEmmanuel Vadot  compatible:
64*833e5d42SEmmanuel Vadot    enum:
65*833e5d42SEmmanuel Vadot      - marvell,armada-370-core-clock
66*833e5d42SEmmanuel Vadot      - marvell,armada-375-core-clock
67*833e5d42SEmmanuel Vadot      - marvell,armada-380-core-clock
68*833e5d42SEmmanuel Vadot      - marvell,armada-390-core-clock
69*833e5d42SEmmanuel Vadot      - marvell,armada-xp-core-clock
70*833e5d42SEmmanuel Vadot      - marvell,dove-core-clock
71*833e5d42SEmmanuel Vadot      - marvell,kirkwood-core-clock
72*833e5d42SEmmanuel Vadot      - marvell,mv88f5181-core-clock
73*833e5d42SEmmanuel Vadot      - marvell,mv88f5182-core-clock
74*833e5d42SEmmanuel Vadot      - marvell,mv88f5281-core-clock
75*833e5d42SEmmanuel Vadot      - marvell,mv88f6180-core-clock
76*833e5d42SEmmanuel Vadot      - marvell,mv88f6183-core-clock
77*833e5d42SEmmanuel Vadot      - marvell,mv98dx1135-core-clock
78*833e5d42SEmmanuel Vadot      - marvell,mv98dx3236-core-clock
79*833e5d42SEmmanuel Vadot
80*833e5d42SEmmanuel Vadot  reg:
81*833e5d42SEmmanuel Vadot    maxItems: 1
82*833e5d42SEmmanuel Vadot
83*833e5d42SEmmanuel Vadot  '#clock-cells':
84*833e5d42SEmmanuel Vadot    const: 1
85*833e5d42SEmmanuel Vadot
86*833e5d42SEmmanuel Vadot  clock-output-names:
87*833e5d42SEmmanuel Vadot    description: Overwrite default clock output names.
88*833e5d42SEmmanuel Vadot
89*833e5d42SEmmanuel Vadotrequired:
90*833e5d42SEmmanuel Vadot  - compatible
91*833e5d42SEmmanuel Vadot  - reg
92*833e5d42SEmmanuel Vadot  - '#clock-cells'
93*833e5d42SEmmanuel Vadot
94*833e5d42SEmmanuel VadotadditionalProperties: false
95