Skip to content

Commit 8b14607

Browse files
authored
Bring-up of the PURWA-IOT-EVK evaluation board (#383)
Bring-up of the PURWA-IOT-EVK evaluation board
2 parents 84a45dc + 528d751 commit 8b14607

26 files changed

+2950
-361
lines changed

Documentation/devicetree/bindings/arm/qcom.yaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1096,7 +1096,19 @@ properties:
10961096

10971097
- items:
10981098
- enum:
1099-
- asus,zenbook-a14-ux3407qa
1099+
- qcom,purwa-iot-evk
1100+
- const: qcom,purwa-iot-som
1101+
- const: qcom,x1p42100
1102+
1103+
- items:
1104+
- enum:
1105+
- asus,zenbook-a14-ux3407qa-lcd
1106+
- asus,zenbook-a14-ux3407qa-oled
1107+
- const: asus,zenbook-a14-ux3407qa
1108+
- const: qcom,x1p42100
1109+
1110+
- items:
1111+
- enum:
11001112
- hp,omnibook-x14-fe1
11011113
- lenovo,thinkbook-16
11021114
- qcom,x1p42100-crd

Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-ufs-phy.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ properties:
2020
- enum:
2121
- qcom,qcs615-qmp-ufs-phy
2222
- const: qcom,sm6115-qmp-ufs-phy
23+
- items:
24+
- enum:
25+
- qcom,x1e80100-qmp-ufs-phy
26+
- const: qcom,sm8550-qmp-ufs-phy
2327
- items:
2428
- enum:
2529
- qcom,qcs8300-qmp-ufs-phy

Documentation/devicetree/bindings/ufs/qcom,sc7180-ufshc.yaml

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,21 +31,27 @@ select:
3131

3232
properties:
3333
compatible:
34-
items:
35-
- enum:
36-
- qcom,msm8998-ufshc
37-
- qcom,qcs8300-ufshc
38-
- qcom,sa8775p-ufshc
39-
- qcom,sc7180-ufshc
40-
- qcom,sc7280-ufshc
41-
- qcom,sc8180x-ufshc
42-
- qcom,sc8280xp-ufshc
43-
- qcom,sm8250-ufshc
44-
- qcom,sm8350-ufshc
45-
- qcom,sm8450-ufshc
46-
- qcom,sm8550-ufshc
47-
- const: qcom,ufshc
48-
- const: jedec,ufs-2.0
34+
oneOf:
35+
- items:
36+
- enum:
37+
- qcom,x1e80100-ufshc
38+
- const: qcom,sm8550-ufshc
39+
- const: qcom,ufshc
40+
- items:
41+
- enum:
42+
- qcom,msm8998-ufshc
43+
- qcom,qcs8300-ufshc
44+
- qcom,sa8775p-ufshc
45+
- qcom,sc7180-ufshc
46+
- qcom,sc7280-ufshc
47+
- qcom,sc8180x-ufshc
48+
- qcom,sc8280xp-ufshc
49+
- qcom,sm8250-ufshc
50+
- qcom,sm8350-ufshc
51+
- qcom,sm8450-ufshc
52+
- qcom,sm8550-ufshc
53+
- const: qcom,ufshc
54+
- const: jedec,ufs-2.0
4955

5056
reg:
5157
maxItems: 1

arch/arm64/boot/dts/qcom/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-lilac.dtb
147147
dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-maple.dtb
148148
dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-poplar.dtb
149149
dtb-$(CONFIG_ARCH_QCOM) += msm8998-xiaomi-sagit.dtb
150+
dtb-$(CONFIG_ARCH_QCOM) += purwa-iot-evk.dtb
150151
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-fairphone-fp5.dtb
151152
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-idp.dtb
152153
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-particle-tachyon.dtb
@@ -401,6 +402,8 @@ x1e80100-qcp-el2-dtbs := x1e80100-qcp.dtb x1-el2.dtbo
401402
dtb-$(CONFIG_ARCH_QCOM) += x1e80100-qcp.dtb x1e80100-qcp-el2.dtb
402403
x1p42100-asus-zenbook-a14-el2-dtbs := x1p42100-asus-zenbook-a14.dtb x1-el2.dtbo
403404
dtb-$(CONFIG_ARCH_QCOM) += x1p42100-asus-zenbook-a14.dtb x1p42100-asus-zenbook-a14-el2.dtb
405+
x1p42100-asus-zenbook-a14-lcd-el2-dtbs := x1p42100-asus-zenbook-a14-lcd.dtb x1-el2.dtbo
406+
dtb-$(CONFIG_ARCH_QCOM) += x1p42100-asus-zenbook-a14-lcd.dtb x1p42100-asus-zenbook-a14-lcd-el2.dtb
404407
x1p42100-crd-el2-dtbs := x1p42100-crd.dtb x1-el2.dtbo
405408
dtb-$(CONFIG_ARCH_QCOM) += x1p42100-crd.dtb x1p42100-crd-el2.dtb
406409
x1p42100-hp-omnibook-x14-el2-dtbs := x1p42100-hp-omnibook-x14.dtb x1-el2.dtbo

arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts

Lines changed: 118 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
/dts-v1/;
77

8+
#include <dt-bindings/leds/common.h>
89
#include "hamoa-iot-som.dtsi"
910
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
1011

@@ -59,6 +60,32 @@
5960
stdout-path = "serial0:115200n8";
6061
};
6162

