Commit c5486819 authored by Vitor Massaru Iha's avatar Vitor Massaru Iha Committed by Shawn Guo
Browse files

arm64: dts: imx8mq-phanbell: Add gpio-fan/thermal support

It was based on Google Source Code for Coral Edge TPU Mendel release:
https://coral.googlesource.com/linux-imx/



It was tested on Coral Dev Board using this command:
  sudo stress --cpu 4 --timeout 3600

Signed-off-by: default avatarVitor Massaru Iha <vitor@massaru.org>
Reviewed-by: default avatarFabio Estevam <festevam@gmail.com>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent f93f1e72
Loading
Loading
Loading
Loading
+63 −0
Original line number Diff line number Diff line
@@ -35,6 +35,16 @@
		gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	fan: gpio-fan {
		compatible = "gpio-fan";
		gpio-fan,speed-map = <0 0 8600 1>;
		gpios = <&gpio3 5 GPIO_ACTIVE_HIGH>;
		#cooling-cells = <2>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_gpio_fan>;
		status = "okay";
	};
};

&A53_0 {
@@ -53,6 +63,53 @@
	cpu-supply = <&buck2>;
};

&cpu_thermal {
	trips {
		cpu_alert0: trip0 {
			temperature = <75000>;
			hysteresis = <2000>;
			type = "passive";
		};

		cpu_alert1: trip1 {
			temperature = <80000>;
			hysteresis = <2000>;
			type = "passive";
		};

		cpu_crit0: trip3 {
			temperature = <90000>;
			hysteresis = <2000>;
			type = "critical";
		};

		fan_toggle0: trip4 {
			temperature = <65000>;
			hysteresis = <10000>;
			type = "active";
		};
	};

	cooling-maps {
		map0 {
			trip = <&cpu_alert0>;
			cooling-device =
			<&A53_0 0 1>; /* Exclude highest OPP */
		};

		map1 {
			trip = <&cpu_alert1>;
			cooling-device =
			<&A53_0 0 2>; /* Exclude two highest OPPs */
		};

		map4 {
			trip = <&fan_toggle0>;
			cooling-device = <&fan 0 1>;
		};
	};
};

&i2c1 {
	clock-frequency = <400000>;
	pinctrl-names = "default";
@@ -295,6 +352,12 @@
		>;
	};

	pinctrl_gpio_fan: gpiofangrp {
		fsl,pins = <
			MX8MQ_IOMUXC_NAND_CLE_GPIO3_IO5			0x16
		>;
	};

	pinctrl_i2c1: i2c1grp {
		fsl,pins = <
			MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL			0x4000007f
+1 −1
Original line number Diff line number Diff line
@@ -198,7 +198,7 @@
	};

	thermal-zones {
		cpu-thermal {
		cpu_thermal: cpu-thermal {
			polling-delay-passive = <250>;
			polling-delay = <2000>;
			thermal-sensors = <&tmu 0>;