1. SVS driver use OPP adjust event in [1] to update OPP table voltage part. 2. SVS dts node refers to CPU opp table [2] and GPU opp table [3]. 3. SVS and thermal dts use the same thermal efuse [4]. 4. SVS dts needs power-domain [5][6] and PMIC regulator [7]. [1] https://patchwork.kernel.org/patch/11193513/ [2] https://patchwork.kernel.org/patch/11304935/ [3] https://patchwork.kernel.org/patch/11423009/ [4] https://patchwork.kernel.org/patch/11316495/ [5] https://lore.kernel.org/patchwork/patch/1236875/ [6] https://lore.kernel.org/patchwork/patch/1236878/ [7] https://patchwork.kernel.org/patch/11284617/ pending discussion: - SVS sub-node architecture concern in below patch. https://lore.kernel.org/patchwork/patch/1175994/ changes since v8: - Add svs driver documentation for helping understand it - Make svs driver become a module_platform_driver() - Seperate svs debug feature from svs main driver Roger Lu (4): dt-bindings: power: avs: add mtk svs dt-bindings arm64: dts: mt8183: add svs device information PM / AVS: SVS: introduce SVS engine PM / AVS: SVS: add SVS debug commands .../bindings/power/avs/mtk_svs.yaml | 141 ++ arch/arm64/boot/dts/mediatek/mt8183-evb.dts | 16 + arch/arm64/boot/dts/mediatek/mt8183.dtsi | 41 + drivers/power/avs/Kconfig | 10 + drivers/power/avs/Makefile | 1 + drivers/power/avs/mtk_svs.c | 2180 +++++++++++++++++ include/linux/power/mtk_svs.h | 23 + 7 files changed, 2412 insertions(+) create mode 100644 Documentation/devicetree/bindings/power/avs/mtk_svs.yaml create mode 100644 drivers/power/avs/mtk_svs.c create mode 100644 include/linux/power/mtk_svs.h