devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Implement vendor resets for PSCI SYSTEM_RESET2
@ 2023-11-17 21:18 Elliot Berman
  2023-11-17 21:18 ` [PATCH 1/3] dt-bindings: power: reset: Convert mode-.* properties to array Elliot Berman
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Elliot Berman @ 2023-11-17 21:18 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lorenzo Pieralisi,
	Mark Rutland
  Cc: Satya Durga Srinivasu Prabhala, Melody Olvera, devicetree,
	linux-kernel, linux-arm-kernel, Florian Fainelli, Elliot Berman

The PSCI SYSTEM_RESET2 call allows vendor firmware to define additional
reset types which could be mapped to the reboot argument.

Setting up reboot on Qualcomm devices can be inconsistent from chipset
to chipset.  Generally, there is a PMIC register that gets written to
decide the reboot type. There is also sometimes a cookie that can be
written to indicate that the bootloader should behave differently than a
regular boot. These knobs evolve over product generations and require 
more drivers. Qualcomm firmwares are beginning to expose vendor
SYSTEM_RESET2 types to simplify driver requirements from Linux.

Add support in PSCI to statically wire reboot mode commands from
userspace to a vendor reset and cookie value using the device tree. The
DT bindings are similar to reboot mode framework except that 2
integers are accepted (the type and cookie). Also, reboot mode framework
is intended to program, but not reboot, the host. PSCI SYSTEM_RESET2
does both. I've not added support for reading ACPI tables since I don't
have any device which provides them + firmware that supports vendor
SYSTEM_RESET2 types.

Previous discussions around SYSTEM_RESET2:
- https://lore.kernel.org/lkml/20230724223057.1208122-2-quic_eberman@quicinc.com/T/
- https://lore.kernel.org/all/4a679542-b48d-7e11-f33a-63535a5c68cb@quicinc.com/

This RFC approach differs from the one sent in July by:
- Not using the reboot mode framework
- Added support to control both reset type and cookie
- Implicitly dropped "normal" reboot command, which is always just
  SYSTEM_RESET anyway.

Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
---
Changes since RFC:
- Reference reboot-mode bindings as suggeted by Rob.
- Link to RFC: https://lore.kernel.org/r/20231030-arm-psci-system_reset2-vendor-reboots-v1-0-dcdd63352ad1@quicinc.com

---
Elliot Berman (3):
      dt-bindings: power: reset: Convert mode-.* properties to array
      dt-bindings: arm: Document reboot mode magic
      firmware: psci: Read and use vendor reset types

 Documentation/devicetree/bindings/arm/psci.yaml    | 36 ++++++++-
 .../bindings/power/reset/reboot-mode.yaml          |  7 +-
 drivers/firmware/psci/psci.c                       | 87 +++++++++++++++++++++-
 3 files changed, 125 insertions(+), 5 deletions(-)
---
base-commit: f86128050d2d854035bfa461aadf36e6951b2bac
change-id: 20231016-arm-psci-system_reset2-vendor-reboots-cc3ad456c070

Best regards,
-- 
Elliot Berman <quic_eberman@quicinc.com>


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2023-11-20 17:27 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-17 21:18 [PATCH 0/3] Implement vendor resets for PSCI SYSTEM_RESET2 Elliot Berman
2023-11-17 21:18 ` [PATCH 1/3] dt-bindings: power: reset: Convert mode-.* properties to array Elliot Berman
2023-11-20 10:52   ` Krzysztof Kozlowski
2023-11-20 15:58     ` Elliot Berman
2023-11-20 15:27   ` Rob Herring
2023-11-17 21:18 ` [PATCH 2/3] dt-bindings: arm: Document reboot mode magic Elliot Berman
2023-11-20 10:56   ` Krzysztof Kozlowski
2023-11-20 15:45     ` Elliot Berman
2023-11-20 16:41       ` Krzysztof Kozlowski
2023-11-20 17:09         ` Elliot Berman
2023-11-17 21:18 ` [PATCH 3/3] firmware: psci: Read and use vendor reset types Elliot Berman
2023-11-20 10:55 ` [PATCH 0/3] Implement vendor resets for PSCI SYSTEM_RESET2 Krzysztof Kozlowski
2023-11-20 16:03   ` Elliot Berman
2023-11-20 17:27     ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).