On Tue, Feb 14, 2023 at 10:54:35AM +0100, Konrad Dybcio wrote: > The RPMhPD setup on SA8155P is different compared to SM8150. Correct > it to ensure the platform will not try accessing forbidden/missing > RPMh entries at boot, as a bad vote will hang the machine. > I don't see that this will scale, as soon as someone adds a new device in sm8150.dtsi that has the need to scale a power rail this will be forgotten and we will have a mix of references to the SM8150 and SA8155P value space. That said, I think it's reasonable to avoid duplicating the entire sm8150.dtsi. How about making the SA8155P_* macros match the SM8150_* macros? That way things will fail gracefully if a device node references a resource not defined for either platform... Regards, Bjorn > Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> > --- > arch/arm64/boot/dts/qcom/sa8155p-adp.dts | 2 +- > arch/arm64/boot/dts/qcom/sa8155p.dtsi | 51 ++++++++++++++++++++++++ > 2 files changed, 52 insertions(+), 1 deletion(-) > create mode 100644 arch/arm64/boot/dts/qcom/sa8155p.dtsi > > diff --git a/arch/arm64/boot/dts/qcom/sa8155p-adp.dts b/arch/arm64/boot/dts/qcom/sa8155p-adp.dts > index 459384ec8f23..9454e8e4e517 100644 > --- a/arch/arm64/boot/dts/qcom/sa8155p-adp.dts > +++ b/arch/arm64/boot/dts/qcom/sa8155p-adp.dts > @@ -7,7 +7,7 @@ > > #include <dt-bindings/regulator/qcom,rpmh-regulator.h> > #include <dt-bindings/gpio/gpio.h> > -#include "sm8150.dtsi" > +#include "sa8155p.dtsi" > #include "pmm8155au_1.dtsi" > #include "pmm8155au_2.dtsi" > > diff --git a/arch/arm64/boot/dts/qcom/sa8155p.dtsi b/arch/arm64/boot/dts/qcom/sa8155p.dtsi > new file mode 100644 > index 000000000000..f2fd7c28764e > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sa8155p.dtsi > @@ -0,0 +1,51 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2023, Linaro Limited > + * > + * SA8155P is an automotive variant of SM8150, with some minor changes. > + * Most notably, the RPMhPD setup differs: MMCX and LCX/LMX rails are gone. > + */ > + > +#include "sm8150.dtsi" > + > +&dispcc { > + power-domains = <&rpmhpd SA8155P_CX>; > +}; > + > +&mdss_mdp { > + power-domains = <&rpmhpd SA8155P_CX>; > +}; > + > +&mdss_dsi0 { > + power-domains = <&rpmhpd SA8155P_CX>; > +}; > + > +&mdss_dsi1 { > + power-domains = <&rpmhpd SA8155P_CX>; > +}; > + > +&remoteproc_adsp { > + power-domains = <&rpmhpd SA8155P_CX>; > +}; > + > +&remoteproc_cdsp { > + power-domains = <&rpmhpd SA8155P_CX>; > +}; > + > +&remoteproc_mpss { > + power-domains = <&rpmhpd SA8155P_CX>, > + <&rpmhpd SA8155P_MSS>; > +}; > + > +&remoteproc_slpi { > + power-domains = <&rpmhpd SA8155P_CX>, > + <&rpmhpd SA8155P_MX>; > +}; > + > +&rpmhpd { > + compatible = "qcom,sa8155p-rpmhpd"; > +}; > + > +&sdhc_2 { > + power-domains = <&rpmhpd SA8155P_CX>; > +}; > -- > 2.39.1 >