mbox series

[v2,00/10] arm64: dts: qcom: Add SA8155p-adp board DTS

Message ID 20210615074543.26700-1-bhupesh.sharma@linaro.org
Headers show
Series arm64: dts: qcom: Add SA8155p-adp board DTS | expand

Message

Bhupesh Sharma June 15, 2021, 7:45 a.m. UTC
This series adds DTS for SA8155p-adp board which is based on
Qualcomm snapdragon sa8155p SoC which is simiar to sm8150 SoC. 

This patchset also includes DTS for the new PMIC PMM8155AU
found on the adp board.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Andy Gross <agross@kernel.org>

Bhupesh Sharma (10):
  dt-bindings: qcom: rpmh-regulator: Add compatible for SA8155p-adp
    board pmic
  dt-bindings: pinctrl: qcom,pmic-gpio: Add compatible for SA8155p-adp
  dt-bindings: arm: qcom: Add compatible for sm8150-mtp board
  dt-bindings: arm: qcom: Add compatible for SA8155p-adp board
  regulator: qcom-rpmh: Cleanup terminator line commas
  regulator: qcom-rpmh: Add new regulator found on SA8155p adp board
  pinctrl: qcom/pinctrl-spmi-gpio: Add compatible for pmic-gpio on
    SA8155p-adp
  arm64: dts: qcom: pmm8155au_1: Add base dts file
  arm64: dts: qcom: pmm8155au_2: Add base dts file
  arm64: dts: qcom: sa8155p-adp: Add base dts file

 .../devicetree/bindings/arm/qcom.yaml         |  13 +
 .../bindings/pinctrl/qcom,pmic-gpio.txt       |   2 +
 .../regulator/qcom,rpmh-regulator.yaml        |   1 +
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 arch/arm64/boot/dts/qcom/pmm8155au_1.dtsi     | 134 +++++++
 arch/arm64/boot/dts/qcom/pmm8155au_2.dtsi     | 107 ++++++
 arch/arm64/boot/dts/qcom/sa8155p-adp.dts      | 355 ++++++++++++++++++
 drivers/pinctrl/qcom/pinctrl-spmi-gpio.c      |   1 +
 drivers/regulator/qcom-rpmh-regulator.c       |  62 ++-
 9 files changed, 664 insertions(+), 12 deletions(-)
 create mode 100644 arch/arm64/boot/dts/qcom/pmm8155au_1.dtsi
 create mode 100644 arch/arm64/boot/dts/qcom/pmm8155au_2.dtsi
 create mode 100644 arch/arm64/boot/dts/qcom/sa8155p-adp.dts

-- 
2.31.1

Comments

Konrad Dybcio June 15, 2021, 2:53 p.m. UTC | #1
Hi,


> +

> +	reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;

> +

> +	vcc-supply = <&vreg_l10a_2p96>;

> +	vcc-max-microamp = <750000>;

> +	vccq-supply = <&vreg_l5c_1p2>;

> +	vccq-max-microamp = <700000>;

> +	vccq2-supply = <&vreg_s4a_1p8>;

> +	vccq2-max-microamp = <750000>;


You need to add "regulator-allow-set-load;" to the mentioned supplies,

as you're controlling the amperage here.


> +};

> +

