[PATCH 00/11] PM8916 PON support
Sam Day via B4 Relay
devnull+me.samcday.com at kernel.org
Sat Jun 6 10:47:31 CEST 2026
This series introduces sysreset + reboot-mode drivers for PM8916 PON.
Additionally, fastboot gains support for driving DM reboot-mode, so that
`fastboot reboot bootloader` works as you'd expect.
This series should be considered supplementary and slightly alternative
to Aswin's NVMEM-based approach currently on the list. I cherry-picked
Aswin's commit for adding reboot-mode detection to mach-snapdragon
board code.
I think a native PON driver for the older (non-SDAM) PMICs should exist,
rather than trying to bridge the gap with synthetic NVMEM DT nodes. The
main issue is that we'd need to define these overrides for every
device/SoC-family since those nodes don't (and won't?) exist in the
mainline kernel.
The other main differences between this series and Aswin's are:
* A sysreset driver is implemented, in addition to reboot-mode. This is
what makes the poweroff command work on MSM8916 and other older
platforms lacking a (sane, or any at all) PSCI implementation.
* The DM reboot-mode-driven fastboot_set_reboot_flag implementation,
which is what makes `fastboot reboot bootloader` work.
I think the PON infra introduced in this series can be generalized out
beyond PM8916, but I decided to stop here and leave further
generalization up to a follow-up series (or follow-up version, depending
on feedback!)
Link: https://lore.kernel.org/u-boot/20260521180549.282377-1-aswin.murugan@oss.qualcomm.com/
Signed-off-by: Sam Day <me at samcday.com>
---
Aswin Murugan (1):
mach-snapdragon: Integrate reboot-mode handling
Sam Day (10):
button: qcom-pmic: introduce exported setup method
drivers: misc: pm8916_pon: add glue driver
qcom_defconfig: enable PM8916_PON
drivers: misc: pm8916_pon: support setting reboot type
sysreset: qcom-pshold: PM8916 PON reset type support
qcom_defconfig: enable poweroff command
reboot-mode: pm8916-pon: add new driver
reboot-mode: reboot method activation support
fastboot: DM_REBOOT_MODE reset support
qcom_defconfig: enable reboot modes
arch/arm/mach-snapdragon/board.c | 56 +++++++--
configs/qcom_defconfig | 5 +
drivers/button/button-qcom-pmic.c | 7 +-
drivers/fastboot/Kconfig | 7 ++
drivers/fastboot/Makefile | 1 +
drivers/fastboot/fb_reboot_mode.c | 51 ++++++++
drivers/misc/Kconfig | 7 ++
drivers/misc/Makefile | 1 +
drivers/misc/pm8916_pon.c | 167 +++++++++++++++++++++++++++
drivers/reboot-mode/Makefile | 1 +
drivers/reboot-mode/reboot-mode-pm8916-pon.c | 88 ++++++++++++++
drivers/reboot-mode/reboot-mode-uclass.c | 18 +++
drivers/sysreset/sysreset_qcom-pshold.c | 9 ++
include/button/qcom-pmic.h | 17 +++
include/pm8916_pon.h | 18 +++
include/reboot-mode/reboot-mode.h | 12 ++
16 files changed, 450 insertions(+), 15 deletions(-)
---
base-commit: 75daa277941702bf58c88d65c0cb6ed962899d9e
change-id: 20260603-pm8916-pon-738d766b8006
Best regards,
--
Sam Day <me at samcday.com>
More information about the U-Boot
mailing list