Skip to contentSkip to conversation

arm64: dts: ti: am62-phyboard-lyra: Add overlay to enable a GPIO fan

PATCH Superseded Nathan Morrisson 4 participants 5 messages Feb 7, 2024 – Feb 8, 2024

Subsystems (2)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 arm64: dts: ti: am62-phyboard-lyra: Add overlay to enable a GPIO fan

The phyBOARD-Lyra has a GPIO fan header. This overlay enables the fan header and sets the fan to turn on at 65C.

---
 arch/arm64/boot/dts/ti/Makefile               |  1 +
 .../ti/k3-am62-phyboard-lyra-gpio-fan.dtso    | 51 +++++++++++++++++++
 2 files changed, 52 insertions(+)
 create mode 100644 arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso
arch/arm64/boot/dts/ti/Makefile +1 -0
index 52c1dc910308..379fb4f31a1f 100644
@@ -23,6 +23,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dev.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-mallow.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-yavia.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am62-lp-sk.dtb
+dtb-$(CONFIG_ARCH_K3) += k3-am62-phyboard-lyra-gpio-fan.dtbo
 
 # Boards with AM62Ax SoC
 dtb-$(CONFIG_ARCH_K3) += k3-am62a7-sk.dtb
arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso new file +51 -0

51 lines not on this page · raw message

Signature · 1 line
2.25.1
#1 lore raw
Quoted 15 lines · Nathan Morrisson

The phyBOARD-Lyra has a GPIO fan header. This overlay enables the fan header and sets the fan to turn on at 65C.

---
  arch/arm64/boot/dts/ti/Makefile               |  1 +
  .../ti/k3-am62-phyboard-lyra-gpio-fan.dtso    | 51 +++++++++++++++++++
  2 files changed, 52 insertions(+)

create mode 100644 arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso

arch/arm64/boot/dts/ti/Makefile +0 -0
index 52c1dc910308..379fb4f31a1f 100644

arch/arm64/boot/dts/ti/Makefile dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dev.dtb · line 26

Quoted 4 lines
arch/arm64/boot/dts/ti/Makefile +1 -0
@@ -23,6 +23,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dev.dtb
  dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-mallow.dtb
  dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-yavia.dtb
  dtb-$(CONFIG_ARCH_K3) += k3-am62-lp-sk.dtb
+dtb-$(CONFIG_ARCH_K3) += k3-am62-phyboard-lyra-gpio-fan.dtbo

Why not call this k3-am625-phyboard-lyra-gpio-fan.dtbo to match the name of the base board it applies to better?

Andrew

Quoted 60 lines
arch/arm64/boot/dts/ti/Makefile +0 -0
  # Boards with AM62Ax SoC
  dtb-$(CONFIG_ARCH_K3) += k3-am62a7-sk.dtb
arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso new file +51 -0
new file mode 100644
index 000000000000..9c05748bdd9d
@@ -0,0 +1,51 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (C) 2024 PHYTEC America LLC
+ * Author: Garrett Giordano <[email protected]>
+ */
+
+/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 40 GPIO_ACTIVE_LOW>;
+		#cooling-cells = <2>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&gpio_fan_pins_default>;
+		status = "okay";
+	};
+};
+
+&main_pmx0 {
+	gpio_fan_pins_default: gpio-fan-default-pins {
+		pinctrl-single,pins = <
+			AM62X_IOPAD(0x0a4, PIN_OUTPUT, 7) /* (M22) GPMC0_DIR.GPIO0_40 */
+		>;
+	};
+};
+
+&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>;
+			};
+		};
+	};
+};
#2 lore raw

Hi Andrew,

Am 07.02.24 um 23:20 schrieb Andrew Davis:

Quoted 11 lines · Nathan Morrisson
Quoted 10 lines

The phyBOARD-Lyra has a GPIO fan header. This overlay enables the fan header and sets the fan to turn on at 65C.

---
  arch/arm64/boot/dts/ti/Makefile               |  1 + .../ti/k3-am62-phyboard-lyra-gpio-fan.dtso    | 51 +++++++++++++++++++

  2 files changed, 52 insertions(+)

  create mode 100644 arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso

Quoted 12 lines
Quoted 9 lines
arch/arm64/boot/dts/ti/Makefile +0 -0
index 52c1dc910308..379fb4f31a1f 100644
@@ -23,6 +23,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dev.dtb

  dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-mallow.dtb dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-yavia.dtb dtb-$(CONFIG_ARCH_K3) += k3-am62-lp-sk.dtb +dtb-$(CONFIG_ARCH_K3) += k3-am62-phyboard-lyra-gpio-fan.dtbo

Why not call this k3-am625-phyboard-lyra-gpio-fan.dtbo to match the name of the base board it applies to better?

We are able to reuse this overlay for different SoMs (am625 and am62a) that are using the same carrier board (lyra).

Regards,
Wadim

Quoted 69 lines

Andrew

Quoted 56 lines

    # Boards with AM62Ax SoC
  dtb-$(CONFIG_ARCH_K3) += k3-am62a7-sk.dtb

arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso new file +29 -0
new file mode 100644
index 000000000000..9c05748bdd9d
@@ -0,0 +1,51 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (C) 2024 PHYTEC America LLC
+ * Author: Garrett Giordano <[email protected]>
+ */
+
+/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 40 GPIO_ACTIVE_LOW>;
+        #cooling-cells = <2>;
+        pinctrl-names = "default";
+        pinctrl-0 = <&gpio_fan_pins_default>;
+        status = "okay";
+    };
+};
+
+&main_pmx0 {
+    gpio_fan_pins_default: gpio-fan-default-pins {
+        pinctrl-single,pins = <
+            AM62X_IOPAD(0x0a4, PIN_OUTPUT, 7) /* (M22) 

GPMC0_DIR.GPIO0_40 */
+        >;
+    };

arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso new file +16 -0
+};
+
+&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 
Quoted 5 lines

