twx-linux/drivers
Quentin Schulz db8db85cff mfd: rk8xx-core: Allow to customize RK806 reset mode
The RK806 PMIC has a bitfield for configuring the restart/reset behavior
(which I assume Rockchip calls "function") whenever the PMIC is reset
either programmatically (c.f. DEV_RST in the datasheet) or via PWRCTRL
or RESETB pins.

For RK806, the following values are possible for RST_FUN:

0b00 means "Restart PMU"
0b01 means "Reset all the power off reset registers, forcing
	the state to switch to ACTIVE mode"
0b10 means "Reset all the power off reset registers, forcing
	the state to switch to ACTIVE mode, and simultaneously
	pull down the RESETB PIN for 5mS before releasing"
0b11 means the same as for 0b10 just above.

This adds the appropriate logic in the driver to parse the new
rockchip,reset-mode DT property to pass this information. It just
happens that the values in the binding match the values to write in the
bitfield so no mapping is necessary.

If it is missing, the register is left untouched and relies either on
the silicon default or on whatever was set earlier in the boot stages
(e.g. the bootloader).

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Link: https://lore.kernel.org/r/20250627-rk8xx-rst-fun-v4-2-ce05d041b45f@cherry.de
Signed-off-by: Lee Jones <lee@kernel.org>
2025-07-24 11:27:17 +01:00
..
accel treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
accessibility
acpi treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
amba
android Char/Misc/IIO pull request for 6.16-rc1 2025-06-06 11:50:47 -07:00
ata treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
atm treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
auxdisplay treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
base treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
bcma
block treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
bluetooth treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
bus treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
cache
cdrom
cdx
char treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
clk I've recently moved computers (among other things) so I'm sending this from a 2025-05-30 09:15:40 -07:00
clocksource MFD for v6.16 2025-06-03 11:53:55 -07:00
comedi treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
connector
counter
cpufreq treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
cpuidle Merge branch 'pm-cpuidle' 2025-05-30 20:21:36 +02:00
crypto treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
cxl
dax
dca
devfreq
dio
dma treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
dma-buf treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
dpll
edac CXL changes for v6.16 2025-06-03 13:24:14 -07:00
eisa
extcon
firewire treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
firmware Kbuild updates for v6.16 2025-06-07 10:05:35 -07:00
fpga
fsi
fwctl
gnss
gpio Merge branches 'ib-mfd-gpio-input-pwm-6.17', 'ib-mfd-gpio-power-soc-6.17' and 'ib-mfd-misc-pinctrl-6.17' into ibs-for-mfd-merged 2025-07-24 11:26:13 +01:00
gpu treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
greybus treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
hid treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
hsi treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
hte
hv hyperv-next for v6.16 2025-06-03 08:39:20 -07:00
hwmon treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
hwspinlock
hwtracing
i2c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
i3c
idle
iio treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
infiniband treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
input Input: adp5589: remove the driver 2025-07-01 21:50:51 +01:00
interconnect
iommu treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
ipack
irqchip dmaengine updates for v6.16 2025-06-05 08:49:30 -07:00
isdn treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
leds treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
macintosh
mailbox treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
mcb
md treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
media treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
memory treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
memstick treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
message
mfd mfd: rk8xx-core: Allow to customize RK806 reset mode 2025-07-24 11:27:17 +01:00
misc misc: tps6594-pfsm: Add TI TPS652G1 PMIC PFSM 2025-07-10 09:58:06 +01:00
mmc treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
most treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
mtd treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
mux
net treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
nfc treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
ntb
nubus
nvdimm
nvme treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
nvmem Char/Misc/IIO pull request for 6.16-rc1 2025-06-06 11:50:47 -07:00
of - The 11 patch series "Add folio_mk_pte()" from Matthew Wilcox 2025-05-31 15:44:16 -07:00
opp
parisc
parport treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
pci The delayed from_timer() API cleanup: 2025-06-08 11:33:00 -07:00
pcmcia treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
peci
perf
phy phy-for-6.16 2025-06-05 08:20:21 -07:00
pinctrl pinctrl: pinctrl-tps6594: Add TPS652G1 PMIC pinctrl and GPIO 2025-07-10 09:58:12 +01:00
platform treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
pmdomain
pnp
power power: reset: macsmc-reboot: Add driver for rebooting via Apple SMC 2025-07-24 09:47:33 +01:00
powercap
pps treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
ps3
ptp treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
pwm pwm: adp5585: add support for adp5589 2025-07-01 21:50:51 +01:00
rapidio
ras
regulator regulator: Fix for v6.16 2025-06-06 13:20:26 -07:00
remoteproc remoteproc updates for v6.16 2025-06-02 11:04:29 -07:00
reset
rpmsg
rtc treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
s390 treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
sbus
scsi treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
sh
siox
slimbus
soc soc: apple: rtkit: Make shmem_destroy optional 2025-07-24 09:47:33 +01:00
soundwire soundwire updates for 6.16 2025-06-05 08:07:24 -07:00
spi spi: Updates for v6.16 2025-06-06 13:22:31 -07:00
spmi
ssb
staging treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
target treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
tc
tee
thermal
thunderbolt
tty treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
ufs SCSI misc on 20250606 2025-06-06 20:02:51 -07:00
uio Char/Misc/IIO pull request for 6.16-rc1 2025-06-06 11:50:47 -07:00
usb treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
vdpa
vfio pci-v6.16-changes 2025-06-04 11:26:17 -07:00
vhost virtio, vhost: features, fixes 2025-05-29 08:15:35 -07:00
video treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
virt treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
virtio
w1 Char/Misc/IIO pull request for 6.16-rc1 2025-06-06 11:50:47 -07:00
watchdog treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
xen
zorro
Kconfig
Makefile