63+
connector3 {
64+
compatible = "usb-a-connector";
65+
label = "USB-3-Type-A";
66+
power-role = "source";
67+
68+
vbus-supply = <&regulator_usb3_vbus>;
69+
70+
port {
71+
connector_3_in: endpoint {
72+
};
73+
};
74+
};
75+
76+
connector6 {
77+
compatible = "usb-a-connector";
78+
label = "USB-6-Type-A";
79+
power-role = "source";
80+
81+
vbus-supply = <&regulator_usb6_vbus>;
82+
83+
port {
84+
connector_4_in: endpoint {
85+
};
86+
};
87+
};
88+
6289
pmic-glink {
6390
compatible = "qcom,x1e80100-pmic-glink",
6491
"qcom,sm8550-pmic-glink",
@@ -178,26 +205,6 @@
178205
};
179206
};
180207

181-
regulator-usb3-vbus {
182-
compatible = "regulator-fixed";
183-
regulator-name = "USB3_VBUS";
184-
gpio = <&pm8550ve_9_gpios 4 GPIO_ACTIVE_HIGH>;
185-
pinctrl-0 = <&usb3_en>;
186-
pinctrl-names = "default";
187-
enable-active-high;
188-
regulator-always-on;
189-
};
190-
191-
regulator-usb6-vbus {
192-
compatible = "regulator-fixed";
193-
regulator-name = "USB6_VBUS";
194-
gpio = <&pm8550ve_9_gpios 5 GPIO_ACTIVE_HIGH>;
195-
pinctrl-0 = <&usb6_en>;
196-
pinctrl-names = "default";
197-
enable-active-high;
198-
regulator-always-on;
199-
};
200-
201208
vreg_edp_3p3: regulator-edp-3p3 {
202209
compatible = "regulator-fixed";
203210

@@ -224,8 +231,8 @@
224231
gpio = <&pmc8380_3_gpios 10 GPIO_ACTIVE_HIGH>;
225232
enable-active-high;
226233

227-
pinctrl-names = "default";
228234
pinctrl-0 = <&edp_bl_reg_en>;
235+
pinctrl-names = "default";
229236

230237
regulator-boot-on;
231238
};
@@ -433,6 +440,26 @@
433440
regulator-boot-on;
434441
};
435442

443+
regulator_usb3_vbus: regulator-usb3-vbus {
444+
compatible = "regulator-fixed";
445+
regulator-name = "USB3_VBUS";
446+
gpio = <&pm8550ve_9_gpios 4 GPIO_ACTIVE_HIGH>;
447+
pinctrl-0 = <&usb3_en>;
448+
pinctrl-names = "default";
449+
enable-active-high;
450+
regulator-always-on;
451+
};
452+
453+
regulator_usb6_vbus: regulator-usb6-vbus {
454+
compatible = "regulator-fixed";
455+
regulator-name = "USB6_VBUS";
456+
gpio = <&pm8550ve_9_gpios 5 GPIO_ACTIVE_HIGH>;
457+
pinctrl-0 = <&usb6_en>;
458+
pinctrl-names = "default";
459+
enable-active-high;
460+
regulator-always-on;
461+
};
462+
436463
vph_pwr: regulator-vph-pwr {
437464
compatible = "regulator-fixed";
438465

@@ -831,20 +858,32 @@
831858
};
832859

