2024-02-07 17:41:50

by Nathan Morrisson

[permalink] [raw]
Subject: [PATCH] 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.

Signed-off-by: Nathan Morrisson <[email protected]>
---
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

# 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 <[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.25.1



2024-02-07 22:21:25

by Andrew Davis

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: ti: am62-phyboard-lyra: Add overlay to enable a GPIO fan

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 <[email protected]>
> ---
> 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 <[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>;
> + };
> + };
> + };
> +};

2024-02-08 05:58:50

by Wadim Egorov

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: ti: am62-phyboard-lyra: Add overlay to enable a GPIO fan

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 <[email protected]>
>> ---
>>   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 <[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>;
>> +            };
>> +        };
>> +    };
>> +};
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

2024-02-08 06:03:06

by Jai Luthra

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: ti: am62-phyboard-lyra: Add overlay to enable a GPIO fan

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 <[email protected]>
> ---
> 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 <[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.25.1
>

--
Thanks,
Jai

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


Attachments:
(No filename) (2.96 kB)
signature.asc (849.00 B)
Download all attachments

2024-02-08 07:23:04

by Jai Luthra

[permalink] [raw]
Subject: Re: Re: [PATCH] arm64: dts: ti: am62-phyboard-lyra: Add overlay to enable a GPIO fan

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 <[email protected]>
> > > ---
> > >   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 <[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>;
> > > +            };
> > > +        };
> > > +    };
> > > +};
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > [email protected]
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

--
Thanks,
Jai

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


Attachments:
(No filename) (4.32 kB)
signature.asc (849.00 B)
Download all attachments