Skip to content

Commit cc4651a

Browse files
committed
arm64: dts: qcom: add SA8540P ride(Qdrive-3)
Bugzilla: https://bugzilla.redhat.com/2159516 commit 6be3103 Author: Parikshit Pareek <quic_ppareek@quicinc.com> Date: Fri Nov 18 08:21:58 2022 +0530 arm64: dts: qcom: add SA8540P ride(Qdrive-3) Introduce the Qualcomm SA8540P ride automotive platform, also known as Qdrive-3 development board. This initial contribution supports SMP, CPUFreq, cluster idle, UFS, RPMh regulators, debug UART, PMICs, remoteprocs and USB. The SA8540P ride contains four PM8450 PMICs. A separate DTSI file has been created for PMIC, so that it can be used for future SA8540P based boards. Signed-off-by: Parikshit Pareek <quic_ppareek@quicinc.com> Tested-by: Brian Masney <bmasney@redhat.com> Reviewed-by: Brian Masney <bmasney@redhat.com> Tested-by: Eric Chanudet <echanude@redhat.com> Reviewed-by: Eric Chanudet <echanude@redhat.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Tested-by: Andrew Halaney <ahalaney@redhat.com> Signed-off-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20221118025158.16902-3-quic_ppareek@quicinc.com Signed-off-by: Adrien Thierry <athierry@redhat.com>
1 parent a679702 commit cc4651a

File tree

3 files changed

+295
-0
lines changed

3 files changed

+295
-0
lines changed