THERMAL_NO_LIMIT>;
+            };
+        };
+    };
+};

_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

#3 lore raw

Hi Wadim,

Quoted 29 lines · Wadim Egorov

Hi Andrew,

Am 07.02.24 um 23:20 schrieb Andrew Davis:

Quoted 12 lines · Nathan Morrisson
Quoted 11 lines

The phyBOARD-Lyra has a GPIO fan header. This overlay enables the fan header and sets the fan to turn on at 65C.

---
  arch/arm64/boot/dts/ti/Makefile               |  1 + .../ti/k3-am62-phyboard-lyra-gpio-fan.dtso    | 51 +++++++++++++++++++

  2 files changed, 52 insertions(+)

  create mode 100644 arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso

Quoted 13 lines
Quoted 10 lines
arch/arm64/boot/dts/ti/Makefile +0 -0
index 52c1dc910308..379fb4f31a1f 100644
@@ -23,6 +23,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dev.dtb

  dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-mallow.dtb dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-yavia.dtb dtb-$(CONFIG_ARCH_K3) += k3-am62-lp-sk.dtb +dtb-$(CONFIG_ARCH_K3) += k3-am62-phyboard-lyra-gpio-fan.dtbo

Why not call this k3-am625-phyboard-lyra-gpio-fan.dtbo to match the name of the base board it applies to better?

Quoted 2 lines

We are able to reuse this overlay for different SoMs (am625 and am62a) that are using the same carrier board (lyra).

In that case do you mind calling it k3-am62x-phyboard-*? It would match the existing convention we have for camera sensor overlays that can be applied on SK-AM62, SK-AM62A, SK-AM62P etc.

Quoted 76 lines

Regards,
Wadim

Quoted 71 lines

Andrew

Quoted 58 lines

    # Boards with AM62Ax SoC
  dtb-$(CONFIG_ARCH_K3) += k3-am62a7-sk.dtb
diff --git a/arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso b/arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso new file mode 100644
index 000000000000..9c05748bdd9d

arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso new file +29 -0
@@ -0,0 +1,51 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (C) 2024 PHYTEC America LLC
+ * Author: Garrett Giordano <[email protected]>
+ */
+
+/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 40 GPIO_ACTIVE_LOW>;
+        #cooling-cells = <2>;
+        pinctrl-names = "default";
+        pinctrl-0 = <&gpio_fan_pins_default>;
+        status = "okay";
+    };
+};
+
+&main_pmx0 {
+    gpio_fan_pins_default: gpio-fan-default-pins {
+        pinctrl-single,pins = <
+            AM62X_IOPAD(0x0a4, PIN_OUTPUT, 7) /* (M22)

GPMC0_DIR.GPIO0_40 */
+        >;
+    };

arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso new file +16 -0
+};
+
+&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
Quoted 5 lines

THERMAL_NO_LIMIT>;
+            };
+        };
+    };
+};

_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Signature · 4 lines
Thanks,
Jai

GPG Fingerprint: 4DE0 D818 E5D5 75E8 D45A AFC5 43DE 91F9 249A 7145
#4 lore raw
In reply to Nathan Morrisson

Hi Nathan,

Thanks for the patch.

Quoted 15 lines · Nathan Morrisson

The phyBOARD-Lyra has a GPIO fan header. This overlay enables the fan header and sets the fan to turn on at 65C.

---
 arch/arm64/boot/dts/ti/Makefile               |  1 +
 .../ti/k3-am62-phyboard-lyra-gpio-fan.dtso    | 51 +++++++++++++++++++
 2 files changed, 52 insertions(+)
 create mode 100644 arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso
arch/arm64/boot/dts/ti/Makefile +0 -0
index 52c1dc910308..379fb4f31a1f 100644

arch/arm64/boot/dts/ti/Makefile dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dev.dtb · line 26

Quoted 4 lines
arch/arm64/boot/dts/ti/Makefile +1 -0
@@ -23,6 +23,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dev.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-mallow.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-yavia.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am62-lp-sk.dtb
+dtb-$(CONFIG_ARCH_K3) += k3-am62-phyboard-lyra-gpio-fan.dtbo

You can also add a compile time test, to check if this applies cleanly on your phyboard base DTB.

Please see the "Build time test only, enabled by CONFIG_OF_ALL_DTBS" section below in this file.

Quoted 63 lines
arch/arm64/boot/dts/ti/Makefile +0 -0
 # Boards with AM62Ax SoC
 dtb-$(CONFIG_ARCH_K3) += k3-am62a7-sk.dtb
arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso new file +51 -0
new file mode 100644
index 000000000000..9c05748bdd9d
@@ -0,0 +1,51 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (C) 2024 PHYTEC America LLC
+ * Author: Garrett Giordano <[email protected]>
+ */
+
+/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 40 GPIO_ACTIVE_LOW>;
+		#cooling-cells = <2>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&gpio_fan_pins_default>;
+		status = "okay";
+	};
+};
+
+&main_pmx0 {
+	gpio_fan_pins_default: gpio-fan-default-pins {
+		pinctrl-single,pins = <
+			AM62X_IOPAD(0x0a4, PIN_OUTPUT, 7) /* (M22) GPMC0_DIR.GPIO0_40 */
+		>;
+	};
+};
+
+&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>;
+			};
+		};
+	};
+};
Signature · 1 line
2.25.1
Signature · 4 lines
Thanks,
Jai

GPG Fingerprint: 4DE0 D818 E5D5 75E8 D45A AFC5 43DE 91F9 249A 7145