[PATCH v5 0/2] pinctrl: qcom: lpass-lpi: Switch to PM clock framework
From: Ajay Kumar Nandam
Date: Wed May 13 2026 - 10:11:45 EST
This series converts LPASS LPI pinctrl runtime clock handling to the PM
clock framework and ensures GPIO register accesses runtime-resume the
block before MMIO.
The series is intentionally ordered for bisect safety:
- patch 1 wires runtime PM ops in LPASS LPI variant drivers
- patch 2 updates the shared core to use pm_clk + runtime PM access
paths and completes sc7280 wiring
After this conversion, LPASS LPI variants sharing the common core use a
consistent DT clock flow via of_pm_clk_add_clks() together with
pm_clk_suspend()/pm_clk_resume() and autosuspend.
Testing:
- Runtime behavior validated on Kodiak (sc7280).
- Wider runtime testing on other LPASS LPI variants is welcome.
---
Changes in v5:
- Send as a proper standalone v5 series with cover letter.
- Fix indentation in newly added .of_match/.pm blocks in:
sc7280, sc8280xp, sm8250, sm8450, sm8550, sm8650 variants.
- Simplify pm_runtime_put_autosuspend() return handling in
lpi_gpio_read(), lpi_gpio_write(), and lpi_config_set_slew_rate()
in the shared LPASS LPI core, per review suggestion.
- No functional changes.
Links to previous revisions:
- v4: https://lore.kernel.org/r/20260508113636.3561383-1-ajay.nandam@xxxxxxxxxxxxxxxx
- v3: https://lore.kernel.org/r/20260508113636.3561383-1-ajay.nandam@xxxxxxxxxxxxxxxx
- v2: https://lore.kernel.org/r/20260420123135.350446-1-ajay.nandam@xxxxxxxxxxxxxxxx
- v1: https://lore.kernel.org/r/20260413122233.375945-1-ajay.nandam@xxxxxxxxxxxxxxxx
Ajay Kumar Nandam (2):
pinctrl: qcom: lpass-lpi: Enable runtime PM hooks on LPASS LPI SoCs
pinctrl: qcom: lpass-lpi: Switch to PM clock framework for runtime PM
drivers/pinctrl/qcom/pinctrl-lpass-lpi.c | 114 +++++++++++-------
.../pinctrl/qcom/pinctrl-milos-lpass-lpi.c | 7 ++
.../pinctrl/qcom/pinctrl-sc7280-lpass-lpi.c | 19 ++-
.../pinctrl/qcom/pinctrl-sc8280xp-lpass-lpi.c | 15 ++-
.../pinctrl/qcom/pinctrl-sdm660-lpass-lpi.c | 7 ++
.../pinctrl/qcom/pinctrl-sdm670-lpass-lpi.c | 7 ++
.../pinctrl/qcom/pinctrl-sm4250-lpass-lpi.c | 7 ++
.../pinctrl/qcom/pinctrl-sm6115-lpass-lpi.c | 7 ++
.../pinctrl/qcom/pinctrl-sm8250-lpass-lpi.c | 15 ++-
.../pinctrl/qcom/pinctrl-sm8450-lpass-lpi.c | 15 ++-
.../pinctrl/qcom/pinctrl-sm8550-lpass-lpi.c | 15 ++-
.../pinctrl/qcom/pinctrl-sm8650-lpass-lpi.c | 15 ++-
12 files changed, 176 insertions(+), 67 deletions(-)
--
2.34.1