[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220719091742.3221-1-jneanne@baylibre.com>
Date: Tue, 19 Jul 2022 11:17:28 +0200
From: Jerome Neanne <jneanne@...libre.com>
To: lgirdwood@...il.com, broonie@...nel.org, robh+dt@...nel.org,
nm@...com, kristo@...nel.org
Cc: khilman@...libre.com, narmstrong@...libre.com, msp@...libre.com,
j-keerthy@...c, lee.jones@...aro.org, jneanne@...libre.com,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: [PATCH v1 00/14] Add support for TI TPS65219 PMIC.
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
Powered by blists - more mailing lists