Back to home page

OSCL-LXR

 
 

    


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 };