Message ID | 20240708194808.1819185-2-gnstark@salutedevices.com |
---|---|
State | New |
Headers | show |
Series | [1/4] dt-bindings: spi: amlogic,a1-spifc: make power-domains required | expand |
Hello Krzysztof, Neil, Rob Thanks for your reviews. I'd just like to clarify things a little on that matter. On A1 most of periphery has either dedicated power domain (ir, spifc, spi, cpu etc) or several peripheries share single PD e.g. pwm, temp sensor, i2c, adc share PD 12. Appropriate PD must be turned on before the periphery is touched and be on while periphery is used. Experiments confirm it. So power-domains property in dts nodes is really required. It makes kernel to control PDs when bound periphery is used. If I understand bindings thing correctly we should make power-domains property required in bindings too in that case, at least for those peripheries which has *a1* compatibles (some peripheries use compatible from older SoCs without PDs). What you think? On 7/8/24 22:51, Krzysztof Kozlowski wrote: > On 08/07/2024 21:48, George Stark wrote: >> SPI Flash Controller has dedicated power domain so make the >> corresponding property required. > > That's an ABI break. Being part of power domain does not necessarily > mean it must be required, so your commit msg lacks rationale. Especially > on the ABI part. > > > > Best regards, > Krzysztof >
On 10/07/2024 18:23, George Stark wrote: > Hello Krzysztof, Neil, Rob > > Thanks for your reviews. > > I'd just like to clarify things a little on that matter. On A1 most of > periphery has either dedicated power domain (ir, spifc, spi, cpu etc) or > several peripheries share single PD e.g. pwm, temp sensor, i2c, adc > share PD 12. Appropriate PD must be turned on before the periphery is > touched and be on while periphery is used. Experiments confirm it. So > power-domains property in dts nodes is really required. It makes kernel > to control PDs when bound periphery is used. > > If I understand bindings thing correctly we should make power-domains > property required in bindings too in that case, at least for those > peripheries which has *a1* compatibles (some peripheries use compatible > from older SoCs without PDs). > > What you think? Yes, but if the compatible has already been defined without a required power-domain, then it's too late to mark it as required since it's an ABI break. So next time a new compatible is added, it's the appropriate time to mark it as required. But in any case it's not a big deal because if the power-domain is not specified it won't work, like if you use wrong register address or the wrong interrupt line. The fact power-domain can be specified is enough. Neil > > On 7/8/24 22:51, Krzysztof Kozlowski wrote: >> On 08/07/2024 21:48, George Stark wrote: >>> SPI Flash Controller has dedicated power domain so make the >>> corresponding property required. >> >> That's an ABI break. Being part of power domain does not necessarily >> mean it must be required, so your commit msg lacks rationale. Especially >> on the ABI part. >> >> >> >> Best regards, >> Krzysztof >> >
diff --git a/Documentation/devicetree/bindings/spi/amlogic,a1-spifc.yaml b/Documentation/devicetree/bindings/spi/amlogic,a1-spifc.yaml index 043879b434ac..e704aff8a862 100644 --- a/Documentation/devicetree/bindings/spi/amlogic,a1-spifc.yaml +++ b/Documentation/devicetree/bindings/spi/amlogic,a1-spifc.yaml @@ -30,15 +30,19 @@ required: - compatible - reg - clocks + - power-domains unevaluatedProperties: false examples: - | + #include <dt-bindings/power/meson-a1-power.h> + spi@fd000400 { compatible = "amlogic,a1-spifc"; reg = <0xfd000400 0x290>; clocks = <&clkc_clkid_spifc>; #address-cells = <1>; #size-cells = <0>; + power-domains = <&pwrc PWRC_SPIFC_ID>; };
SPI Flash Controller has dedicated power domain so make the corresponding property required. Signed-off-by: George Stark <gnstark@salutedevices.com> --- Documentation/devicetree/bindings/spi/amlogic,a1-spifc.yaml | 4 ++++ 1 file changed, 4 insertions(+)