[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <27c99ecf-75ab-1798-2b59-3be397d153d0@linaro.org>
Date: Wed, 6 Jul 2022 16:35:17 +0200
From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To: Matthias Brugger <matthias.bgg@...il.com>,
Tinghan Shen <tinghan.shen@...iatek.com>,
Yong Wu <yong.wu@...iatek.com>, Joerg Roedel <joro@...tes.org>,
Will Deacon <will@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Chun-Jie Chen <chun-jie.chen@...iatek.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>,
Enric Balletbo i Serra <enric.balletbo@...labora.com>,
Weiyi Lu <weiyi.lu@...iatek.com>
Cc: iommu@...ts.linux-foundation.org,
linux-mediatek@...ts.infradead.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
Project_Global_Chrome_Upstream_Group@...iatek.com
Subject: Re: [PATCH v1 08/16] arm64: dts: mt8195: Add power domains controller
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@...iatek.com>
>>> Signed-off-by: Tinghan Shen <tinghan.shen@...iatek.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@...06000 {
>>> + 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
Powered by blists - more mailing lists