Message ID | 20231028075445.3515664-1-christianshewitt@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: dts: meson: radxa-zero2: add pwm-fan support | expand |
On 28/10/2023 09:54, Christian Hewitt wrote: > The A311D on Zero2 needs active cooling and the board includes a header to > connect a simple fan. Add pwm-fan support with basic thermal properties so > the fan runs when connected. > > Suggested-by: Yuntian Zhang <yt@radxa.com> > Signed-off-by: Christian Hewitt <christianshewitt@gmail.com> > --- > .../dts/amlogic/meson-g12b-radxa-zero2.dts | 27 +++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts > index 890f5bfebb03..895b6ea67180 100644 > --- a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts > +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts > @@ -33,6 +33,15 @@ memory@0 { > reg = <0x0 0x0 0x0 0x80000000>; > }; > > + fan0: pwm-fan { > + compatible = "pwm-fan"; > + #cooling-cells = <2>; > + cooling-min-state = <0>; > + cooling-max-state = <4>; > + cooling-levels = <0 64 128 192 255>; > + pwms = <&pwm_AO_ab 0 40000 0>; > + }; > + > gpio-keys-polled { > compatible = "gpio-keys-polled"; > poll-interval = <100>; > @@ -286,6 +295,24 @@ &cpu103 { > clock-latency = <50000>; > }; > > +&cpu_thermal { > + cooling-maps { > + map0 { > + trip = <&cpu_passive>; > + cooling-device = <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; > + }; > + }; > +}; > + > +&ddr_thermal { > + cooling-maps { > + map0 { > + trip = <&ddr_passive>; > + cooling-device = <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; > + }; > + }; > +}; You should instead add a new active trips, and use them for the fan cooling-map. Look at how it's done on the Khadas VIM3s or Odroid boards. Neil > + > &frddr_a { > status = "okay"; > };
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts index 890f5bfebb03..895b6ea67180 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts @@ -33,6 +33,15 @@ memory@0 { reg = <0x0 0x0 0x0 0x80000000>; }; + fan0: pwm-fan { + compatible = "pwm-fan"; + #cooling-cells = <2>; + cooling-min-state = <0>; + cooling-max-state = <4>; + cooling-levels = <0 64 128 192 255>; + pwms = <&pwm_AO_ab 0 40000 0>; + }; + gpio-keys-polled { compatible = "gpio-keys-polled"; poll-interval = <100>; @@ -286,6 +295,24 @@ &cpu103 { clock-latency = <50000>; }; +&cpu_thermal { + cooling-maps { + map0 { + trip = <&cpu_passive>; + cooling-device = <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; +}; + +&ddr_thermal { + cooling-maps { + map0 { + trip = <&ddr_passive>; + cooling-device = <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; +}; + &frddr_a { status = "okay"; };
The A311D on Zero2 needs active cooling and the board includes a header to connect a simple fan. Add pwm-fan support with basic thermal properties so the fan runs when connected. Suggested-by: Yuntian Zhang <yt@radxa.com> Signed-off-by: Christian Hewitt <christianshewitt@gmail.com> --- .../dts/amlogic/meson-g12b-radxa-zero2.dts | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+)