833860
&lpass_tlmm {
834-
spkr_01_sd_n_active: spkr-01-sd-n-active-state {
861+
spkr_0_sd_n_active: spkr-0-sd-n-active-state {
835862
pins = "gpio12";
836863
function = "gpio";
837864
drive-strength = <16>;
838865
bias-disable;
839-
output-low;
840866
};
841867

842-
spkr_23_sd_n_active: spkr-23-sd-n-active-state {
868+
spkr_1_sd_n_active: spkr-1-sd-n-active-state {
843869
pins = "gpio13";
844870
function = "gpio";
845871
drive-strength = <16>;
846872
bias-disable;
847-
output-low;
873+
};
874+
875+
spkr_2_sd_n_active: spkr-2-sd-n-active-state {
876+
pins = "gpio17";
877+
function = "gpio";
878+
drive-strength = <16>;
879+
bias-disable;
880+
};
881+
882+
spkr_3_sd_n_active: spkr-3-sd-n-active-state {
883+
pins = "gpio18";
884+
function = "gpio";
885+
drive-strength = <16>;
886+
bias-disable;
848887
};
849888
};
850889

@@ -922,13 +961,19 @@
922961
status = "okay";
923962
};
924963

925-
&pcie3_port {
964+
&pcie3_port0 {
926965
vpcie12v-supply = <&vreg_pcie_12v>;
927966
vpcie3v3-supply = <&vreg_pcie_3v3>;
928967
vpcie3v3aux-supply = <&vreg_pcie_3v3_aux>;
968+
969+
reset-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
970+
wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
929971
};
930972

931973
&pcie4_port0 {
974+
reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
975+
wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
976+
932977
wifi@0 {
933978
compatible = "pci17cb,1107";
934979
reg = <0x10000 0x0 0x0 0x0 0x0>;
@@ -949,10 +994,20 @@
949994
vddpe-3v3-supply = <&vreg_wwan>;
950995
};
951996

997+
&pcie5_port0 {
998+
reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
999+
wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
1000+
};
1001+
9521002
&pcie6a {
9531003
vddpe-3v3-supply = <&vreg_nvme>;
9541004
};
9551005

1006+
&pcie6a_port0 {
1007+
reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
1008+
wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
1009+
};
1010+
9561011
&pm8550_gpios {
9571012
rtmr0_default: rtmr0-reset-n-active-state {
9581013
pins = "gpio10";
@@ -1011,6 +1066,28 @@
10111066
};
10121067
};
10131068

1069+
&pm8550_pwm {
1070+
status = "okay";
1071+
1072+
multi-led {
1073+
color = <LED_COLOR_ID_MULTI>;
1074+
function = LED_FUNCTION_STATUS;
1075+
1076+
#address-cells = <1>;
1077+
#size-cells = <0>;
1078+
1079+
led@1 {
1080+
reg = <1>;
1081+
color = <LED_COLOR_ID_RED>;
1082+
};
1083+
1084+
led@2 {
1085+
reg = <2>;
1086+
color = <LED_COLOR_ID_GREEN>;
1087+
};
1088+
};
1089+
};
1090+
10141091
&pmc8380_3_gpios {
10151092
edp_bl_en: edp-bl-en-state {
10161093
pins = "gpio4";
@@ -1024,12 +1101,13 @@
10241101
pins = "gpio10";
10251102
function = "normal";
10261103
};
1104+
};
10271105

1106+
&pmc8380_3_gpios {
10281107
pm_sde7_aux_3p3_en: pcie-aux-3p3-default-state {
10291108
pins = "gpio8";
10301109
function = "normal";
10311110
output-enable;
1032-
output-high;
10331111
bias-pull-down;
10341112
power-source = <0>;
10351113
};
@@ -1038,7 +1116,6 @@
10381116
pins = "gpio6";
10391117
function = "normal";
10401118
output-enable;
1041-
output-high;
10421119
bias-pull-down;
10431120
power-source = <0>;
10441121
};
@@ -1106,12 +1183,14 @@
11061183
&swr0 {
11071184
status = "okay";
11081185

1109-
pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
1186+
pinctrl-0 = <&wsa_swr_active>;
11101187
pinctrl-names = "default";
11111188

11121189
/* WSA8845, Left Woofer */
11131190
left_woofer: speaker@0,0 {
11141191
compatible = "sdw20217020400";
1192+
pinctrl-0 = <&spkr_0_sd_n_active>;
1193+
pinctrl-names = "default";
11151194
reg = <0 0>;
11161195
reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
11171196
#sound-dai-cells = <0>;
@@ -1124,8 +1203,10 @@
11241203
/* WSA8845, Left Tweeter */
11251204
left_tweeter: speaker@0,1 {
11261205
compatible = "sdw20217020400";
1206+
pinctrl-0 = <&spkr_1_sd_n_active>;
1207+
pinctrl-names = "default";
11271208
reg = <0 1>;
1128-
reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
1209+
reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
11291210
#sound-dai-cells = <0>;
11301211
sound-name-prefix = "TweeterLeft";
11311212
vdd-1p8-supply = <&vreg_l15b_1p8>;
@@ -1159,14 +1240,16 @@
11591240
&swr3 {
11601241
status = "okay";
11611242

1162-
pinctrl-0 = <&wsa2_swr_active>, <&spkr_23_sd_n_active>;
1243+
pinctrl-0 = <&wsa2_swr_active>;
11631244
pinctrl-names = "default";
11641245

11651246
/* WSA8845, Right Woofer */
11661247
right_woofer: speaker@0,0 {
11671248
compatible = "sdw20217020400";
1249+
pinctrl-0 = <&spkr_2_sd_n_active>;
1250+
pinctrl-names = "default";
11681251
reg = <0 0>;
1169-
reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
1252+
reset-gpios = <&lpass_tlmm 17 GPIO_ACTIVE_LOW>;
11701253
#sound-dai-cells = <0>;
11711254
sound-name-prefix = "WooferRight";
11721255
vdd-1p8-supply = <&vreg_l15b_1p8>;
@@ -1177,8 +1260,10 @@
11771260
/* WSA8845, Right Tweeter */
11781261
right_tweeter: speaker@0,1 {
11791262
compatible = "sdw20217020400";
1263+
pinctrl-0 = <&spkr_3_sd_n_active>;
1264+
pinctrl-names = "default";
11801265
reg = <0 1>;
1181-
reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
1266+
reset-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_LOW>;
11821267
#sound-dai-cells = <0>;
11831268
sound-name-prefix = "TweeterRight";
11841269
vdd-1p8-supply = <&vreg_l15b_1p8>;

0 commit comments

Comments
 (0)