diff mbox series

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

Message ID 20240207172820.478332-1-nmorrisson@phytec.com (mailing list archive)
State New, archived
Headers show
Series arm64: dts: ti: am62-phyboard-lyra: Add overlay to enable a GPIO fan | expand

Commit Message

Nathan Morrisson Feb. 7, 2024, 5:28 p.m. UTC
The phyBOARD-Lyra has a GPIO fan header. This overlay enables the fan
header and sets the fan to turn on at 65C.

Signed-off-by: Nathan Morrisson <nmorrisson@phytec.com>
---
 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

Comments

Andrew Davis Feb. 7, 2024, 10:20 p.m. UTC | #1
On 2/7/24 11:28 AM, Nathan Morrisson wrote:
> The phyBOARD-Lyra has a GPIO fan header. This overlay enables the fan
> header and sets the fan to turn on at 65C.
> 
> Signed-off-by: Nathan Morrisson <nmorrisson@phytec.com>
> ---
>   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
> 
> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
> index 52c1dc910308..379fb4f31a1f 100644
> --- a/arch/arm64/boot/dts/ti/Makefile
> +++ b/arch/arm64/boot/dts/ti/Makefile
> @@ -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

>   
>   # 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
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso
> @@ -0,0 +1,51 @@
> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
> +/*
> + * Copyright (C) 2024 PHYTEC America LLC
> + * Author: Garrett Giordano <ggiordano@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 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>;
> +			};
> +		};
> +	};
> +};
Wadim Egorov Feb. 8, 2024, 5:57 a.m. UTC | #2
Hi Andrew,

Am 07.02.24 um 23:20 schrieb Andrew Davis:
> On 2/7/24 11:28 AM, Nathan Morrisson wrote:
>> The phyBOARD-Lyra has a GPIO fan header. This overlay enables the fan
>> header and sets the fan to turn on at 65C.
>>
>> Signed-off-by: Nathan Morrisson <nmorrisson@phytec.com>
>> ---
>>   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
>>
>> diff --git a/arch/arm64/boot/dts/ti/Makefile 
>> b/arch/arm64/boot/dts/ti/Makefile
>> index 52c1dc910308..379fb4f31a1f 100644
>> --- a/arch/arm64/boot/dts/ti/Makefile
>> +++ b/arch/arm64/boot/dts/ti/Makefile
>> @@ -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


>
> Andrew
>
>>     # 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
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso
>> @@ -0,0 +1,51 @@
>> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
>> +/*
>> + * Copyright (C) 2024 PHYTEC America LLC
>> + * Author: Garrett Giordano <ggiordano@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 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>;
>> +            };
>> +        };
>> +    };
>> +};
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Jai Luthra Feb. 8, 2024, 6:02 a.m. UTC | #3
Hi Nathan,

Thanks for the patch.

On Feb 07, 2024 at 09:28:20 -0800, Nathan Morrisson wrote:
> The phyBOARD-Lyra has a GPIO fan header. This overlay enables the fan
> header and sets the fan to turn on at 65C.
> 
> Signed-off-by: Nathan Morrisson <nmorrisson@phytec.com>
> ---
>  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
> 
> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
> index 52c1dc910308..379fb4f31a1f 100644
> --- a/arch/arm64/boot/dts/ti/Makefile
> +++ b/arch/arm64/boot/dts/ti/Makefile
> @@ -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.

>  
>  # 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
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso
> @@ -0,0 +1,51 @@
> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
> +/*
> + * Copyright (C) 2024 PHYTEC America LLC
> + * Author: Garrett Giordano <ggiordano@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 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.25.1
>
Jai Luthra Feb. 8, 2024, 7:22 a.m. UTC | #4
Hi Wadim,

On Feb 08, 2024 at 06:57:54 +0100, Wadim Egorov wrote:
> Hi Andrew,
> 
> Am 07.02.24 um 23:20 schrieb Andrew Davis:
> > On 2/7/24 11:28 AM, Nathan Morrisson wrote:
> > > The phyBOARD-Lyra has a GPIO fan header. This overlay enables the fan
> > > header and sets the fan to turn on at 65C.
> > > 
> > > Signed-off-by: Nathan Morrisson <nmorrisson@phytec.com>
> > > ---
> > >   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
> > > 
> > > diff --git a/arch/arm64/boot/dts/ti/Makefile
> > > b/arch/arm64/boot/dts/ti/Makefile
> > > index 52c1dc910308..379fb4f31a1f 100644
> > > --- a/arch/arm64/boot/dts/ti/Makefile
> > > +++ b/arch/arm64/boot/dts/ti/Makefile
> > > @@ -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).

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.
> 
> Regards,
> Wadim
> 
> 
> > 
> > Andrew
> > 
> > >     # 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
> > > --- /dev/null
> > > +++ b/arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso
> > > @@ -0,0 +1,51 @@
> > > +// SPDX-License-Identifier: GPL-2.0-only OR MIT
> > > +/*
> > > + * Copyright (C) 2024 PHYTEC America LLC
> > > + * Author: Garrett Giordano <ggiordano@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 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>;
> > > +            };
> > > +        };
> > > +    };
> > > +};
> > 
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index 52c1dc910308..379fb4f31a1f 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -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
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
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am62-phyboard-lyra-gpio-fan.dtso
@@ -0,0 +1,51 @@ 
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (C) 2024 PHYTEC America LLC
+ * Author: Garrett Giordano <ggiordano@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 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>;
+			};
+		};
+	};
+};