> +&ufs_mem_phy {

> +	status = "okay";

> +

> +	vdda-phy-supply = <&vreg_l8c_1p2>;

> +	vdda-max-microamp = <87100>;

> +	vdda-pll-supply = <&vreg_l5a_0p88>;

> +	vdda-pll-max-microamp = <18300>;


Ditto


Konrad
Bhupesh Sharma June 15, 2021, 5 p.m. UTC | #2
Hi Konrad,

Thanks for the review.

On Tue, 15 Jun 2021 at 20:23, Konrad Dybcio
<konrad.dybcio@somainline.org> wrote:
>
> Hi,
>
>
> > +
> > +     reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
> > +
> > +     vcc-supply = <&vreg_l10a_2p96>;
> > +     vcc-max-microamp = <750000>;
> > +     vccq-supply = <&vreg_l5c_1p2>;
> > +     vccq-max-microamp = <700000>;
> > +     vccq2-supply = <&vreg_s4a_1p8>;
> > +     vccq2-max-microamp = <750000>;
>
> You need to add "regulator-allow-set-load;" to the mentioned supplies,
>
> as you're controlling the amperage here.

Ok, I will fix this in v3.

> > +};
> > +
> > +&ufs_mem_phy {
> > +     status = "okay";
> > +
> > +     vdda-phy-supply = <&vreg_l8c_1p2>;
> > +     vdda-max-microamp = <87100>;
> > +     vdda-pll-supply = <&vreg_l5a_0p88>;
> > +     vdda-pll-max-microamp = <18300>;
>
> Ditto

Sure, I will fix it in v3.

Thanks,
Bhupesh
Bjorn Andersson June 15, 2021, 9:06 p.m. UTC | #3
On Tue 15 Jun 02:45 CDT 2021, Bhupesh Sharma wrote:

> Cleanup the qcom-rpmh regulator driver:

> - remove comma(s) at the end of the terminator line.

> - add missing terminator in instances of

>   pm7325x_vreg_data[] arrays.


This second part needs a:

Fixes: c4e5aa3dbee5 ("regulator: qcom-rpmh: Add PM7325/PMR735A regulator support")

So it's up to Mark if he wants both parts in a single patch.

> 

> Cc: Linus Walleij <linus.walleij@linaro.org>

> Cc: Liam Girdwood <lgirdwood@gmail.com>

> Cc: Mark Brown <broonie@kernel.org>

> Cc: Bjorn Andersson <bjorn.andersson@linaro.org>

> Cc: Vinod Koul <vkoul@kernel.org>

> Cc: Rob Herring <robh+dt@kernel.org>

> Cc: Andy Gross <agross@kernel.org>


I don't think these Cc tags serves a purpose here. The patch itself
looks good though

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>


Regards,
Bjorn

> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>

> ---

>  drivers/regulator/qcom-rpmh-regulator.c | 26 +++++++++++++------------

>  1 file changed, 14 insertions(+), 12 deletions(-)

> 

> diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qcom-rpmh-regulator.c

> index 22fec370fa61..af41a517da99 100644

> --- a/drivers/regulator/qcom-rpmh-regulator.c

> +++ b/drivers/regulator/qcom-rpmh-regulator.c

> @@ -811,12 +811,12 @@ static const struct rpmh_vreg_init_data pm8998_vreg_data[] = {

>  	RPMH_VREG("ldo28",  "ldo%s28", &pmic4_pldo,      "vdd-l16-l28"),

>  	RPMH_VREG("lvs1",   "vs%s1",   &pmic4_lvs,       "vin-lvs-1-2"),

>  	RPMH_VREG("lvs2",   "vs%s2",   &pmic4_lvs,       "vin-lvs-1-2"),

> -	{},

> +	{}

>  };

>  

>  static const struct rpmh_vreg_init_data pmi8998_vreg_data[] = {

>  	RPMH_VREG("bob",    "bob%s1",  &pmic4_bob,       "vdd-bob"),

> -	{},

> +	{}

>  };

>  

>  static const struct rpmh_vreg_init_data pm8005_vreg_data[] = {

> @@ -824,7 +824,7 @@ static const struct rpmh_vreg_init_data pm8005_vreg_data[] = {

>  	RPMH_VREG("smps2",  "smp%s2",  &pmic4_ftsmps426, "vdd-s2"),

>  	RPMH_VREG("smps3",  "smp%s3",  &pmic4_ftsmps426, "vdd-s3"),

>  	RPMH_VREG("smps4",  "smp%s4",  &pmic4_ftsmps426, "vdd-s4"),

> -	{},

> +	{}

>  };

>  

>  static const struct rpmh_vreg_init_data pm8150_vreg_data[] = {

> @@ -856,7 +856,7 @@ static const struct rpmh_vreg_init_data pm8150_vreg_data[] = {

>  	RPMH_VREG("ldo16",  "ldo%s16", &pmic5_pldo,      "vdd-l13-l16-l17"),

>  	RPMH_VREG("ldo17",  "ldo%s17", &pmic5_pldo,      "vdd-l13-l16-l17"),

>  	RPMH_VREG("ldo18",  "ldo%s18", &pmic5_nldo,      "vdd-l3-l4-l5-l18"),

> -	{},

> +	{}

>  };

>  

>  static const struct rpmh_vreg_init_data pm8150l_vreg_data[] = {

> @@ -880,7 +880,7 @@ static const struct rpmh_vreg_init_data pm8150l_vreg_data[] = {

>  	RPMH_VREG("ldo10",  "ldo%s10", &pmic5_pldo,      "vdd-l9-l10"),

>  	RPMH_VREG("ldo11",  "ldo%s11", &pmic5_pldo,      "vdd-l7-l11"),

>  	RPMH_VREG("bob",    "bob%s1",  &pmic5_bob,       "vdd-bob"),

> -	{},

> +	{}

>  };

>  

>  static const struct rpmh_vreg_init_data pm8350_vreg_data[] = {

> @@ -906,7 +906,7 @@ static const struct rpmh_vreg_init_data pm8350_vreg_data[] = {

>  	RPMH_VREG("ldo8",   "ldo%s8",  &pmic5_nldo,      "vdd-l8"),

>  	RPMH_VREG("ldo9",   "ldo%s9",  &pmic5_nldo,      "vdd-l6-l9-l10"),

>  	RPMH_VREG("ldo10",  "ldo%s10", &pmic5_nldo,      "vdd-l6-l9-l10"),

> -	{},

> +	{}

>  };

>  

>  static const struct rpmh_vreg_init_data pm8350c_vreg_data[] = {

> @@ -934,7 +934,7 @@ static const struct rpmh_vreg_init_data pm8350c_vreg_data[] = {

>  	RPMH_VREG("ldo12",  "ldo%s12", &pmic5_pldo_lv,   "vdd-l1-l12"),

>  	RPMH_VREG("ldo13",  "ldo%s13", &pmic5_pldo,      "vdd-l3-l4-l5-l7-l13"),

>  	RPMH_VREG("bob",    "bob%s1",  &pmic5_bob,       "vdd-bob"),

> -	{},

> +	{}

>  };

>  

>  static const struct rpmh_vreg_init_data pm8009_vreg_data[] = {

> @@ -947,7 +947,7 @@ static const struct rpmh_vreg_init_data pm8009_vreg_data[] = {

>  	RPMH_VREG("ldo5",   "ldo%s5",  &pmic5_pldo,      "vdd-l5-l6"),

>  	RPMH_VREG("ldo6",   "ldo%s6",  &pmic5_pldo,      "vdd-l5-l6"),

>  	RPMH_VREG("ldo7",   "ldo%s7",  &pmic5_pldo_lv,   "vdd-l7"),

> -	{},

> +	{}

>  };

>  

>  static const struct rpmh_vreg_init_data pm8009_1_vreg_data[] = {

> @@ -960,7 +960,7 @@ static const struct rpmh_vreg_init_data pm8009_1_vreg_data[] = {

>  	RPMH_VREG("ldo5",   "ldo%s5",  &pmic5_pldo,      "vdd-l5-l6"),

>  	RPMH_VREG("ldo6",   "ldo%s6",  &pmic5_pldo,      "vdd-l5-l6"),

>  	RPMH_VREG("ldo7",   "ldo%s6",  &pmic5_pldo_lv,   "vdd-l7"),

> -	{},

> +	{}

>  };

>  

>  static const struct rpmh_vreg_init_data pm6150_vreg_data[] = {

> @@ -988,7 +988,7 @@ static const struct rpmh_vreg_init_data pm6150_vreg_data[] = {

>  	RPMH_VREG("ldo17",  "ldo%s17", &pmic5_pldo,   "vdd-l5-l16-l17-l18-l19"),

>  	RPMH_VREG("ldo18",  "ldo%s18", &pmic5_pldo,   "vdd-l5-l16-l17-l18-l19"),

>  	RPMH_VREG("ldo19",  "ldo%s19", &pmic5_pldo,   "vdd-l5-l16-l17-l18-l19"),

> -	{},

> +	{}

>  };

>  

>  static const struct rpmh_vreg_init_data pm6150l_vreg_data[] = {

> @@ -1012,7 +1012,7 @@ static const struct rpmh_vreg_init_data pm6150l_vreg_data[] = {

>  	RPMH_VREG("ldo10",  "ldo%s10", &pmic5_pldo,      "vdd-l9-l10"),

>  	RPMH_VREG("ldo11",  "ldo%s11", &pmic5_pldo,      "vdd-l7-l11"),

>  	RPMH_VREG("bob",    "bob%s1",  &pmic5_bob,       "vdd-bob"),

> -	{},

> +	{}

>  };

>  

>  static const struct rpmh_vreg_init_data pmx55_vreg_data[] = {

> @@ -1039,7 +1039,7 @@ static const struct rpmh_vreg_init_data pmx55_vreg_data[] = {

>  	RPMH_VREG("ldo14",   "ldo%s14",   &pmic5_nldo,      "vdd-l14"),

>  	RPMH_VREG("ldo15",   "ldo%s15",   &pmic5_nldo,      "vdd-l15"),

>  	RPMH_VREG("ldo16",   "ldo%s16",   &pmic5_pldo,      "vdd-l16"),

> -	{},

> +	{}

>  };

>  

>  static const struct rpmh_vreg_init_data pm7325_vreg_data[] = {

> @@ -1070,6 +1070,7 @@ static const struct rpmh_vreg_init_data pm7325_vreg_data[] = {

>  	RPMH_VREG("ldo17",  "ldo%s17", &pmic5_pldo_lv,   "vdd-l11-l17-l18-l19"),

>  	RPMH_VREG("ldo18",  "ldo%s18", &pmic5_pldo_lv,   "vdd-l11-l17-l18-l19"),

>  	RPMH_VREG("ldo19",  "ldo%s19", &pmic5_pldo_lv,   "vdd-l11-l17-l18-l19"),

> +	{}

>  };

>  

>  static const struct rpmh_vreg_init_data pmr735a_vreg_data[] = {

> @@ -1083,6 +1084,7 @@ static const struct rpmh_vreg_init_data pmr735a_vreg_data[] = {

>  	RPMH_VREG("ldo5",   "ldo%s5",  &pmic5_nldo,      "vdd-l5-l6"),

>  	RPMH_VREG("ldo6",   "ldo%s6",  &pmic5_nldo,      "vdd-l5-l6"),

>  	RPMH_VREG("ldo7",   "ldo%s7",  &pmic5_pldo,      "vdd-l7-bob"),

> +	{}

>  };

>  

>  static int rpmh_regulator_probe(struct platform_device *pdev)

> -- 

> 2.31.1

>
Bjorn Andersson June 15, 2021, 9:07 p.m. UTC | #4
On Tue 15 Jun 02:45 CDT 2021, Bhupesh Sharma wrote:

> SA8155p-adp PMIC (PMM8155AU) exposes 10 GPIOs.
> 
> Add support for the same in the pinctrl driver.
> 
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
> Cc: Vinod Koul <vkoul@kernel.org>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Andy Gross <agross@kernel.org>

I don't think the Cc tags provides any value.

> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
> ---
>  drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
> index 00870da0c94e..f886c683e2bd 100644
> --- a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
> +++ b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
> @@ -1127,6 +1127,7 @@ static const struct of_device_id pmic_gpio_of_match[] = {
>  	{ .compatible = "qcom,pm8150b-gpio", .data = (void *) 12 },
>  	/* pm8150l has 12 GPIOs with holes on 7 */
>  	{ .compatible = "qcom,pm8150l-gpio", .data = (void *) 12 },
> +	{ .compatible = "qcom,pmm8155au-gpio", .data = (void *) 10 },

But we want to keep these sorted alphabetically.

Regards,
Bjorn

>  	{ .compatible = "qcom,pm8350-gpio", .data = (void *) 10 },
>  	{ .compatible = "qcom,pm8350b-gpio", .data = (void *) 8 },
>  	{ .compatible = "qcom,pm8350c-gpio", .data = (void *) 9 },
> -- 
> 2.31.1
>
Bjorn Andersson June 15, 2021, 9:09 p.m. UTC | #5
On Tue 15 Jun 02:45 CDT 2021, Bhupesh Sharma wrote:

> Add base DTS file for pmm8155au_2 along with GPIOs, power-on, rtc and vadc

> nodes.

> 

> Cc: Linus Walleij <linus.walleij@linaro.org>

> Cc: Liam Girdwood <lgirdwood@gmail.com>

> Cc: Mark Brown <broonie@kernel.org>

> Cc: Bjorn Andersson <bjorn.andersson@linaro.org>

> Cc: Vinod Koul <vkoul@kernel.org>

> Cc: Rob Herring <robh+dt@kernel.org>

> Cc: Andy Gross <agross@kernel.org>

> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>


Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>


Regards,
Bjorn

> ---

>  arch/arm64/boot/dts/qcom/pmm8155au_2.dtsi | 107 ++++++++++++++++++++++

>  1 file changed, 107 insertions(+)

>  create mode 100644 arch/arm64/boot/dts/qcom/pmm8155au_2.dtsi

> 

> diff --git a/arch/arm64/boot/dts/qcom/pmm8155au_2.dtsi b/arch/arm64/boot/dts/qcom/pmm8155au_2.dtsi

> new file mode 100644

> index 000000000000..0c7d7a66c0b5

> --- /dev/null

> +++ b/arch/arm64/boot/dts/qcom/pmm8155au_2.dtsi

> @@ -0,0 +1,107 @@

> +// SPDX-License-Identifier: BSD-3-Clause

> +/*

> + * Copyright (c) 2021, Linaro Limited

> + */

> +

> +#include <dt-bindings/input/input.h>

> +#include <dt-bindings/interrupt-controller/irq.h>

> +#include <dt-bindings/spmi/spmi.h>

> +

> +/ {

> +	thermal-zones {

> +		pmm8155au-2-thermal {

> +			polling-delay-passive = <100>;

> +			polling-delay = <0>;

> +

> +			thermal-sensors = <&pmm8155au_2_temp>;

> +

> +			trips {

> +				trip0 {

> +					temperature = <95000>;

> +					hysteresis = <0>;

> +					type = "passive";

> +				};

> +

> +				trip1 {

> +					temperature = <115000>;

> +					hysteresis = <0>;

> +					type = "hot";

> +				};

> +

> +				trip2 {

> +					temperature = <145000>;

> +					hysteresis = <0>;

> +					type = "critical";

> +				};

> +			};

> +		};

> +	};

> +};

> +

> +&spmi_bus {

> +	pmic@4 {

> +		compatible = "qcom,pmm8155au", "qcom,spmi-pmic";

> +		reg = <0x4 SPMI_USID>;

> +		#address-cells = <1>;

> +		#size-cells = <0>;

> +

> +		power-on@800 {

> +			compatible = "qcom,pm8916-pon";

> +			reg = <0x0800>;

> +

> +			status = "disabled";

> +		};

> +

> +		pmm8155au_2_temp: temp-alarm@2400 {

> +			compatible = "qcom,spmi-temp-alarm";

> +			reg = <0x2400>;

> +			interrupts = <0x4 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;

> +			io-channels = <&pmm8155au_2_adc ADC5_DIE_TEMP>;

> +			io-channel-names = "thermal";

> +			#thermal-sensor-cells = <0>;

> +		};

> +

> +		pmm8155au_2_adc: adc@3100 {

> +			compatible = "qcom,spmi-adc5";

> +			reg = <0x3100>;

> +			#address-cells = <1>;

> +			#size-cells = <0>;

> +			#io-channel-cells = <1>;

> +			interrupts = <0x4 0x31 0x0 IRQ_TYPE_EDGE_RISING>;

> +

> +			ref-gnd@0 {

> +				reg = <ADC5_REF_GND>;

> +				qcom,pre-scaling = <1 1>;

> +				label = "ref_gnd";

> +			};

> +

> +			vref-1p25@1 {

> +				reg = <ADC5_1P25VREF>;

> +				qcom,pre-scaling = <1 1>;

> +				label = "vref_1p25";

> +			};

> +

> +			die-temp@6 {

> +				reg = <ADC5_DIE_TEMP>;

> +				qcom,pre-scaling = <1 1>;

> +				label = "die_temp";

> +			};

> +		};

> +

> +		pmm8155au_2_gpios: gpio@c000 {

> +			compatible = "qcom,pmm8155au-gpio";

> +			reg = <0xc000>;

> +			gpio-controller;

> +			#gpio-cells = <2>;

> +			interrupt-controller;

> +			#interrupt-cells = <2>;

> +		};

> +	};

> +

> +	pmic@5 {

> +		compatible = "qcom,pmm8155au", "qcom,spmi-pmic";

> +		reg = <0x5 SPMI_USID>;

> +		#address-cells = <1>;

> +		#size-cells = <0>;

> +	};

> +};

> -- 

> 2.31.1

>
Bjorn Andersson June 15, 2021, 9:13 p.m. UTC | #6
On Tue 15 Jun 02:45 CDT 2021, Bhupesh Sharma wrote:

> Add base DTS file for SA8155p Automotive Development Platform.

> It enables boot to console, adds tlmm reserved range and ufs flash.

> It also includes pmic file.

> 

> SA8155p-adp board is based on sa8155p Qualcomm Snapdragon SoC.

> SA8155p platform is similar to the SM8150, so use this as base

> for now.

> 

> Cc: Linus Walleij <linus.walleij@linaro.org>

> Cc: Liam Girdwood <lgirdwood@gmail.com>

> Cc: Mark Brown <broonie@kernel.org>

> Cc: Bjorn Andersson <bjorn.andersson@linaro.org>

> Cc: Vinod Koul <vkoul@kernel.org>

> Cc: Rob Herring <robh+dt@kernel.org>

> Cc: Andy Gross <agross@kernel.org>


With the feedback of regulator-allow-set-load addressed this looks good!

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>


Regards,
Bjorn

> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>

> ---

>  arch/arm64/boot/dts/qcom/Makefile        |   1 +

>  arch/arm64/boot/dts/qcom/sa8155p-adp.dts | 355 +++++++++++++++++++++++

>  2 files changed, 356 insertions(+)

>  create mode 100644 arch/arm64/boot/dts/qcom/sa8155p-adp.dts

> 

> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile

> index 456502aeee49..666f3528697d 100644

> --- a/arch/arm64/boot/dts/qcom/Makefile

> +++ b/arch/arm64/boot/dts/qcom/Makefile

> @@ -32,6 +32,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-oneplus-dumpling.dtb

>  dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-1000.dtb

>  dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-4000.dtb

>  dtb-$(CONFIG_ARCH_QCOM)	+= qrb5165-rb5.dtb

> +dtb-$(CONFIG_ARCH_QCOM)	+= sa8155p-adp.dtb

>  dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-idp.dtb

>  dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-trogdor-coachz-r1.dtb

>  dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-trogdor-coachz-r1-lte.dtb

> diff --git a/arch/arm64/boot/dts/qcom/sa8155p-adp.dts b/arch/arm64/boot/dts/qcom/sa8155p-adp.dts

> new file mode 100644

> index 000000000000..95e0a6612e6b

> --- /dev/null

> +++ b/arch/arm64/boot/dts/qcom/sa8155p-adp.dts

> @@ -0,0 +1,355 @@

> +// SPDX-License-Identifier: BSD-3-Clause

> +/*

> + * Copyright (c) 2021, Linaro Limited

> + */

> +

> +/dts-v1/;

> +

> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h>

> +#include <dt-bindings/gpio/gpio.h>

> +#include "sm8150.dtsi"

> +#include "pmm8155au_1.dtsi"

> +#include "pmm8155au_2.dtsi"

> +

> +/ {

> +	model = "Qualcomm Technologies, Inc. SA8155P ADP";

> +	compatible = "qcom,sa8155p-adp", "qcom,sa8155p";

> +

> +	aliases {

> +		serial0 = &uart2;

> +	};

> +

> +	chosen {

> +		stdout-path = "serial0:115200n8";

> +	};

> +

> +	vreg_3p3: vreg_3p3_regulator {

> +		compatible = "regulator-fixed";

> +		regulator-name = "vreg_3p3";

> +		regulator-min-microvolt = <3300000>;

> +		regulator-max-microvolt = <3300000>;

> +	};

> +

> +	/*

> +	 * S4A is always on and not controllable through RPMh.

> +	 * So model it as a fixed regulator.

> +	 */

> +	vreg_s4a_1p8: smps4 {

> +		compatible = "regulator-fixed";

> +		regulator-name = "vreg_s4a_1p8";

> +

> +		regulator-min-microvolt = <1800000>;

> +		regulator-max-microvolt = <1800000>;

> +

> +		regulator-always-on;

> +		regulator-boot-on;

> +

> +		vin-supply = <&vreg_3p3>;

> +	};

> +};

> +

> +&apps_rsc {

> +	pmm8155au-1-rpmh-regulators {

> +		compatible = "qcom,pmm8155au-rpmh-regulators";

> +		qcom,pmic-id = "a";

> +

> +		vdd-s1-supply = <&vreg_3p3>;

> +		vdd-s2-supply = <&vreg_3p3>;

> +		vdd-s3-supply = <&vreg_3p3>;

> +		vdd-s4-supply = <&vreg_3p3>;

> +		vdd-s5-supply = <&vreg_3p3>;

> +		vdd-s6-supply = <&vreg_3p3>;

> +		vdd-s7-supply = <&vreg_3p3>;

> +		vdd-s8-supply = <&vreg_3p3>;

> +		vdd-s9-supply = <&vreg_3p3>;

> +		vdd-s10-supply = <&vreg_3p3>;

> +

> +		vdd-l1-l8-l11-supply = <&vreg_s6a_0p92>;

> +		vdd-l2-l10-supply = <&vreg_3p3>;

> +		vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p92>;

> +		vdd-l6-l9-supply = <&vreg_s6a_0p92>;

> +		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>;

> +		vdd-l13-l16-l17-supply = <&vreg_3p3>;

> +

> +		vreg_s5a_2p04: smps5 {

> +			regulator-name = "vreg_s5a_2p04";

> +			regulator-min-microvolt = <1904000>;

> +			regulator-max-microvolt = <2000000>;

> +		};

> +

> +		vreg_s6a_0p92: smps6 {

> +			regulator-name = "vreg_s6a_0p92";

> +			regulator-min-microvolt = <920000>;

> +			regulator-max-microvolt = <1128000>;

> +		};

> +

> +		vreg_l1a_0p752: ldo1 {

> +			regulator-name = "vreg_l1a_0p752";

> +			regulator-min-microvolt = <752000>;

> +			regulator-max-microvolt = <752000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vdda_usb_hs_3p1:

> +		vreg_l2a_3p072: ldo2 {

> +			regulator-name = "vreg_l2a_3p072";

> +			regulator-min-microvolt = <3072000>;

> +			regulator-max-microvolt = <3072000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l3a_0p8: ldo3 {

> +			regulator-name = "vreg_l3a_0p8";

> +			regulator-min-microvolt = <800000>;

> +			regulator-max-microvolt = <800000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vdd_usb_hs_core:

> +		vdda_usb_ss_dp_core_1:

> +		vreg_l5a_0p88: ldo5 {

> +			regulator-name = "vreg_l5a_0p88";

> +			regulator-min-microvolt = <880000>;

> +			regulator-max-microvolt = <880000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l7a_1p8: ldo7 {

> +			regulator-name = "vreg_l7a_1p8";

> +			regulator-min-microvolt = <1800000>;

> +			regulator-max-microvolt = <1800000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l10a_2p96: ldo10 {

> +			regulator-name = "vreg_l10a_2p96";

> +			regulator-min-microvolt = <2504000>;

> +			regulator-max-microvolt = <2960000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l11a_0p8: ldo11 {

> +			regulator-name = "vreg_l11a_0p8";

> +			regulator-min-microvolt = <800000>;

> +			regulator-max-microvolt = <800000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vdda_usb_hs_1p8:

> +		vreg_l12a_1p8: ldo12 {

> +			regulator-name = "vreg_l12a_1p8";

> +			regulator-min-microvolt = <1800000>;

> +			regulator-max-microvolt = <1800000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l13a_2p7: ldo13 {

> +			regulator-name = "vreg_l13a_2p7";

> +			regulator-min-microvolt = <2704000>;

> +			regulator-max-microvolt = <2704000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l15a_1p7: ldo15 {

> +			regulator-name = "vreg_l15a_1p7";

> +			regulator-min-microvolt = <1704000>;

> +			regulator-max-microvolt = <1704000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l16a_2p7: ldo16 {

> +			regulator-name = "vreg_l16a_2p7";

> +			regulator-min-microvolt = <2704000>;

> +			regulator-max-microvolt = <2960000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l17a_2p96: ldo17 {

> +			regulator-name = "vreg_l17a_2p96";

> +			regulator-min-microvolt = <2504000>;

> +			regulator-max-microvolt = <2960000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +	};

> +

> +	pmm8155au-2-rpmh-regulators {

> +		compatible = "qcom,pmm8155au-rpmh-regulators";

> +		qcom,pmic-id = "c";

> +

> +		vdd-s1-supply = <&vreg_3p3>;

> +		vdd-s2-supply = <&vreg_3p3>;

> +		vdd-s3-supply = <&vreg_3p3>;

> +		vdd-s4-supply = <&vreg_3p3>;

> +		vdd-s5-supply = <&vreg_3p3>;

> +		vdd-s6-supply = <&vreg_3p3>;

> +		vdd-s7-supply = <&vreg_3p3>;

> +		vdd-s8-supply = <&vreg_3p3>;

> +		vdd-s9-supply = <&vreg_3p3>;

> +		vdd-s10-supply = <&vreg_3p3>;

> +

> +		vdd-l1-l8-l11-supply = <&vreg_s4c_1p352>;

> +		vdd-l2-l10-supply = <&vreg_3p3>;

> +		vdd-l3-l4-l5-l18-supply = <&vreg_s4c_1p352>;

> +		vdd-l6-l9-supply = <&vreg_s6c_1p128>;

> +		vdd-l7-l12-l14-l15-supply = <&vreg_s5c_2p04>;

> +		vdd-l13-l16-l17-supply = <&vreg_3p3>;

> +

> +		vreg_s4c_1p352: smps4 {

> +			regulator-name = "vreg_s4c_1p352";

> +			regulator-min-microvolt = <1352000>;

> +			regulator-max-microvolt = <1352000>;

> +		};

> +

> +		vreg_s5c_2p04: smps5 {

> +			regulator-name = "vreg_s5c_2p04";

> +			regulator-min-microvolt = <1904000>;

> +			regulator-max-microvolt = <2000000>;

> +		};

> +

> +		vreg_s6c_1p128: smps6 {

> +			regulator-name = "vreg_s6c_1p128";

> +			regulator-min-microvolt = <1128000>;

> +			regulator-max-microvolt = <1128000>;

> +		};

> +

> +		vreg_l1c_1p304: ldo1 {

> +			regulator-name = "vreg_l1c_1p304";

> +			regulator-min-microvolt = <1304000>;

> +			regulator-max-microvolt = <1304000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l2c_1p808: ldo2 {

> +			regulator-name = "vreg_l2c_1p808";

> +			regulator-min-microvolt = <1704000>;

> +			regulator-max-microvolt = <2928000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l5c_1p2: ldo5 {

> +			regulator-name = "vreg_l5c_1p2";

> +			regulator-min-microvolt = <1200000>;

> +			regulator-max-microvolt = <1200000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l7c_1p8: ldo7 {

> +			regulator-name = "vreg_l7c_1p8";

> +			regulator-min-microvolt = <1800000>;

> +			regulator-max-microvolt = <1800000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l8c_1p2: ldo8 {

> +			regulator-name = "vreg_l8c_1p2";

> +			regulator-min-microvolt = <1200000>;

> +			regulator-max-microvolt = <1200000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l10c_3p3: ldo10 {

> +			regulator-name = "vreg_l10c_3p3";

> +			regulator-min-microvolt = <3000000>;

> +			regulator-max-microvolt = <3312000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l11c_0p8: ldo11 {

> +			regulator-name = "vreg_l11c_0p8";

> +			regulator-min-microvolt = <800000>;

> +			regulator-max-microvolt = <800000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l12c_1p808: ldo12 {

> +			regulator-name = "vreg_l12c_1p808";

> +			regulator-min-microvolt = <1704000>;

> +			regulator-max-microvolt = <2928000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l13c_2p96: ldo13 {

> +			regulator-name = "vreg_l13c_2p96";

> +			regulator-min-microvolt = <2504000>;

> +			regulator-max-microvolt = <2960000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l15c_1p9: ldo15 {

> +			regulator-name = "vreg_l15c_1p9";

> +			regulator-min-microvolt = <1704000>;

> +			regulator-max-microvolt = <2928000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l16c_3p008: ldo16 {

> +			regulator-name = "vreg_l16c_3p008";

> +			regulator-min-microvolt = <3008000>;

> +			regulator-max-microvolt = <3008000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +

> +		vreg_l18c_0p88: ldo18 {

> +			regulator-name = "vreg_l18c_0p88";

> +			regulator-min-microvolt = <880000>;

> +			regulator-max-microvolt = <880000>;

> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;

> +		};

> +	};

> +};

> +

> +&tlmm {

> +	gpio-reserved-ranges = <0 4>;

> +};

> +

> +&uart2 {

> +	status = "okay";

> +};

> +

> +&ufs_mem_hc {

> +	status = "okay";

> +

> +	reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;

> +

> +	vcc-supply = <&vreg_l10a_2p96>;

> +	vcc-max-microamp = <750000>;

> +	vccq-supply = <&vreg_l5c_1p2>;

> +	vccq-max-microamp = <700000>;

> +	vccq2-supply = <&vreg_s4a_1p8>;

> +	vccq2-max-microamp = <750000>;

> +};

> +

> +&ufs_mem_phy {

> +	status = "okay";

> +

> +	vdda-phy-supply = <&vreg_l8c_1p2>;

> +	vdda-max-microamp = <87100>;

> +	vdda-pll-supply = <&vreg_l5a_0p88>;

> +	vdda-pll-max-microamp = <18300>;

> +};

> +

> +

> +&usb_1_hsphy {

> +	status = "okay";

> +	vdda-pll-supply = <&vdd_usb_hs_core>;

> +	vdda33-supply = <&vdda_usb_hs_3p1>;

> +	vdda18-supply = <&vdda_usb_hs_1p8>;

> +};

> +

> +&usb_1_qmpphy {

> +	status = "okay";

> +	vdda-phy-supply = <&vreg_l8c_1p2>;

> +	vdda-pll-supply = <&vdda_usb_ss_dp_core_1>;

> +};

> +

> +&usb_1 {

> +	status = "okay";

> +};

> +

> +&usb_1_dwc3 {

> +	dr_mode = "peripheral";

> +};

> +

> +&qupv3_id_1 {

> +	status = "okay";

> +};

> -- 

> 2.31.1

>