aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-4.19/950-0149-BCM270X_DT-Add-gpio-fan-overlay.patch
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-02-08 21:58:55 +0100
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-02-14 14:10:51 +0100
commit7d7aa2fd924c27829ec25f825481554dd81bce97 (patch)
tree658b87b89331670266163e522ea5fb52535633cb /target/linux/bcm27xx/patches-4.19/950-0149-BCM270X_DT-Add-gpio-fan-overlay.patch
parente7bfda2c243e66a75ff966ba04c28b1590b5d24c (diff)
downloadupstream-7d7aa2fd924c27829ec25f825481554dd81bce97.tar.gz
upstream-7d7aa2fd924c27829ec25f825481554dd81bce97.tar.bz2
upstream-7d7aa2fd924c27829ec25f825481554dd81bce97.zip
brcm2708: rename target to bcm27xx
This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Despite, since subtargets range from bcm2708 to bcm2711, it seems appropriate to use bcm27xx instead of bcm2708 (again, as already done for BOARDNAME). This also renames the packages brcm2708-userland and brcm2708-gpu-fw. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm27xx/patches-4.19/950-0149-BCM270X_DT-Add-gpio-fan-overlay.patch')
-rw-r--r--target/linux/bcm27xx/patches-4.19/950-0149-BCM270X_DT-Add-gpio-fan-overlay.patch114
1 files changed, 114 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-4.19/950-0149-BCM270X_DT-Add-gpio-fan-overlay.patch b/target/linux/bcm27xx/patches-4.19/950-0149-BCM270X_DT-Add-gpio-fan-overlay.patch
new file mode 100644
index 0000000000..f252490382
--- /dev/null
+++ b/target/linux/bcm27xx/patches-4.19/950-0149-BCM270X_DT-Add-gpio-fan-overlay.patch
@@ -0,0 +1,114 @@
+From 9762b3a015886c42941f535e688ffac1f56e35aa Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Tue, 18 Sep 2018 11:08:07 +0100
+Subject: [PATCH] BCM270X_DT: Add gpio-fan overlay
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/boot/dts/overlays/Makefile | 1 +
+ arch/arm/boot/dts/overlays/README | 8 +++
+ .../boot/dts/overlays/gpio-fan-overlay.dts | 71 +++++++++++++++++++
+ 3 files changed, 80 insertions(+)
+ create mode 100644 arch/arm/boot/dts/overlays/gpio-fan-overlay.dts
+
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -33,6 +33,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
+ fe-pi-audio.dtbo \
+ goodix.dtbo \
+ googlevoicehat-soundcard.dtbo \
++ gpio-fan.dtbo \
+ gpio-ir.dtbo \
+ gpio-ir-tx.dtbo \
+ gpio-key.dtbo \
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -541,6 +541,14 @@ Load: dtoverlay=googlevoicehat-soundca
+ Params: <None>
+
+
++Name: gpio-fan
++Info: Configure a GPIO pin to control a cooling fan.
++Load: dtoverlay=gpio-fan,<param>=<val>
++Params: gpiopin GPIO used to control the fan (default 12)
++ temp Temperature at which the fan switches on, in
++ millicelcius (default 55000)
++
++
+ Name: gpio-ir
+ Info: Use GPIO pin as rc-core style infrared receiver input. The rc-core-
+ based gpio_ir_recv driver maps received keys directly to a
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/gpio-fan-overlay.dts
+@@ -0,0 +1,71 @@
++/*
++ * Overlay for the Raspberry Pi GPIO Fan @ BCM GPIO12.
++ * Optional parameters:
++ * - "gpiopin" - default GPIO12
++ * - "temp" - default 55000
++ * Requires:
++ * - kernel configurations: CONFIG_SENSORS_GPIO_FAN=m and CONFIG_SENSORS_PWM_FAN=m;
++ * - kernel rebuid;
++ * - DC Fan connected to GPIO via a N-MOSFET (2N7002)
++ *
++ * ┌─────────────────────┐
++ * │Fan negative terminal│
++ * └┬────────────────────┘
++ * │
++ * │──┘
++ * [GPIO12]──────┤ │<─┐ 2N7002
++ * │──┤
++ * │
++ * ─┴─
++ * GND
++ *
++ * sudo dtc -W no-unit_address_vs_reg -@ -I dts -O dtb -o /boot/overlays/gpio-fan.dtbo gpio-fan.dts
++ * sudo nano /boot/config.txt add "dtoverlay=gpio-fan" or "dtoverlay=gpio-fan,gpiopin=12,temp=45000"
++ * or
++ * sudo sh -c "echo '\n# Enable PI GPIO-Fan\ndtoverlay=gpio-fan\n' >> /boot/config.txt"
++ * sudo sh -c "echo '\n# Enable PI GPIO-Fan\ndtoverlay=gpio-fan,gpiopin=12\n' >> /boot/config.txt"
++ *
++ */
++/dts-v1/;
++/plugin/;
++
++/ {
++ compatible = "brcm,bcm2708";
++
++ fragment@0 {
++ target-path = "/";
++ __overlay__ {
++ fan0: gpio-fan@0 {
++ compatible = "gpio-fan";
++ gpios = <&gpio 12 1>;
++ gpio-fan,speed-map = <0 0>,
++ <5000 1>;
++ #cooling-cells = <2>;
++ };
++ };
++ };
++
++ fragment@1 {
++ target = <&cpu_thermal>;
++ polling-delay = <2000>; /* milliseconds */
++ __overlay__ {
++ trips {
++ cpu_hot: trip-point@0 {
++ temperature = <55000>; /* (millicelsius) Fan started at 55°C */
++ hysteresis = <5000>; /* (millicelsius) Fan stopped at 50°C */
++ type = "active";
++ };
++ };
++ cooling-maps {
++ map0 {
++ trip = <&cpu_hot>;
++ cooling-device = <&fan0 1 1>;
++ };
++ };
++ };
++ };
++ __overrides__ {
++ gpiopin = <&fan0>,"gpios:4", <&fan0>,"brcm,pins:0";
++ temp = <&cpu_hot>,"temperature:0";
++ };
++};