diff options
| author | Leonard Crestez <leonard.crestez@nxp.com> | 2019-04-12 10:10:03 -0400 |
|---|---|---|
| committer | Shawn Guo <shawnguo@kernel.org> | 2019-04-21 21:26:05 -0400 |
| commit | e85c9d0faa75049290f626c70f1374a1bd6d1b24 (patch) | |
| tree | a9fe59a185678d5e3d77a48cc161d35e8dadf70b | |
| parent | 7b2ac489c3972bb73951c04fe438f0af0ef93fb3 (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.dtsi | 30 |
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>; |
