oxnas: some improvements for Shuttle KD20
* install kmod-hwmon-drivetemp by default * wire up thermal zone * fix fan GPIO polarity * fix i2c-gpio GPIO_OPEN_DRAIN Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
		@@ -328,6 +328,12 @@ CONFIG_SUSPEND=y
 | 
			
		||||
CONFIG_SUSPEND_FREEZER=y
 | 
			
		||||
CONFIG_SWPHY=y
 | 
			
		||||
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
 | 
			
		||||
CONFIG_THERMAL=y
 | 
			
		||||
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
 | 
			
		||||
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
 | 
			
		||||
CONFIG_THERMAL_GOV_STEP_WISE=y
 | 
			
		||||
CONFIG_THERMAL_HWMON=y
 | 
			
		||||
CONFIG_THERMAL_OF=y
 | 
			
		||||
CONFIG_TICK_CPU_ACCOUNTING=y
 | 
			
		||||
CONFIG_TIMER_OF=y
 | 
			
		||||
CONFIG_TIMER_PROBE=y
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@
 | 
			
		||||
 | 
			
		||||
#include <dt-bindings/gpio/gpio.h>
 | 
			
		||||
#include <dt-bindings/input/input.h>
 | 
			
		||||
#include <dt-bindings/thermal/thermal.h>
 | 
			
		||||
 | 
			
		||||
/ {
 | 
			
		||||
	model = "Shuttle KD20";
 | 
			
		||||
@@ -30,13 +31,48 @@
 | 
			
		||||
		led-upgrade = &led_warn;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	thermal_zones {
 | 
			
		||||
		chassis-thermal {
 | 
			
		||||
			/* Poll every 20 seconds */
 | 
			
		||||
			polling-delay = <20000>;
 | 
			
		||||
			/* Poll every 2nd second when cooling */
 | 
			
		||||
			polling-delay-passive = <2000>;
 | 
			
		||||
 | 
			
		||||
			thermal-sensors = <&hdd0_temp>, <&hdd1_temp>;
 | 
			
		||||
 | 
			
		||||
			trips {
 | 
			
		||||
				chassis_alert0: chassis-alert0 {
 | 
			
		||||
					/* At 43 degrees turn on fan */
 | 
			
		||||
					temperature = <43000>;
 | 
			
		||||
					hysteresis = <3000>;
 | 
			
		||||
					type = "active";
 | 
			
		||||
				};
 | 
			
		||||
 | 
			
		||||
				chassis_alert1: chassis-alert1 {
 | 
			
		||||
					/* At 60 degrees emergency shutdown */
 | 
			
		||||
					temperature = <60000>;
 | 
			
		||||
					hysteresis = <2000>;
 | 
			
		||||
					type = "critical";
 | 
			
		||||
				};
 | 
			
		||||
			};
 | 
			
		||||
 | 
			
		||||
			cooling-maps {
 | 
			
		||||
				map0 {
 | 
			
		||||
					trip = <&chassis_alert0>;
 | 
			
		||||
					cooling-device = <&system_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
 | 
			
		||||
				};
 | 
			
		||||
			};
 | 
			
		||||
		};
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	i2c-gpio {
 | 
			
		||||
		compatible = "i2c-gpio";
 | 
			
		||||
		sda-gpios = <&gpio1 9 (GPIO_ACTIVE_HIGH|GPIO_LINE_OPEN_DRAIN)>;
 | 
			
		||||
		sck-gpios = <&gpio1 10 (GPIO_ACTIVE_HIGH|GPIO_LINE_OPEN_DRAIN)>;
 | 
			
		||||
		sda-gpios = <&gpio1 9 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
 | 
			
		||||
		sck-gpios = <&gpio1 10 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
 | 
			
		||||
		i2c-gpio,delay-us = <10>;
 | 
			
		||||
		#address-cells = <1>;
 | 
			
		||||
		#size-cells = <0>;
 | 
			
		||||
 | 
			
		||||
		rtc0: rtc@51 {
 | 
			
		||||
			compatible = "nxp,pcf8563";
 | 
			
		||||
			reg = <0x51>;
 | 
			
		||||
@@ -112,9 +148,9 @@
 | 
			
		||||
		gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	gpio-fan {
 | 
			
		||||
	system_fan: gpio-fan {
 | 
			
		||||
		compatible = "gpio-fan";
 | 
			
		||||
		gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
 | 
			
		||||
		gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
 | 
			
		||||
		gpio-fan,speed-map = <0    0
 | 
			
		||||
				      3000 1>;
 | 
			
		||||
	};
 | 
			
		||||
@@ -193,6 +229,16 @@
 | 
			
		||||
&sata {
 | 
			
		||||
	status = "okay";
 | 
			
		||||
	nr-ports = <2>;
 | 
			
		||||
 | 
			
		||||
	hdd0_temp: sata-port@0 {
 | 
			
		||||
		reg = <0>;
 | 
			
		||||
		#thermal-sensor-cells = <0>;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	hdd1_temp: sata-port@1 {
 | 
			
		||||
		reg = <1>;
 | 
			
		||||
		#thermal-sensor-cells = <0>;
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&pcie_phy {
 | 
			
		||||
 
 | 
			
		||||
@@ -73,9 +73,9 @@ define Device/shuttle_kd20
 | 
			
		||||
  KERNEL_INITRAMFS = kernel-bin | append-dtb | uImage none | omninas-factory | \
 | 
			
		||||
	encrypt-3des sohmuntitnlaes
 | 
			
		||||
  DEVICE_PACKAGES := kmod-usb2-oxnas kmod-usb3 kmod-usb-ledtrig-usbport \
 | 
			
		||||
	kmod-i2c-gpio kmod-rtc-pcf8563 kmod-gpio-beeper kmod-hwmon-gpiofan \
 | 
			
		||||
	kmod-ata-oxnas-sata kmod-md-mod kmod-md-raid0 kmod-md-raid1 kmod-fs-ext4 \
 | 
			
		||||
	kmod-fs-xfs
 | 
			
		||||
	kmod-i2c-gpio kmod-rtc-pcf8563 kmod-gpio-beeper kmod-hwmon-drivetemp \
 | 
			
		||||
	kmod-hwmon-gpiofan kmod-ata-oxnas-sata kmod-md-mod kmod-md-raid0 \
 | 
			
		||||
	kmod-md-raid1 kmod-fs-ext4 kmod-fs-xfs
 | 
			
		||||
endef
 | 
			
		||||
TARGET_DEVICES += shuttle_kd20
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user