aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/clock/xlnx,versal-clk.txt
blob: 94a27f65bcac97cf16529f6fc8c437be78476338 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
--------------------------------------------------------------------------
Device Tree Clock bindings for the Xilinx Versal
--------------------------------------------------------------------------
The clock controller is a h/w block of Xilinx versal clock tree. It reads
required input clock frequencies from the devicetree and acts as clock provider
for all clock consumers of PS clocks.

See clock_bindings.txt for more information on the generic clock bindings.

Required properties:
 - #clock-cells:	Must be 1
 - compatible:		Must contain:	"xlnx,versal-clk"
 - clocks:		List of clock specifiers which are external input
			clocks to the given clock controller. Please refer
			the next section to find the input clocks for a
			given controller.
 - clock-names:		List of clock names which are exteral input clocks
			to the given clock controller. Please refer to the
			clock bindings for more details.

Input clocks for Xilinx Versal clock controller:

The Xilinx Versal has one primary and two alternative reference clock inputs.
These required clock inputs are:
 - ref_clk
 - alt_ref_clk
 - pl_alt_ref_clk

Output clocks are registered based on clock information received
from firmware. Output clocks indexes are mentioned in
include/dt-bindings/clock/xlnx-versal-clk.h.

-------
Example
-------

firmware {
	zynqmp_firmware: zynqmp-firmware {
		compatible = "xlnx,zynqmp-firmware";
		method = "smc";
		versal_clk: clock-controller {
			#clock-cells = <1>;
			compatible = "xlnx,versal-clk";
			clocks = <&ref_clk>, <&alt_ref_clk>, <&pl_alt_ref_clk>;
			clock-names = "ref_clk", "alt_ref_clk", "pl_alt_ref_clk";
		};
	};
};