0001 // SPDX-License-Identifier: BSD-3-Clause
0002 /*
0003 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
0004 * Copyright (c) 2022, Linaro Limited
0005 */
0006
0007 /dts-v1/;
0008
0009 #include <dt-bindings/gpio/gpio.h>
0010 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
0011
0012 #include "sc8280xp.dtsi"
0013 #include "sc8280xp-pmics.dtsi"
0014
0015 / {
0016 model = "Qualcomm SC8280XP CRD";
0017 compatible = "qcom,sc8280xp-crd", "qcom,sc8280xp";
0018
0019 aliases {
0020 serial0 = &qup2_uart17;
0021 };
0022
0023 backlight {
0024 compatible = "pwm-backlight";
0025 pwms = <&pmc8280c_lpg 3 1000000>;
0026 enable-gpios = <&pmc8280_1_gpios 8 GPIO_ACTIVE_HIGH>;
0027 power-supply = <&vreg_edp_bl>;
0028
0029 pinctrl-names = "default";
0030 pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
0031 };
0032
0033 chosen {
0034 stdout-path = "serial0:115200n8";
0035 };
0036
0037 vreg_edp_bl: regulator-edp-bl {
0038 compatible = "regulator-fixed";
0039
0040 regulator-name = "VREG_EDP_BL";
0041 regulator-min-microvolt = <3600000>;
0042 regulator-max-microvolt = <3600000>;
0043
0044 gpio = <&pmc8280_1_gpios 9 GPIO_ACTIVE_HIGH>;
0045 enable-active-high;
0046
0047 pinctrl-names = "default";
0048 pinctrl-0 = <&edp_bl_reg_en>;
0049
0050 regulator-boot-on;
0051 };
0052
0053 vreg_misc_3p3: regulator-misc-3p3 {
0054 compatible = "regulator-fixed";
0055
0056 regulator-name = "VREG_MISC_3P3";
0057 regulator-min-microvolt = <3300000>;
0058 regulator-max-microvolt = <3300000>;
0059
0060 gpio = <&pmc8280_1_gpios 1 GPIO_ACTIVE_HIGH>;
0061 enable-active-high;
0062
0063 pinctrl-names = "default";
0064 pinctrl-0 = <&misc_3p3_reg_en>;
0065
0066 regulator-boot-on;
0067 regulator-always-on;
0068 };
0069 };
0070
0071 &apps_rsc {
0072 pmc8280-1-rpmh-regulators {
0073 compatible = "qcom,pm8350-rpmh-regulators";
0074 qcom,pmic-id = "b";
0075
0076 vdd-l3-l5-supply = <&vreg_s11b>;
0077
0078 vreg_s11b: smps11 {
0079 regulator-name = "vreg_s11b";
0080 regulator-min-microvolt = <1272000>;
0081 regulator-max-microvolt = <1272000>;
0082 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0083 };
0084
0085 vreg_l3b: ldo3 {
0086 regulator-name = "vreg_l3b";
0087 regulator-min-microvolt = <1200000>;
0088 regulator-max-microvolt = <1200000>;
0089 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0090 regulator-allow-set-load;
0091 regulator-boot-on;
0092 regulator-always-on;
0093 };
0094
0095 vreg_l4b: ldo4 {
0096 regulator-name = "vreg_l4b";
0097 regulator-min-microvolt = <912000>;
0098 regulator-max-microvolt = <912000>;
0099 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0100 regulator-allow-set-load;
0101 };
0102
0103 vreg_l6b: ldo6 {
0104 regulator-name = "vreg_l6b";
0105 regulator-min-microvolt = <880000>;
0106 regulator-max-microvolt = <880000>;
0107 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0108 regulator-allow-set-load;
0109 regulator-boot-on;
0110 };
0111 };
0112
0113 pmc8280c-rpmh-regulators {
0114 compatible = "qcom,pm8350c-rpmh-regulators";
0115 qcom,pmic-id = "c";
0116
0117 vreg_l1c: ldo1 {
0118 regulator-name = "vreg_l1c";
0119 regulator-min-microvolt = <1800000>;
0120 regulator-max-microvolt = <1800000>;
0121 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0122 regulator-allow-set-load;
0123 };
0124
0125 vreg_l7c: ldo7 {
0126 regulator-name = "vreg_l7c";
0127 regulator-min-microvolt = <2504000>;
0128 regulator-max-microvolt = <2504000>;
0129 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0130 regulator-allow-set-load;
0131 };
0132
0133 vreg_l13c: ldo13 {
0134 regulator-name = "vreg_l13c";
0135 regulator-min-microvolt = <3072000>;
0136 regulator-max-microvolt = <3072000>;
0137 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0138 regulator-allow-set-load;
0139 };
0140 };
0141
0142 pmc8280-2-rpmh-regulators {
0143 compatible = "qcom,pm8350-rpmh-regulators";
0144 qcom,pmic-id = "d";
0145
0146 vdd-l1-l4-supply = <&vreg_s11b>;
0147
0148 vreg_l3d: ldo3 {
0149 regulator-name = "vreg_l3d";
0150 regulator-min-microvolt = <1200000>;
0151 regulator-max-microvolt = <1200000>;
0152 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0153 regulator-allow-set-load;
0154 };
0155
0156 vreg_l4d: ldo4 {
0157 regulator-name = "vreg_l4d";
0158 regulator-min-microvolt = <1200000>;
0159 regulator-max-microvolt = <1200000>;
0160 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0161 regulator-allow-set-load;
0162 };
0163
0164 vreg_l6d: ldo6 {
0165 regulator-name = "vreg_l6d";
0166 regulator-min-microvolt = <880000>;
0167 regulator-max-microvolt = <880000>;
0168 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0169 regulator-allow-set-load;
0170 };
0171
0172 vreg_l7d: ldo7 {
0173 regulator-name = "vreg_l7d";
0174 regulator-min-microvolt = <3072000>;
0175 regulator-max-microvolt = <3072000>;
0176 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0177 regulator-allow-set-load;
0178 };
0179
0180 vreg_l9d: ldo9 {
0181 regulator-name = "vreg_l9d";
0182 regulator-min-microvolt = <912000>;
0183 regulator-max-microvolt = <912000>;
0184 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0185 regulator-allow-set-load;
0186 };
0187 };
0188 };
0189
0190 &pmc8280c_lpg {
0191 status = "okay";
0192 };
0193
0194 &pmk8280_pon_pwrkey {
0195 status = "okay";
0196 };
0197
0198 &qup0 {
0199 status = "okay";
0200 };
0201
0202 &qup0_i2c4 {
0203 clock-frequency = <400000>;
0204
0205 pinctrl-names = "default";
0206 pinctrl-0 = <&qup0_i2c4_default>, <&ts0_default>;
0207
0208 status = "okay";
0209
0210 touchscreen@10 {
0211 compatible = "hid-over-i2c";
0212 reg = <0x10>;
0213 hid-descr-addr = <0x1>;
0214 interrupts-extended = <&tlmm 175 IRQ_TYPE_LEVEL_LOW>;
0215 vdd-supply = <&vreg_misc_3p3>;
0216 };
0217 };
0218
0219 &qup1 {
0220 status = "okay";
0221 };
0222
0223 &qup2 {
0224 status = "okay";
0225 };
0226
0227 &qup2_i2c5 {
0228 clock-frequency = <400000>;
0229
0230 pinctrl-names = "default";
0231 pinctrl-0 = <&qup2_i2c5_default>, <&kybd_default>, <&tpad_default>;
0232
0233 status = "okay";
0234
0235 touchpad@15 {
0236 compatible = "hid-over-i2c";
0237 reg = <0x15>;
0238 hid-descr-addr = <0x1>;
0239 interrupts-extended = <&tlmm 182 IRQ_TYPE_LEVEL_LOW>;
0240 vdd-supply = <&vreg_misc_3p3>;
0241 };
0242
0243 keyboard@68 {
0244 compatible = "hid-over-i2c";
0245 reg = <0x68>;
0246 hid-descr-addr = <0x1>;
0247 interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>;
0248 vdd-supply = <&vreg_misc_3p3>;
0249 };
0250 };
0251
0252 &qup2_uart17 {
0253 compatible = "qcom,geni-debug-uart";
0254
0255 status = "okay";
0256 };
0257
0258 &remoteproc_adsp {
0259 firmware-name = "qcom/sc8280xp/qcadsp8280.mbn";
0260
0261 status = "okay";
0262 };
0263
0264 &remoteproc_nsp0 {
0265 firmware-name = "qcom/sc8280xp/qccdsp8280.mbn";
0266
0267 status = "okay";
0268 };
0269
0270 &ufs_mem_hc {
0271 reset-gpios = <&tlmm 228 GPIO_ACTIVE_LOW>;
0272
0273 vcc-supply = <&vreg_l7c>;
0274 vcc-max-microamp = <800000>;
0275 vccq-supply = <&vreg_l3d>;
0276 vccq-max-microamp = <900000>;
0277
0278 status = "okay";
0279 };
0280
0281 &ufs_mem_phy {
0282 vdda-phy-supply = <&vreg_l6b>;
0283 vdda-pll-supply = <&vreg_l3b>;
0284
0285 status = "okay";
0286 };
0287
0288 &usb_0 {
0289 status = "okay";
0290 };
0291
0292 &usb_0_dwc3 {
0293 /* TODO: Define USB-C connector properly */
0294 dr_mode = "host";
0295 };
0296
0297 &usb_0_hsphy {
0298 vdda-pll-supply = <&vreg_l9d>;
0299 vdda18-supply = <&vreg_l1c>;
0300 vdda33-supply = <&vreg_l7d>;
0301
0302 status = "okay";
0303 };
0304
0305 &usb_0_qmpphy {
0306 vdda-phy-supply = <&vreg_l9d>;
0307 vdda-pll-supply = <&vreg_l4d>;
0308
0309 status = "okay";
0310 };
0311
0312 &usb_1 {
0313 status = "okay";
0314 };
0315
0316 &usb_1_dwc3 {
0317 /* TODO: Define USB-C connector properly */
0318 dr_mode = "host";
0319 };
0320
0321 &usb_1_hsphy {
0322 vdda-pll-supply = <&vreg_l4b>;
0323 vdda18-supply = <&vreg_l1c>;
0324 vdda33-supply = <&vreg_l13c>;
0325
0326 status = "okay";
0327 };
0328
0329 &usb_1_qmpphy {
0330 vdda-phy-supply = <&vreg_l4b>;
0331 vdda-pll-supply = <&vreg_l3b>;
0332
0333 status = "okay";
0334 };
0335
0336 &xo_board_clk {
0337 clock-frequency = <38400000>;
0338 };
0339
0340 /* PINCTRL - additions to nodes defined in sc8280xp.dtsi */
0341
0342 &pmc8280_1_gpios {
0343 edp_bl_en: edp-bl-en-state {
0344 pins = "gpio8";
0345 function = "normal";
0346 };
0347
0348 edp_bl_reg_en: edp-bl-reg-en-state {
0349 pins = "gpio9";
0350 function = "normal";
0351 };
0352
0353 misc_3p3_reg_en: misc-3p3-reg-en-state {
0354 pins = "gpio1";
0355 function = "normal";
0356 };
0357 };
0358
0359 &pmc8280c_gpios {
0360 edp_bl_pwm: edp-bl-pwm-state {
0361 pins = "gpio8";
0362 function = "func1";
0363 };
0364 };
0365
0366 &tlmm {
0367 gpio-reserved-ranges = <74 6>, <83 4>, <125 2>, <128 2>, <154 7>;
0368
0369 kybd_default: kybd-default-state {
0370 disable {
0371 pins = "gpio102";
0372 function = "gpio";
0373 output-low;
0374 };
0375
0376 int-n {
0377 pins = "gpio104";
0378 function = "gpio";
0379 bias-disable;
0380 };
0381
0382 reset {
0383 pins = "gpio105";
0384 function = "gpio";
0385 bias-disable;
0386 };
0387 };
0388
0389 qup0_i2c4_default: qup0-i2c4-default-state {
0390 pins = "gpio171", "gpio172";
0391 function = "qup4";
0392
0393 bias-disable;
0394 drive-strength = <16>;
0395 };
0396
0397 qup2_i2c5_default: qup2-i2c5-default-state {
0398 pins = "gpio81", "gpio82";
0399 function = "qup21";
0400
0401 bias-disable;
0402 drive-strength = <16>;
0403 };
0404
0405 tpad_default: tpad-default-state {
0406 int-n {
0407 pins = "gpio182";
0408 function = "gpio";
0409 bias-disable;
0410 };
0411 };
0412
0413 ts0_default: ts0-default-state {
0414 int-n {
0415 pins = "gpio175";
0416 function = "gpio";
0417 bias-pull-up;
0418 };
0419
0420 reset-n {
0421 pins = "gpio99";
0422 function = "gpio";
0423 output-high;
0424 drive-strength = <16>;
0425 };
0426 };
0427 };