lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CALHNRZ8i=gOrHfgjhL5X_mqM8=1KeW_cXpp2R32hmT5wUjkw5A@mail.gmail.com>
Date: Tue, 22 Apr 2025 23:31:43 -0500
From: Aaron Kling <webgeek1234@...il.com>
To: Tomasz Maciej Nowak <tmn505@...il.com>
Cc: Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>, 
	Conor Dooley <conor+dt@...nel.org>, Thierry Reding <thierry.reding@...il.com>, 
	Jonathan Hunter <jonathanh@...dia.com>, devicetree@...r.kernel.org, 
	linux-tegra@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] arm64: tegra: Enable PWM fan on the Jetson TX1 Devkit

On Tue, Apr 22, 2025 at 11:19 AM Tomasz Maciej Nowak <tmn505@...il.com> wrote:
>
> W dniu 22.04.2025 o 17:58, Aaron Kling pisze:
> > On Tue, Apr 22, 2025 at 9:52 AM Tomasz Maciej Nowak <tmn505@...il.com> wrote:
> >>
> >> Hi.
> >>
> >> W dniu 21.04.2025 o 00:42, Aaron Kling via B4 Relay pisze:
> >>> From: Aaron Kling <webgeek1234@...il.com>
> >>>
> >>> This is based on 6f78a94, which enabled added the fan and thermal zones
> >>> for the Jetson Nano Devkit. The fan and thermal characteristics of the
> >>> two devkits are similar, so usng the same configuration.
> >>
> >> Does this work on Your DevKit? Doesn't on mine, the fan won't budge. Maybe the
> >> revision difference? What I'm using ATM is [1] and [2]. Because inverted polarity
> >> of PWM, not submitted since that'll need the driver changes [3],[4].
> >
> > I would have sworn I verified this before sending it in. I've had the
> > patches for some time. But you are correct, this does not work as-is.
> > Maybe I lost something cleaning up for submission or just plain
> > misremembered the verification. I will send a v2 once I've fixed and
> > verified. Apologies to the list for the bad submission.
> >
> > For inverted polarity, listing them backwards already has precedence
> > in mainline, see the Banana Pi R3 dt. This makes me want to double
> > check the existing Nano pwm-fan entry in mainline, though. Cause I
> > thought all the t210 devices were the same in regards to pwm fan
> > inversion. And it doesn't have reversed entries.
>
> That Banana Pi R3 reverse levels look ugly, but if it's permitted I'm not against.
>
> I would assume they fixed that in Nano, since PWM controller doesn't implement
> inverted polarity in hardware. Looking at Switch [5] it seems the TX1 DevKit was
> used for developing, since they replicated the issue.
>
> 5. https://github.com/fail0verflow/switch-linux/commit/b23e8b89081415f2a63bc625db041c8092e2a8a2
>   >
> > Sincerely,
> > Aaron Kling
> >
> >>
> >> 1. https://github.com/tmn505/linux/commit/a78c520ec94aeab2c9dc8e1f46597c4174ff957d
> >> 2. https://github.com/tmn505/linux/commit/99beee4f0cd5d3a6f30e1829d823c11cb8b54bac
> >> 3. https://libera.irclog.whitequark.org/tegra/2024-07-19#36707118;
> >> 4. https://libera.irclog.whitequark.org/tegra/2024-10-14#37145211;
> >>
> >> Regards
> >>
> >>>
> >>> Signed-off-by: Aaron Kling <webgeek1234@...il.com>
> >>> ---
> >>>  arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi | 60 ++++++++++++++++++++++++++
> >>>  1 file changed, 60 insertions(+)
> >>>
> >>> diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi
> >>> index 83ed6ac2a8d8f403fb588edce83dc401065c162f..bc02f2eb14bcbd99627c58b398bbf43061c8110b 100644
> >>> --- a/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi
> >>> +++ b/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi
> >>> @@ -1623,6 +1623,14 @@ key-volume-up {
> >>>               };
> >>>       };
> >>>
> >>> +     fan: pwm-fan {
> >>> +             compatible = "pwm-fan";
> >>> +             pwms = <&pwm 3 45334>;
> >>> +
> >>> +             cooling-levels = <0 64 128 255>;
> >>> +             #cooling-cells = <2>;
> >>> +     };
> >>> +
> >>>       vdd_sys_mux: regulator-vdd-sys-mux {
> >>>               compatible = "regulator-fixed";
> >>>               regulator-name = "VDD_SYS_MUX";
> >>> @@ -1778,4 +1786,56 @@ vdd_usb_vbus_otg: regulator-vdd-usb-vbus-otg {
> >>>               enable-active-high;
> >>>               vin-supply = <&vdd_5v0_sys>;
> >>>       };
> >>> +
> >>> +     thermal-zones {
> >>> +             cpu-thermal {
> >>> +                     trips {
> >>> +                             cpu_trip_critical: critical {
> >>> +                                     temperature = <96500>;
> >>> +                                     hysteresis = <0>;
> >>> +                                     type = "critical";
> >>> +                             };
> >>> +
> >>> +                             cpu_trip_hot: hot {
> >>> +                                     temperature = <70000>;
> >>> +                                     hysteresis = <2000>;
> >>> +                                     type = "hot";
> >>> +                             };
> >>> +
> >>> +                             cpu_trip_active: active {
> >>> +                                     temperature = <50000>;
> >>> +                                     hysteresis = <2000>;
> >>> +                                     type = "active";
> >>> +                             };
> >>> +
> >>> +                             cpu_trip_passive: passive {
> >>> +                                     temperature = <30000>;
> >>> +                                     hysteresis = <2000>;
> >>> +                                     type = "passive";
> >>> +                             };
> >>> +                     };
> >>> +
> >>> +                     cooling-maps {
> >>> +                             cpu-critical {
> >>> +                                     cooling-device = <&fan 3 3>;
> >>> +                                     trip = <&cpu_trip_critical>;
> >>> +                             };
> >>> +
> >>> +                             cpu-hot {
> >>> +                                     cooling-device = <&fan 2 2>;
> >>> +                                     trip = <&cpu_trip_hot>;
> >>> +                             };
> >>> +
> >>> +                             cpu-active {
> >>> +                                     cooling-device = <&fan 1 1>;
> >>> +                                     trip = <&cpu_trip_active>;
> >>> +                             };
> >>> +
> >>> +                             cpu-passive {
> >>> +                                     cooling-device = <&fan 0 0>;
> >>> +                                     trip = <&cpu_trip_passive>;
> >>> +                             };
> >>> +                     };
> >>> +             };
> >>> +     };
> >>>  };
> >>>
> >>> ---
> >>> base-commit: 9c32cda43eb78f78c73aee4aa344b777714e259b
> >>> change-id: 20250420-tx1-therm-9fb3c30fa43f
> >>>
> >>> Best regards,
> >> --
> >> TMN
> >>
>
> --
> TMN
>
Mmm, so this is strange. I am currently unable to get the fan to move
on any t210 device. But it works just fine on t186, such as the tx2 nx
setup supported by mainline. Tomasz, does your change work on 6.12 or
current mainline? Even if I match your changes on the tx1 devkit, I
get nothing. The pwm duty cycle is changing as expected, per the
debugfs pwm listing. Gpio state for pin 4 of the tca9539@74 matches
the 4.9 kernel when the fan is running. Best I can tell, it should be
working. But it's not.

Sincerely,
Aaron

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