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&qusb2phy { 78 status = "okay"; 79 80 vdda-pll-supply = <&vreg_l12a_1p8>; 81 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>; 82}; 83 84&rpm_requests { 85 pm8998-regulators { 86 compatible = "qcom,rpm-pm8998-regulators"; 87 88 vdd_s1-supply = <&vph_pwr>; 89 vdd_s2-supply = <&vph_pwr>; 90 vdd_s3-supply = <&vph_pwr>; 91 vdd_s4-supply = <&vph_pwr>; 92 vdd_s5-supply = <&vph_pwr>; 93 vdd_s6-supply = <&vph_pwr>; 94 vdd_s7-supply = <&vph_pwr>; 95 vdd_s8-supply = <&vph_pwr>; 96 vdd_s9-supply = <&vph_pwr>; 97 vdd_s10-supply = <&vph_pwr>; 98 vdd_s11-supply = <&vph_pwr>; 99 vdd_s12-supply = <&vph_pwr>; 100 vdd_s13-supply = <&vph_pwr>; 101 vdd_l1_l27-supply = <&vreg_s7a_1p025>; 102 vdd_l2_l8_l17-supply = <&vreg_s3a_1p35>; 103 vdd_l3_l11-supply = <&vreg_s7a_1p025>; 104 vdd_l4_l5-supply = <&vreg_s7a_1p025>; 105 vdd_l6-supply = <&vreg_s5a_2p04>; 106 vdd_l7_l12_l14_l15-supply = <&vreg_s5a_2p04>; 107 vdd_l9-supply = <&vph_pwr>; 108 vdd_l10_l23_l25-supply = <&vph_pwr>; 109 vdd_l13_l19_l21-supply = <&vph_pwr>; 110 vdd_l16_l28-supply = <&vph_pwr>; 111 vdd_l18_l22-supply = <&vph_pwr>; 112 vdd_l20_l24-supply = <&vph_pwr>; 113 vdd_l26-supply = <&vreg_s3a_1p35>; 114 vdd_lvs1_lvs2-supply = <&vreg_s4a_1p8>; 115 116 vreg_s3a_1p35: s3 { 117 regulator-min-microvolt = <1352000>; 118 regulator-max-microvolt = <1352000>; 119 }; 120 vreg_s4a_1p8: s4 { 121 regulator-min-microvolt = <1800000>; 122 regulator-max-microvolt = <1800000>; 123 regulator-allow-set-load; 124 }; 125 vreg_s5a_2p04: s5 { 126 regulator-min-microvolt = <1904000>; 127 regulator-max-microvolt = <2040000>; 128 }; 129 vreg_s7a_1p025: s7 { 130 regulator-min-microvolt = <900000>; 131 regulator-max-microvolt = <1028000>; 132 }; 133 vreg_l1a_0p875: l1 { 134 regulator-min-microvolt = <880000>; 135 regulator-max-microvolt = <880000>; 136 regulator-allow-set-load; 137 }; 138 vreg_l2a_1p2: l2 { 139 regulator-min-microvolt = <1200000>; 140 regulator-max-microvolt = <1200000>; 141 regulator-allow-set-load; 142 }; 143 vreg_l3a_1p0: l3 { 144 regulator-min-microvolt = <1000000>; 145 regulator-max-microvolt = <1000000>; 146 }; 147 vreg_l5a_0p8: l5 { 148 regulator-min-microvolt = <800000>; 149 regulator-max-microvolt = <800000>; 150 }; 151 vreg_l6a_1p8: l6 { 152 regulator-min-microvolt = <1808000>; 153 regulator-max-microvolt = <1808000>; 154 }; 155 vreg_l7a_1p8: l7 { 156 regulator-min-microvolt = <1800000>; 157 regulator-max-microvolt = <1800000>; 158 regulator-allow-set-load; 159 }; 160 vreg_l8a_1p2: l8 { 161 regulator-min-microvolt = <1200000>; 162 regulator-max-microvolt = <1200000>; 163 }; 164 vreg_l9a_1p8: l9 { 165 regulator-min-microvolt = <1808000>; 166 regulator-max-microvolt = <2960000>; 167 }; 168 vreg_l10a_1p8: l10 { 169 regulator-min-microvolt = <1808000>; 170 regulator-max-microvolt = <2960000>; 171 }; 172 vreg_l11a_1p0: l11 { 173 regulator-min-microvolt = <1000000>; 174 regulator-max-microvolt = <1000000>; 175 }; 176 vreg_l12a_1p8: l12 { 177 regulator-min-microvolt = <1800000>; 178 regulator-max-microvolt = <1800000>; 179 }; 180 vreg_l13a_2p95: l13 { 181 regulator-min-microvolt = <1808000>; 182 regulator-max-microvolt = <2960000>; 183 }; 184 vreg_l14a_1p88: l14 { 185 regulator-min-microvolt = <1880000>; 186 regulator-max-microvolt = <1880000>; 187 }; 188 vreg_15a_1p8: l15 { 189 regulator-min-microvolt = <1800000>; 190 regulator-max-microvolt = <1800000>; 191 }; 192 vreg_l16a_2p7: l16 { 193 regulator-min-microvolt = <2704000>; 194 regulator-max-microvolt = <2704000>; 195 }; 196 vreg_l17a_1p3: l17 { 197 regulator-min-microvolt = <1304000>; 198 regulator-max-microvolt = <1304000>; 199 regulator-allow-set-load; 200 }; 201 vreg_l18a_2p7: l18 { 202 regulator-min-microvolt = <2704000>; 203 regulator-max-microvolt = <2704000>; 204 }; 205 vreg_l19a_3p0: l19 { 206 regulator-min-microvolt = <3008000>; 207 regulator-max-microvolt = <3008000>; 208 }; 209 vreg_l20a_2p95: l20 { 210 regulator-min-microvolt = <2960000>; 211 regulator-max-microvolt = <2960000>; 212 regulator-allow-set-load; 213 }; 214 vreg_l21a_2p95: l21 { 215 regulator-min-microvolt = <2960000>; 216 regulator-max-microvolt = <2960000>; 217 regulator-allow-set-load; 218 regulator-system-load = <800000>; 219 }; 220 vreg_l22a_2p85: l22 { 221 regulator-min-microvolt = <2864000>; 222 regulator-max-microvolt = <2864000>; 223 }; 224 vreg_l23a_3p3: l23 { 225 regulator-min-microvolt = <3312000>; 226 regulator-max-microvolt = <3312000>; 227 }; 228 vreg_l24a_3p075: l24 { 229 regulator-min-microvolt = <3088000>; 230 regulator-max-microvolt = <3088000>; 231 }; 232 vreg_l25a_3p3: l25 { 233 regulator-min-microvolt = <3104000>; 234 regulator-max-microvolt = <3312000>; 235 regulator-allow-set-load; 236 }; 237 vreg_l26a_1p2: l26 { 238 regulator-min-microvolt = <1200000>; 239 regulator-max-microvolt = <1200000>; 240 }; 241 vreg_l28_3p0: l28 { 242 regulator-min-microvolt = <3008000>; 243 regulator-max-microvolt = <3008000>; 244 }; 245 246 vreg_lvs1a_1p8: lvs1 { 247 regulator-min-microvolt = <1800000>; 248 regulator-max-microvolt = <1800000>; 249 }; 250 251 vreg_lvs2a_1p8: lvs2 { 252 regulator-min-microvolt = <1800000>; 253 regulator-max-microvolt = <1800000>; 254 }; 255 256 }; 257}; 258 259&tlmm { 260 gpio-reserved-ranges = <0 4>, <81 4>; 261 262 touchpad: touchpad { 263 config { 264 pins = "gpio123"; 265 bias-pull-up; /* pull up */ 266 }; 267 }; 268}; 269 270&sdhc2 { 271 status = "okay"; 272 273 vmmc-supply = <&vreg_l21a_2p95>; 274 vqmmc-supply = <&vreg_l13a_2p95>; 275 276 pinctrl-names = "default", "sleep"; 277 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; 278 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; 279}; 280 281&usb3 { 282 status = "okay"; 283}; 284 285&usb3_dwc3 { 286 dr_mode = "host"; /* Force to host until we have Type-C hooked up */ 287}; 288 289&usb3phy { 290 status = "okay"; 291 292 vdda-phy-supply = <&vreg_l1a_0p875>; 293 vdda-pll-supply = <&vreg_l2a_1p2>; 294}; 295