arch/arm64/boot/dts/qcom/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb
3737
dtb-$(CONFIG_ARCH_QCOM) += qrb5165-rb5.dtb
3838
dtb-$(CONFIG_ARCH_QCOM) += sa8155p-adp.dtb
3939
dtb-$(CONFIG_ARCH_QCOM) += sa8295p-adp.dtb
40+
dtb-$(CONFIG_ARCH_QCOM) += sa8540p-ride.dtb
4041
dtb-$(CONFIG_ARCH_QCOM) += sc7180-idp.dtb
4142
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-coachz-r1.dtb
4243
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-coachz-r1-lte.dtb
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
// SPDX-License-Identifier: BSD-3-Clause
2+
/*
3+
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
4+
* Copyright (c) 2022, Linaro Limited
5+
*/
6+
7+
#include <dt-bindings/spmi/spmi.h>
8+
9+
&spmi_bus {
10+
pm8450a: pmic@0 {
11+
compatible = "qcom,pm8150", "qcom,spmi-pmic";
12+
reg = <0x0 SPMI_USID>;
13+
#address-cells = <1>;
14+
#size-cells = <0>;
15+
16+
pm8450a_gpios: gpio@c000 {
17+
compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
18+
reg = <0xc000>;
19+
gpio-controller;
20+
gpio-ranges = <&pm8450a_gpios 0 0 10>;
21+
#gpio-cells = <2>;
22+
interrupt-controller;
23+
#interrupt-cells = <2>;
24+
};
25+
};
26+
27+
pm8450c: pmic@4 {
28+
compatible = "qcom,pm8150", "qcom,spmi-pmic";
29+
reg = <0x4 SPMI_USID>;
30+
#address-cells = <1>;
31+
#size-cells = <0>;
32+
33+
pm8450c_gpios: gpio@c000 {
34+
compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
35+
reg = <0xc000>;
36+
gpio-controller;
37+
gpio-ranges = <&pm8450c_gpios 0 0 10>;
38+
#gpio-cells = <2>;
39+
interrupt-controller;
40+
#interrupt-cells = <2>;
41+
};
42+
};
43+
44+
pm8450e: pmic@8 {
45+
compatible = "qcom,pm8150", "qcom,spmi-pmic";
46+
reg = <0x8 SPMI_USID>;
47+
#address-cells = <1>;
48+
#size-cells = <0>;
49+
50+
pm8450e_gpios: gpio@c000 {
51+
compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
52+
reg = <0xc000>;
53+
gpio-controller;
54+
gpio-ranges = <&pm8450e_gpios 0 0 10>;
55+
#gpio-cells = <2>;
56+
interrupt-controller;
57+
#interrupt-cells = <2>;
58+
};
59+
};
60+
61+
pm8450g: pmic@c {
62+
compatible = "qcom,pm8150", "qcom,spmi-pmic";
63+
reg = <0xc SPMI_USID>;
64+
#address-cells = <1>;
65+
#size-cells = <0>;
66+
67+
pm8450g_gpios: gpio@c000 {
68+
compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
69+
reg = <0xc000>;
70+
gpio-controller;
71+
gpio-ranges = <&pm8450g_gpios 0 0 10>;
72+
#gpio-cells = <2>;
73+
interrupt-controller;
74+
#interrupt-cells = <2>;
75+
};
76+
};
77+
};
Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
// SPDX-License-Identifier: BSD-3-Clause
2+
/*
3+
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
4+
* Copyright (c) 2022, Linaro Limited
5+
*/
6+
7+
/dts-v1/;
8+
9+
#include <dt-bindings/gpio/gpio.h>
10+
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
11+
12+
#include "sa8540p.dtsi"
13+
#include "pm8450a.dtsi"
14+
15+
/ {
16+
model = "Qualcomm SA8540P Ride";
17+
compatible = "qcom,sa8540p-ride", "qcom,sa8540p";
18+
19+
aliases {
20+
serial0 = &qup2_uart17;
21+
};
22+
23+
chosen {
24+
stdout-path = "serial0:115200n8";
25+
};
26+
};
27+
28+
&apps_rsc {
29+
regulators-0 {
30+
compatible = "qcom,pm8150-rpmh-regulators";
31+
qcom,pmic-id = "a";
32+
33+
vreg_l3a: ldo3 {
34+
regulator-name = "vreg_l3a";
35+
regulator-min-microvolt = <1200000>;
36+
regulator-max-microvolt = <1208000>;
37+
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
38+
};
39+
40+
vreg_l5a: ldo5 {
41+
regulator-name = "vreg_l5a";
42+
regulator-min-microvolt = <912000>;
43+
regulator-max-microvolt = <912000>;
44+
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
45+
};
46+
47+
vreg_l7a: ldo7 {
48+
regulator-name = "vreg_l7a";
49+
regulator-min-microvolt = <1800000>;
50+
regulator-max-microvolt = <1800000>;
51+
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
52+
};
53+
54+
vreg_l13a: ldo13 {
55+
regulator-name = "vreg_l13a";
56+
regulator-min-microvolt = <3072000>;
57+
regulator-max-microvolt = <3072000>;
58+
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
59+
};
60+
};
61+
62+
regulators-1 {
63+
compatible = "qcom,pm8150-rpmh-regulators";
64+
qcom,pmic-id = "c";
65+
66+
vreg_l1c: ldo1 {
67+
regulator-name = "vreg_l1c";
68+
regulator-min-microvolt = <912000>;
69+
regulator-max-microvolt = <912000>;
70+
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
71+
};
72+
73+
vreg_l2c: ldo2 {
74+
regulator-name = "vreg_l2c";
75+
regulator-min-microvolt = <3072000>;
76+
regulator-max-microvolt = <3072000>;
77+
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
78+
};
79+
80+
vreg_l4c: ldo4 {
81+
regulator-name = "vreg_l4c";
82+
regulator-min-microvolt = <1200000>;
83+
regulator-max-microvolt = <1208000>;
84+
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
85+
};
86+
87+
vreg_l6c: ldo6 {
88+
regulator-name = "vreg_l6c";
89+
regulator-min-microvolt = <1200000>;
90+
regulator-max-microvolt = <1200000>;
91+
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
92+
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
93+
RPMH_REGULATOR_MODE_HPM>;
94+
regulator-allow-set-load;
95+
};
96+
97+
vreg_l7c: ldo7 {
98+
regulator-name = "vreg_l7c";
99+
regulator-min-microvolt = <1800000>;
100+
regulator-max-microvolt = <1800000>;
101+
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
102+
};
103+
104+
vreg_l17c: ldo17 {
105+
regulator-name = "vreg_l17c";
106+
regulator-min-microvolt = <2504000>;
107+
regulator-max-microvolt = <2504000>;
108+
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
109+
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
110+
RPMH_REGULATOR_MODE_HPM>;
111+
regulator-allow-set-load;
112+
};
113+
};
114+
115+
regulators-2 {
116+
compatible = "qcom,pm8150-rpmh-regulators";
117+
qcom,pmic-id = "g";
118+
119+
vreg_l3g: ldo3 {
120+
regulator-name = "vreg_l3g";
121+
regulator-min-microvolt = <1200000>;
122+
regulator-max-microvolt = <1200000>;
123+
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
124+
};
125+
126+
vreg_l7g: ldo7 {
127+
regulator-name = "vreg_l7g";
128+
regulator-min-microvolt = <1800000>;
129+
regulator-max-microvolt = <1800000>;
130+
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
131+
};
132+
133+
vreg_l8g: ldo8 {
134+
regulator-name = "vreg_l8g";
135+
regulator-min-microvolt = <880000>;
136+
regulator-max-microvolt = <880000>;
137+
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
138+
};
139+
};
140+
};
141+
142+
&qup2 {
143+
status = "okay";
144+
};
145+
146+
&qup2_uart17 {
147+
compatible = "qcom,geni-debug-uart";
148+
status = "okay";
149+
};
150+
151+
&remoteproc_nsp0 {
152+
firmware-name = "qcom/sa8540p/cdsp.mbn";
153+
status = "okay";
154+
};
155+
156+
&remoteproc_nsp1 {
157+
firmware-name = "qcom/sa8540p/cdsp1.mbn";
158+
status = "okay";
159+
};
160+
161+
&ufs_mem_hc {
162+
reset-gpios = <&tlmm 228 GPIO_ACTIVE_LOW>;
163+
164+
vcc-supply = <&vreg_l17c>;
165+
vccq-supply = <&vreg_l6c>;
166+
167+
status = "okay";
168+
};
169+
170+
&ufs_mem_phy {
171+
vdda-phy-supply = <&vreg_l8g>;
172+
vdda-pll-supply = <&vreg_l3g>;
173+
174+
status = "okay";
175+
};
176+
177+
&usb_0 {
178+
status = "okay";
179+
};
180+
181+
&usb_0_dwc3 {
182+
dr_mode = "peripheral";
183+
};
184+
185+
&usb_0_hsphy {
186+
vdda-pll-supply = <&vreg_l5a>;
187+
vdda18-supply = <&vreg_l7a>;
188+
vdda33-supply = <&vreg_l13a>;
189+
190+
status = "okay";
191+
};
192+
193+
&usb_0_qmpphy {
194+
vdda-phy-supply = <&vreg_l3a>;
195+
vdda-pll-supply = <&vreg_l5a>;
196+
197+
status = "okay";
198+
};
199+
200+
&usb_2_hsphy0 {
201+
vdda-pll-supply = <&vreg_l5a>;
202+
vdda18-supply = <&vreg_l7g>;
203+
vdda33-supply = <&vreg_l13a>;
204+
205+
status = "okay";
206+
};
207+
208+
&usb_2_qmpphy0 {
209+
vdda-phy-supply = <&vreg_l3a>;
210+
vdda-pll-supply = <&vreg_l5a>;
211+
212+
status = "okay";
213+
};
214+
215+
&xo_board_clk {
216+
clock-frequency = <38400000>;
217+
};

0 commit comments

Comments
 (0)