// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
 * Copyright (C) 2024 PHYTEC America LLC
 * Author: Nathan Morrisson <nmorrisson@phytec.com>
 */

/dts-v1/;
/plugin/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/thermal/thermal.h>
#include "k3-pinctrl.h"

&{/} {
	fan: gpio-fan {
		compatible = "gpio-fan";
		gpio-fan,speed-map = <0 0 8600 1>;
		gpios = <&main_gpio0 28 GPIO_ACTIVE_LOW>;
		#cooling-cells = <2>;
		pinctrl-names = "default";
		pinctrl-0 = <&gpio_fan_pins_default>;
	};
};

&main_pmx0 {
	gpio_fan_pins_default: gpio-fan-default-pins {
		pinctrl-single,pins = <
			AM64X_IOPAD(0x070, PIN_OUTPUT, 7) /* (V18) GPMC0_AD13.GPIO0_28 */
		>;
	};
};

&thermal_zones {
	main0_thermal: main0-thermal {
		trips {
			main0_thermal_trip0: main0-thermal-trip {
				temperature = <65000>;  /* millicelsius */
				hysteresis = <2000>;    /* millicelsius */
				type = "active";
			};
		};

		cooling-maps {
			map0 {
				trip = <&main0_thermal_trip0>;
				cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
			};
		};
	};
};
