Lines Matching +full:axi +full:- +full:apb
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 ---
5 $id: http://devicetree.org/schemas/clock/baikal,bt1-ccu-div.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
8 title: Baikal-T1 Clock Control Unit Dividers
11 - Serge Semin <fancer.lancer@gmail.com>
14 Clocks Control Unit is the core of Baikal-T1 SoC System Controller
18 IP-blocks or to groups of blocks (clock domains). The transformation is done
19 by means of an embedded into CCU PLLs and gateable/non-gateable dividers. The
22 registers. Baikal-T1 CCU is logically divided into the next components:
26 3) AXI-bus clock dividers (AXI) - described in this binding file.
27 4) System devices reference clock dividers (SYS) - described in this binding
31 +---------------+
32 | Baikal-T1 CCU |
33 | +----+------|- MIPS P5600 cores
34 | +-|PLLs|------|- DDR controller
35 | | +----+ |
36 +----+ | | | | |
37 |XTAL|--|-+ | | +---+-|
38 +----+ | | | +-|AXI|-|- AXI-bus
39 | | | +---+-|
41 | | +----+---+-|- APB-bus
42 | +-------|SYS|-|- Low-speed Devices
43 | +---+-|- High-speed Devices
44 +---------------+
46 Each sub-block is represented as a separate DT node and has an individual
52 domain (like AXI-bus or System Device consumers). The dividers have the
55 +--------------+
56 CLKIN --|->+----+ 1|\ |
57 SETCLK--|--|/DIV|->| | |
58 CLKDIV--|--| | | |-|->CLKLOUT
59 LOCK----|--+----+ | | |
62 EN------|-----------+ |
63 RST-----|--------------|->RSTOUT
64 +--------------+
67 external clock oscillator, SETCLK - a command to update the output clock in
68 accordance with a set divider, CLKDIV - clocks divider, LOCK - a signal of
69 the output clock stabilization, EN - enable/disable the divider block,
70 RST/RSTOUT - reset clocks domain signal. Depending on the consumer IP-core
78 Similarly the dividers with output clocks utilized as AXI-bus reference clocks
79 are called AXI-bus CCU. Both of them use the common clock bindings with no
81 in the files: 'include/dt-bindings/clock/bt1-ccu.h' and
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 Controller their DT nodes are supposed
90 const: baikal,bt1-ccu-axi
96 - description: CCU SATA PLL output clock
97 - description: CCU PCIe PLL output clock
98 - description: CCU Ethernet PLL output clock
100 clock-names:
102 - const: sata_clk
103 - const: pcie_clk
104 - const: eth_clk
110 - description: External reference clock
111 - description: CCU SATA PLL output clock
112 - description: CCU PCIe PLL output clock
113 - description: CCU Ethernet PLL output clock
115 clock-names:
117 - const: ref_clk
118 - const: sata_clk
119 - const: pcie_clk
120 - const: eth_clk
125 - baikal,bt1-ccu-axi
126 - baikal,bt1-ccu-sys
131 "#clock-cells":
134 "#reset-cells":
139 clock-names: true
144 - compatible
145 - "#clock-cells"
146 - clocks
147 - clock-names
150 # AXI-bus Clock Control Unit node:
151 - |
152 #include <dt-bindings/clock/bt1-ccu.h>
154 clock-controller@1f04d030 {
155 compatible = "baikal,bt1-ccu-axi";
157 #clock-cells = <1>;
158 #reset-cells = <1>;
163 clock-names = "sata_clk", "pcie_clk", "eth_clk";
166 - |
167 #include <dt-bindings/clock/bt1-ccu.h>
169 clock-controller@1f04d060 {
170 compatible = "baikal,bt1-ccu-sys";
172 #clock-cells = <1>;
173 #reset-cells = <1>;
179 clock-names = "ref_clk", "sata_clk", "pcie_clk",
183 - |
184 ccu_pll: clock-controller@1f04d000 {
185 compatible = "baikal,bt1-ccu-pll";
187 #clock-cells = <1>;
190 clock-names = "ref_clk";