Thread (61 messages) 61 messages, 5 authors, 2022-07-14

Re: [PATCH v1 08/16] arm64: dts: mt8195: Add power domains controller

From: Krzysztof Kozlowski <hidden>
Date: 2022-07-06 14:35:26
Also in: linux-devicetree, linux-iommu, linux-mediatek, lkml

On 06/07/2022 15:41, Matthias Brugger wrote:

On 04/07/2022 14:38, Krzysztof Kozlowski wrote:
quoted
On 04/07/2022 12:00, Tinghan Shen wrote:
quoted
Add power domains controller node for mt8195.

Signed-off-by: Weiyi Lu <redacted>
Signed-off-by: Tinghan Shen <redacted>
---
  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.
quoted
quoted
+			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/ (local)
https://lore.kernel.org/all/20220701000959.GA3588170-robh@kernel.org/ (local)


Best regards,
Krzysztof

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help