mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 10:37:53 +07:00
75 lines
2.2 KiB
Plaintext
75 lines
2.2 KiB
Plaintext
|
Device Tree Clock bindings for arch-rockchip
|
||
|
|
||
|
This binding uses the common clock binding[1].
|
||
|
|
||
|
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||
|
|
||
|
== Gate clocks ==
|
||
|
|
||
|
The gate registers form a continuos block which makes the dt node
|
||
|
structure a matter of taste, as either all gates can be put into
|
||
|
one gate clock spanning all registers or they can be divided into
|
||
|
the 10 individual gates containing 16 clocks each.
|
||
|
The code supports both approaches.
|
||
|
|
||
|
Required properties:
|
||
|
- compatible : "rockchip,rk2928-gate-clk"
|
||
|
- reg : shall be the control register address(es) for the clock.
|
||
|
- #clock-cells : from common clock binding; shall be set to 1
|
||
|
- clock-output-names : the corresponding gate names that the clock controls
|
||
|
- clocks : should contain the parent clock for each individual gate,
|
||
|
therefore the number of clocks elements should match the number of
|
||
|
clock-output-names
|
||
|
|
||
|
Example using multiple gate clocks:
|
||
|
|
||
|
clk_gates0: gate-clk@200000d0 {
|
||
|
compatible = "rockchip,rk2928-gate-clk";
|
||
|
reg = <0x200000d0 0x4>;
|
||
|
clocks = <&dummy>, <&dummy>,
|
||
|
<&dummy>, <&dummy>,
|
||
|
<&dummy>, <&dummy>,
|
||
|
<&dummy>, <&dummy>,
|
||
|
<&dummy>, <&dummy>,
|
||
|
<&dummy>, <&dummy>,
|
||
|
<&dummy>, <&dummy>,
|
||
|
<&dummy>, <&dummy>;
|
||
|
|
||
|
clock-output-names =
|
||
|
"gate_core_periph", "gate_cpu_gpll",
|
||
|
"gate_ddrphy", "gate_aclk_cpu",
|
||
|
"gate_hclk_cpu", "gate_pclk_cpu",
|
||
|
"gate_atclk_cpu", "gate_i2s0",
|
||
|
"gate_i2s0_frac", "gate_i2s1",
|
||
|
"gate_i2s1_frac", "gate_i2s2",
|
||
|
"gate_i2s2_frac", "gate_spdif",
|
||
|
"gate_spdif_frac", "gate_testclk";
|
||
|
|
||
|
#clock-cells = <1>;
|
||
|
};
|
||
|
|
||
|
clk_gates1: gate-clk@200000d4 {
|
||
|
compatible = "rockchip,rk2928-gate-clk";
|
||
|
reg = <0x200000d4 0x4>;
|
||
|
clocks = <&xin24m>, <&xin24m>,
|
||
|
<&xin24m>, <&dummy>,
|
||
|
<&dummy>, <&xin24m>,
|
||
|
<&xin24m>, <&dummy>,
|
||
|
<&xin24m>, <&dummy>,
|
||
|
<&xin24m>, <&dummy>,
|
||
|
<&xin24m>, <&dummy>,
|
||
|
<&xin24m>, <&dummy>;
|
||
|
|
||
|
clock-output-names =
|
||
|
"gate_timer0", "gate_timer1",
|
||
|
"gate_timer2", "gate_jtag",
|
||
|
"gate_aclk_lcdc1_src", "gate_otgphy0",
|
||
|
"gate_otgphy1", "gate_ddr_gpll",
|
||
|
"gate_uart0", "gate_frac_uart0",
|
||
|
"gate_uart1", "gate_frac_uart1",
|
||
|
"gate_uart2", "gate_frac_uart2",
|
||
|
"gate_uart3", "gate_frac_uart3";
|
||
|
|
||
|
#clock-cells = <1>;
|
||
|
};
|