xref: /freebsd/sys/contrib/device-tree/Bindings/clock/marvell-armada-370-gating-clock.yaml (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*833e5d42SEmmanuel Vadot---
3*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/clock/marvell-armada-370-gating-clock.yaml#
4*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
5*833e5d42SEmmanuel Vadot
6*833e5d42SEmmanuel Vadottitle: Marvell EBU SoC gating-clock
7*833e5d42SEmmanuel Vadot
8*833e5d42SEmmanuel Vadotmaintainers:
9*833e5d42SEmmanuel Vadot  - Andrew Lunn <andrew@lunn.ch>
10*833e5d42SEmmanuel Vadot  - Gregory Clement <gregory.clement@bootlin.com>
11*833e5d42SEmmanuel Vadot
12*833e5d42SEmmanuel Vadotdescription: >
13*833e5d42SEmmanuel Vadot  Marvell Armada 370/375/380/385/39x/XP, Dove and Kirkwood allow some peripheral
14*833e5d42SEmmanuel Vadot  clocks to be gated to save some power. The clock ID is directly mapped to the
15*833e5d42SEmmanuel Vadot  corresponding clock gating control bit in HW to ease manual clock lookup in
16*833e5d42SEmmanuel Vadot  datasheet.
17*833e5d42SEmmanuel Vadot
18*833e5d42SEmmanuel Vadot  The following is a list of provided IDs for Armada 370:
19*833e5d42SEmmanuel Vadot
20*833e5d42SEmmanuel Vadot    ID    Clock    Peripheral
21*833e5d42SEmmanuel Vadot    -----------------------------------
22*833e5d42SEmmanuel Vadot    0     Audio    AC97 Cntrl
23*833e5d42SEmmanuel Vadot    1     pex0_en  PCIe 0 Clock out
24*833e5d42SEmmanuel Vadot    2     pex1_en  PCIe 1 Clock out
25*833e5d42SEmmanuel Vadot    3     ge1      Gigabit Ethernet 1
26*833e5d42SEmmanuel Vadot    4     ge0      Gigabit Ethernet 0
27*833e5d42SEmmanuel Vadot    5     pex0     PCIe Cntrl 0
28*833e5d42SEmmanuel Vadot    9     pex1     PCIe Cntrl 1
29*833e5d42SEmmanuel Vadot    15    sata0    SATA Host 0
30*833e5d42SEmmanuel Vadot    17    sdio     SDHCI Host
31*833e5d42SEmmanuel Vadot    23    crypto   CESA (crypto engine)
32*833e5d42SEmmanuel Vadot    25    tdm      Time Division Mplx
33*833e5d42SEmmanuel Vadot    28    ddr      DDR Cntrl
34*833e5d42SEmmanuel Vadot    30    sata1   SATA Host 0
35*833e5d42SEmmanuel Vadot
36*833e5d42SEmmanuel Vadot  The following is a list of provided IDs for Armada 375:
37*833e5d42SEmmanuel Vadot
38*833e5d42SEmmanuel Vadot    ID    Clock           Peripheral
39*833e5d42SEmmanuel Vadot    -----------------------------------
40*833e5d42SEmmanuel Vadot    2     mu              Management Unit
41*833e5d42SEmmanuel Vadot    3     pp              Packet Processor
42*833e5d42SEmmanuel Vadot    4     ptp             PTP
43*833e5d42SEmmanuel Vadot    5     pex0            PCIe 0 Clock out
44*833e5d42SEmmanuel Vadot    6     pex1            PCIe 1 Clock out
45*833e5d42SEmmanuel Vadot    8     audio           Audio Cntrl
46*833e5d42SEmmanuel Vadot    11    nd_clk          Nand Flash Cntrl
47*833e5d42SEmmanuel Vadot    14    sata0_link      SATA 0 Link
48*833e5d42SEmmanuel Vadot    15    sata0_core      SATA 0 Core
49*833e5d42SEmmanuel Vadot    16    usb3            USB3 Host
50*833e5d42SEmmanuel Vadot    17    sdio            SDHCI Host
51*833e5d42SEmmanuel Vadot    18    usb             USB Host
52*833e5d42SEmmanuel Vadot    19    gop             Gigabit Ethernet MAC
53*833e5d42SEmmanuel Vadot    20    sata1_link      SATA 1 Link
54*833e5d42SEmmanuel Vadot    21    sata1_core      SATA 1 Core
55*833e5d42SEmmanuel Vadot    22    xor0            XOR DMA 0
56*833e5d42SEmmanuel Vadot    23    xor1            XOR DMA 0
57*833e5d42SEmmanuel Vadot    24    copro           Coprocessor
58*833e5d42SEmmanuel Vadot    25    tdm             Time Division Mplx
59*833e5d42SEmmanuel Vadot    28    crypto0_enc     Cryptographic Unit Port 0 Encryption
60*833e5d42SEmmanuel Vadot    29    crypto0_core    Cryptographic Unit Port 0 Core
61*833e5d42SEmmanuel Vadot    30    crypto1_enc     Cryptographic Unit Port 1 Encryption
62*833e5d42SEmmanuel Vadot    31    crypto1_core    Cryptographic Unit Port 1 Core
63*833e5d42SEmmanuel Vadot
64*833e5d42SEmmanuel Vadot  The following is a list of provided IDs for Armada 380/385:
65*833e5d42SEmmanuel Vadot
66*833e5d42SEmmanuel Vadot    ID    Clock           Peripheral
67*833e5d42SEmmanuel Vadot    -----------------------------------
68*833e5d42SEmmanuel Vadot    0     audio           Audio
69*833e5d42SEmmanuel Vadot    2     ge2             Gigabit Ethernet 2
70*833e5d42SEmmanuel Vadot    3     ge1             Gigabit Ethernet 1
71*833e5d42SEmmanuel Vadot    4     ge0             Gigabit Ethernet 0
72*833e5d42SEmmanuel Vadot    5     pex1            PCIe 1
73*833e5d42SEmmanuel Vadot    6     pex2            PCIe 2
74*833e5d42SEmmanuel Vadot    7     pex3            PCIe 3
75*833e5d42SEmmanuel Vadot    8     pex0            PCIe 0
76*833e5d42SEmmanuel Vadot    9     usb3h0          USB3 Host 0
77*833e5d42SEmmanuel Vadot    10    usb3h1          USB3 Host 1
78*833e5d42SEmmanuel Vadot    11    usb3d           USB3 Device
79*833e5d42SEmmanuel Vadot    13    bm              Buffer Management
80*833e5d42SEmmanuel Vadot    14    crypto0z        Cryptographic 0 Z
81*833e5d42SEmmanuel Vadot    15    sata0           SATA 0
82*833e5d42SEmmanuel Vadot    16    crypto1z        Cryptographic 1 Z
83*833e5d42SEmmanuel Vadot    17    sdio            SDIO
84*833e5d42SEmmanuel Vadot    18    usb2            USB 2
85*833e5d42SEmmanuel Vadot    21    crypto1         Cryptographic 1
86*833e5d42SEmmanuel Vadot    22    xor0            XOR 0
87*833e5d42SEmmanuel Vadot    23    crypto0         Cryptographic 0
88*833e5d42SEmmanuel Vadot    25    tdm             Time Division Multiplexing
89*833e5d42SEmmanuel Vadot    28    xor1            XOR 1
90*833e5d42SEmmanuel Vadot    30    sata1           SATA 1
91*833e5d42SEmmanuel Vadot
92*833e5d42SEmmanuel Vadot  The following is a list of provided IDs for Armada 39x:
93*833e5d42SEmmanuel Vadot
94*833e5d42SEmmanuel Vadot    ID    Clock           Peripheral
95*833e5d42SEmmanuel Vadot    -----------------------------------
96*833e5d42SEmmanuel Vadot    5     pex1            PCIe 1
97*833e5d42SEmmanuel Vadot    6     pex2            PCIe 2
98*833e5d42SEmmanuel Vadot    7     pex3            PCIe 3
99*833e5d42SEmmanuel Vadot    8     pex0            PCIe 0
100*833e5d42SEmmanuel Vadot    9     usb3h0          USB3 Host 0
101*833e5d42SEmmanuel Vadot    10    usb3h1          USB3 Host 1
102*833e5d42SEmmanuel Vadot    15    sata0           SATA 0
103*833e5d42SEmmanuel Vadot    17    sdio            SDIO
104*833e5d42SEmmanuel Vadot    22    xor0            XOR 0
105*833e5d42SEmmanuel Vadot    28    xor1            XOR 1
106*833e5d42SEmmanuel Vadot
107*833e5d42SEmmanuel Vadot  The following is a list of provided IDs for Armada XP:
108*833e5d42SEmmanuel Vadot
109*833e5d42SEmmanuel Vadot    ID    Clock           Peripheral
110*833e5d42SEmmanuel Vadot    -----------------------------------
111*833e5d42SEmmanuel Vadot    0     audio           Audio Cntrl
112*833e5d42SEmmanuel Vadot    1     ge3             Gigabit Ethernet 3
113*833e5d42SEmmanuel Vadot    2     ge2             Gigabit Ethernet 2
114*833e5d42SEmmanuel Vadot    3     ge1             Gigabit Ethernet 1
115*833e5d42SEmmanuel Vadot    4     ge0             Gigabit Ethernet 0
116*833e5d42SEmmanuel Vadot    5     pex0            PCIe Cntrl 0
117*833e5d42SEmmanuel Vadot    6     pex1            PCIe Cntrl 1
118*833e5d42SEmmanuel Vadot    7     pex2            PCIe Cntrl 2
119*833e5d42SEmmanuel Vadot    8     pex3            PCIe Cntrl 3
120*833e5d42SEmmanuel Vadot    13    bp
121*833e5d42SEmmanuel Vadot    14    sata0lnk
122*833e5d42SEmmanuel Vadot    15    sata0           SATA Host 0
123*833e5d42SEmmanuel Vadot    16    lcd             LCD Cntrl
124*833e5d42SEmmanuel Vadot    17    sdio            SDHCI Host
125*833e5d42SEmmanuel Vadot    18    usb0            USB Host 0
126*833e5d42SEmmanuel Vadot    19    usb1            USB Host 1
127*833e5d42SEmmanuel Vadot    20    usb2            USB Host 2
128*833e5d42SEmmanuel Vadot    22    xor0            XOR DMA 0
129*833e5d42SEmmanuel Vadot    23    crypto          CESA engine
130*833e5d42SEmmanuel Vadot    25    tdm             Time Division Mplx
131*833e5d42SEmmanuel Vadot    28    xor1            XOR DMA 1
132*833e5d42SEmmanuel Vadot    29    sata1lnk
133*833e5d42SEmmanuel Vadot    30    sata1           SATA Host 1
134*833e5d42SEmmanuel Vadot
135*833e5d42SEmmanuel Vadot  The following is a list of provided IDs for 98dx3236:
136*833e5d42SEmmanuel Vadot
137*833e5d42SEmmanuel Vadot    ID    Clock           Peripheral
138*833e5d42SEmmanuel Vadot    -----------------------------------
139*833e5d42SEmmanuel Vadot    3     ge1             Gigabit Ethernet 1
140*833e5d42SEmmanuel Vadot    4     ge0             Gigabit Ethernet 0
141*833e5d42SEmmanuel Vadot    5     pex0            PCIe Cntrl 0
142*833e5d42SEmmanuel Vadot    17    sdio            SDHCI Host
143*833e5d42SEmmanuel Vadot    18    usb0            USB Host 0
144*833e5d42SEmmanuel Vadot    22    xor0            XOR DMA 0
145*833e5d42SEmmanuel Vadot
146*833e5d42SEmmanuel Vadot  The following is a list of provided IDs for Dove:
147*833e5d42SEmmanuel Vadot
148*833e5d42SEmmanuel Vadot  ID    Clock           Peripheral
149*833e5d42SEmmanuel Vadot  -----------------------------------
150*833e5d42SEmmanuel Vadot    0     usb0            USB Host 0
151*833e5d42SEmmanuel Vadot    1     usb1            USB Host 1
152*833e5d42SEmmanuel Vadot    2     ge              Gigabit Ethernet
153*833e5d42SEmmanuel Vadot    3     sata            SATA Host
154*833e5d42SEmmanuel Vadot    4     pex0            PCIe Cntrl 0
155*833e5d42SEmmanuel Vadot    5     pex1            PCIe Cntrl 1
156*833e5d42SEmmanuel Vadot    8     sdio0           SDHCI Host 0
157*833e5d42SEmmanuel Vadot    9     sdio1           SDHCI Host 1
158*833e5d42SEmmanuel Vadot    10    nand            NAND Cntrl
159*833e5d42SEmmanuel Vadot    11    camera          Camera Cntrl
160*833e5d42SEmmanuel Vadot    12    i2s0            I2S Cntrl 0
161*833e5d42SEmmanuel Vadot    13    i2s1            I2S Cntrl 1
162*833e5d42SEmmanuel Vadot    15    crypto          CESA engine
163*833e5d42SEmmanuel Vadot    21    ac97            AC97 Cntrl
164*833e5d42SEmmanuel Vadot    22    pdma            Peripheral DMA
165*833e5d42SEmmanuel Vadot    23    xor0            XOR DMA 0
166*833e5d42SEmmanuel Vadot    24    xor1            XOR DMA 1
167*833e5d42SEmmanuel Vadot    30    gephy           Gigabit Ethernet PHY
168*833e5d42SEmmanuel Vadot    Note: gephy(30) is implemented as a parent clock of ge(2)
169*833e5d42SEmmanuel Vadot
170*833e5d42SEmmanuel Vadot  The following is a list of provided IDs for Kirkwood:
171*833e5d42SEmmanuel Vadot
172*833e5d42SEmmanuel Vadot    ID    Clock           Peripheral
173*833e5d42SEmmanuel Vadot    -----------------------------------
174*833e5d42SEmmanuel Vadot    0     ge0             Gigabit Ethernet 0
175*833e5d42SEmmanuel Vadot    2     pex0            PCIe Cntrl 0
176*833e5d42SEmmanuel Vadot    3     usb0            USB Host 0
177*833e5d42SEmmanuel Vadot    4     sdio            SDIO Cntrl
178*833e5d42SEmmanuel Vadot    5     tsu             Transp. Stream Unit
179*833e5d42SEmmanuel Vadot    6     dunit           SDRAM Cntrl
180*833e5d42SEmmanuel Vadot    7     runit           Runit
181*833e5d42SEmmanuel Vadot    8     xor0            XOR DMA 0
182*833e5d42SEmmanuel Vadot    9     audio           I2S Cntrl 0
183*833e5d42SEmmanuel Vadot    14    sata0           SATA Host 0
184*833e5d42SEmmanuel Vadot    15    sata1           SATA Host 1
185*833e5d42SEmmanuel Vadot    16    xor1            XOR DMA 1
186*833e5d42SEmmanuel Vadot    17    crypto          CESA engine
187*833e5d42SEmmanuel Vadot    18    pex1            PCIe Cntrl 1
188*833e5d42SEmmanuel Vadot    19    ge1             Gigabit Ethernet 1
189*833e5d42SEmmanuel Vadot    20    tdm             Time Division Mplx
190*833e5d42SEmmanuel Vadot
191*833e5d42SEmmanuel Vadotproperties:
192*833e5d42SEmmanuel Vadot  compatible:
193*833e5d42SEmmanuel Vadot    enum:
194*833e5d42SEmmanuel Vadot      - marvell,armada-370-gating-clock
195*833e5d42SEmmanuel Vadot      - marvell,armada-375-gating-clock
196*833e5d42SEmmanuel Vadot      - marvell,armada-380-gating-clock
197*833e5d42SEmmanuel Vadot      - marvell,armada-390-gating-clock
198*833e5d42SEmmanuel Vadot      - marvell,armada-xp-gating-clock
199*833e5d42SEmmanuel Vadot      - marvell,mv98dx3236-gating-clock
200*833e5d42SEmmanuel Vadot      - marvell,dove-gating-clock
201*833e5d42SEmmanuel Vadot      - marvell,kirkwood-gating-clock
202*833e5d42SEmmanuel Vadot
203*833e5d42SEmmanuel Vadot  reg:
204*833e5d42SEmmanuel Vadot    maxItems: 1
205*833e5d42SEmmanuel Vadot
206*833e5d42SEmmanuel Vadot  clocks:
207*833e5d42SEmmanuel Vadot    maxItems: 1
208*833e5d42SEmmanuel Vadot
209*833e5d42SEmmanuel Vadot  '#clock-cells':
210*833e5d42SEmmanuel Vadot    const: 1
211*833e5d42SEmmanuel Vadot
212*833e5d42SEmmanuel Vadotrequired:
213*833e5d42SEmmanuel Vadot  - compatible
214*833e5d42SEmmanuel Vadot  - reg
215*833e5d42SEmmanuel Vadot  - '#clock-cells'
216*833e5d42SEmmanuel Vadot
217*833e5d42SEmmanuel VadotadditionalProperties: false
218*833e5d42SEmmanuel Vadot
219*833e5d42SEmmanuel Vadotexamples:
220*833e5d42SEmmanuel Vadot  - |
221*833e5d42SEmmanuel Vadot    clock-controller@d0038 {
222*833e5d42SEmmanuel Vadot        compatible = "marvell,dove-gating-clock";
223*833e5d42SEmmanuel Vadot        reg = <0xd0038 0x4>;
224*833e5d42SEmmanuel Vadot        /* default parent clock is tclk */
225*833e5d42SEmmanuel Vadot        clocks = <&core_clk 0>;
226*833e5d42SEmmanuel Vadot        #clock-cells = <1>;
227*833e5d42SEmmanuel Vadot    };
228