summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/cpufreq/cpufreq-imx6q.txt
blob: ae90613f754e6698bdee998b4580bb79d083dd34 (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
iMX6q/iMX6dl/iMX6sl specific CPUFREQ settings

iMX6q/iMX6dl/iMX6sl has limitation that a couple of voltage rails (VDDSOC_CAP and VDDPU_CAP)
must track VDDARM_CAP within 50mV:
VDDARM_CAP - VDDSOC_CAP/VDDPU_CAP <= 50mV

The VDDSOC_CAP and VDDPU_CAP operating points for various VDDARM_CAP settings are listed below.

Required properties:
- fsl,soc-operating-points: Refer to Documentation/devicetree/bindings/power/opp.txt
  for details. It is a voltage frequency tuple.

- For other entries in the example below please refer to Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt

Examples:

cpus {
	#address-cells = <1>;
	#size-cells = <0>;

	cpu@0 {
		compatible = "arm,cortex-a9";
		reg = <0>;
		next-level-cache = <&L2>;
		operating-points = <
			/* kHz    uV */
			1200000 1275000
			996000  1250000
			792000  1175000
			396000  1075000
		>;
		fsl,soc-operating-points = <
			/* ARM kHz  SOC-PU uV */
			1200000       1275000
			996000        1250000
			792000        1175000
			396000        1175000
		>;
		clock-latency = <61036>; /* two CLK32 periods */
	};

	cpu@1 {
		compatible = "arm,cortex-a9";
		reg = <1>;
		next-level-cache = <&L2>;
	};

	cpu@2 {
		compatible = "arm,cortex-a9";
		reg = <2>;
		next-level-cache = <&L2>;
	};

	cpu@3 {
		compatible = "arm,cortex-a9";
		reg = <3>;
		next-level-cache = <&L2>;
	};
};