mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			124 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From b8ccab654a324b29a1ff37e3d53114719a953448 Mon Sep 17 00:00:00 2001
 | |
| From: Phil Elwell <phil@raspberrypi.org>
 | |
| Date: Tue, 18 Sep 2018 11:08:07 +0100
 | |
| Subject: [PATCH 167/432] 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
 | |
| 
 | |
| diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
 | |
| index a8f213d5cfcb..99338350fc51 100644
 | |
| --- 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 \
 | |
| diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
 | |
| index 35cbe0bf94db..018dc5dd8f1e 100644
 | |
| --- a/arch/arm/boot/dts/overlays/README
 | |
| +++ b/arch/arm/boot/dts/overlays/README
 | |
| @@ -541,6 +541,14 @@ Load:   dtoverlay=googlevoicehat-soundcard
 | |
|  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
 | |
| diff --git a/arch/arm/boot/dts/overlays/gpio-fan-overlay.dts b/arch/arm/boot/dts/overlays/gpio-fan-overlay.dts
 | |
| new file mode 100644
 | |
| index 000000000000..66fd9950c34b
 | |
| --- /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";
 | |
| +	};
 | |
| +};
 | |
| -- 
 | |
| 2.19.1
 | |
| 
 |