aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeonard Crestez <leonard.crestez@nxp.com>2019-04-12 10:10:03 -0400
committerShawn Guo <shawnguo@kernel.org>2019-04-21 21:26:05 -0400
commite85c9d0faa75049290f626c70f1374a1bd6d1b24 (patch)
treea9fe59a185678d5e3d77a48cc161d35e8dadf70b
parent7b2ac489c3972bb73951c04fe438f0af0ef93fb3 (diff)
arm64: dts: imx8mm: Add cpufreq properties
This is very similar to imx8mq cpufreq-dt support. Operating points are from datasheet: https://www.nxp.com/docs/en/data-sheet/IMX8MMCEC.pdf Higher opps were omitted (just like imx8mq) because it requires checking speed grade from OCOTP fuses. Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
-rw-r--r--arch/arm64/boot/dts/freescale/imx8mm.dtsi30
1 files changed, 30 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
index de3498c2dd44..6b407a94c06e 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
@@ -48,32 +48,44 @@
48 device_type = "cpu"; 48 device_type = "cpu";
49 compatible = "arm,cortex-a53"; 49 compatible = "arm,cortex-a53";
50 reg = <0x0>; 50 reg = <0x0>;
51 clock-latency = <61036>; /* two CLK32 periods */
52 clocks = <&clk IMX8MM_CLK_ARM>;
51 enable-method = "psci"; 53 enable-method = "psci";
52 next-level-cache = <&A53_L2>; 54 next-level-cache = <&A53_L2>;
55 operating-points-v2 = <&a53_opp_table>;
53 }; 56 };
54 57
55 A53_1: cpu@1 { 58 A53_1: cpu@1 {
56 device_type = "cpu"; 59 device_type = "cpu";
57 compatible = "arm,cortex-a53"; 60 compatible = "arm,cortex-a53";
58 reg = <0x1>; 61 reg = <0x1>;
62 clock-latency = <61036>; /* two CLK32 periods */
63 clocks = <&clk IMX8MM_CLK_ARM>;
59 enable-method = "psci"; 64 enable-method = "psci";
60 next-level-cache = <&A53_L2>; 65 next-level-cache = <&A53_L2>;
66 operating-points-v2 = <&a53_opp_table>;
61 }; 67 };
62 68
63 A53_2: cpu@2 { 69 A53_2: cpu@2 {
64 device_type = "cpu"; 70 device_type = "cpu";
65 compatible = "arm,cortex-a53"; 71 compatible = "arm,cortex-a53";
66 reg = <0x2>; 72 reg = <0x2>;
73 clock-latency = <61036>; /* two CLK32 periods */
74 clocks = <&clk IMX8MM_CLK_ARM>;
67 enable-method = "psci"; 75 enable-method = "psci";
68 next-level-cache = <&A53_L2>; 76 next-level-cache = <&A53_L2>;
77 operating-points-v2 = <&a53_opp_table>;
69 }; 78 };
70 79
71 A53_3: cpu@3 { 80 A53_3: cpu@3 {
72 device_type = "cpu"; 81 device_type = "cpu";
73 compatible = "arm,cortex-a53"; 82 compatible = "arm,cortex-a53";
74 reg = <0x3>; 83 reg = <0x3>;
84 clock-latency = <61036>; /* two CLK32 periods */
85 clocks = <&clk IMX8MM_CLK_ARM>;
75 enable-method = "psci"; 86 enable-method = "psci";
76 next-level-cache = <&A53_L2>; 87 next-level-cache = <&A53_L2>;
88 operating-points-v2 = <&a53_opp_table>;
77 }; 89 };
78 90
79 A53_L2: l2-cache0 { 91 A53_L2: l2-cache0 {
@@ -81,6 +93,24 @@
81 }; 93 };
82 }; 94 };
83 95
96 a53_opp_table: opp-table {
97 compatible = "operating-points-v2";
98 opp-shared;
99
100 opp-1200000000 {
101 opp-hz = /bits/ 64 <1200000000>;
102 opp-microvolt = <850000>;
103 clock-latency-ns = <150000>;
104 };
105
106 opp-1600000000 {
107 opp-hz = /bits/ 64 <1600000000>;
108 opp-microvolt = <900000>;
109 clock-latency-ns = <150000>;
110 opp-suspend;
111 };
112 };
113
84 memory@40000000 { 114 memory@40000000 {
85 device_type = "memory"; 115 device_type = "memory";
86 reg = <0x0 0x40000000 0 0x80000000>; 116 reg = <0x0 0x40000000 0 0x80000000>;