forked from Qortal/Brooklyn
84ba5b15ac
* 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)
80 lines
2.4 KiB
Plaintext
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";
|
|
};
|
|
};
|