1 // SPDX-License-Identifier: BSD-3-Clause 1 // SPDX-License-Identifier: BSD-3-Clause 2 /* 2 /* 3 * Copyright (c) 2020, Konrad Dybcio <konrad.dy 3 * Copyright (c) 2020, Konrad Dybcio <konrad.dybcio@somainline.org> 4 */ 4 */ 5 5 6 #include "msm8994.dtsi" 6 #include "msm8994.dtsi" 7 #include "pm8994.dtsi" 7 #include "pm8994.dtsi" 8 #include "pmi8994.dtsi" 8 #include "pmi8994.dtsi" 9 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/input/gpio-keys.h> 10 #include <dt-bindings/input/gpio-keys.h> 11 11 12 / { 12 / { 13 /* required for bootloader to select c 13 /* required for bootloader to select correct board */ 14 14 15 /* 15 /* 16 * We support MSM8994 v2 (0x20000) and 16 * We support MSM8994 v2 (0x20000) and v2.1 (0x20001). 17 * The V1 chip (0x0 and 0x10000) is si 17 * The V1 chip (0x0 and 0x10000) is significantly different 18 * and requires driver-side changes (i 18 * and requires driver-side changes (including CPR, be warned!!). 19 * Besides that, it's very rare. 19 * Besides that, it's very rare. 20 */ 20 */ 21 qcom,msm-id = <207 0x20000>, <207 0x20 21 qcom,msm-id = <207 0x20000>, <207 0x20001>; 22 /* We only use pm8994+pmi8994. */ 22 /* We only use pm8994+pmi8994. */ 23 qcom,pmic-id = <0x10009 0x1000a 0x00 0 23 qcom,pmic-id = <0x10009 0x1000a 0x00 0x00>; 24 /* This property is shared across all 24 /* This property is shared across all kitakami devices. */ 25 qcom,board-id = <8 0>; 25 qcom,board-id = <8 0>; 26 26 27 /* Kitakami firmware doesn't support P 27 /* Kitakami firmware doesn't support PSCI */ 28 /delete-node/ psci; 28 /delete-node/ psci; 29 29 30 gpio-keys { !! 30 gpio_keys { 31 compatible = "gpio-keys"; 31 compatible = "gpio-keys"; >> 32 input-name = "gpio-keys"; >> 33 #address-cells = <1>; >> 34 #size-cells = <0>; 32 autorepeat; 35 autorepeat; 33 36 34 button-0 { !! 37 button@0 { 35 label = "Volume Down"; 38 label = "Volume Down"; 36 gpios = <&pm8994_gpios 39 gpios = <&pm8994_gpios 2 GPIO_ACTIVE_LOW>; 37 linux,input-type = <1> 40 linux,input-type = <1>; 38 linux,code = <KEY_VOLU 41 linux,code = <KEY_VOLUMEDOWN>; 39 wakeup-source; 42 wakeup-source; 40 debounce-interval = <1 43 debounce-interval = <15>; 41 }; 44 }; 42 45 43 button-1 { !! 46 button@1 { 44 label = "Volume Up"; 47 label = "Volume Up"; 45 gpios = <&pm8994_gpios 48 gpios = <&pm8994_gpios 3 GPIO_ACTIVE_LOW>; 46 linux,input-type = <1> 49 linux,input-type = <1>; 47 linux,code = <KEY_VOLU 50 linux,code = <KEY_VOLUMEUP>; 48 wakeup-source; 51 wakeup-source; 49 debounce-interval = <1 52 debounce-interval = <15>; 50 }; 53 }; 51 54 52 button-2 { !! 55 button@2 { 53 label = "Camera Snapsh 56 label = "Camera Snapshot"; 54 gpios = <&pm8994_gpios 57 gpios = <&pm8994_gpios 4 GPIO_ACTIVE_LOW>; 55 linux,input-type = <1> 58 linux,input-type = <1>; 56 linux,code = <KEY_CAME 59 linux,code = <KEY_CAMERA>; 57 wakeup-source; 60 wakeup-source; 58 debounce-interval = <1 61 debounce-interval = <15>; 59 }; 62 }; 60 63 61 button-3 { !! 64 button@3 { 62 label = "Camera Focus" 65 label = "Camera Focus"; 63 gpios = <&pm8994_gpios 66 gpios = <&pm8994_gpios 5 GPIO_ACTIVE_LOW>; 64 linux,input-type = <1> 67 linux,input-type = <1>; 65 linux,code = <KEY_VOLU 68 linux,code = <KEY_VOLUMEUP>; 66 wakeup-source; 69 wakeup-source; 67 debounce-interval = <1 70 debounce-interval = <15>; 68 }; 71 }; 69 }; 72 }; 70 73 71 reserved-memory { 74 reserved-memory { 72 /* This is for getting crash l 75 /* This is for getting crash logs using Android downstream kernels */ 73 ramoops@1fe00000 { 76 ramoops@1fe00000 { 74 compatible = "ramoops" 77 compatible = "ramoops"; 75 reg = <0 0x1fe00000 0 78 reg = <0 0x1fe00000 0 0x200000>; 76 console-size = <0x1000 79 console-size = <0x100000>; 77 record-size = <0x10000 80 record-size = <0x10000>; 78 ftrace-size = <0x10000 81 ftrace-size = <0x10000>; 79 pmsg-size = <0x80000>; 82 pmsg-size = <0x80000>; 80 }; 83 }; 81 84 82 fb_region: fb@40000000 { !! 85 fb_region: fb_region@40000000 { 83 reg = <0 0x40000000 0 86 reg = <0 0x40000000 0 0x1000000>; 84 no-map; 87 no-map; 85 }; 88 }; 86 89 87 tzapp: memory@c7800000 { 90 tzapp: memory@c7800000 { 88 reg = <0 0xc7800000 0 91 reg = <0 0xc7800000 0 0x1900000>; 89 no-map; 92 no-map; 90 }; 93 }; 91 }; 94 }; 92 }; 95 }; 93 96 94 &blsp1_spi1 { 97 &blsp1_spi1 { 95 status = "okay"; 98 status = "okay"; 96 99 97 /* FPC fingerprint reader */ 100 /* FPC fingerprint reader */ 98 }; 101 }; 99 102 100 /* I2C1 is disabled on this board */ 103 /* I2C1 is disabled on this board */ 101 104 102 &blsp1_i2c2 { 105 &blsp1_i2c2 { 103 status = "okay"; 106 status = "okay"; 104 clock-frequency = <355000>; 107 clock-frequency = <355000>; 105 108 106 /* NXP PN547 NFC */ 109 /* NXP PN547 NFC */ 107 }; 110 }; 108 111 >> 112 &blsp1_i2c4 { >> 113 status = "okay"; >> 114 clock-frequency = <355000>; >> 115 >> 116 /* Empty but active */ >> 117 }; >> 118 109 &blsp1_i2c6 { 119 &blsp1_i2c6 { 110 status = "okay"; 120 status = "okay"; 111 clock-frequency = <355000>; 121 clock-frequency = <355000>; 112 122 113 touchscreen: rmi4-i2c-dev@2c { 123 touchscreen: rmi4-i2c-dev@2c { 114 compatible = "syna,rmi4-i2c"; 124 compatible = "syna,rmi4-i2c"; 115 reg = <0x2c>; 125 reg = <0x2c>; 116 #address-cells = <1>; 126 #address-cells = <1>; 117 #size-cells = <0>; 127 #size-cells = <0>; 118 128 119 interrupt-parent = <&tlmm>; 129 interrupt-parent = <&tlmm>; 120 interrupts = <42 IRQ_TYPE_EDGE 130 interrupts = <42 IRQ_TYPE_EDGE_FALLING>; 121 131 122 pinctrl-names = "default"; 132 pinctrl-names = "default"; 123 pinctrl-0 = <&ts_int_active &t 133 pinctrl-0 = <&ts_int_active &ts_reset_active>; 124 134 125 vdd-supply = <&pm8994_l22>; 135 vdd-supply = <&pm8994_l22>; 126 vio-supply = <&pm8994_s4>; 136 vio-supply = <&pm8994_s4>; 127 137 128 syna,reset-delay-ms = <220>; 138 syna,reset-delay-ms = <220>; 129 syna,startup-delay-ms = <220>; 139 syna,startup-delay-ms = <220>; 130 140 131 rmi4-f01@1 { 141 rmi4-f01@1 { 132 reg = <0x01>; 142 reg = <0x01>; 133 syna,nosleep-mode = <1 143 syna,nosleep-mode = <1>; 134 }; 144 }; 135 145 136 rmi4-f11@11 { 146 rmi4-f11@11 { 137 reg = <0x11>; 147 reg = <0x11>; 138 syna,sensor-type = <1> 148 syna,sensor-type = <1>; 139 }; 149 }; 140 }; 150 }; 141 }; 151 }; 142 152 143 &blsp1_uart2 { 153 &blsp1_uart2 { 144 status = "okay"; 154 status = "okay"; 145 }; 155 }; 146 156 147 &blsp2_i2c5 { 157 &blsp2_i2c5 { 148 status = "okay"; 158 status = "okay"; 149 clock-frequency = <355000>; 159 clock-frequency = <355000>; 150 160 151 /* sii8620 HDMI/MHL bridge */ 161 /* sii8620 HDMI/MHL bridge */ 152 }; 162 }; 153 163 154 &blsp2_uart2 { 164 &blsp2_uart2 { 155 status = "okay"; 165 status = "okay"; 156 }; 166 }; 157 167 158 /* 168 /* 159 * Kitakami bootloader only turns cont_splash 169 * Kitakami bootloader only turns cont_splash on when it detects 160 * specific downstream MDSS/backlight nodes in 170 * specific downstream MDSS/backlight nodes in the active DTB. 161 * One way to use that framebuffer is to load 171 * One way to use that framebuffer is to load a secondary instance of 162 * LK with the downstream DTB appended and the 172 * LK with the downstream DTB appended and then, only from there, load 163 * mainline Linux. 173 * mainline Linux. 164 */ 174 */ 165 &cont_splash_mem { 175 &cont_splash_mem { 166 reg = <0 0x03401000 0 0x2200000>; !! 176 reg = <0 0x3401000 0 0x2200000>; 167 }; 177 }; 168 178 169 &pmi8994_spmi_regulators { 179 &pmi8994_spmi_regulators { 170 /* 180 /* 171 * Yeah, this one *is* managed by RPMP 181 * Yeah, this one *is* managed by RPMPD, but also needs 172 * to be hacked up as a-o due to the G 182 * to be hacked up as a-o due to the GPU device only accepting a single 173 * power domain.. which still isn't en 183 * power domain.. which still isn't enough and forces us to bind 174 * OXILI_CX and OXILI_GX together! 184 * OXILI_CX and OXILI_GX together! 175 */ 185 */ 176 vdd_gfx: s2 { 186 vdd_gfx: s2 { 177 regulator-name = "VDD_GFX"; 187 regulator-name = "VDD_GFX"; 178 regulator-min-microvolt = <980 188 regulator-min-microvolt = <980000>; 179 regulator-max-microvolt = <980 189 regulator-max-microvolt = <980000>; 180 190 181 /* hack until we rig up the gp 191 /* hack until we rig up the gpu consumer */ 182 regulator-always-on; 192 regulator-always-on; 183 }; 193 }; 184 }; 194 }; 185 195 186 &rpm_requests { 196 &rpm_requests { 187 /* PMI8994 should probe first, because !! 197 pm8994_regulators: pm8994-regulators { 188 pmi8994_regulators: regulators-0 { << 189 compatible = "qcom,rpm-pmi8994 << 190 << 191 vdd_s1-supply = <&vph_pwr>; << 192 vdd_bst_byp-supply = <&vph_pwr << 193 << 194 pmi8994_s1: s1 { << 195 regulator-min-microvol << 196 regulator-max-microvol << 197 }; << 198 << 199 /* S2 & S3 - VDD_GFX */ << 200 << 201 pmi8994_bby: boost-bypass { << 202 regulator-min-microvol << 203 regulator-max-microvol << 204 }; << 205 }; << 206 << 207 pm8994_regulators: regulators-1 { << 208 compatible = "qcom,rpm-pm8994- 198 compatible = "qcom,rpm-pm8994-regulators"; 209 199 >> 200 vdd_s1-supply = <&vph_pwr>; >> 201 vdd_s2-supply = <&vph_pwr>; 210 vdd_s3-supply = <&vph_pwr>; 202 vdd_s3-supply = <&vph_pwr>; 211 vdd_s4-supply = <&vph_pwr>; 203 vdd_s4-supply = <&vph_pwr>; 212 vdd_s5-supply = <&vph_pwr>; 204 vdd_s5-supply = <&vph_pwr>; 213 vdd_s6-supply = <&vph_pwr>; 205 vdd_s6-supply = <&vph_pwr>; 214 vdd_s7-supply = <&vph_pwr>; 206 vdd_s7-supply = <&vph_pwr>; >> 207 vdd_s8-supply = <&vph_pwr>; >> 208 vdd_s9-supply = <&vph_pwr>; >> 209 vdd_s10-supply = <&vph_pwr>; >> 210 vdd_s11-supply = <&vph_pwr>; >> 211 vdd_s12-supply = <&vph_pwr>; 215 vdd_l1-supply = <&pmi8994_s1>; 212 vdd_l1-supply = <&pmi8994_s1>; 216 vdd_l2_l26_l28-supply = <&pm89 213 vdd_l2_l26_l28-supply = <&pm8994_s3>; 217 vdd_l3_l11-supply = <&pm8994_s 214 vdd_l3_l11-supply = <&pm8994_s3>; 218 vdd_l4_l27_l31-supply = <&pm89 215 vdd_l4_l27_l31-supply = <&pm8994_s3>; >> 216 vdd_l5_l7-supply = <&pm8994_s5>; 219 vdd_l6_l12_l32-supply = <&pm89 217 vdd_l6_l12_l32-supply = <&pm8994_s5>; 220 vdd_l8_l16_l30-supply = <&vph_ 218 vdd_l8_l16_l30-supply = <&vph_pwr>; 221 vdd_l9_l10_l18_l22-supply = <& 219 vdd_l9_l10_l18_l22-supply = <&pmi8994_bby>; 222 vdd_l13_l19_l23_l24-supply = < 220 vdd_l13_l19_l23_l24-supply = <&pmi8994_bby>; 223 vdd_l14_l15-supply = <&pm8994_ 221 vdd_l14_l15-supply = <&pm8994_s5>; 224 vdd_l17_l29-supply = <&pmi8994 222 vdd_l17_l29-supply = <&pmi8994_bby>; 225 vdd_l20_l21-supply = <&pmi8994 223 vdd_l20_l21-supply = <&pmi8994_bby>; 226 vdd_l25-supply = <&pm8994_s3>; 224 vdd_l25-supply = <&pm8994_s3>; 227 vdd_lvs1_2-supply = <&pm8994_s !! 225 vdd_lvs1_lvs2-supply = <&pm8994_s4>; 228 226 229 /* S1, S2, S6 and S12 are mana 227 /* S1, S2, S6 and S12 are managed by RPMPD */ 230 228 231 pm8994_s3: s3 { 229 pm8994_s3: s3 { 232 regulator-min-microvol 230 regulator-min-microvolt = <1300000>; 233 regulator-max-microvol 231 regulator-max-microvolt = <1300000>; 234 }; 232 }; 235 233 236 pm8994_s4: s4 { 234 pm8994_s4: s4 { 237 regulator-min-microvol 235 regulator-min-microvolt = <1800000>; 238 regulator-max-microvol 236 regulator-max-microvolt = <1800000>; 239 regulator-system-load << 240 regulator-allow-set-lo 237 regulator-allow-set-load; 241 regulator-always-on; 238 regulator-always-on; >> 239 regulator-system-load = <325000>; 242 }; 240 }; 243 241 244 pm8994_s5: s5 { 242 pm8994_s5: s5 { 245 regulator-min-microvol 243 regulator-min-microvolt = <2150000>; 246 regulator-max-microvol 244 regulator-max-microvolt = <2150000>; 247 }; 245 }; 248 246 249 pm8994_s7: s7 { 247 pm8994_s7: s7 { 250 regulator-min-microvol 248 regulator-min-microvolt = <1000000>; 251 regulator-max-microvol 249 regulator-max-microvolt = <1000000>; 252 }; 250 }; 253 251 254 /* 252 /* 255 * S8 - SPMI-managed VDD_APC0 253 * S8 - SPMI-managed VDD_APC0 256 * S9, S10 and S11 (the main o 254 * S9, S10 and S11 (the main one) - SPMI-managed VDD_APC1 257 */ 255 */ 258 256 259 pm8994_l1: l1 { 257 pm8994_l1: l1 { 260 regulator-min-microvol 258 regulator-min-microvolt = <1000000>; 261 regulator-max-microvol 259 regulator-max-microvolt = <1000000>; 262 }; 260 }; 263 261 264 pm8994_l2: l2 { 262 pm8994_l2: l2 { 265 regulator-min-microvol 263 regulator-min-microvolt = <1250000>; 266 regulator-max-microvol 264 regulator-max-microvolt = <1250000>; 267 regulator-system-load << 268 regulator-allow-set-lo 265 regulator-allow-set-load; >> 266 regulator-system-load = <10000>; 269 }; 267 }; 270 268 271 pm8994_l3: l3 { 269 pm8994_l3: l3 { 272 regulator-min-microvol 270 regulator-min-microvolt = <1100000>; 273 regulator-max-microvol 271 regulator-max-microvolt = <1100000>; 274 regulator-boot-on; << 275 }; 272 }; 276 273 277 pm8994_l4: l4 { 274 pm8994_l4: l4 { 278 regulator-min-microvol 275 regulator-min-microvolt = <1225000>; 279 regulator-max-microvol 276 regulator-max-microvolt = <1225000>; 280 }; 277 }; 281 278 282 /* L5 is inaccessible from RPM 279 /* L5 is inaccessible from RPM */ 283 280 284 pm8994_l6: l6 { 281 pm8994_l6: l6 { 285 regulator-min-microvol 282 regulator-min-microvolt = <1800000>; 286 regulator-max-microvol 283 regulator-max-microvolt = <1800000>; 287 }; 284 }; 288 285 289 /* L7 is inaccessible from RPM 286 /* L7 is inaccessible from RPM */ 290 287 291 pm8994_l8: l8 { 288 pm8994_l8: l8 { 292 regulator-min-microvol 289 regulator-min-microvolt = <1800000>; 293 regulator-max-microvol 290 regulator-max-microvolt = <1800000>; 294 }; 291 }; 295 292 296 pm8994_l9: l9 { 293 pm8994_l9: l9 { 297 regulator-min-microvol 294 regulator-min-microvolt = <1800000>; 298 regulator-max-microvol 295 regulator-max-microvolt = <1800000>; 299 }; 296 }; 300 297 301 pm8994_l10: l10 { 298 pm8994_l10: l10 { 302 regulator-min-microvol 299 regulator-min-microvolt = <1800000>; 303 regulator-max-microvol 300 regulator-max-microvolt = <1800000>; 304 }; 301 }; 305 302 306 pm8994_l11: l11 { 303 pm8994_l11: l11 { 307 regulator-min-microvol 304 regulator-min-microvolt = <1200000>; 308 regulator-max-microvol 305 regulator-max-microvolt = <1200000>; 309 }; 306 }; 310 307 311 pm8994_l12: l12 { 308 pm8994_l12: l12 { 312 regulator-min-microvol 309 regulator-min-microvolt = <1800000>; 313 regulator-max-microvol 310 regulator-max-microvolt = <1800000>; 314 regulator-system-load << 315 regulator-allow-set-lo 311 regulator-allow-set-load; >> 312 regulator-system-load = <10000>; 316 }; 313 }; 317 314 318 pm8994_l13: l13 { 315 pm8994_l13: l13 { 319 regulator-min-microvol 316 regulator-min-microvolt = <1800000>; 320 regulator-max-microvol 317 regulator-max-microvolt = <2950000>; 321 }; 318 }; 322 319 323 pm8994_l14: l14 { 320 pm8994_l14: l14 { 324 regulator-min-microvol 321 regulator-min-microvolt = <1800000>; 325 regulator-max-microvol 322 regulator-max-microvolt = <1800000>; 326 regulator-system-load << 327 regulator-allow-set-lo 323 regulator-allow-set-load; 328 regulator-boot-on; !! 324 regulator-system-load = <10000>; 329 }; 325 }; 330 326 331 pm8994_l15: l15 { 327 pm8994_l15: l15 { 332 regulator-min-microvol 328 regulator-min-microvolt = <1800000>; 333 regulator-max-microvol 329 regulator-max-microvolt = <1800000>; 334 }; 330 }; 335 331 336 pm8994_l16: l16 { 332 pm8994_l16: l16 { 337 regulator-min-microvol 333 regulator-min-microvolt = <2700000>; 338 regulator-max-microvol 334 regulator-max-microvolt = <2700000>; 339 }; 335 }; 340 336 341 pm8994_l17: l17 { 337 pm8994_l17: l17 { 342 regulator-min-microvol 338 regulator-min-microvolt = <2200000>; 343 regulator-max-microvol 339 regulator-max-microvolt = <2200000>; 344 regulator-boot-on; << 345 }; 340 }; 346 341 347 pm8994_l18: l18 { 342 pm8994_l18: l18 { 348 regulator-min-microvol 343 regulator-min-microvolt = <2850000>; 349 regulator-max-microvol 344 regulator-max-microvolt = <2850000>; 350 regulator-always-on; 345 regulator-always-on; 351 regulator-boot-on; << 352 }; 346 }; 353 347 354 pm8994_l19: l19 { 348 pm8994_l19: l19 { 355 regulator-min-microvol 349 regulator-min-microvolt = <2850000>; 356 regulator-max-microvol 350 regulator-max-microvolt = <2850000>; 357 regulator-boot-on; << 358 }; 351 }; 359 352 360 pm8994_l20: l20 { 353 pm8994_l20: l20 { 361 regulator-min-microvol 354 regulator-min-microvolt = <2950000>; 362 regulator-max-microvol 355 regulator-max-microvolt = <2950000>; 363 regulator-system-load !! 356 regulator-always-on; >> 357 regulator-boot-on; 364 regulator-allow-set-lo 358 regulator-allow-set-load; >> 359 regulator-system-load = <570000>; 365 }; 360 }; 366 361 367 pm8994_l21: l21 { 362 pm8994_l21: l21 { 368 regulator-min-microvol 363 regulator-min-microvolt = <2950000>; 369 regulator-max-microvol 364 regulator-max-microvolt = <2950000>; 370 regulator-system-load !! 365 regulator-always-on; 371 regulator-allow-set-lo 366 regulator-allow-set-load; >> 367 regulator-system-load = <800000>; 372 }; 368 }; 373 369 374 pm8994_l22: l22 { 370 pm8994_l22: l22 { 375 regulator-min-microvol 371 regulator-min-microvolt = <3000000>; 376 regulator-max-microvol 372 regulator-max-microvolt = <3000000>; 377 regulator-boot-on; << 378 }; 373 }; 379 374 380 pm8994_l23: l23 { 375 pm8994_l23: l23 { 381 regulator-min-microvol 376 regulator-min-microvolt = <2800000>; 382 regulator-max-microvol 377 regulator-max-microvolt = <2800000>; 383 regulator-always-on; << 384 regulator-boot-on; << 385 }; 378 }; 386 379 387 pm8994_l24: l24 { 380 pm8994_l24: l24 { 388 regulator-min-microvol 381 regulator-min-microvolt = <3075000>; 389 regulator-max-microvol 382 regulator-max-microvolt = <3150000>; 390 }; 383 }; 391 384 392 pm8994_l25: l25 { 385 pm8994_l25: l25 { 393 regulator-min-microvol 386 regulator-min-microvolt = <1000000>; 394 regulator-max-microvol 387 regulator-max-microvolt = <1000000>; 395 regulator-boot-on; << 396 }; 388 }; 397 389 398 pm8994_l26: l26 { 390 pm8994_l26: l26 { 399 regulator-min-microvol 391 regulator-min-microvolt = <987500>; 400 regulator-max-microvol 392 regulator-max-microvolt = <987500>; 401 }; 393 }; 402 394 403 pm8994_l27: l27 { 395 pm8994_l27: l27 { 404 regulator-min-microvol 396 regulator-min-microvolt = <1200000>; 405 regulator-max-microvol 397 regulator-max-microvolt = <1200000>; 406 regulator-boot-on; << 407 }; 398 }; 408 399 409 pm8994_l28: l28 { 400 pm8994_l28: l28 { 410 regulator-min-microvol 401 regulator-min-microvolt = <1000000>; 411 regulator-max-microvol 402 regulator-max-microvolt = <1000000>; 412 regulator-system-load << 413 regulator-allow-set-lo 403 regulator-allow-set-load; >> 404 regulator-system-load = <10000>; 414 }; 405 }; 415 406 416 pm8994_l29: l29 { 407 pm8994_l29: l29 { 417 regulator-min-microvol 408 regulator-min-microvolt = <2700000>; 418 regulator-max-microvol 409 regulator-max-microvolt = <2700000>; 419 regulator-boot-on; << 420 }; 410 }; 421 411 422 pm8994_l30: l30 { 412 pm8994_l30: l30 { 423 regulator-min-microvol 413 regulator-min-microvolt = <1800000>; 424 regulator-max-microvol 414 regulator-max-microvolt = <1800000>; 425 regulator-boot-on; << 426 }; 415 }; 427 416 428 pm8994_l31: l31 { 417 pm8994_l31: l31 { 429 regulator-min-microvol 418 regulator-min-microvolt = <1200000>; 430 regulator-max-microvol 419 regulator-max-microvolt = <1200000>; 431 regulator-system-load << 432 regulator-allow-set-lo 420 regulator-allow-set-load; >> 421 regulator-system-load = <10000>; 433 }; 422 }; 434 423 435 pm8994_l32: l32 { 424 pm8994_l32: l32 { 436 regulator-min-microvol 425 regulator-min-microvolt = <1800000>; 437 regulator-max-microvol 426 regulator-max-microvolt = <1800000>; 438 }; 427 }; 439 428 440 pm8994_lvs1: lvs1 { !! 429 pm8994_lvs1: lvs1 {}; 441 regulator-boot-on; !! 430 pm8994_lvs2: lvs2 {}; >> 431 }; >> 432 >> 433 pmi8994_regulators: pmi8994-regulators { >> 434 compatible = "qcom,rpm-pmi8994-regulators"; >> 435 >> 436 vdd_s1-supply = <&vph_pwr>; >> 437 vdd_bst_byp-supply = <&vph_pwr>; >> 438 >> 439 pmi8994_s1: s1 { >> 440 regulator-min-microvolt = <1025000>; >> 441 regulator-max-microvolt = <1025000>; 442 }; 442 }; 443 pm8994_lvs2: lvs2 { !! 443 444 regulator-boot-on; !! 444 /* S2 & S3 - VDD_GFX */ >> 445 >> 446 pmi8994_bby: boost-bypass { >> 447 regulator-min-microvolt = <3150000>; >> 448 regulator-max-microvolt = <3600000>; 445 }; 449 }; 446 }; 450 }; 447 }; 451 }; 448 452 449 &sdhc1 { 453 &sdhc1 { 450 /* 454 /* 451 * There is an issue with the eMMC cau 455 * There is an issue with the eMMC causing permanent 452 * damage to the card if a quirk isn't 456 * damage to the card if a quirk isn't addressed. 453 * Until it's fixed, disable the MMC s 457 * Until it's fixed, disable the MMC so as not to brick 454 * devices. 458 * devices. 455 */ 459 */ 456 status = "disabled"; 460 status = "disabled"; 457 461 458 /* 462 /* 459 * Downstream pushes 2.95V to the sdhc 463 * Downstream pushes 2.95V to the sdhci device, 460 * but upstream driver REALLY wants to 464 * but upstream driver REALLY wants to make vmmc 1.8v 461 * cause of the hs400-1_8v mode. MMC w 465 * cause of the hs400-1_8v mode. MMC works fine without 462 * that regulator, so let's not use it 466 * that regulator, so let's not use it for now. 463 * vqmmc is also disabled cause driver 467 * vqmmc is also disabled cause driver stll complains. 464 * 468 * 465 * vmmc-supply = <&pm8994_l20>; 469 * vmmc-supply = <&pm8994_l20>; 466 * vqmmc-supply = <&pm8994_s4>; 470 * vqmmc-supply = <&pm8994_s4>; 467 */ 471 */ 468 }; 472 }; 469 473 470 &sdhc2 { 474 &sdhc2 { 471 status = "okay"; 475 status = "okay"; 472 476 473 cd-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH !! 477 cd-gpios = <&tlmm 100 0>; 474 vmmc-supply = <&pm8994_l21>; 478 vmmc-supply = <&pm8994_l21>; 475 vqmmc-supply = <&pm8994_l13>; 479 vqmmc-supply = <&pm8994_l13>; 476 }; 480 }; 477 481 478 &tlmm { 482 &tlmm { 479 ts_int_active: ts-int-active-state { !! 483 ts_int_active: ts-int-active { 480 pins = "gpio42"; 484 pins = "gpio42"; 481 function = "gpio"; << 482 drive-strength = <2>; 485 drive-strength = <2>; 483 bias-disable; 486 bias-disable; >> 487 input-enable; 484 }; 488 }; 485 489 486 ts_reset_active: ts-reset-active-state !! 490 ts_reset_active: ts-reset-active { 487 pins = "gpio109"; 491 pins = "gpio109"; 488 function = "gpio"; << 489 drive-strength = <2>; 492 drive-strength = <2>; 490 bias-disable; 493 bias-disable; 491 output-low; 494 output-low; 492 }; 495 }; 493 }; 496 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.