1*4882a593Smuzhiyun* Gated Clock bindings for Marvell EBU SoCs 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunMarvell Armada 370/375/380/385/39x/XP, Dove and Kirkwood allow some 4*4882a593Smuzhiyunperipheral clocks to be gated to save some power. The clock consumer 5*4882a593Smuzhiyunshould specify the desired clock by having the clock ID in its 6*4882a593Smuzhiyun"clocks" phandle cell. The clock ID is directly mapped to the 7*4882a593Smuzhiyuncorresponding clock gating control bit in HW to ease manual clock 8*4882a593Smuzhiyunlookup in datasheet. 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunThe following is a list of provided IDs for Armada 370: 11*4882a593SmuzhiyunID Clock Peripheral 12*4882a593Smuzhiyun----------------------------------- 13*4882a593Smuzhiyun0 Audio AC97 Cntrl 14*4882a593Smuzhiyun1 pex0_en PCIe 0 Clock out 15*4882a593Smuzhiyun2 pex1_en PCIe 1 Clock out 16*4882a593Smuzhiyun3 ge1 Gigabit Ethernet 1 17*4882a593Smuzhiyun4 ge0 Gigabit Ethernet 0 18*4882a593Smuzhiyun5 pex0 PCIe Cntrl 0 19*4882a593Smuzhiyun9 pex1 PCIe Cntrl 1 20*4882a593Smuzhiyun15 sata0 SATA Host 0 21*4882a593Smuzhiyun17 sdio SDHCI Host 22*4882a593Smuzhiyun23 crypto CESA (crypto engine) 23*4882a593Smuzhiyun25 tdm Time Division Mplx 24*4882a593Smuzhiyun28 ddr DDR Cntrl 25*4882a593Smuzhiyun30 sata1 SATA Host 0 26*4882a593Smuzhiyun 27*4882a593SmuzhiyunThe following is a list of provided IDs for Armada 375: 28*4882a593SmuzhiyunID Clock Peripheral 29*4882a593Smuzhiyun----------------------------------- 30*4882a593Smuzhiyun2 mu Management Unit 31*4882a593Smuzhiyun3 pp Packet Processor 32*4882a593Smuzhiyun4 ptp PTP 33*4882a593Smuzhiyun5 pex0 PCIe 0 Clock out 34*4882a593Smuzhiyun6 pex1 PCIe 1 Clock out 35*4882a593Smuzhiyun8 audio Audio Cntrl 36*4882a593Smuzhiyun11 nd_clk Nand Flash Cntrl 37*4882a593Smuzhiyun14 sata0_link SATA 0 Link 38*4882a593Smuzhiyun15 sata0_core SATA 0 Core 39*4882a593Smuzhiyun16 usb3 USB3 Host 40*4882a593Smuzhiyun17 sdio SDHCI Host 41*4882a593Smuzhiyun18 usb USB Host 42*4882a593Smuzhiyun19 gop Gigabit Ethernet MAC 43*4882a593Smuzhiyun20 sata1_link SATA 1 Link 44*4882a593Smuzhiyun21 sata1_core SATA 1 Core 45*4882a593Smuzhiyun22 xor0 XOR DMA 0 46*4882a593Smuzhiyun23 xor1 XOR DMA 0 47*4882a593Smuzhiyun24 copro Coprocessor 48*4882a593Smuzhiyun25 tdm Time Division Mplx 49*4882a593Smuzhiyun28 crypto0_enc Cryptographic Unit Port 0 Encryption 50*4882a593Smuzhiyun29 crypto0_core Cryptographic Unit Port 0 Core 51*4882a593Smuzhiyun30 crypto1_enc Cryptographic Unit Port 1 Encryption 52*4882a593Smuzhiyun31 crypto1_core Cryptographic Unit Port 1 Core 53*4882a593Smuzhiyun 54*4882a593SmuzhiyunThe following is a list of provided IDs for Armada 380/385: 55*4882a593SmuzhiyunID Clock Peripheral 56*4882a593Smuzhiyun----------------------------------- 57*4882a593Smuzhiyun0 audio Audio 58*4882a593Smuzhiyun2 ge2 Gigabit Ethernet 2 59*4882a593Smuzhiyun3 ge1 Gigabit Ethernet 1 60*4882a593Smuzhiyun4 ge0 Gigabit Ethernet 0 61*4882a593Smuzhiyun5 pex1 PCIe 1 62*4882a593Smuzhiyun6 pex2 PCIe 2 63*4882a593Smuzhiyun7 pex3 PCIe 3 64*4882a593Smuzhiyun8 pex0 PCIe 0 65*4882a593Smuzhiyun9 usb3h0 USB3 Host 0 66*4882a593Smuzhiyun10 usb3h1 USB3 Host 1 67*4882a593Smuzhiyun11 usb3d USB3 Device 68*4882a593Smuzhiyun13 bm Buffer Management 69*4882a593Smuzhiyun14 crypto0z Cryptographic 0 Z 70*4882a593Smuzhiyun15 sata0 SATA 0 71*4882a593Smuzhiyun16 crypto1z Cryptographic 1 Z 72*4882a593Smuzhiyun17 sdio SDIO 73*4882a593Smuzhiyun18 usb2 USB 2 74*4882a593Smuzhiyun21 crypto1 Cryptographic 1 75*4882a593Smuzhiyun22 xor0 XOR 0 76*4882a593Smuzhiyun23 crypto0 Cryptographic 0 77*4882a593Smuzhiyun25 tdm Time Division Multiplexing 78*4882a593Smuzhiyun28 xor1 XOR 1 79*4882a593Smuzhiyun30 sata1 SATA 1 80*4882a593Smuzhiyun 81*4882a593SmuzhiyunThe following is a list of provided IDs for Armada 39x: 82*4882a593SmuzhiyunID Clock Peripheral 83*4882a593Smuzhiyun----------------------------------- 84*4882a593Smuzhiyun5 pex1 PCIe 1 85*4882a593Smuzhiyun6 pex2 PCIe 2 86*4882a593Smuzhiyun7 pex3 PCIe 3 87*4882a593Smuzhiyun8 pex0 PCIe 0 88*4882a593Smuzhiyun9 usb3h0 USB3 Host 0 89*4882a593Smuzhiyun10 usb3h1 USB3 Host 1 90*4882a593Smuzhiyun15 sata0 SATA 0 91*4882a593Smuzhiyun17 sdio SDIO 92*4882a593Smuzhiyun22 xor0 XOR 0 93*4882a593Smuzhiyun28 xor1 XOR 1 94*4882a593Smuzhiyun 95*4882a593SmuzhiyunThe following is a list of provided IDs for Armada XP: 96*4882a593SmuzhiyunID Clock Peripheral 97*4882a593Smuzhiyun----------------------------------- 98*4882a593Smuzhiyun0 audio Audio Cntrl 99*4882a593Smuzhiyun1 ge3 Gigabit Ethernet 3 100*4882a593Smuzhiyun2 ge2 Gigabit Ethernet 2 101*4882a593Smuzhiyun3 ge1 Gigabit Ethernet 1 102*4882a593Smuzhiyun4 ge0 Gigabit Ethernet 0 103*4882a593Smuzhiyun5 pex0 PCIe Cntrl 0 104*4882a593Smuzhiyun6 pex1 PCIe Cntrl 1 105*4882a593Smuzhiyun7 pex2 PCIe Cntrl 2 106*4882a593Smuzhiyun8 pex3 PCIe Cntrl 3 107*4882a593Smuzhiyun13 bp 108*4882a593Smuzhiyun14 sata0lnk 109*4882a593Smuzhiyun15 sata0 SATA Host 0 110*4882a593Smuzhiyun16 lcd LCD Cntrl 111*4882a593Smuzhiyun17 sdio SDHCI Host 112*4882a593Smuzhiyun18 usb0 USB Host 0 113*4882a593Smuzhiyun19 usb1 USB Host 1 114*4882a593Smuzhiyun20 usb2 USB Host 2 115*4882a593Smuzhiyun22 xor0 XOR DMA 0 116*4882a593Smuzhiyun23 crypto CESA engine 117*4882a593Smuzhiyun25 tdm Time Division Mplx 118*4882a593Smuzhiyun28 xor1 XOR DMA 1 119*4882a593Smuzhiyun29 sata1lnk 120*4882a593Smuzhiyun30 sata1 SATA Host 1 121*4882a593Smuzhiyun 122*4882a593SmuzhiyunThe following is a list of provided IDs for 98dx3236: 123*4882a593SmuzhiyunID Clock Peripheral 124*4882a593Smuzhiyun----------------------------------- 125*4882a593Smuzhiyun3 ge1 Gigabit Ethernet 1 126*4882a593Smuzhiyun4 ge0 Gigabit Ethernet 0 127*4882a593Smuzhiyun5 pex0 PCIe Cntrl 0 128*4882a593Smuzhiyun17 sdio SDHCI Host 129*4882a593Smuzhiyun18 usb0 USB Host 0 130*4882a593Smuzhiyun22 xor0 XOR DMA 0 131*4882a593Smuzhiyun 132*4882a593SmuzhiyunThe following is a list of provided IDs for Dove: 133*4882a593SmuzhiyunID Clock Peripheral 134*4882a593Smuzhiyun----------------------------------- 135*4882a593Smuzhiyun0 usb0 USB Host 0 136*4882a593Smuzhiyun1 usb1 USB Host 1 137*4882a593Smuzhiyun2 ge Gigabit Ethernet 138*4882a593Smuzhiyun3 sata SATA Host 139*4882a593Smuzhiyun4 pex0 PCIe Cntrl 0 140*4882a593Smuzhiyun5 pex1 PCIe Cntrl 1 141*4882a593Smuzhiyun8 sdio0 SDHCI Host 0 142*4882a593Smuzhiyun9 sdio1 SDHCI Host 1 143*4882a593Smuzhiyun10 nand NAND Cntrl 144*4882a593Smuzhiyun11 camera Camera Cntrl 145*4882a593Smuzhiyun12 i2s0 I2S Cntrl 0 146*4882a593Smuzhiyun13 i2s1 I2S Cntrl 1 147*4882a593Smuzhiyun15 crypto CESA engine 148*4882a593Smuzhiyun21 ac97 AC97 Cntrl 149*4882a593Smuzhiyun22 pdma Peripheral DMA 150*4882a593Smuzhiyun23 xor0 XOR DMA 0 151*4882a593Smuzhiyun24 xor1 XOR DMA 1 152*4882a593Smuzhiyun30 gephy Gigabit Ethernel PHY 153*4882a593SmuzhiyunNote: gephy(30) is implemented as a parent clock of ge(2) 154*4882a593Smuzhiyun 155*4882a593SmuzhiyunThe following is a list of provided IDs for Kirkwood: 156*4882a593SmuzhiyunID Clock Peripheral 157*4882a593Smuzhiyun----------------------------------- 158*4882a593Smuzhiyun0 ge0 Gigabit Ethernet 0 159*4882a593Smuzhiyun2 pex0 PCIe Cntrl 0 160*4882a593Smuzhiyun3 usb0 USB Host 0 161*4882a593Smuzhiyun4 sdio SDIO Cntrl 162*4882a593Smuzhiyun5 tsu Transp. Stream Unit 163*4882a593Smuzhiyun6 dunit SDRAM Cntrl 164*4882a593Smuzhiyun7 runit Runit 165*4882a593Smuzhiyun8 xor0 XOR DMA 0 166*4882a593Smuzhiyun9 audio I2S Cntrl 0 167*4882a593Smuzhiyun14 sata0 SATA Host 0 168*4882a593Smuzhiyun15 sata1 SATA Host 1 169*4882a593Smuzhiyun16 xor1 XOR DMA 1 170*4882a593Smuzhiyun17 crypto CESA engine 171*4882a593Smuzhiyun18 pex1 PCIe Cntrl 1 172*4882a593Smuzhiyun19 ge1 Gigabit Ethernet 1 173*4882a593Smuzhiyun20 tdm Time Division Mplx 174*4882a593Smuzhiyun 175*4882a593SmuzhiyunRequired properties: 176*4882a593Smuzhiyun- compatible : shall be one of the following: 177*4882a593Smuzhiyun "marvell,armada-370-gating-clock" - for Armada 370 SoC clock gating 178*4882a593Smuzhiyun "marvell,armada-375-gating-clock" - for Armada 375 SoC clock gating 179*4882a593Smuzhiyun "marvell,armada-380-gating-clock" - for Armada 380/385 SoC clock gating 180*4882a593Smuzhiyun "marvell,armada-390-gating-clock" - for Armada 39x SoC clock gating 181*4882a593Smuzhiyun "marvell,armada-xp-gating-clock" - for Armada XP SoC clock gating 182*4882a593Smuzhiyun "marvell,mv98dx3236-gating-clock" - for 98dx3236 SoC clock gating 183*4882a593Smuzhiyun "marvell,dove-gating-clock" - for Dove SoC clock gating 184*4882a593Smuzhiyun "marvell,kirkwood-gating-clock" - for Kirkwood SoC clock gating 185*4882a593Smuzhiyun- reg : shall be the register address of the Clock Gating Control register 186*4882a593Smuzhiyun- #clock-cells : from common clock binding; shall be set to 1 187*4882a593Smuzhiyun 188*4882a593SmuzhiyunOptional properties: 189*4882a593Smuzhiyun- clocks : default parent clock phandle (e.g. tclk) 190*4882a593Smuzhiyun 191*4882a593SmuzhiyunExample: 192*4882a593Smuzhiyun 193*4882a593Smuzhiyungate_clk: clock-gating-control@d0038 { 194*4882a593Smuzhiyun compatible = "marvell,dove-gating-clock"; 195*4882a593Smuzhiyun reg = <0xd0038 0x4>; 196*4882a593Smuzhiyun /* default parent clock is tclk */ 197*4882a593Smuzhiyun clocks = <&core_clk 0>; 198*4882a593Smuzhiyun #clock-cells = <1>; 199*4882a593Smuzhiyun}; 200*4882a593Smuzhiyun 201*4882a593Smuzhiyunsdio0: sdio@92000 { 202*4882a593Smuzhiyun compatible = "marvell,dove-sdhci"; 203*4882a593Smuzhiyun /* get clk gate bit 8 (sdio0) */ 204*4882a593Smuzhiyun clocks = <&gate_clk 8>; 205*4882a593Smuzhiyun}; 206