0001 * Gated Clock bindings for Marvell EBU SoCs
0002
0003 Marvell Armada 370/375/380/385/39x/XP, Dove and Kirkwood allow some
0004 peripheral clocks to be gated to save some power. The clock consumer
0005 should specify the desired clock by having the clock ID in its
0006 "clocks" phandle cell. The clock ID is directly mapped to the
0007 corresponding clock gating control bit in HW to ease manual clock
0008 lookup in datasheet.
0009
0010 The following is a list of provided IDs for Armada 370:
0011 ID Clock Peripheral
0012 -----------------------------------
0013 0 Audio AC97 Cntrl
0014 1 pex0_en PCIe 0 Clock out
0015 2 pex1_en PCIe 1 Clock out
0016 3 ge1 Gigabit Ethernet 1
0017 4 ge0 Gigabit Ethernet 0
0018 5 pex0 PCIe Cntrl 0
0019 9 pex1 PCIe Cntrl 1
0020 15 sata0 SATA Host 0
0021 17 sdio SDHCI Host
0022 23 crypto CESA (crypto engine)
0023 25 tdm Time Division Mplx
0024 28 ddr DDR Cntrl
0025 30 sata1 SATA Host 0
0026
0027 The following is a list of provided IDs for Armada 375:
0028 ID Clock Peripheral
0029 -----------------------------------
0030 2 mu Management Unit
0031 3 pp Packet Processor
0032 4 ptp PTP
0033 5 pex0 PCIe 0 Clock out
0034 6 pex1 PCIe 1 Clock out
0035 8 audio Audio Cntrl
0036 11 nd_clk Nand Flash Cntrl
0037 14 sata0_link SATA 0 Link
0038 15 sata0_core SATA 0 Core
0039 16 usb3 USB3 Host
0040 17 sdio SDHCI Host
0041 18 usb USB Host
0042 19 gop Gigabit Ethernet MAC
0043 20 sata1_link SATA 1 Link
0044 21 sata1_core SATA 1 Core
0045 22 xor0 XOR DMA 0
0046 23 xor1 XOR DMA 0
0047 24 copro Coprocessor
0048 25 tdm Time Division Mplx
0049 28 crypto0_enc Cryptographic Unit Port 0 Encryption
0050 29 crypto0_core Cryptographic Unit Port 0 Core
0051 30 crypto1_enc Cryptographic Unit Port 1 Encryption
0052 31 crypto1_core Cryptographic Unit Port 1 Core
0053
0054 The following is a list of provided IDs for Armada 380/385:
0055 ID Clock Peripheral
0056 -----------------------------------
0057 0 audio Audio
0058 2 ge2 Gigabit Ethernet 2
0059 3 ge1 Gigabit Ethernet 1
0060 4 ge0 Gigabit Ethernet 0
0061 5 pex1 PCIe 1
0062 6 pex2 PCIe 2
0063 7 pex3 PCIe 3
0064 8 pex0 PCIe 0
0065 9 usb3h0 USB3 Host 0
0066 10 usb3h1 USB3 Host 1
0067 11 usb3d USB3 Device
0068 13 bm Buffer Management
0069 14 crypto0z Cryptographic 0 Z
0070 15 sata0 SATA 0
0071 16 crypto1z Cryptographic 1 Z
0072 17 sdio SDIO
0073 18 usb2 USB 2
0074 21 crypto1 Cryptographic 1
0075 22 xor0 XOR 0
0076 23 crypto0 Cryptographic 0
0077 25 tdm Time Division Multiplexing
0078 28 xor1 XOR 1
0079 30 sata1 SATA 1
0080
0081 The following is a list of provided IDs for Armada 39x:
0082 ID Clock Peripheral
0083 -----------------------------------
0084 5 pex1 PCIe 1
0085 6 pex2 PCIe 2
0086 7 pex3 PCIe 3
0087 8 pex0 PCIe 0
0088 9 usb3h0 USB3 Host 0
0089 10 usb3h1 USB3 Host 1
0090 15 sata0 SATA 0
0091 17 sdio SDIO
0092 22 xor0 XOR 0
0093 28 xor1 XOR 1
0094
0095 The following is a list of provided IDs for Armada XP:
0096 ID Clock Peripheral
0097 -----------------------------------
0098 0 audio Audio Cntrl
0099 1 ge3 Gigabit Ethernet 3
0100 2 ge2 Gigabit Ethernet 2
0101 3 ge1 Gigabit Ethernet 1
0102 4 ge0 Gigabit Ethernet 0
0103 5 pex0 PCIe Cntrl 0
0104 6 pex1 PCIe Cntrl 1
0105 7 pex2 PCIe Cntrl 2
0106 8 pex3 PCIe Cntrl 3
0107 13 bp
0108 14 sata0lnk
0109 15 sata0 SATA Host 0
0110 16 lcd LCD Cntrl
0111 17 sdio SDHCI Host
0112 18 usb0 USB Host 0
0113 19 usb1 USB Host 1
0114 20 usb2 USB Host 2
0115 22 xor0 XOR DMA 0
0116 23 crypto CESA engine
0117 25 tdm Time Division Mplx
0118 28 xor1 XOR DMA 1
0119 29 sata1lnk
0120 30 sata1 SATA Host 1
0121
0122 The following is a list of provided IDs for 98dx3236:
0123 ID Clock Peripheral
0124 -----------------------------------
0125 3 ge1 Gigabit Ethernet 1
0126 4 ge0 Gigabit Ethernet 0
0127 5 pex0 PCIe Cntrl 0
0128 17 sdio SDHCI Host
0129 18 usb0 USB Host 0
0130 22 xor0 XOR DMA 0
0131
0132 The following is a list of provided IDs for Dove:
0133 ID Clock Peripheral
0134 -----------------------------------
0135 0 usb0 USB Host 0
0136 1 usb1 USB Host 1
0137 2 ge Gigabit Ethernet
0138 3 sata SATA Host
0139 4 pex0 PCIe Cntrl 0
0140 5 pex1 PCIe Cntrl 1
0141 8 sdio0 SDHCI Host 0
0142 9 sdio1 SDHCI Host 1
0143 10 nand NAND Cntrl
0144 11 camera Camera Cntrl
0145 12 i2s0 I2S Cntrl 0
0146 13 i2s1 I2S Cntrl 1
0147 15 crypto CESA engine
0148 21 ac97 AC97 Cntrl
0149 22 pdma Peripheral DMA
0150 23 xor0 XOR DMA 0
0151 24 xor1 XOR DMA 1
0152 30 gephy Gigabit Ethernel PHY
0153 Note: gephy(30) is implemented as a parent clock of ge(2)
0154
0155 The following is a list of provided IDs for Kirkwood:
0156 ID Clock Peripheral
0157 -----------------------------------
0158 0 ge0 Gigabit Ethernet 0
0159 2 pex0 PCIe Cntrl 0
0160 3 usb0 USB Host 0
0161 4 sdio SDIO Cntrl
0162 5 tsu Transp. Stream Unit
0163 6 dunit SDRAM Cntrl
0164 7 runit Runit
0165 8 xor0 XOR DMA 0
0166 9 audio I2S Cntrl 0
0167 14 sata0 SATA Host 0
0168 15 sata1 SATA Host 1
0169 16 xor1 XOR DMA 1
0170 17 crypto CESA engine
0171 18 pex1 PCIe Cntrl 1
0172 19 ge1 Gigabit Ethernet 1
0173 20 tdm Time Division Mplx
0174
0175 Required properties:
0176 - compatible : shall be one of the following:
0177 "marvell,armada-370-gating-clock" - for Armada 370 SoC clock gating
0178 "marvell,armada-375-gating-clock" - for Armada 375 SoC clock gating
0179 "marvell,armada-380-gating-clock" - for Armada 380/385 SoC clock gating
0180 "marvell,armada-390-gating-clock" - for Armada 39x SoC clock gating
0181 "marvell,armada-xp-gating-clock" - for Armada XP SoC clock gating
0182 "marvell,mv98dx3236-gating-clock" - for 98dx3236 SoC clock gating
0183 "marvell,dove-gating-clock" - for Dove SoC clock gating
0184 "marvell,kirkwood-gating-clock" - for Kirkwood SoC clock gating
0185 - reg : shall be the register address of the Clock Gating Control register
0186 - #clock-cells : from common clock binding; shall be set to 1
0187
0188 Optional properties:
0189 - clocks : default parent clock phandle (e.g. tclk)
0190
0191 Example:
0192
0193 gate_clk: clock-gating-control@d0038 {
0194 compatible = "marvell,dove-gating-clock";
0195 reg = <0xd0038 0x4>;
0196 /* default parent clock is tclk */
0197 clocks = <&core_clk 0>;
0198 #clock-cells = <1>;
0199 };
0200
0201 sdio0: sdio@92000 {
0202 compatible = "marvell,dove-sdhci";
0203 /* get clk gate bit 8 (sdio0) */
0204 clocks = <&gate_clk 8>;
0205 };