Message ID | 20241115225152.3264396-5-quic_wasimn@quicinc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | arm64: qcom: Add support for QCS9075 boards | expand |
On Sat, Nov 16, 2024 at 04:21:51AM +0530, Wasim Nazir wrote: > Add device tree support for the QCS9075-RB8 board. > > Basic changes are supported for boot to shell. > > Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> > --- > arch/arm64/boot/dts/qcom/Makefile | 1 + > arch/arm64/boot/dts/qcom/qcs9075-rb8.dts | 281 +++++++++++++++++++++++ > 2 files changed, 282 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-rb8.dts > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index 9bb8b191aeb5..5d9847119f2e 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -115,6 +115,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-rb8.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb > dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-rb8.dts b/arch/arm64/boot/dts/qcom/qcs9075-rb8.dts > new file mode 100644 > index 000000000000..e4307ff1e2a7 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/qcs9075-rb8.dts > @@ -0,0 +1,281 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > + */ > +/dts-v1/; > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> > + > +#include "sa8775p.dtsi" > +#include "sa8775p-pmics.dtsi" > + > +/ { > + model = "Qualcomm Technologies, Inc. QCS9075 RB8"; Is this going to be an actual product name? Usually RBx boards are named differently. > + compatible = "qcom,qcs9075-rb8", "qcom,qcs9075", "qcom,sa8775p"; > + > + aliases { > + serial0 = &uart10; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > +}; > + > +&apps_rsc { > + regulators-0 { > + compatible = "qcom,pmm8654au-rpmh-regulators"; > + qcom,pmic-id = "a"; > + > + vreg_s4a: smps4 { > + regulator-name = "vreg_s4a"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1816000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_s5a: smps5 { > + regulator-name = "vreg_s5a"; > + regulator-min-microvolt = <1850000>; > + regulator-max-microvolt = <1996000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_s9a: smps9 { > + regulator-name = "vreg_s9a"; > + regulator-min-microvolt = <535000>; > + regulator-max-microvolt = <1120000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l4a: ldo4 { > + regulator-name = "vreg_l4a"; > + regulator-min-microvolt = <788000>; > + regulator-max-microvolt = <1050000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l5a: ldo5 { > + regulator-name = "vreg_l5a"; > + regulator-min-microvolt = <870000>; > + regulator-max-microvolt = <950000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l6a: ldo6 { > + regulator-name = "vreg_l6a"; > + regulator-min-microvolt = <870000>; > + regulator-max-microvolt = <970000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l7a: ldo7 { > + regulator-name = "vreg_l7a"; > + regulator-min-microvolt = <720000>; > + regulator-max-microvolt = <950000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l8a: ldo8 { > + regulator-name = "vreg_l8a"; > + regulator-min-microvolt = <2504000>; > + regulator-max-microvolt = <3300000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l9a: ldo9 { > + regulator-name = "vreg_l9a"; > + regulator-min-microvolt = <2970000>; > + regulator-max-microvolt = <3544000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + }; > + > + regulators-1 { > + compatible = "qcom,pmm8654au-rpmh-regulators"; > + qcom,pmic-id = "c"; > + > + vreg_l1c: ldo1 { > + regulator-name = "vreg_l1c"; > + regulator-min-microvolt = <1140000>; > + regulator-max-microvolt = <1260000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l2c: ldo2 { > + regulator-name = "vreg_l2c"; > + regulator-min-microvolt = <900000>; > + regulator-max-microvolt = <1100000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l3c: ldo3 { > + regulator-name = "vreg_l3c"; > + regulator-min-microvolt = <1100000>; > + regulator-max-microvolt = <1300000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l4c: ldo4 { > + regulator-name = "vreg_l4c"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + /* > + * FIXME: This should have regulator-allow-set-load but > + * we're getting an over-current fault from the PMIC > + * when switching to LPM. > + */ > + }; > + > + vreg_l5c: ldo5 { > + regulator-name = "vreg_l5c"; > + regulator-min-microvolt = <1100000>; > + regulator-max-microvolt = <1300000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l6c: ldo6 { > + regulator-name = "vreg_l6c"; > + regulator-min-microvolt = <1620000>; > + regulator-max-microvolt = <1980000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l7c: ldo7 { > + regulator-name = "vreg_l7c"; > + regulator-min-microvolt = <1620000>; > + regulator-max-microvolt = <2000000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l8c: ldo8 { > + regulator-name = "vreg_l8c"; > + regulator-min-microvolt = <2400000>; > + regulator-max-microvolt = <3300000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l9c: ldo9 { > + regulator-name = "vreg_l9c"; > + regulator-min-microvolt = <1650000>; > + regulator-max-microvolt = <2700000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + }; > + > + regulators-2 { > + compatible = "qcom,pmm8654au-rpmh-regulators"; > + qcom,pmic-id = "e"; > + > + vreg_s4e: smps4 { > + regulator-name = "vreg_s4e"; > + regulator-min-microvolt = <970000>; > + regulator-max-microvolt = <1520000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_s7e: smps7 { > + regulator-name = "vreg_s7e"; > + regulator-min-microvolt = <1010000>; > + regulator-max-microvolt = <1170000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_s9e: smps9 { > + regulator-name = "vreg_s9e"; > + regulator-min-microvolt = <300000>; > + regulator-max-microvolt = <570000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l6e: ldo6 { > + regulator-name = "vreg_l6e"; > + regulator-min-microvolt = <1280000>; > + regulator-max-microvolt = <1450000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l8e: ldo8 { > + regulator-name = "vreg_l8e"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1950000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > + RPMH_REGULATOR_MODE_HPM>; > + }; > + }; > +}; > + > +&qupv3_id_1 { > + status = "okay"; > +}; > + > +&sleep_clk { > + clock-frequency = <32768>; > +}; > + > +&tlmm { > + qup_uart10_default: qup-uart10-state { > + pins = "gpio46", "gpio47"; > + function = "qup1_se3"; > + }; > +}; > + > +&uart10 { > + compatible = "qcom,geni-debug-uart"; > + pinctrl-0 = <&qup_uart10_default>; > + pinctrl-names = "default"; > + status = "okay"; > +}; > + > +&xo_board_clk { > + clock-frequency = <38400000>; > +}; > -- > 2.47.0 >
On Sat, Nov 16, 2024 at 01:53:00AM +0200, Dmitry Baryshkov wrote: > On Sat, Nov 16, 2024 at 04:21:51AM +0530, Wasim Nazir wrote: > > Add device tree support for the QCS9075-RB8 board. > > > > Basic changes are supported for boot to shell. > > > > Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> > > --- > > arch/arm64/boot/dts/qcom/Makefile | 1 + > > arch/arm64/boot/dts/qcom/qcs9075-rb8.dts | 281 +++++++++++++++++++++++ > > 2 files changed, 282 insertions(+) > > create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-rb8.dts > > > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > > index 9bb8b191aeb5..5d9847119f2e 100644 > > --- a/arch/arm64/boot/dts/qcom/Makefile > > +++ b/arch/arm64/boot/dts/qcom/Makefile > > @@ -115,6 +115,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb > > +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-rb8.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb > > dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb > > diff --git a/arch/arm64/boot/dts/qcom/qcs9075-rb8.dts b/arch/arm64/boot/dts/qcom/qcs9075-rb8.dts > > new file mode 100644 > > index 000000000000..e4307ff1e2a7 > > --- /dev/null > > +++ b/arch/arm64/boot/dts/qcom/qcs9075-rb8.dts > > @@ -0,0 +1,281 @@ > > +// SPDX-License-Identifier: BSD-3-Clause > > +/* > > + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. > > + */ > > +/dts-v1/; > > + > > +#include <dt-bindings/gpio/gpio.h> > > +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> > > + > > +#include "sa8775p.dtsi" > > +#include "sa8775p-pmics.dtsi" > > + > > +/ { > > + model = "Qualcomm Technologies, Inc. QCS9075 RB8"; > > Is this going to be an actual product name? Usually RBx boards are named > differently. Will update it in next series. > > > + compatible = "qcom,qcs9075-rb8", "qcom,qcs9075", "qcom,sa8775p"; > > + > > + aliases { > > + serial0 = &uart10; > > + }; > > + > > + chosen { > > + stdout-path = "serial0:115200n8"; > > + }; > > +}; > > + > > +&apps_rsc { > > + regulators-0 { > > + compatible = "qcom,pmm8654au-rpmh-regulators"; > > + qcom,pmic-id = "a"; > > + > > + vreg_s4a: smps4 { > > + regulator-name = "vreg_s4a"; > > + regulator-min-microvolt = <1800000>; > > + regulator-max-microvolt = <1816000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_s5a: smps5 { > > + regulator-name = "vreg_s5a"; > > + regulator-min-microvolt = <1850000>; > > + regulator-max-microvolt = <1996000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_s9a: smps9 { > > + regulator-name = "vreg_s9a"; > > + regulator-min-microvolt = <535000>; > > + regulator-max-microvolt = <1120000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_l4a: ldo4 { > > + regulator-name = "vreg_l4a"; > > + regulator-min-microvolt = <788000>; > > + regulator-max-microvolt = <1050000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_l5a: ldo5 { > > + regulator-name = "vreg_l5a"; > > + regulator-min-microvolt = <870000>; > > + regulator-max-microvolt = <950000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_l6a: ldo6 { > > + regulator-name = "vreg_l6a"; > > + regulator-min-microvolt = <870000>; > > + regulator-max-microvolt = <970000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_l7a: ldo7 { > > + regulator-name = "vreg_l7a"; > > + regulator-min-microvolt = <720000>; > > + regulator-max-microvolt = <950000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_l8a: ldo8 { > > + regulator-name = "vreg_l8a"; > > + regulator-min-microvolt = <2504000>; > > + regulator-max-microvolt = <3300000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_l9a: ldo9 { > > + regulator-name = "vreg_l9a"; > > + regulator-min-microvolt = <2970000>; > > + regulator-max-microvolt = <3544000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + }; > > + > > + regulators-1 { > > + compatible = "qcom,pmm8654au-rpmh-regulators"; > > + qcom,pmic-id = "c"; > > + > > + vreg_l1c: ldo1 { > > + regulator-name = "vreg_l1c"; > > + regulator-min-microvolt = <1140000>; > > + regulator-max-microvolt = <1260000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_l2c: ldo2 { > > + regulator-name = "vreg_l2c"; > > + regulator-min-microvolt = <900000>; > > + regulator-max-microvolt = <1100000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_l3c: ldo3 { > > + regulator-name = "vreg_l3c"; > > + regulator-min-microvolt = <1100000>; > > + regulator-max-microvolt = <1300000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_l4c: ldo4 { > > + regulator-name = "vreg_l4c"; > > + regulator-min-microvolt = <1200000>; > > + regulator-max-microvolt = <1200000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + /* > > + * FIXME: This should have regulator-allow-set-load but > > + * we're getting an over-current fault from the PMIC > > + * when switching to LPM. > > + */ > > + }; > > + > > + vreg_l5c: ldo5 { > > + regulator-name = "vreg_l5c"; > > + regulator-min-microvolt = <1100000>; > > + regulator-max-microvolt = <1300000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_l6c: ldo6 { > > + regulator-name = "vreg_l6c"; > > + regulator-min-microvolt = <1620000>; > > + regulator-max-microvolt = <1980000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_l7c: ldo7 { > > + regulator-name = "vreg_l7c"; > > + regulator-min-microvolt = <1620000>; > > + regulator-max-microvolt = <2000000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_l8c: ldo8 { > > + regulator-name = "vreg_l8c"; > > + regulator-min-microvolt = <2400000>; > > + regulator-max-microvolt = <3300000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_l9c: ldo9 { > > + regulator-name = "vreg_l9c"; > > + regulator-min-microvolt = <1650000>; > > + regulator-max-microvolt = <2700000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + }; > > + > > + regulators-2 { > > + compatible = "qcom,pmm8654au-rpmh-regulators"; > > + qcom,pmic-id = "e"; > > + > > + vreg_s4e: smps4 { > > + regulator-name = "vreg_s4e"; > > + regulator-min-microvolt = <970000>; > > + regulator-max-microvolt = <1520000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_s7e: smps7 { > > + regulator-name = "vreg_s7e"; > > + regulator-min-microvolt = <1010000>; > > + regulator-max-microvolt = <1170000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_s9e: smps9 { > > + regulator-name = "vreg_s9e"; > > + regulator-min-microvolt = <300000>; > > + regulator-max-microvolt = <570000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_l6e: ldo6 { > > + regulator-name = "vreg_l6e"; > > + regulator-min-microvolt = <1280000>; > > + regulator-max-microvolt = <1450000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + > > + vreg_l8e: ldo8 { > > + regulator-name = "vreg_l8e"; > > + regulator-min-microvolt = <1800000>; > > + regulator-max-microvolt = <1950000>; > > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > > + regulator-allow-set-load; > > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM > > + RPMH_REGULATOR_MODE_HPM>; > > + }; > > + }; > > +}; > > + > > +&qupv3_id_1 { > > + status = "okay"; > > +}; > > + > > +&sleep_clk { > > + clock-frequency = <32768>; > > +}; > > + > > +&tlmm { > > + qup_uart10_default: qup-uart10-state { > > + pins = "gpio46", "gpio47"; > > + function = "qup1_se3"; > > + }; > > +}; > > + > > +&uart10 { > > + compatible = "qcom,geni-debug-uart"; > > + pinctrl-0 = <&qup_uart10_default>; > > + pinctrl-names = "default"; > > + status = "okay"; > > +}; > > + > > +&xo_board_clk { > > + clock-frequency = <38400000>; > > +}; > > -- > > 2.47.0 > > > > -- > With best wishes > Dmitry Thanks & Regards, Wasim
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 9bb8b191aeb5..5d9847119f2e 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -115,6 +115,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb +dtb-$(CONFIG_ARCH_QCOM) += qcs9075-rb8.dtb dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb diff --git a/arch/arm64/boot/dts/qcom/qcs9075-rb8.dts b/arch/arm64/boot/dts/qcom/qcs9075-rb8.dts new file mode 100644 index 000000000000..e4307ff1e2a7 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qcs9075-rb8.dts @@ -0,0 +1,281 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. + */ +/dts-v1/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> + +#include "sa8775p.dtsi" +#include "sa8775p-pmics.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. QCS9075 RB8"; + compatible = "qcom,qcs9075-rb8", "qcom,qcs9075", "qcom,sa8775p"; + + aliases { + serial0 = &uart10; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; +}; + +&apps_rsc { + regulators-0 { + compatible = "qcom,pmm8654au-rpmh-regulators"; + qcom,pmic-id = "a"; + + vreg_s4a: smps4 { + regulator-name = "vreg_s4a"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1816000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_s5a: smps5 { + regulator-name = "vreg_s5a"; + regulator-min-microvolt = <1850000>; + regulator-max-microvolt = <1996000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_s9a: smps9 { + regulator-name = "vreg_s9a"; + regulator-min-microvolt = <535000>; + regulator-max-microvolt = <1120000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l4a: ldo4 { + regulator-name = "vreg_l4a"; + regulator-min-microvolt = <788000>; + regulator-max-microvolt = <1050000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l5a: ldo5 { + regulator-name = "vreg_l5a"; + regulator-min-microvolt = <870000>; + regulator-max-microvolt = <950000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l6a: ldo6 { + regulator-name = "vreg_l6a"; + regulator-min-microvolt = <870000>; + regulator-max-microvolt = <970000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l7a: ldo7 { + regulator-name = "vreg_l7a"; + regulator-min-microvolt = <720000>; + regulator-max-microvolt = <950000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l8a: ldo8 { + regulator-name = "vreg_l8a"; + regulator-min-microvolt = <2504000>; + regulator-max-microvolt = <3300000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l9a: ldo9 { + regulator-name = "vreg_l9a"; + regulator-min-microvolt = <2970000>; + regulator-max-microvolt = <3544000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + }; + + regulators-1 { + compatible = "qcom,pmm8654au-rpmh-regulators"; + qcom,pmic-id = "c"; + + vreg_l1c: ldo1 { + regulator-name = "vreg_l1c"; + regulator-min-microvolt = <1140000>; + regulator-max-microvolt = <1260000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l2c: ldo2 { + regulator-name = "vreg_l2c"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1100000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l3c: ldo3 { + regulator-name = "vreg_l3c"; + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1300000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l4c: ldo4 { + regulator-name = "vreg_l4c"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + /* + * FIXME: This should have regulator-allow-set-load but + * we're getting an over-current fault from the PMIC + * when switching to LPM. + */ + }; + + vreg_l5c: ldo5 { + regulator-name = "vreg_l5c"; + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1300000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l6c: ldo6 { + regulator-name = "vreg_l6c"; + regulator-min-microvolt = <1620000>; + regulator-max-microvolt = <1980000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l7c: ldo7 { + regulator-name = "vreg_l7c"; + regulator-min-microvolt = <1620000>; + regulator-max-microvolt = <2000000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l8c: ldo8 { + regulator-name = "vreg_l8c"; + regulator-min-microvolt = <2400000>; + regulator-max-microvolt = <3300000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l9c: ldo9 { + regulator-name = "vreg_l9c"; + regulator-min-microvolt = <1650000>; + regulator-max-microvolt = <2700000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + }; + + regulators-2 { + compatible = "qcom,pmm8654au-rpmh-regulators"; + qcom,pmic-id = "e"; + + vreg_s4e: smps4 { + regulator-name = "vreg_s4e"; + regulator-min-microvolt = <970000>; + regulator-max-microvolt = <1520000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_s7e: smps7 { + regulator-name = "vreg_s7e"; + regulator-min-microvolt = <1010000>; + regulator-max-microvolt = <1170000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_s9e: smps9 { + regulator-name = "vreg_s9e"; + regulator-min-microvolt = <300000>; + regulator-max-microvolt = <570000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l6e: ldo6 { + regulator-name = "vreg_l6e"; + regulator-min-microvolt = <1280000>; + regulator-max-microvolt = <1450000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l8e: ldo8 { + regulator-name = "vreg_l8e"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1950000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM + RPMH_REGULATOR_MODE_HPM>; + }; + }; +}; + +&qupv3_id_1 { + status = "okay"; +}; + +&sleep_clk { + clock-frequency = <32768>; +}; + +&tlmm { + qup_uart10_default: qup-uart10-state { + pins = "gpio46", "gpio47"; + function = "qup1_se3"; + }; +}; + +&uart10 { + compatible = "qcom,geni-debug-uart"; + pinctrl-0 = <&qup_uart10_default>; + pinctrl-names = "default"; + status = "okay"; +}; + +&xo_board_clk { + clock-frequency = <38400000>; +};
Add device tree support for the QCS9075-RB8 board. Basic changes are supported for boot to shell. Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> --- arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/qcs9075-rb8.dts | 281 +++++++++++++++++++++++ 2 files changed, 282 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/qcs9075-rb8.dts -- 2.47.0