Back to home page

OSCL-LXR

 
 

    


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 };