1// SPDX-License-Identifier: GPL-2.0 2/* Copyright (c) 2019, Jeffrey Hugo. All rights reserved. */ 3 4/* 5 * Common include for MSM8998 clamshell devices, ie the Lenovo Miix 630, 6 * Asus NovaGo TP370QL, and HP Envy x2. All three devices are basically the 7 * same, with differences in peripherals. 8 */ 9 10#include "msm8998.dtsi" 11#include "pm8998.dtsi" 12#include "pm8005.dtsi" 13 14/ { 15 chosen { 16 }; 17 18 vph_pwr: vph-pwr-regulator { 19 compatible = "regulator-fixed"; 20 regulator-name = "vph_pwr"; 21 regulator-always-on; 22 regulator-boot-on; 23 }; 24}; 25 26&blsp1_uart3 { 27 status = "okay"; 28 29 bluetooth { 30 compatible = "qcom,wcn3990-bt"; 31 32 vddio-supply = <&vreg_s4a_1p8>; 33 vddxo-supply = <&vreg_l7a_1p8>; 34 vddrf-supply = <&vreg_l17a_1p3>; 35 vddch0-supply = <&vreg_l25a_3p3>; 36 max-speed = <3200000>; 37 }; 38}; 39 40/* 41 * The laptop FW does not appear to support the retention state as it is 42 * not advertised as enabled in ACPI, and enabling it in DT can cause boot 43 * hangs. 44 */ 45&CPU0 { 46 cpu-idle-states = <&LITTLE_CPU_SLEEP_1>; 47}; 48 49&CPU1 { 50 cpu-idle-states = <&LITTLE_CPU_SLEEP_1>; 51}; 52 53&CPU2 { 54 cpu-idle-states = <&LITTLE_CPU_SLEEP_1>; 55}; 56 57&CPU3 { 58 cpu-idle-states = <&LITTLE_CPU_SLEEP_1>; 59}; 60 61&CPU4 { 62 cpu-idle-states = <&BIG_CPU_SLEEP_1>; 63}; 64 65&CPU5 { 66 cpu-idle-states = <&BIG_CPU_SLEEP_1>; 67}; 68 69&CPU6 { 70 cpu-idle-states = <&BIG_CPU_SLEEP_1>; 71}; 72 73&CPU7 { 74 cpu-idle-states = <&BIG_CPU_SLEEP_1>; 75}; 76 77&pcie0 { 78 status = "okay"; 79}; 80 81&pcie_phy { 82 status = "okay"; 83}; 84 85&pm8005_lsid1 { 86 pm8005-regulators { 87 compatible = "qcom,pm8005-regulators"; 88 89 vdd_s1-supply = <&vph_pwr>; 90 91 pm8005_s1: s1 { /* VDD_GFX supply */ 92 regulator-min-microvolt = <524000>; 93 regulator-max-microvolt = <1100000>; 94 regulator-enable-ramp-delay = <500>; 95 96 /* hack until we rig up the gpu consumer */ 97 regulator-always-on; 98 }; 99 }; 100}; 101 102&qusb2phy { 103 status = "okay"; 104 105 vdd-supply = <&vreg_l1a_0p875>; 106 vdda-pll-supply = <&vreg_l12a_1p8>; 107 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>; 108}; 109 110&rpm_requests { 111 pm8998-regulators { 112 compatible = "qcom,rpm-pm8998-regulators"; 113 114 vdd_s1-supply = <&vph_pwr>; 115 vdd_s2-supply = <&vph_pwr>; 116 vdd_s3-supply = <&vph_pwr>; 117 vdd_s4-supply = <&vph_pwr>; 118 vdd_s5-supply = <&vph_pwr>; 119 vdd_s6-supply = <&vph_pwr>; 120 vdd_s7-supply = <&vph_pwr>; 121 vdd_s8-supply = <&vph_pwr>; 122 vdd_s9-supply = <&vph_pwr>; 123 vdd_s10-supply = <&vph_pwr>; 124 vdd_s11-supply = <&vph_pwr>; 125 vdd_s12-supply = <&vph_pwr>; 126 vdd_s13-supply = <&vph_pwr>; 127 vdd_l1_l27-supply = <&vreg_s7a_1p025>; 128 vdd_l2_l8_l17-supply = <&vreg_s3a_1p35>; 129 vdd_l3_l11-supply = <&vreg_s7a_1p025>; 130 vdd_l4_l5-supply = <&vreg_s7a_1p025>; 131 vdd_l6-supply = <&vreg_s5a_2p04>; 132 vdd_l7_l12_l14_l15-supply = <&vreg_s5a_2p04>; 133 vdd_l9-supply = <&vph_pwr>; 134 vdd_l10_l23_l25-supply = <&vph_pwr>; 135 vdd_l13_l19_l21-supply = <&vph_pwr>; 136 vdd_l16_l28-supply = <&vph_pwr>; 137 vdd_l18_l22-supply = <&vph_pwr>; 138 vdd_l20_l24-supply = <&vph_pwr>; 139 vdd_l26-supply = <&vreg_s3a_1p35>; 140 vdd_lvs1_lvs2-supply = <&vreg_s4a_1p8>; 141 142 vreg_s3a_1p35: s3 { 143 regulator-min-microvolt = <1352000>; 144 regulator-max-microvolt = <1352000>; 145 }; 146 vreg_s4a_1p8: s4 { 147 regulator-min-microvolt = <1800000>; 148 regulator-max-microvolt = <1800000>; 149 regulator-allow-set-load; 150 }; 151 vreg_s5a_2p04: s5 { 152 regulator-min-microvolt = <1904000>; 153 regulator-max-microvolt = <2040000>; 154 }; 155 vreg_s7a_1p025: s7 { 156 regulator-min-microvolt = <900000>; 157 regulator-max-microvolt = <1028000>; 158 }; 159 vreg_l1a_0p875: l1 { 160 regulator-min-microvolt = <880000>; 161 regulator-max-microvolt = <880000>; 162 regulator-allow-set-load; 163 }; 164 vreg_l2a_1p2: l2 { 165 regulator-min-microvolt = <1200000>; 166 regulator-max-microvolt = <1200000>; 167 regulator-allow-set-load; 168 }; 169 vreg_l3a_1p0: l3 { 170 regulator-min-microvolt = <1000000>; 171 regulator-max-microvolt = <1000000>; 172 }; 173 vreg_l5a_0p8: l5 { 174 regulator-min-microvolt = <800000>; 175 regulator-max-microvolt = <800000>; 176 }; 177 vreg_l6a_1p8: l6 { 178 regulator-min-microvolt = <1808000>; 179 regulator-max-microvolt = <1808000>; 180 }; 181 vreg_l7a_1p8: l7 { 182 regulator-min-microvolt = <1800000>; 183 regulator-max-microvolt = <1800000>; 184 regulator-allow-set-load; 185 }; 186 vreg_l8a_1p2: l8 { 187 regulator-min-microvolt = <1200000>; 188 regulator-max-microvolt = <1200000>; 189 }; 190 vreg_l9a_1p8: l9 { 191 regulator-min-microvolt = <1808000>; 192 regulator-max-microvolt = <2960000>; 193 }; 194 vreg_l10a_1p8: l10 { 195 regulator-min-microvolt = <1808000>; 196 regulator-max-microvolt = <2960000>; 197 }; 198 vreg_l11a_1p0: l11 { 199 regulator-min-microvolt = <1000000>; 200 regulator-max-microvolt = <1000000>; 201 }; 202 vreg_l12a_1p8: l12 { 203 regulator-min-microvolt = <1800000>; 204 regulator-max-microvolt = <1800000>; 205 }; 206 vreg_l13a_2p95: l13 { 207 regulator-min-microvolt = <1808000>; 208 regulator-max-microvolt = <2960000>; 209 }; 210 vreg_l14a_1p88: l14 { 211 regulator-min-microvolt = <1880000>; 212 regulator-max-microvolt = <1880000>; 213 }; 214 vreg_l15a_1p8: l15 { 215 regulator-min-microvolt = <1800000>; 216 regulator-max-microvolt = <1800000>; 217 }; 218 vreg_l16a_2p7: l16 { 219 regulator-min-microvolt = <2704000>; 220 regulator-max-microvolt = <2704000>; 221 }; 222 vreg_l17a_1p3: l17 { 223 regulator-min-microvolt = <1304000>; 224 regulator-max-microvolt = <1304000>; 225 regulator-allow-set-load; 226 }; 227 vreg_l18a_2p7: l18 { 228 regulator-min-microvolt = <2704000>; 229 regulator-max-microvolt = <2704000>; 230 }; 231 vreg_l19a_3p0: l19 { 232 regulator-min-microvolt = <3008000>; 233 regulator-max-microvolt = <3008000>; 234 }; 235 vreg_l20a_2p95: l20 { 236 regulator-min-microvolt = <2960000>; 237 regulator-max-microvolt = <2960000>; 238 regulator-allow-set-load; 239 }; 240 vreg_l21a_2p95: l21 { 241 regulator-min-microvolt = <2960000>; 242 regulator-max-microvolt = <2960000>; 243 regulator-allow-set-load; 244 regulator-system-load = <800000>; 245 }; 246 vreg_l22a_2p85: l22 { 247 regulator-min-microvolt = <2864000>; 248 regulator-max-microvolt = <2864000>; 249 }; 250 vreg_l23a_3p3: l23 { 251 regulator-min-microvolt = <3312000>; 252 regulator-max-microvolt = <3312000>; 253 }; 254 vreg_l24a_3p075: l24 { 255 regulator-min-microvolt = <3088000>; 256 regulator-max-microvolt = <3088000>; 257 }; 258 vreg_l25a_3p3: l25 { 259 regulator-min-microvolt = <3104000>; 260 regulator-max-microvolt = <3312000>; 261 regulator-allow-set-load; 262 }; 263 vreg_l26a_1p2: l26 { 264 regulator-min-microvolt = <1200000>; 265 regulator-max-microvolt = <1200000>; 266 }; 267 vreg_l28_3p0: l28 { 268 regulator-min-microvolt = <3008000>; 269 regulator-max-microvolt = <3008000>; 270 }; 271 272 vreg_lvs1a_1p8: lvs1 { 273 regulator-min-microvolt = <1800000>; 274 regulator-max-microvolt = <1800000>; 275 }; 276 277 vreg_lvs2a_1p8: lvs2 { 278 regulator-min-microvolt = <1800000>; 279 regulator-max-microvolt = <1800000>; 280 }; 281 282 }; 283}; 284 285&remoteproc_mss { 286 status = "okay"; 287}; 288 289&tlmm { 290 gpio-reserved-ranges = <0 4>, <81 4>; 291 292 touchpad: touchpad { 293 config { 294 pins = "gpio123"; 295 bias-pull-up; /* pull up */ 296 }; 297 }; 298}; 299 300&sdhc2 { 301 status = "okay"; 302 303 vmmc-supply = <&vreg_l21a_2p95>; 304 vqmmc-supply = <&vreg_l13a_2p95>; 305 306 pinctrl-names = "default", "sleep"; 307 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; 308 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; 309}; 310 311&ufshc { 312 status = "okay"; 313}; 314 315&ufsphy { 316 status = "okay"; 317 vdda-phy-supply = <&vreg_l1a_0p875>; 318 vdda-pll-supply = <&vreg_l2a_1p2>; 319}; 320 321&usb3 { 322 status = "okay"; 323}; 324 325&usb3_dwc3 { 326 dr_mode = "host"; /* Force to host until we have Type-C hooked up */ 327}; 328 329&usb3phy { 330 status = "okay"; 331 332 vdda-phy-supply = <&vreg_l1a_0p875>; 333 vdda-pll-supply = <&vreg_l2a_1p2>; 334}; 335 336&wifi { 337 status = "okay"; 338 339 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>; 340 vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 341 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 342 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 343}; 344 345/* PINCTRL - board-specific pinctrl */ 346&blsp1_uart3_on { 347 rx { 348 /delete-property/ bias-disable; 349 /* 350 * Configure a pull-up on 45 (RX). This is needed to 351 * avoid garbage data when the TX pin of the Bluetooth 352 * module is in tri-state (module powered off or not 353 * driving the signal yet). 354 */ 355 bias-pull-up; 356 }; 357 358 cts { 359 /delete-property/ bias-disable; 360 /* 361 * Configure a pull-down on 47 (CTS) to match the pull 362 * of the Bluetooth module. 363 */ 364 bias-pull-down; 365 }; 366}; 367