Documentation / devicetree / bindings / clock / marvell-armada-370-gating-clock.yaml


Based on kernel version 6.17. Page generated on 2025-10-03 10:03 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
---
$id: http://devicetree.org/schemas/clock/marvell-armada-370-gating-clock.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Marvell EBU SoC gating-clock

maintainers:
  - Andrew Lunn <andrew@lunn.ch>
  - Gregory Clement <gregory.clement@bootlin.com>

description: >
  Marvell Armada 370/375/380/385/39x/XP, Dove and Kirkwood allow some peripheral
  clocks to be gated to save some power. The clock ID is directly mapped to the
  corresponding clock gating control bit in HW to ease manual clock lookup in
  datasheet.
 
  The following is a list of provided IDs for Armada 370:
 
    ID    Clock    Peripheral
    -----------------------------------
    0     Audio    AC97 Cntrl
    1     pex0_en  PCIe 0 Clock out
    2     pex1_en  PCIe 1 Clock out
    3     ge1      Gigabit Ethernet 1
    4     ge0      Gigabit Ethernet 0
    5     pex0     PCIe Cntrl 0
    9     pex1     PCIe Cntrl 1
    15    sata0    SATA Host 0
    17    sdio     SDHCI Host
    23    crypto   CESA (crypto engine)
    25    tdm      Time Division Mplx
    28    ddr      DDR Cntrl
    30    sata1   SATA Host 0
 
  The following is a list of provided IDs for Armada 375:
 
    ID    Clock           Peripheral
    -----------------------------------
    2     mu              Management Unit
    3     pp              Packet Processor
    4     ptp             PTP
    5     pex0            PCIe 0 Clock out
    6     pex1            PCIe 1 Clock out
    8     audio           Audio Cntrl
    11    nd_clk          Nand Flash Cntrl
    14    sata0_link      SATA 0 Link
    15    sata0_core      SATA 0 Core
    16    usb3            USB3 Host
    17    sdio            SDHCI Host
    18    usb             USB Host
    19    gop             Gigabit Ethernet MAC
    20    sata1_link      SATA 1 Link
    21    sata1_core      SATA 1 Core
    22    xor0            XOR DMA 0
    23    xor1            XOR DMA 0
    24    copro           Coprocessor
    25    tdm             Time Division Mplx
    28    crypto0_enc     Cryptographic Unit Port 0 Encryption
    29    crypto0_core    Cryptographic Unit Port 0 Core
    30    crypto1_enc     Cryptographic Unit Port 1 Encryption
    31    crypto1_core    Cryptographic Unit Port 1 Core
 
  The following is a list of provided IDs for Armada 380/385:
 
    ID    Clock           Peripheral
    -----------------------------------
    0     audio           Audio
    2     ge2             Gigabit Ethernet 2
    3     ge1             Gigabit Ethernet 1
    4     ge0             Gigabit Ethernet 0
    5     pex1            PCIe 1
    6     pex2            PCIe 2
    7     pex3            PCIe 3
    8     pex0            PCIe 0
    9     usb3h0          USB3 Host 0
    10    usb3h1          USB3 Host 1
    11    usb3d           USB3 Device
    13    bm              Buffer Management
    14    crypto0z        Cryptographic 0 Z
    15    sata0           SATA 0
    16    crypto1z        Cryptographic 1 Z
    17    sdio            SDIO
    18    usb2            USB 2
    21    crypto1         Cryptographic 1
    22    xor0            XOR 0
    23    crypto0         Cryptographic 0
    25    tdm             Time Division Multiplexing
    28    xor1            XOR 1
    30    sata1           SATA 1
 
  The following is a list of provided IDs for Armada 39x:
 
    ID    Clock           Peripheral
    -----------------------------------
    5     pex1            PCIe 1
    6     pex2            PCIe 2
    7     pex3            PCIe 3
    8     pex0            PCIe 0
    9     usb3h0          USB3 Host 0
    10    usb3h1          USB3 Host 1
    15    sata0           SATA 0
    17    sdio            SDIO
    22    xor0            XOR 0
    28    xor1            XOR 1
 
  The following is a list of provided IDs for Armada XP:
 
    ID    Clock           Peripheral
    -----------------------------------
    0     audio           Audio Cntrl
    1     ge3             Gigabit Ethernet 3
    2     ge2             Gigabit Ethernet 2
    3     ge1             Gigabit Ethernet 1
    4     ge0             Gigabit Ethernet 0
    5     pex0            PCIe Cntrl 0
    6     pex1            PCIe Cntrl 1
    7     pex2            PCIe Cntrl 2
    8     pex3            PCIe Cntrl 3
    13    bp
    14    sata0lnk
    15    sata0           SATA Host 0
    16    lcd             LCD Cntrl
    17    sdio            SDHCI Host
    18    usb0            USB Host 0
    19    usb1            USB Host 1
    20    usb2            USB Host 2
    22    xor0            XOR DMA 0
    23    crypto          CESA engine
    25    tdm             Time Division Mplx
    28    xor1            XOR DMA 1
    29    sata1lnk
    30    sata1           SATA Host 1
 
  The following is a list of provided IDs for 98dx3236:
 
    ID    Clock           Peripheral
    -----------------------------------
    3     ge1             Gigabit Ethernet 1
    4     ge0             Gigabit Ethernet 0
    5     pex0            PCIe Cntrl 0
    17    sdio            SDHCI Host
    18    usb0            USB Host 0
    22    xor0            XOR DMA 0
 
  The following is a list of provided IDs for Dove:
 
  ID    Clock           Peripheral
  -----------------------------------
    0     usb0            USB Host 0
    1     usb1            USB Host 1
    2     ge              Gigabit Ethernet
    3     sata            SATA Host
    4     pex0            PCIe Cntrl 0
    5     pex1            PCIe Cntrl 1
    8     sdio0           SDHCI Host 0
    9     sdio1           SDHCI Host 1
    10    nand            NAND Cntrl
    11    camera          Camera Cntrl
    12    i2s0            I2S Cntrl 0
    13    i2s1            I2S Cntrl 1
    15    crypto          CESA engine
    21    ac97            AC97 Cntrl
    22    pdma            Peripheral DMA
    23    xor0            XOR DMA 0
    24    xor1            XOR DMA 1
    30    gephy           Gigabit Ethernet PHY
    Note: gephy(30) is implemented as a parent clock of ge(2)
 
  The following is a list of provided IDs for Kirkwood:
 
    ID    Clock           Peripheral
    -----------------------------------
    0     ge0             Gigabit Ethernet 0
    2     pex0            PCIe Cntrl 0
    3     usb0            USB Host 0
    4     sdio            SDIO Cntrl
    5     tsu             Transp. Stream Unit
    6     dunit           SDRAM Cntrl
    7     runit           Runit
    8     xor0            XOR DMA 0
    9     audio           I2S Cntrl 0
    14    sata0           SATA Host 0
    15    sata1           SATA Host 1
    16    xor1            XOR DMA 1
    17    crypto          CESA engine
    18    pex1            PCIe Cntrl 1
    19    ge1             Gigabit Ethernet 1
    20    tdm             Time Division Mplx

properties:
  compatible:
    enum:
      - marvell,armada-370-gating-clock
      - marvell,armada-375-gating-clock
      - marvell,armada-380-gating-clock
      - marvell,armada-390-gating-clock
      - marvell,armada-xp-gating-clock
      - marvell,mv98dx3236-gating-clock
      - marvell,dove-gating-clock
      - marvell,kirkwood-gating-clock

  reg:
    maxItems: 1

  clocks:
    maxItems: 1
 
  '#clock-cells':
    const: 1

required:
  - compatible
  - reg
  - '#clock-cells'

additionalProperties: false

examples:
  - |
    clock-controller@d0038 {
        compatible = "marvell,dove-gating-clock";
        reg = <0xd0038 0x4>;
        /* default parent clock is tclk */
        clocks = <&core_clk 0>;
        #clock-cells = <1>;
    };