
Hi Heinrich,
Le jeu. 4 nov. 2021 à 12:45, Heinrich Schuchardt < heinrich.schuchardt@canonical.com> a écrit :
On 11/4/21 10:55, François Ozog wrote:
Hi Heinrich,
On Thu, 4 Nov 2021 at 10:31, Heinrich Schuchardt <heinrich.schuchardt@canonical.com mailto:heinrich.schuchardt@canonical.com> wrote:
The watchdog system reset driver can reboot the device but it cannot power it off. If power off is requested, the driver should not reset the system but leave powering off to one of the other system reset drivers. As power cycling is typically not a feature of a watchdog driver the reset types SYSRESET_POWER and SYSRESET_POWER_OFF shall both be excluded.
A candid question here. I know that IPMI can powercycle a platform. How would we handle that should there be a way to make the power cycle happen? (for instance we could define a PSCI extension of SYSTEM_RESET2 to have a power cycle effect)
Your comment seems not to relate to the validity of the current patch.
yes. It was a related question to understand more about the topic.
For PSCI we have a separate sysreset driver drivers/sysreset/sysreset_psci.c. That driver currently does not support SYSRESET_POWER.
Once such an extension is offered by PSCI you should define a device-tree node property for it in Linux' Documentation/devicetree/bindings/arm/psci.yaml. Next implement a probe function in the driver code to detect that property. In psci_sysreset_request(), if type=SYSRESET_POWER, call the appropriate PSCI method if the extension is enabled or return -ENOSYS if the extension is not available.
Currently in U-Boot I see no code invoking a reset with SYSRESET_POWER. You would have to change function do_reset() in drivers/sysreset/sysreset-uclass.c to accept a new argument to select this reset type.
Best regards
Heinrich