[PATCH v4 0/4] Add RZ/G3L PWRRDY power sequencing support
Biju <[email protected]>
| Newsgroups | org.kernel.vger.linux-renesas-soc,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm |
|---|---|
| Message-ID | <[email protected]> |
From: Biju Das <[email protected]> Hi All, Some RZ SoCs (e.g. RZ/G3L) have a PWRRDY register that signals power readiness for various IPs (USB, DSI, CSI, etc.) to their respective controllers. This register is part of the SYSC IP. Add a dedicated power sequencing driver to handle these signals. This series is based on proposal for power sequence driver [1] for USB PWRRDY signal and DSI PWRRDY signal[2]. v3->v4: * Dropped rz_sysc_pwrrdy_pwrseq_init() * Collected tags. * Fix build issue with COMPILE_TEST for POWER_SEQUENCING_TH1520_GPU * Replace the large of_device_id structures by C strings, and using of_device_is_compatible() will reduce kernel size. * Replaced of_device.h -> of.h * Dropped local variable pwrseq from pwrseq_rzg3l_pwrrdy_probe(). v2->v3: * Updated commit description by dropping devm_add_action_or_reset(). * Config now selects AUXILIARY_BUS to avoid compilation issues. * Dropped the cast in devm_auxiliary_device_create(). * SYSC_RZ and POWER_SEQUENCING_RENESAS_PWRRDY config selects AUXILIARY_BUS to avoid compilation issues. * Added match for consumer device and added of_device.h header file. * Replaced regmap_update_bits()->regmap_assign_bits() and updated the function parameter of pwrseq_rzg3l_set_pwrrdy(). * Simpilfied probe() return with PTR_ERR_OR_ZERO macro. * SYSC_R9A08G046 config selects POWER_SEQUENCING as POWER_SEQUENCING_RENESAS_PWRRDY is defined inside an if POWER_SEQUENCING block in drivers/power/sequencing/Kconfig. v1->v2: * Switched to devm_auxiliary_device_create(). * Added regmap parameter to rz_sysc_pwrrdy_pwrseq_init(),so that regmap can be passed as platform data. * Added a comment in pwrseq_rzg3l_pwrrdy_match(). * Dropped dev_get_regmap() from probe as regmap is now part of platform data. * Added a blank line before devm_pwrseq_device_register() in probe. * Dropped the error message devm_pwrseq_device_register() as probe prints failure message. * Dropped local variables dev and regmap from probe(). [1] https://lore.kernel.org/all/[email protected]/#t [2] https://lore.kernel.org/all/[email protected]/T/#mb6f18d8fa9a194fc0a15db5f4938df420da7b6b5 Biju Das (4): soc: renesas: rz-sysc: Register auxiliary device for PWRRDY power sequencer power: sequencing: Fix build issue with COMPILE_TEST power: sequencing: Add Renesas RZ/G3L Power Ready driver soc: renesas: Kconfig: Select POWER_SEQUENCING_RENESAS_PWRRDY for R9A08G046 drivers/power/sequencing/Kconfig | 12 +- drivers/power/sequencing/Makefile | 1 + .../power/sequencing/pwrseq-renesas-pwrrdy.c | 137 ++++++++++++++++++ drivers/soc/renesas/Kconfig | 3 + drivers/soc/renesas/r9a08g046-sysc.c | 1 + drivers/soc/renesas/rz-sysc.c | 5 + drivers/soc/renesas/rz-sysc.h | 2 + 7 files changed, 160 insertions(+), 1 deletion(-) create mode 100644 drivers/power/sequencing/pwrseq-renesas-pwrrdy.c -- 2.43.0