[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250623120154.109429-1-angelogioacchino.delregno@collabora.com>
Date: Mon, 23 Jun 2025 14:01:41 +0200
From: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
To: linux-mediatek@...ts.infradead.org
Cc: robh@...nel.org,
krzk+dt@...nel.org,
conor+dt@...nel.org,
matthias.bgg@...il.com,
angelogioacchino.delregno@...labora.com,
ulf.hansson@...aro.org,
y.oudjana@...tonmail.com,
fshao@...omium.org,
wenst@...omium.org,
lihongbo22@...wei.com,
mandyjh.liu@...iatek.com,
mbrugger@...e.com,
devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linux-pm@...r.kernel.org,
kernel@...labora.com
Subject: [PATCH v1 00/13] pmdomain: Partial refactor, add MT8196 support
This series refactors the bus protection regmaps retrieval to avoid
searching in all power domain devicetree subnodes for vendor properties
to get syscons for different busses, and adds a new property which is
located in the power controller root node containing handles to the same.
Retrocompatibility is retained and was tested on multiple SoCs in the
Collabora lab - specifically, on Genio 350/510/700/1200, and manually
on MT6795 Helio (Xperia M5 Smartphone), MT8186, MT8192 and MT8195
Chromebooks.
This was tested *three times*:
- Before the per-SoC conversion in drivers/pmdomain/mediatek
- With per-SoC conversion code but with *legacy* devicetree
- With per-SoC conversion code and with *new* devicetree conversion
All of those tests were successful on all of the aforementioned SoCs.
This also adds support for:
- Modem power domain for both old and new MediaTek SoCs, useful for
bringing up the GSM/3G/4G/5G modem for both laptop and smartphone use
- RTFF MCU HW, as found in MT8196 Chromebooks and MT6991 Dimensity 9400
- Hardware Voter (MT8196/MT6991), allowing ATF, remote processors and
the AP (Linux) to manage the same power domains through a voter MCU,
avoiding power racing
- Directly controlled power domains for MT8196
- Voted power domains for MT8196
- Multimedia (voted) power domains for MT8196.
Note that all of the power domains for MT8196 should also work on MT6991
but since I have no Dimensity 9400 boards, even though I'm 99.5% sure that
it will simply work as those are the same, I avoided to add compatibles
for 6991 as it's impossible for me to test.
AngeloGioacchino Del Regno (13):
dt-bindings: power: mediatek: Document mediatek,bus-protection
pmdomain: mediatek: Refactor bus protection regmaps retrieval
pmdomain: mediatek: Handle SoCs with inverted SRAM power-down bits
pmdomain: mediatek: Move ctl sequences out of power_on/off functions
pmdomain: mediatek: Add support for modem power sequences
pmdomain: mediatek: Add support for RTFF Hardware in MT8196/MT6991
pmdomain: mediatek: Add support for Hardware Voter power domains
pmdomain: mediatek: Add support for secure HWCCF infra power on
pmdomain: mediatek: Convert all SoCs to new style regmap retrieval
arm64: dts: mediatek: Convert all SoCs to use mediatek,bus-protection
dt-bindings: power: Add support for MT8196 power controllers
pmdomain: mediatek: Add support for MT8196 SCPSYS power domains
pmdomain: mediatek: Add support for MT8196 HFRPSYS power domains
.../power/mediatek,power-controller.yaml | 44 ++
arch/arm64/boot/dts/mediatek/mt6795.dtsi | 4 +-
arch/arm64/boot/dts/mediatek/mt6893.dtsi | 11 +-
arch/arm64/boot/dts/mediatek/mt8167.dtsi | 5 +-
arch/arm64/boot/dts/mediatek/mt8173.dtsi | 3 +-
arch/arm64/boot/dts/mediatek/mt8183.dtsi | 15 +-
arch/arm64/boot/dts/mediatek/mt8186.dtsi | 11 +-
arch/arm64/boot/dts/mediatek/mt8188.dtsi | 22 +-
arch/arm64/boot/dts/mediatek/mt8192.dtsi | 12 +-
arch/arm64/boot/dts/mediatek/mt8195.dtsi | 21 +-
arch/arm64/boot/dts/mediatek/mt8365.dtsi | 14 +-
drivers/pmdomain/mediatek/mt6795-pm-domains.h | 5 +
drivers/pmdomain/mediatek/mt8167-pm-domains.h | 5 +
drivers/pmdomain/mediatek/mt8173-pm-domains.h | 5 +
drivers/pmdomain/mediatek/mt8183-pm-domains.h | 5 +
drivers/pmdomain/mediatek/mt8186-pm-domains.h | 5 +
drivers/pmdomain/mediatek/mt8188-pm-domains.h | 6 +
drivers/pmdomain/mediatek/mt8192-pm-domains.h | 5 +
drivers/pmdomain/mediatek/mt8195-pm-domains.h | 5 +
drivers/pmdomain/mediatek/mt8196-pm-domains.h | 625 ++++++++++++++++
drivers/pmdomain/mediatek/mt8365-pm-domains.h | 14 +-
drivers/pmdomain/mediatek/mtk-pm-domains.c | 694 +++++++++++++++---
drivers/pmdomain/mediatek/mtk-pm-domains.h | 123 +++-
.../dt-bindings/power/mediatek,mt8196-power.h | 58 ++
24 files changed, 1500 insertions(+), 217 deletions(-)
create mode 100644 drivers/pmdomain/mediatek/mt8196-pm-domains.h
create mode 100644 include/dt-bindings/power/mediatek,mt8196-power.h
--
2.49.0
Powered by blists - more mailing lists