Not implemented - DVS 1-Regulators: Full implementation and test Visual check: cat /sys/kernel/debug/regulator/regulator_summary Full validation requires userspace-consumer and virtual-regulator LDO1 is not used and output can be probbed on TP84. Changes vs RFC: Use standard regmap helpers only. Reshaped integrating review feedbacks. 2-Reset WARM/COLD test procedure: launch reboot on the console and check visually warm vs. cold can be configured on the kernel command-line at boot time. Default is cold, but adding `reboot=w` to kernel command allow testing warm reboot. Alternative: `# echo warm > /sys/kernel/reboot/mode` Changes vs RFC: Hooked to standard linux/reboot.h Add pr_flush to ensure output to console happens. 3-SW Shutdown test procedure: launch halt on the console and check visually Note: enters in competition with other source during probe Board Test Points can be used to check voltage after system shutdown. baseport is not handling wakeup. A power OFF/ON cycle is needed to recover. Changes vs RFC: Standard system-power-controller has been implemented to enable override. 4-Interrupt Pin (nINT): NEW, was not implemented in RFC Interrupt occurring on PMIC TPS65219 is propagated to SOC through EXTINTn pin connected to gic500 interrupt controller Interrupt lines for TPS65219 shows-up on console: cat /proc/interrupts Validation: Create a Residual Voltage interrupt and handling and interrupt source is cleared. `tps65219 0-0030: Registered residual voltage for LDO1` `533: 1 0 tps65219_irq 35 Edge LDO1_RV` Mapped to power button (use TP90 to GND to emulate a physical button) 5-PB Startup and Shutdown: NEW, was not implemented in RFC New implementation to support both rising and falling edge. TPS65219 has different interrupts compared to other TPS6521* chips. TPS65219 defines two interrupts for the powerbutton one for push and one for release. Interrupt support: cat proc/interrupts `557: 0 0 tps65219_irq 47 Edge tps65219-pwrbutton.1.auto` `558: 0 0 tps65219_irq 48 Edge tps65219-pwrbutton.1.auto` Jerome Neanne (9): regulator: dt-bindings: Add TI TPS65219 PMIC bindings regulator: dt-bindings: Add interrupts support to TPS65219 PMIC bindings mfd: drivers: Add TI TPS65219 PMIC support mfd: drivers: Add interrupts support to TI TPS65219 PMIC regulator: drivers: Add TI TPS65219 PMIC regulators support arm64: defconfig: Add tps65219 as modules arm64: dts: ti: Add TI TPS65219 PMIC support for AM642 SK board. arm64: dts: ti: Add pinmux and irq mapping for TPS65219 external interrupts arm64: defconfig: Add tps65219 power-button as module Markus Schneider-Pargmann (5): MAINTAINERS: OMAP2+ support, add tps65218-pwrbutton regulator: dt-bindings: tps65219: Add power-button property mfd: tps65219: Add power-button support Input: Add tps65219 interrupt driven powerbutton arm64: dts: ti: k3-am642-sk: Enable tps65219 power-button .../bindings/regulator/ti,tps65219.yaml | 178 +++++++ MAINTAINERS | 4 + arch/arm64/boot/dts/ti/k3-am642-sk.dts | 117 +++++ arch/arm64/configs/defconfig | 3 + drivers/input/misc/Kconfig | 10 + drivers/input/misc/Makefile | 1 + drivers/input/misc/tps65219-pwrbutton.c | 150 ++++++ drivers/mfd/Kconfig | 15 + drivers/mfd/Makefile | 1 + drivers/mfd/tps65219.c | 438 ++++++++++++++++++ drivers/regulator/Kconfig | 9 + drivers/regulator/Makefile | 1 + drivers/regulator/tps65219-regulator.c | 414 +++++++++++++++++ include/linux/mfd/tps65219.h | 364 +++++++++++++++ 14 files changed, 1705 insertions(+) create mode 100644 Documentation/devicetree/bindings/regulator/ti,tps65219.yaml create mode 100644 drivers/input/misc/tps65219-pwrbutton.c create mode 100644 drivers/mfd/tps65219.c create mode 100644 drivers/regulator/tps65219-regulator.c create mode 100644 include/linux/mfd/tps65219.h -- 2.17.1