Recent Qualcomm SoCs have a REFGEN (reference voltage generator) regulator responsible for providing a reference voltage to some on-SoC IPs (like DSI or PHYs). It can be turned off when unused to save power. This series introduces the driver for it and lets the DSI driver consume it. Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> --- Changes in v3: - depend on HAS_IOMEM (s390 build failure, meh) - constify regulator_ops - Link to v2: https://lore.kernel.org/r/20230628-topic-refgen-v2-0-6136487c78c5@xxxxxxxxxx Changes in v2: - Remove "|" from bindings description - fix 'renegator' typo - define number of 'reg' - adjust reg= to size/address-cells = 1 - fix regmap usage - use C++ comments for the header - remove now-unused struct qcom_refgen - use common helpers for sm8250 refgen (simple bit ops) - add missing FIELD_PREPs (small brain forgot regmap_update_bits doesn't do shifting) - pick up tags - Link to v1: https://lore.kernel.org/r/20230628-topic-refgen-v1-0-126e59573eeb@xxxxxxxxxx --- Konrad Dybcio (4): dt-bindings: regulator: Describe Qualcomm REFGEN regulator regulator: Introduce Qualcomm REFGEN regulator driver dt-bindings: display/msm: dsi-controller-main: Allow refgen-supply drm/msm/dsi: Hook up refgen regulator .../bindings/display/msm/dsi-controller-main.yaml | 4 + .../regulator/qcom,sdm845-refgen-regulator.yaml | 57 ++++++++ drivers/gpu/drm/msm/dsi/dsi_cfg.c | 2 + drivers/regulator/Kconfig | 11 ++ drivers/regulator/Makefile | 1 + drivers/regulator/qcom-refgen-regulator.c | 154 +++++++++++++++++++++ 6 files changed, 229 insertions(+) --- base-commit: 296d53d8f84ce50ffaee7d575487058c8d437335 change-id: 20230628-topic-refgen-14fb0b762115 Best regards, -- Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>