mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 17:18:59 +00:00
7d7aa2fd92
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>
115 lines
3.5 KiB
Diff
115 lines
3.5 KiB
Diff
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";
|
|
+ };
|
|
+};
|