jamsinclair / opifancontrol

A simple PWM fan controller for Orange Pi boards
MIT License
11 stars 5 forks source link

[Documentation] FAN control support via UEFI #6

Closed dandycyclone closed 1 month ago

dandycyclone commented 1 month ago

Please, add this information into README file, so people are aware of that support and can test it at their discretion: https://github.com/edk2-porting/edk2-rk3588?tab=readme-ov-file#supported-peripherals-in-uefi

Cooling fan | Working | Supported on most platforms. Fan connector where present, otherwise available at the GPIO header for 3-pin PWM fans (do not connect 2-pin fans there!):

  • Orange Pi 5: GPIO4_B2
  • Indiedroid Nova: GPIO4_B4

If I read it properly, EDK2 UEFI firmware for Rockchip RK3588 platforms has support for cooling fan control since Sep 2023 - https://github.com/edk2-porting/edk2-rk3588/commit/3154f1454a5bcff2cd04bc0353b9bb84a19a3d15 I did not test it, however volunteers might be interested in future.

jamsinclair commented 1 month ago

Is this what the dedicated fan connector on the Orange Pi 5 and Orange 5 Plus use? I had tried to allude to that in the description, but I can make that clearer.

dandycyclone commented 1 month ago

@jamsinclair, based on my understanding, it does not matter, if it is a dedicated fan connector or GPIO one. Whatever is supported by SBC hardware could be controlled either via software (it is what opifancontrol is used for) or by firmware (it is how it works in my and any other x86 laptop). In case of firmware for ARM platforms we have a choice between u-boot and uefi. I can tell nothing about FAN control support using u-boot, however uefi can do it and particularly has support for the bunch of RK3588 platforms (not limiting only to Orange Pi).

As a result I thought, that above information could be reflected as a note in the README file, so people can make a knowledgeable choice, what to use.

jamsinclair commented 1 month ago

Thanks @dandycyclone, I've tried to simplify the language used and point to those resources in the README. Thanks for the suggestion and contribution!