summaryrefslogtreecommitdiffstats
path: root/dts/Bindings/arm/samsung/pmu.txt
blob: 2d6356d8daf4b3838e601159ae24f8399c0f8d31 (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
SAMSUNG Exynos SoC series PMU Registers

Properties:
 - compatible : should contain two values. First value must be one from following list:
		   - "samsung,exynos3250-pmu" - for Exynos3250 SoC,
		   - "samsung,exynos4210-pmu" - for Exynos4210 SoC,
		   - "samsung,exynos4212-pmu" - for Exynos4212 SoC,
		   - "samsung,exynos4412-pmu" - for Exynos4412 SoC,
		   - "samsung,exynos5250-pmu" - for Exynos5250 SoC,
		   - "samsung,exynos5260-pmu" - for Exynos5260 SoC.
		   - "samsung,exynos5410-pmu" - for Exynos5410 SoC,
		   - "samsung,exynos5420-pmu" - for Exynos5420 SoC.
		   - "samsung,exynos7-pmu" - for Exynos7 SoC.
		second value must be always "syscon".

 - reg : offset and length of the register set.

 - #clock-cells : must be <1>, since PMU requires once cell as clock specifier.
		The single specifier cell is used as index to list of clocks
		provided by PMU, which is currently:
			0 : SoC clock output (CLKOUT pin)

 - clock-names : list of clock names for particular CLKOUT mux inputs in
		following format:
			"clkoutN", where N is a decimal number corresponding to
			CLKOUT mux control bits value for given input, e.g.
				"clkout0", "clkout7", "clkout15".

 - clocks : list of phandles and specifiers to all input clocks listed in
		clock-names property.

Optional properties:

Some PMUs are capable of behaving as an interrupt controller (mostly
to wake up a suspended PMU). In which case, they can have the
following properties:

- interrupt-controller: indicate that said PMU is an interrupt controller

- #interrupt-cells: must be identical to the that of the parent interrupt
  controller.

- interrupt-parent: a phandle indicating which interrupt controller
  this PMU signals interrupts to.

Example :
pmu_system_controller: system-controller@10040000 {
	compatible = "samsung,exynos5250-pmu", "syscon";
	reg = <0x10040000 0x5000>;
	interrupt-controller;
	#interrupt-cells = <3>;
	interrupt-parent = <&gic>;
	#clock-cells = <1>;
	clock-names = "clkout0", "clkout1", "clkout2", "clkout3",
			"clkout4", "clkout8", "clkout9";
	clocks = <&clock CLK_OUT_DMC>, <&clock CLK_OUT_TOP>,
		<&clock CLK_OUT_LEFTBUS>, <&clock CLK_OUT_RIGHTBUS>,
		<&clock CLK_OUT_CPU>, <&clock CLK_XXTI>,
		<&clock CLK_XUSBXTI>;
};

Example of clock consumer :

usb3503: usb3503@08 {
	/* ... */
	clock-names = "refclk";
	clocks = <&pmu_system_controller 0>;
	/* ... */
};