summaryrefslogtreecommitdiffstats
path: root/bcm2835-cpufreq-add-CPU-frequency-control-driver.patch
diff options
context:
space:
mode:
Diffstat (limited to 'bcm2835-cpufreq-add-CPU-frequency-control-driver.patch')
-rw-r--r--bcm2835-cpufreq-add-CPU-frequency-control-driver.patch221
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
+