Brooklyn/arch/arm/boot/dts/overlays/gpio-fan-overlay.dts
Scare Crowe 84ba5b15ac Updates and fixes for BrooklynR
* Enhance GPIO addon for Noctua Fans for the Qortector upcoming case. This will put PWM signal to real-time.

* Fixed RDP not letting a user login if not logged out on Cinnamon release (reported by Crowetic)

* Update i2c sensor db

* Fixed DRM broadcast over HDMI 2+

* Ease up DHCP security only to prevent Brooklyn blocking routers.

* Add possibility to add extra memory for Cinnamon Desktop Release

* Fix error message of Software Render mode on Cinnamon Desktop

* Add proper offset for HD screens for pixel array

*Fixed HDMI jitter for videocore4 GPU

* Enable all radios (including Bluetooth)
2021-06-12 13:10:41 +05:00

80 lines
2.4 KiB
Plaintext

/*
* Overlay for the Raspberry Pi GPIO Fan @ BCM GPIO12.
* References:
* - https://www.raspberrypi.org/forums/viewtopic.php?f=107&p=1367135#p1365084
*
* Optional parameters:
* - "gpiopin" - BCM number of the pin driving the fan, default 12 (GPIO12);
* - "temp" - CPU temperature at which fan is started in millicelsius, default 55000;
*
* Requires:
* - kernel configurations: CONFIG_SENSORS_GPIO_FAN=m;
* - kernel rebuild;
* - N-MOSFET connected to gpiopin, 2N7002-[https://en.wikipedia.org/wiki/2N7000];
* - DC Fan connected to N-MOSFET Drain terminal, a 12V fan is working fine and quite silently;
* [https://www.tme.eu/en/details/ee40101s1-999-a/dc12v-fans/sunon/ee40101s1-1000u-999/]
*
* ┌─────────────────────┐
* │Fan negative terminal│
* └┬────────────────────┘
* │D
* G │──┘
* [GPIO12]──────┤ │<─┐ 2N7002
* │──┤
* │S
* ─┴─
* GND
*
* Build:
* - `sudo dtc -W no-unit_address_vs_reg -@ -I dts -O dtb -o /boot/overlays/gpio-fan.dtbo gpio-fan-overlay.dts`
* Activate:
* - sudo nano /boot/config.txt add "dtoverlay=gpio-fan" or "dtoverlay=gpio-fan,gpiopin=12,temp=45000"
* or
* - sudo sh -c 'printf "\n# Enable PI GPIO-Fan Default\ndtoverlay=gpio-fan\n" >> /boot/config.txt'
* - sudo sh -c 'printf "\n# Enable PI GPIO-Fan Custom\ndtoverlay=gpio-fan,gpiopin=12,temp=45000\n" >> /boot/config.txt'
*
*/
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2835";
fragment@0 {
target-path = "/";
__overlay__ {
fan0: gpio-fan@0 {
compatible = "gpio-fan";
gpios = <&gpio 12 0>;
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 = <10000>; /* (millicelsius) Fan stopped at 45°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";
};
};