~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/clock/baikal,bt1-ccu-div.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/devicetree/bindings/clock/baikal,bt1-ccu-div.yaml (Architecture i386) and /Documentation/devicetree/bindings/clock/baikal,bt1-ccu-div.yaml (Architecture alpha)


  1 # SPDX-License-Identifier: (GPL-2.0-only OR BS      1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 # Copyright (C) 2020 BAIKAL ELECTRONICS, JSC        2 # Copyright (C) 2020 BAIKAL ELECTRONICS, JSC
  3 %YAML 1.2                                           3 %YAML 1.2
  4 ---                                                 4 ---
  5 $id: http://devicetree.org/schemas/clock/baika      5 $id: http://devicetree.org/schemas/clock/baikal,bt1-ccu-div.yaml#
  6 $schema: http://devicetree.org/meta-schemas/co      6 $schema: http://devicetree.org/meta-schemas/core.yaml#
  7                                                     7 
  8 title: Baikal-T1 Clock Control Unit Dividers        8 title: Baikal-T1 Clock Control Unit Dividers
  9                                                     9 
 10 maintainers:                                       10 maintainers:
 11   - Serge Semin <fancer.lancer@gmail.com>           11   - Serge Semin <fancer.lancer@gmail.com>
 12                                                    12 
 13 description: |                                     13 description: |
 14   Clocks Control Unit is the core of Baikal-T1     14   Clocks Control Unit is the core of Baikal-T1 SoC System Controller
 15   responsible for the chip subsystems clocking     15   responsible for the chip subsystems clocking and resetting. The CCU is
 16   connected with an external fixed rate oscill     16   connected with an external fixed rate oscillator, which signal is transformed
 17   into clocks of various frequencies and then      17   into clocks of various frequencies and then propagated to either individual
 18   IP-blocks or to groups of blocks (clock doma     18   IP-blocks or to groups of blocks (clock domains). The transformation is done
 19   by means of an embedded into CCU PLLs and ga     19   by means of an embedded into CCU PLLs and gateable/non-gateable dividers. The
 20   later ones are described in this binding. Ea     20   later ones are described in this binding. Each clock domain can be also
 21   individually reset by using the domain clock     21   individually reset by using the domain clocks divider configuration
 22   registers. Baikal-T1 CCU is logically divide     22   registers. Baikal-T1 CCU is logically divided into the next components:
 23   1) External oscillator (normally XTAL's 25 M     23   1) External oscillator (normally XTAL's 25 MHz crystal oscillator, but
 24      in general can provide any frequency supp     24      in general can provide any frequency supported by the CCU PLLs).
 25   2) PLLs clocks generators (PLLs).                25   2) PLLs clocks generators (PLLs).
 26   3) AXI-bus clock dividers (AXI) - described      26   3) AXI-bus clock dividers (AXI) - described in this binding file.
 27   4) System devices reference clock dividers (     27   4) System devices reference clock dividers (SYS) - described in this binding
 28      file.                                         28      file.
 29   which are connected with each other as shown     29   which are connected with each other as shown on the next figure:
 30                                                    30 
 31           +---------------+                        31           +---------------+
 32           | Baikal-T1 CCU |                        32           | Baikal-T1 CCU |
 33           |   +----+------|- MIPS P5600 cores      33           |   +----+------|- MIPS P5600 cores
 34           | +-|PLLs|------|- DDR controller        34           | +-|PLLs|------|- DDR controller
 35           | | +----+      |                        35           | | +----+      |
 36   +----+  | |  |  |       |                        36   +----+  | |  |  |       |
 37   |XTAL|--|-+  |  | +---+-|                        37   |XTAL|--|-+  |  | +---+-|
 38   +----+  | |  |  +-|AXI|-|- AXI-bus               38   +----+  | |  |  +-|AXI|-|- AXI-bus
 39           | |  |    +---+-|                        39           | |  |    +---+-|
 40           | |  |          |                        40           | |  |          |
 41           | |  +----+---+-|- APB-bus               41           | |  +----+---+-|- APB-bus
 42           | +-------|SYS|-|- Low-speed Devices     42           | +-------|SYS|-|- Low-speed Devices
 43           |         +---+-|- High-speed Device     43           |         +---+-|- High-speed Devices
 44           +---------------+                        44           +---------------+
 45                                                    45 
 46   Each sub-block is represented as a separate      46   Each sub-block is represented as a separate DT node and has an individual
 47   driver to be bound with.                         47   driver to be bound with.
 48                                                    48 
 49   In order to create signals of wide range fre     49   In order to create signals of wide range frequencies the external oscillator
 50   output is primarily connected to a set of CC     50   output is primarily connected to a set of CCU PLLs. Some of PLLs CLKOUT are
 51   then passed over CCU dividers to create sign     51   then passed over CCU dividers to create signals required for the target clock
 52   domain (like AXI-bus or System Device consum     52   domain (like AXI-bus or System Device consumers). The dividers have the
 53   following structure:                             53   following structure:
 54                                                    54 
 55           +--------------+                         55           +--------------+
 56   CLKIN --|->+----+ 1|\  |                         56   CLKIN --|->+----+ 1|\  |
 57   SETCLK--|--|/DIV|->| | |                         57   SETCLK--|--|/DIV|->| | |
 58   CLKDIV--|--|    |  | |-|->CLKLOUT                58   CLKDIV--|--|    |  | |-|->CLKLOUT
 59   LOCK----|--+----+  | | |                         59   LOCK----|--+----+  | | |
 60           |          |/  |                         60           |          |/  |
 61           |           |  |                         61           |           |  |
 62   EN------|-----------+  |                         62   EN------|-----------+  |
 63   RST-----|--------------|->RSTOUT                 63   RST-----|--------------|->RSTOUT
 64           +--------------+                         64           +--------------+
 65                                                    65 
 66   where CLKIN is the reference clock coming ei     66   where CLKIN is the reference clock coming either from CCU PLLs or from an
 67   external clock oscillator, SETCLK - a comman     67   external clock oscillator, SETCLK - a command to update the output clock in
 68   accordance with a set divider, CLKDIV - cloc     68   accordance with a set divider, CLKDIV - clocks divider, LOCK - a signal of
 69   the output clock stabilization, EN - enable/     69   the output clock stabilization, EN - enable/disable the divider block,
 70   RST/RSTOUT - reset clocks domain signal. Dep     70   RST/RSTOUT - reset clocks domain signal. Depending on the consumer IP-core
 71   peculiarities the dividers may lack of some      71   peculiarities the dividers may lack of some functionality depicted on the
 72   figure above (like EN, CLKDIV/LOCK/SETCLK).      72   figure above (like EN, CLKDIV/LOCK/SETCLK). In this case the corresponding
 73   clock provider just doesn't expose either sw     73   clock provider just doesn't expose either switching functions, or the rate
 74   configuration, or both of them.                  74   configuration, or both of them.
 75                                                    75 
 76   The clock dividers, which output clock is th     76   The clock dividers, which output clock is then consumed by the SoC individual
 77   devices, are united into a single clocks pro     77   devices, are united into a single clocks provider called System Devices CCU.
 78   Similarly the dividers with output clocks ut     78   Similarly the dividers with output clocks utilized as AXI-bus reference clocks
 79   are called AXI-bus CCU. Both of them use the     79   are called AXI-bus CCU. Both of them use the common clock bindings with no
 80   custom properties. The list of exported cloc     80   custom properties. The list of exported clocks and reset signals can be found
 81   in the files: 'include/dt-bindings/clock/bt1     81   in the files: 'include/dt-bindings/clock/bt1-ccu.h' and
 82   'include/dt-bindings/reset/bt1-ccu.h'. Since     82   'include/dt-bindings/reset/bt1-ccu.h'. Since System Devices and AXI-bus CCU
 83   are a part of the Baikal-T1 SoC System Contr     83   are a part of the Baikal-T1 SoC System Controller their DT nodes are supposed
 84   to be a children of later one.                   84   to be a children of later one.
 85                                                    85 
 86 if:                                                86 if:
 87   properties:                                      87   properties:
 88     compatible:                                    88     compatible:
 89       contains:                                    89       contains:
 90         const: baikal,bt1-ccu-axi                  90         const: baikal,bt1-ccu-axi
 91                                                    91 
 92 then:                                              92 then:
 93   properties:                                      93   properties:
 94     clocks:                                        94     clocks:
 95       items:                                       95       items:
 96         - description: CCU SATA PLL output clo     96         - description: CCU SATA PLL output clock
 97         - description: CCU PCIe PLL output clo     97         - description: CCU PCIe PLL output clock
 98         - description: CCU Ethernet PLL output     98         - description: CCU Ethernet PLL output clock
 99                                                    99 
100     clock-names:                                  100     clock-names:
101       items:                                      101       items:
102         - const: sata_clk                         102         - const: sata_clk
103         - const: pcie_clk                         103         - const: pcie_clk
104         - const: eth_clk                          104         - const: eth_clk
105                                                   105 
106 else:                                             106 else:
107   properties:                                     107   properties:
108     clocks:                                       108     clocks:
109       items:                                      109       items:
110         - description: External reference cloc    110         - description: External reference clock
111         - description: CCU SATA PLL output clo    111         - description: CCU SATA PLL output clock
112         - description: CCU PCIe PLL output clo    112         - description: CCU PCIe PLL output clock
113         - description: CCU Ethernet PLL output    113         - description: CCU Ethernet PLL output clock
114                                                   114 
115     clock-names:                                  115     clock-names:
116       items:                                      116       items:
117         - const: ref_clk                          117         - const: ref_clk
118         - const: sata_clk                         118         - const: sata_clk
119         - const: pcie_clk                         119         - const: pcie_clk
120         - const: eth_clk                          120         - const: eth_clk
121                                                   121 
122 properties:                                       122 properties:
123   compatible:                                     123   compatible:
124     enum:                                         124     enum:
125       - baikal,bt1-ccu-axi                        125       - baikal,bt1-ccu-axi
126       - baikal,bt1-ccu-sys                        126       - baikal,bt1-ccu-sys
127                                                   127 
128   reg:                                            128   reg:
129     maxItems: 1                                   129     maxItems: 1
130                                                   130 
131   "#clock-cells":                                 131   "#clock-cells":
132     const: 1                                      132     const: 1
133                                                   133 
134   "#reset-cells":                                 134   "#reset-cells":
135     const: 1                                      135     const: 1
136                                                   136 
137   clocks:                                         137   clocks:
138     minItems: 3                                   138     minItems: 3
139     maxItems: 4                                   139     maxItems: 4
140                                                   140 
141   clock-names:                                    141   clock-names:
142     minItems: 3                                   142     minItems: 3
143     maxItems: 4                                   143     maxItems: 4
144                                                   144 
145 additionalProperties: false                       145 additionalProperties: false
146                                                   146 
147 required:                                         147 required:
148   - compatible                                    148   - compatible
149   - "#clock-cells"                                149   - "#clock-cells"
150   - clocks                                        150   - clocks
151   - clock-names                                   151   - clock-names
152                                                   152 
153 examples:                                         153 examples:
154   # AXI-bus Clock Control Unit node:              154   # AXI-bus Clock Control Unit node:
155   - |                                             155   - |
156     #include <dt-bindings/clock/bt1-ccu.h>        156     #include <dt-bindings/clock/bt1-ccu.h>
157                                                   157 
158     clock-controller@1f04d030 {                   158     clock-controller@1f04d030 {
159       compatible = "baikal,bt1-ccu-axi";          159       compatible = "baikal,bt1-ccu-axi";
160       reg = <0x1f04d030 0x030>;                   160       reg = <0x1f04d030 0x030>;
161       #clock-cells = <1>;                         161       #clock-cells = <1>;
162       #reset-cells = <1>;                         162       #reset-cells = <1>;
163                                                   163 
164       clocks = <&ccu_pll CCU_SATA_PLL>,           164       clocks = <&ccu_pll CCU_SATA_PLL>,
165                <&ccu_pll CCU_PCIE_PLL>,           165                <&ccu_pll CCU_PCIE_PLL>,
166                <&ccu_pll CCU_ETH_PLL>;            166                <&ccu_pll CCU_ETH_PLL>;
167       clock-names = "sata_clk", "pcie_clk", "e    167       clock-names = "sata_clk", "pcie_clk", "eth_clk";
168     };                                            168     };
169   # System Devices Clock Control Unit node:       169   # System Devices Clock Control Unit node:
170   - |                                             170   - |
171     #include <dt-bindings/clock/bt1-ccu.h>        171     #include <dt-bindings/clock/bt1-ccu.h>
172                                                   172 
173     clock-controller@1f04d060 {                   173     clock-controller@1f04d060 {
174       compatible = "baikal,bt1-ccu-sys";          174       compatible = "baikal,bt1-ccu-sys";
175       reg = <0x1f04d060 0x0a0>;                   175       reg = <0x1f04d060 0x0a0>;
176       #clock-cells = <1>;                         176       #clock-cells = <1>;
177       #reset-cells = <1>;                         177       #reset-cells = <1>;
178                                                   178 
179       clocks = <&clk25m>,                         179       clocks = <&clk25m>,
180                <&ccu_pll CCU_SATA_PLL>,           180                <&ccu_pll CCU_SATA_PLL>,
181                <&ccu_pll CCU_PCIE_PLL>,           181                <&ccu_pll CCU_PCIE_PLL>,
182                <&ccu_pll CCU_ETH_PLL>;            182                <&ccu_pll CCU_ETH_PLL>;
183       clock-names = "ref_clk", "sata_clk", "pc    183       clock-names = "ref_clk", "sata_clk", "pcie_clk",
184                     "eth_clk";                    184                     "eth_clk";
185     };                                            185     };
186   # Required Clock Control Unit PLL node:         186   # Required Clock Control Unit PLL node:
187   - |                                             187   - |
188     ccu_pll: clock-controller@1f04d000 {          188     ccu_pll: clock-controller@1f04d000 {
189       compatible = "baikal,bt1-ccu-pll";          189       compatible = "baikal,bt1-ccu-pll";
190       reg = <0x1f04d000 0x028>;                   190       reg = <0x1f04d000 0x028>;
191       #clock-cells = <1>;                         191       #clock-cells = <1>;
192                                                   192 
193       clocks = <&clk25m>;                         193       clocks = <&clk25m>;
194       clock-names = "ref_clk";                    194       clock-names = "ref_clk";
195     };                                            195     };
196 ...                                               196 ...
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php