]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
dt-bindings: mfd: rk806: Allow to customize PMIC reset mode
authorQuentin Schulz <quentin.schulz@cherry.de>
Fri, 27 Jun 2025 10:53:53 +0000 (12:53 +0200)
committerLee Jones <lee@kernel.org>
Thu, 24 Jul 2025 10:27:16 +0000 (11:27 +0100)
commit404005d1083997daec7236620b9ba14bccdce449
tree698cf2d6a1f092b4738a63586d196033f39f35e9
parentb9ec71fbd572042770df16c9b65bbf91cbd556cf
dt-bindings: mfd: rk806: Allow to customize PMIC reset mode

The RK806 PMIC allows to configure its reset/restart behavior whenever
the PMIC is reset either programmatically or via some external pins
(e.g. PWRCTRL or RESETB).

The following modes exist:
 - 0; restart PMU,
 - 1; reset all power off reset registers and force state to switch to
   ACTIVE mode,
 - 2; same as mode 1 and also pull RESETB pin down for 5ms,

For example, some hardware may require a full restart (mode 0) in order
to function properly as regulators are shortly interrupted in this mode.

This is the case for RK3588 Jaguar and RK3588 Tiger which have a
companion microcontroller running on an independent power supply and
monitoring the PMIC power rail to know the state of the main system.
When it detects a restart, it resets its own IPs exposed to the main
system as if to simulate its own reset. Failing to perform this fake
reset of the microcontroller may break things (e.g. watchdog not
automatically disabled, buzzer still running until manually disabled,
leftover configuration from previous main system state, etc...).

Some other systems may be depending on the power rails to not be
interrupted even for a small amount of time[1].

This allows to specify how the PMIC should perform on the hardware level
and may differ between hardware designs, so a DT property seems
warranted. I unfortunately do not see how this could be made generic
enough to make it a non-vendor property.

[1] https://lore.kernel.org/linux-rockchip/2577051.irdbgypaU6@workhorse/

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: "Rob Herring (Arm)" <robh@kernel.org>
Link: https://lore.kernel.org/r/20250627-rk8xx-rst-fun-v4-1-ce05d041b45f@cherry.de
Signed-off-by: Lee Jones <lee@kernel.org>
Documentation/devicetree/bindings/mfd/rockchip,rk806.yaml