Messages in this thread | | | Date | Wed, 6 Jul 2022 16:35:17 +0200 | Subject | Re: [PATCH v1 08/16] arm64: dts: mt8195: Add power domains controller | From | Krzysztof Kozlowski <> |
| |
On 06/07/2022 15:41, Matthias Brugger wrote: > > > On 04/07/2022 14:38, Krzysztof Kozlowski wrote: >> On 04/07/2022 12:00, Tinghan Shen wrote: >>> Add power domains controller node for mt8195. >>> >>> Signed-off-by: Weiyi Lu <weiyi.lu@mediatek.com> >>> Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com> >>> --- >>> arch/arm64/boot/dts/mediatek/mt8195.dtsi | 327 +++++++++++++++++++++++ >>> 1 file changed, 327 insertions(+) >>> >>> diff --git a/arch/arm64/boot/dts/mediatek/mt8195.dtsi b/arch/arm64/boot/dts/mediatek/mt8195.dtsi >>> index 8d59a7da3271..d52e140d9271 100644 >>> --- a/arch/arm64/boot/dts/mediatek/mt8195.dtsi >>> +++ b/arch/arm64/boot/dts/mediatek/mt8195.dtsi >>> @@ -10,6 +10,7 @@ >>> #include <dt-bindings/interrupt-controller/irq.h> >>> #include <dt-bindings/phy/phy.h> >>> #include <dt-bindings/pinctrl/mt8195-pinfunc.h> >>> +#include <dt-bindings/power/mt8195-power.h> >>> >>> / { >>> compatible = "mediatek,mt8195"; >>> @@ -338,6 +339,332 @@ >>> #interrupt-cells = <2>; >>> }; >>> >>> + scpsys: syscon@10006000 { >>> + compatible = "syscon", "simple-mfd"; >> >> These compatibles cannot be alone. >> > > You mean we would need something like "mediatek,scpsys" as dummy compatible > that's not bound to any driver?
Yes. syscon (and simple-mfd) must always come with a specific compatible.
> >>> + reg = <0 0x10006000 0 0x1000>; >>> + #power-domain-cells = <1>; >> >> If it is simple MFD, then probably it is not a power domain provider. >> Decide. > > The SCPSYS IP block of MediaTek SoCs group several functionality, one is the > power domain controller. Others are not yet implemented, but defining the scpsys > as a MFD will give us the possibility to do so in the future.
No, quite the opposite. Having simple-mfd prevents you from implementing it correctly later as a driver, because you cannot remove it. It would be ABI break.
It's fine to have one block being a simple MFD having several children, but then it's not a power controller. Children could be such power controller, but not simple-mfd. Rob explained this several times: https://lore.kernel.org/all/YXhINE00HG6hbQI4@robh.at.kernel.org/ https://lore.kernel.org/all/20220701000959.GA3588170-robh@kernel.org/
Best regards, Krzysztof
| |