diff options
Diffstat (limited to 'bcm2835-cpufreq-add-CPU-frequency-control-driver.patch')
-rw-r--r-- | bcm2835-cpufreq-add-CPU-frequency-control-driver.patch | 221 |
1 files changed, 140 insertions, 81 deletions
diff --git a/bcm2835-cpufreq-add-CPU-frequency-control-driver.patch b/bcm2835-cpufreq-add-CPU-frequency-control-driver.patch index b6e28b78e..36c3eea75 100644 --- a/bcm2835-cpufreq-add-CPU-frequency-control-driver.patch +++ b/bcm2835-cpufreq-add-CPU-frequency-control-driver.patch @@ -1,18 +1,16 @@ -From 050af591beda9f84693d92b2c38416ea31630608 Mon Sep 17 00:00:00 2001 +From fbdb31e061b67941342fc5afa714488f75174632 Mon Sep 17 00:00:00 2001 From: Peter Robinson <pbrobinson@gmail.com> -Date: Thu, 10 Jan 2019 03:15:33 +0000 -Subject: [PATCH] bcm2835: cpufreq: add CPU frequency control driver +Date: Thu, 31 May 2018 19:08:12 +0100 +Subject: [PATCH 1/3] bcm2835: cpufreq: add CPU frequency control driver Signed-off-by: Peter Robinson <pbrobinson@gmail.com> --- - arch/arm/boot/dts/bcm2835-rpi.dtsi | 7 ++ - arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 7 ++ - arch/arm/boot/dts/bcm2837.dtsi | 58 +++++++++ - arch/arm/boot/dts/bcm283x.dtsi | 2 +- - drivers/clk/bcm/Kconfig | 8 ++ - drivers/clk/bcm/Makefile | 1 + - drivers/clk/bcm/clk-raspberrypi.c | 138 +++++++++++++++++++++ - 7 files changed, 220 insertions(+), 1 deletion(-) + arch/arm/boot/dts/bcm2835-rpi.dtsi | 7 ++ + arch/arm/boot/dts/bcm2837.dtsi | 33 +++++++ + drivers/clk/bcm/Kconfig | 8 ++ + drivers/clk/bcm/Makefile | 1 + + drivers/clk/bcm/clk-raspberrypi.c | 138 +++++++++++++++++++++++++++++ + 5 files changed, 187 insertions(+) create mode 100644 drivers/clk/bcm/clk-raspberrypi.c diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi @@ -33,72 +31,47 @@ index 29f970f864dc..6d0f43957af4 100644 }; }; -diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts -index 42bb09044cc7..3333c080696c 100644 ---- a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts -+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts -@@ -106,3 +106,10 @@ - pinctrl-0 = <&uart1_gpio14>; - status = "okay"; - }; -+ -+&cpu0_opp_table { -+ opp@1400000000 { -+ opp-hz = /bits/ 64 <1400000000>; -+ clock-latency-ns = <355000>; -+ }; -+}; diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi -index beb6c502dadc..1590d94b618e 100644 +index beb6c502dadc..9cfc553a3633 100644 --- a/arch/arm/boot/dts/bcm2837.dtsi +++ b/arch/arm/boot/dts/bcm2837.dtsi -@@ -1,4 +1,5 @@ - #include "bcm283x.dtsi" -+#include <dt-bindings/thermal/thermal.h> - - / { - compatible = "brcm,bcm2837"; -@@ -44,6 +45,10 @@ +@@ -44,6 +44,9 @@ reg = <0>; enable-method = "spin-table"; cpu-release-addr = <0x0 0x000000d8>; + clocks = <&arm_clk>; + clock-names = "cpu"; + operating-points-v2 = <&cpu0_opp_table>; -+ #cooling-cells = <2>; }; cpu1: cpu@1 { -@@ -52,6 +57,10 @@ +@@ -52,6 +55,9 @@ reg = <1>; enable-method = "spin-table"; cpu-release-addr = <0x0 0x000000e0>; + clocks = <&arm_clk>; + clock-names = "cpu"; + operating-points-v2 = <&cpu0_opp_table>; -+ #cooling-cells = <2>; }; cpu2: cpu@2 { -@@ -60,6 +69,10 @@ +@@ -60,6 +66,9 @@ reg = <2>; enable-method = "spin-table"; cpu-release-addr = <0x0 0x000000e8>; + clocks = <&arm_clk>; + clock-names = "cpu"; + operating-points-v2 = <&cpu0_opp_table>; -+ #cooling-cells = <2>; }; cpu3: cpu@3 { -@@ -68,6 +81,31 @@ +@@ -68,6 +77,30 @@ reg = <3>; enable-method = "spin-table"; cpu-release-addr = <0x0 0x000000f0>; + clocks = <&arm_clk>; + clock-names = "cpu"; + operating-points-v2 = <&cpu0_opp_table>; -+ #cooling-cells = <2>; + }; + }; + @@ -123,46 +96,6 @@ index beb6c502dadc..1590d94b618e 100644 }; }; }; -@@ -84,6 +122,26 @@ - - &cpu_thermal { - coefficients = <(-538) 412000>; -+ -+ trips { -+ cpu_alert0: cpu-alert0 { -+ temperature = <70000>; -+ hysteresis = <0>; -+ type = "passive"; -+ }; -+ }; -+ -+ cooling-maps { -+ map0 { -+ trip = <&cpu_alert0>; -+ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; -+ }; -+ -+ map1 { -+ trip = <&cpu_crit>; -+ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; -+ }; -+ }; - }; - - /* enable thermal sensor with the correct compatible property set */ -diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index 31b29646b14c..2def0684d198 100644 ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -38,7 +38,7 @@ - thermal-sensors = <&thermal>; - - trips { -- cpu-crit { -+ cpu_crit: cpu-crit { - temperature = <80000>; - hysteresis = <0>; - type = "critical"; diff --git a/drivers/clk/bcm/Kconfig b/drivers/clk/bcm/Kconfig index 4c4bd85f707c..e40bd19da22b 100644 --- a/drivers/clk/bcm/Kconfig @@ -338,3 +271,129 @@ index 000000000000..046efc822a59 -- 2.20.1 + +From 0681db63db37cf9015ef9b667c237c3974de04e6 Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +Date: Mon, 4 Jun 2018 09:14:10 +0100 +Subject: [PATCH 2/3] add 1.4 ghz OPP for the 3B+ + +Signed-off-by: Peter Robinson <pbrobinson@gmail.com> +--- + arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts +index 42bb09044cc7..3333c080696c 100644 +--- a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts +@@ -106,3 +106,10 @@ + pinctrl-0 = <&uart1_gpio14>; + status = "okay"; + }; ++ ++&cpu0_opp_table { ++ opp@1400000000 { ++ opp-hz = /bits/ 64 <1400000000>; ++ clock-latency-ns = <355000>; ++ }; ++}; +-- +2.20.1 + + +From 65f821f03ac635f28c8c79c5e436b398194521f2 Mon Sep 17 00:00:00 2001 +From: Stefan Wahren <stefan.wahren@i2se.com> +Date: Wed, 26 Sep 2018 21:13:22 +0200 +Subject: [PATCH 3/3] ARM: bcm2837: Use CPU0 as cooling device + +Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> +--- + arch/arm/boot/dts/bcm2837.dtsi | 25 +++++++++++++++++++++++++ + arch/arm/boot/dts/bcm283x.dtsi | 2 +- + 2 files changed, 26 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi +index 9cfc553a3633..1590d94b618e 100644 +--- a/arch/arm/boot/dts/bcm2837.dtsi ++++ b/arch/arm/boot/dts/bcm2837.dtsi +@@ -1,4 +1,5 @@ + #include "bcm283x.dtsi" ++#include <dt-bindings/thermal/thermal.h> + + / { + compatible = "brcm,bcm2837"; +@@ -47,6 +48,7 @@ + clocks = <&arm_clk>; + clock-names = "cpu"; + operating-points-v2 = <&cpu0_opp_table>; ++ #cooling-cells = <2>; + }; + + cpu1: cpu@1 { +@@ -58,6 +60,7 @@ + clocks = <&arm_clk>; + clock-names = "cpu"; + operating-points-v2 = <&cpu0_opp_table>; ++ #cooling-cells = <2>; + }; + + cpu2: cpu@2 { +@@ -69,6 +72,7 @@ + clocks = <&arm_clk>; + clock-names = "cpu"; + operating-points-v2 = <&cpu0_opp_table>; ++ #cooling-cells = <2>; + }; + + cpu3: cpu@3 { +@@ -80,6 +84,7 @@ + clocks = <&arm_clk>; + clock-names = "cpu"; + operating-points-v2 = <&cpu0_opp_table>; ++ #cooling-cells = <2>; + }; + }; + +@@ -117,6 +122,26 @@ + + &cpu_thermal { + coefficients = <(-538) 412000>; ++ ++ trips { ++ cpu_alert0: cpu-alert0 { ++ temperature = <70000>; ++ hysteresis = <0>; ++ type = "passive"; ++ }; ++ }; ++ ++ cooling-maps { ++ map0 { ++ trip = <&cpu_alert0>; ++ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; ++ }; ++ ++ map1 { ++ trip = <&cpu_crit>; ++ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; ++ }; ++ }; + }; + + /* enable thermal sensor with the correct compatible property set */ +diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi +index 31b29646b14c..2def0684d198 100644 +--- a/arch/arm/boot/dts/bcm283x.dtsi ++++ b/arch/arm/boot/dts/bcm283x.dtsi +@@ -38,7 +38,7 @@ + thermal-sensors = <&thermal>; + + trips { +- cpu-crit { ++ cpu_crit: cpu-crit { + temperature = <80000>; + hysteresis = <0>; + type = "critical"; +-- +2.20.1 + |