1 // SPDX-License-Identifier: BSD-3-Clause 1 // SPDX-License-Identifier: BSD-3-Clause 2 /* 2 /* 3 * Xiaomi Mi 6 (sagit) device tree source base 3 * Xiaomi Mi 6 (sagit) device tree source based on msm8998-mtp.dtsi 4 * 4 * 5 * Copyright (c) 2022, The Linux Foundation. A 5 * Copyright (c) 2022, The Linux Foundation. All rights reserved. 6 * Copyright (c) 2022, Degdag Mohamed <degdagmo 6 * Copyright (c) 2022, Degdag Mohamed <degdagmohamed@gmail.com> 7 * Copyright (c) 2022, Dzmitry Sankouski <dsank 7 * Copyright (c) 2022, Dzmitry Sankouski <dsankouski@gmail.com> 8 */ 8 */ 9 9 10 /dts-v1/; 10 /dts-v1/; 11 11 12 #include "msm8998.dtsi" 12 #include "msm8998.dtsi" 13 #include "pm8005.dtsi" 13 #include "pm8005.dtsi" 14 #include "pm8998.dtsi" 14 #include "pm8998.dtsi" 15 #include "pmi8998.dtsi" 15 #include "pmi8998.dtsi" 16 #include <dt-bindings/input/input.h> 16 #include <dt-bindings/input/input.h> 17 #include <dt-bindings/leds/common.h> 17 #include <dt-bindings/leds/common.h> 18 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h 18 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 19 19 20 /* 20 /* 21 * Delete following upstream (msm8998.dtsi) re 21 * Delete following upstream (msm8998.dtsi) reserved 22 * memory mappings which are different in this 22 * memory mappings which are different in this device. 23 */ 23 */ 24 /delete-node/ &adsp_mem; 24 /delete-node/ &adsp_mem; 25 /delete-node/ &mpss_mem; 25 /delete-node/ &mpss_mem; 26 /delete-node/ &venus_mem; 26 /delete-node/ &venus_mem; 27 /delete-node/ &mba_mem; 27 /delete-node/ &mba_mem; 28 /delete-node/ &slpi_mem; 28 /delete-node/ &slpi_mem; 29 /delete-node/ &ipa_fw_mem; 29 /delete-node/ &ipa_fw_mem; 30 /delete-node/ &ipa_gsi_mem; 30 /delete-node/ &ipa_gsi_mem; 31 /delete-node/ &gpu_mem; 31 /delete-node/ &gpu_mem; 32 /delete-node/ &wlan_msa_mem; 32 /delete-node/ &wlan_msa_mem; 33 33 34 / { 34 / { 35 model = "Xiaomi Mi 6"; 35 model = "Xiaomi Mi 6"; 36 compatible = "xiaomi,sagit", "qcom,msm 36 compatible = "xiaomi,sagit", "qcom,msm8998"; 37 chassis-type = "handset"; 37 chassis-type = "handset"; 38 /* Required for bootloader to select c 38 /* Required for bootloader to select correct board */ 39 qcom,board-id = <30 0>; 39 qcom,board-id = <30 0>; 40 40 41 reserved-memory { 41 reserved-memory { 42 /* 42 /* 43 * Xiaomi's ADSP firmware requ 43 * Xiaomi's ADSP firmware requires 30 MiB in total, so increase the adsp_mem 44 * region by 4 MiB to account 44 * region by 4 MiB to account for this while relocating the other now 45 * conflicting memory nodes ac 45 * conflicting memory nodes accordingly. 46 */ 46 */ 47 adsp_mem: memory@8b200000 { 47 adsp_mem: memory@8b200000 { 48 reg = <0x0 0x8b200000 48 reg = <0x0 0x8b200000 0x0 0x1e00000>; 49 no-map; 49 no-map; 50 }; 50 }; 51 51 52 mpss_mem: memory@8d000000 { 52 mpss_mem: memory@8d000000 { 53 reg = <0x0 0x8d000000 53 reg = <0x0 0x8d000000 0x0 0x7000000>; 54 no-map; 54 no-map; 55 }; 55 }; 56 56 57 venus_mem: memory@94000000 { 57 venus_mem: memory@94000000 { 58 reg = <0x0 0x94000000 58 reg = <0x0 0x94000000 0x0 0x500000>; 59 no-map; 59 no-map; 60 }; 60 }; 61 61 62 mba_mem: memory@94500000 { 62 mba_mem: memory@94500000 { 63 reg = <0x0 0x94500000 63 reg = <0x0 0x94500000 0x0 0x200000>; 64 no-map; 64 no-map; 65 }; 65 }; 66 66 67 slpi_mem: memory@94700000 { 67 slpi_mem: memory@94700000 { 68 reg = <0x0 0x94700000 68 reg = <0x0 0x94700000 0x0 0xf00000>; 69 no-map; 69 no-map; 70 }; 70 }; 71 71 72 ipa_fw_mem: memory@95600000 { 72 ipa_fw_mem: memory@95600000 { 73 reg = <0x0 0x95600000 73 reg = <0x0 0x95600000 0x0 0x10000>; 74 no-map; 74 no-map; 75 }; 75 }; 76 76 77 ipa_gsi_mem: memory@95610000 { 77 ipa_gsi_mem: memory@95610000 { 78 reg = <0x0 0x95610000 78 reg = <0x0 0x95610000 0x0 0x5000>; 79 no-map; 79 no-map; 80 }; 80 }; 81 81 82 gpu_mem: memory@95615000 { 82 gpu_mem: memory@95615000 { 83 reg = <0x0 0x95615000 83 reg = <0x0 0x95615000 0x0 0x100000>; 84 no-map; 84 no-map; 85 }; 85 }; 86 86 87 wlan_msa_mem: memory@95715000 87 wlan_msa_mem: memory@95715000 { 88 reg = <0x0 0x95715000 88 reg = <0x0 0x95715000 0x0 0x100000>; 89 no-map; 89 no-map; 90 }; 90 }; 91 91 92 /* Bootloader display framebuf 92 /* Bootloader display framebuffer region */ 93 cont_splash_mem: memory@9d4000 93 cont_splash_mem: memory@9d400000 { 94 reg = <0x0 0x9d400000 94 reg = <0x0 0x9d400000 0x0 0x2400000>; 95 no-map; 95 no-map; 96 }; 96 }; 97 97 98 /* For getting crash logs usin 98 /* For getting crash logs using Android downstream kernels */ 99 ramoops@ac000000 { 99 ramoops@ac000000 { 100 compatible = "ramoops" 100 compatible = "ramoops"; 101 reg = <0x0 0xac000000 101 reg = <0x0 0xac000000 0x0 0x200000>; 102 console-size = <0x8000 102 console-size = <0x80000>; 103 pmsg-size = <0x40000>; 103 pmsg-size = <0x40000>; 104 record-size = <0x8000> 104 record-size = <0x8000>; 105 ftrace-size = <0x20000 105 ftrace-size = <0x20000>; 106 }; 106 }; 107 107 108 /* 108 /* 109 * The following memory region 109 * The following memory regions on downstream are "dynamically allocated" 110 * but given the same addresse 110 * but given the same addresses every time. Hard code them as these addresses 111 * are where the Xiaomi signed 111 * are where the Xiaomi signed firmware expects them to be. 112 */ 112 */ 113 ipa_fws_region: memory@f780000 113 ipa_fws_region: memory@f7800000 { 114 compatible = "shared-d 114 compatible = "shared-dma-pool"; 115 reg = <0x0 0xf7800000 115 reg = <0x0 0xf7800000 0x0 0x5000>; 116 no-map; 116 no-map; 117 }; 117 }; 118 118 119 zap_shader_region: memory@f790 119 zap_shader_region: memory@f7900000 { 120 compatible = "shared-d 120 compatible = "shared-dma-pool"; 121 reg = <0x0 0xf7900000 121 reg = <0x0 0xf7900000 0x0 0x2000>; 122 no-map; 122 no-map; 123 }; 123 }; 124 }; 124 }; 125 125 126 gpio-keys { 126 gpio-keys { 127 compatible = "gpio-keys"; 127 compatible = "gpio-keys"; 128 label = "Volume buttons"; 128 label = "Volume buttons"; 129 autorepeat; 129 autorepeat; 130 130 131 pinctrl-names = "default"; 131 pinctrl-names = "default"; 132 pinctrl-0 = <&vol_up_key_defau 132 pinctrl-0 = <&vol_up_key_default>; 133 133 134 key-vol-up { 134 key-vol-up { 135 label = "Volume up"; 135 label = "Volume up"; 136 gpios = <&pm8998_gpios 136 gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>; 137 linux,code = <KEY_VOLU 137 linux,code = <KEY_VOLUMEUP>; 138 debounce-interval = <1 138 debounce-interval = <15>; 139 wakeup-source; 139 wakeup-source; 140 }; 140 }; 141 }; 141 }; 142 142 143 gpio-hall-sensor { 143 gpio-hall-sensor { 144 compatible = "gpio-keys"; 144 compatible = "gpio-keys"; 145 label = "Hall effect sensor"; 145 label = "Hall effect sensor"; 146 146 147 pinctrl-names = "default"; 147 pinctrl-names = "default"; 148 pinctrl-0 = <&hall_sensor_defa 148 pinctrl-0 = <&hall_sensor_default_state>; 149 149 150 event-hall-sensor { 150 event-hall-sensor { 151 label = "Hall Effect S 151 label = "Hall Effect Sensor"; 152 gpios = <&tlmm 124 GPI 152 gpios = <&tlmm 124 GPIO_ACTIVE_LOW>; 153 linux,input-type = <EV 153 linux,input-type = <EV_SW>; 154 linux,code = <SW_LID>; 154 linux,code = <SW_LID>; 155 linux,can-disable; 155 linux,can-disable; 156 wakeup-source; 156 wakeup-source; 157 }; 157 }; 158 }; 158 }; 159 159 160 vph_pwr: vph-pwr-regulator { 160 vph_pwr: vph-pwr-regulator { 161 compatible = "regulator-fixed" 161 compatible = "regulator-fixed"; 162 regulator-name = "vph_pwr"; 162 regulator-name = "vph_pwr"; 163 regulator-min-microvolt = <370 163 regulator-min-microvolt = <3700000>; 164 regulator-max-microvolt = <370 164 regulator-max-microvolt = <3700000>; 165 regulator-always-on; 165 regulator-always-on; 166 regulator-boot-on; 166 regulator-boot-on; 167 }; 167 }; 168 168 169 disp_vddts_vreg: disp-vddts-regulator 169 disp_vddts_vreg: disp-vddts-regulator { 170 compatible = "regulator-fixed" 170 compatible = "regulator-fixed"; 171 regulator-name = "disp-vddts-r 171 regulator-name = "disp-vddts-regulator"; 172 gpio = <&tlmm 50 GPIO_ACTIVE_H 172 gpio = <&tlmm 50 GPIO_ACTIVE_HIGH>; 173 enable-active-high; 173 enable-active-high; 174 regulator-boot-on; 174 regulator-boot-on; 175 }; 175 }; 176 }; 176 }; 177 177 178 &blsp1_i2c5 { 178 &blsp1_i2c5 { 179 pinctrl-names = "default", "sleep"; 179 pinctrl-names = "default", "sleep"; 180 status = "okay"; 180 status = "okay"; 181 181 182 touchscreen@20 { 182 touchscreen@20 { 183 compatible = "syna,rmi4-i2c"; 183 compatible = "syna,rmi4-i2c"; 184 reg = <0x20>; 184 reg = <0x20>; 185 #address-cells = <1>; 185 #address-cells = <1>; 186 #size-cells = <0>; 186 #size-cells = <0>; 187 187 188 interrupt-parent = <&tlmm>; 188 interrupt-parent = <&tlmm>; 189 interrupts = <125 IRQ_TYPE_EDG 189 interrupts = <125 IRQ_TYPE_EDGE_FALLING>; 190 190 191 pinctrl-names = "default", "sl 191 pinctrl-names = "default", "sleep"; 192 pinctrl-0 = <&ts_active_state> 192 pinctrl-0 = <&ts_active_state>; 193 pinctrl-1 = <&ts_int_suspend_s 193 pinctrl-1 = <&ts_int_suspend_state &ts_reset_suspend_state>; 194 194 195 vdd-supply = <&disp_vddts_vreg 195 vdd-supply = <&disp_vddts_vreg>; 196 vio-supply = <&vreg_l6a_1p8>; 196 vio-supply = <&vreg_l6a_1p8>; 197 197 198 syna,reset-delay-ms = <20>; 198 syna,reset-delay-ms = <20>; 199 syna,startup-delay-ms = <20>; 199 syna,startup-delay-ms = <20>; 200 200 201 rmi4-f01@1 { 201 rmi4-f01@1 { 202 reg = <0x01>; 202 reg = <0x01>; 203 syna,nosleep-mode = <1 203 syna,nosleep-mode = <1>; 204 }; 204 }; 205 205 206 rmi4-f12@12 { 206 rmi4-f12@12 { 207 reg = <0x12>; 207 reg = <0x12>; 208 touchscreen-x-mm = <64 208 touchscreen-x-mm = <64>; 209 touchscreen-y-mm = <11 209 touchscreen-y-mm = <114>; 210 syna,sensor-type = <1> 210 syna,sensor-type = <1>; 211 syna,rezero-wait-ms = 211 syna,rezero-wait-ms = <20>; 212 }; 212 }; 213 213 214 rmi4-f1a@1a { 214 rmi4-f1a@1a { 215 reg = <0x1a>; 215 reg = <0x1a>; >> 216 syna,codes = <KEY_BACK KEY_APPSELECT>; 216 }; 217 }; 217 }; 218 }; 218 }; 219 }; 219 220 220 &blsp1_i2c5_sleep { 221 &blsp1_i2c5_sleep { 221 /delete-property/ bias-pull-up; 222 /delete-property/ bias-pull-up; 222 bias-disable; 223 bias-disable; 223 }; 224 }; 224 225 225 &blsp1_uart3 { 226 &blsp1_uart3 { 226 status = "okay"; 227 status = "okay"; 227 228 228 bluetooth { 229 bluetooth { 229 compatible = "qcom,wcn3990-bt" 230 compatible = "qcom,wcn3990-bt"; 230 231 231 vddio-supply = <&vreg_s4a_1p8> 232 vddio-supply = <&vreg_s4a_1p8>; 232 vddxo-supply = <&vreg_l7a_1p8> 233 vddxo-supply = <&vreg_l7a_1p8>; 233 vddrf-supply = <&vreg_l17a_1p3 234 vddrf-supply = <&vreg_l17a_1p3>; 234 vddch0-supply = <&vreg_l25a_3p 235 vddch0-supply = <&vreg_l25a_3p3>; 235 max-speed = <3200000>; 236 max-speed = <3200000>; 236 }; 237 }; 237 }; 238 }; 238 239 239 &blsp1_uart3_on { 240 &blsp1_uart3_on { 240 rx-pins { 241 rx-pins { 241 /delete-property/ bias-disable 242 /delete-property/ bias-disable; 242 /* 243 /* 243 * Configure a pull-up on 46 ( 244 * Configure a pull-up on 46 (RX). This is needed to 244 * avoid garbage data when the 245 * avoid garbage data when the TX pin of the Bluetooth 245 * module is in tri-state (mod 246 * module is in tri-state (module powered off or not 246 * driving the signal yet). 247 * driving the signal yet). 247 */ 248 */ 248 bias-pull-up; 249 bias-pull-up; 249 }; 250 }; 250 251 251 cts-pins { 252 cts-pins { 252 /delete-property/ bias-disable 253 /delete-property/ bias-disable; 253 /* 254 /* 254 * Configure a pull-down on 47 255 * Configure a pull-down on 47 (CTS) to match the pull 255 * of the Bluetooth module. 256 * of the Bluetooth module. 256 */ 257 */ 257 bias-pull-down; 258 bias-pull-down; 258 }; 259 }; 259 }; 260 }; 260 261 261 &blsp2_uart1 { 262 &blsp2_uart1 { 262 status = "okay"; 263 status = "okay"; 263 }; 264 }; 264 265 265 &pm8005_regulators { 266 &pm8005_regulators { 266 compatible = "qcom,pm8005-regulators"; 267 compatible = "qcom,pm8005-regulators"; 267 268 268 vdd_s1-supply = <&vph_pwr>; 269 vdd_s1-supply = <&vph_pwr>; 269 270 270 pm8005_s1: s1 { /* VDD_GFX supply */ 271 pm8005_s1: s1 { /* VDD_GFX supply */ 271 regulator-min-microvolt = <524 272 regulator-min-microvolt = <524000>; 272 regulator-max-microvolt = <110 273 regulator-max-microvolt = <1100000>; 273 regulator-enable-ramp-delay = 274 regulator-enable-ramp-delay = <500>; 274 275 275 /* hack until we rig up the gp 276 /* hack until we rig up the gpu consumer */ 276 regulator-always-on; 277 regulator-always-on; 277 }; 278 }; 278 }; 279 }; 279 280 280 &pm8998_gpios { 281 &pm8998_gpios { 281 vol_up_key_default: vol-up-key-default 282 vol_up_key_default: vol-up-key-default-state { 282 pins = "gpio6"; 283 pins = "gpio6"; 283 function = "normal"; 284 function = "normal"; 284 bias-pull-up; 285 bias-pull-up; 285 input-enable; 286 input-enable; 286 qcom,drive-strength = <PMIC_GP 287 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 287 }; 288 }; 288 289 289 audio_mclk_pin: audio-mclk-pin-active- 290 audio_mclk_pin: audio-mclk-pin-active-state { 290 pins = "gpio13"; 291 pins = "gpio13"; 291 function = "func2"; 292 function = "func2"; 292 power-source = <0>; 293 power-source = <0>; 293 }; 294 }; 294 }; 295 }; 295 296 296 &qusb2phy { 297 &qusb2phy { 297 vdd-supply = <&vreg_l1a_0p875>; 298 vdd-supply = <&vreg_l1a_0p875>; 298 vdda-pll-supply = <&vreg_l12a_1p8>; 299 vdda-pll-supply = <&vreg_l12a_1p8>; 299 vdda-phy-dpdm-supply = <&vreg_l24a_3p0 300 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>; 300 status = "okay"; 301 status = "okay"; 301 }; 302 }; 302 303 303 &rpm_requests { 304 &rpm_requests { 304 regulators-0 { 305 regulators-0 { 305 compatible = "qcom,rpm-pm8998- 306 compatible = "qcom,rpm-pm8998-regulators"; 306 307 307 vdd_s1-supply = <&vph_pwr>; 308 vdd_s1-supply = <&vph_pwr>; 308 vdd_s2-supply = <&vph_pwr>; 309 vdd_s2-supply = <&vph_pwr>; 309 vdd_s3-supply = <&vph_pwr>; 310 vdd_s3-supply = <&vph_pwr>; 310 vdd_s4-supply = <&vph_pwr>; 311 vdd_s4-supply = <&vph_pwr>; 311 vdd_s5-supply = <&vph_pwr>; 312 vdd_s5-supply = <&vph_pwr>; 312 vdd_s6-supply = <&vph_pwr>; 313 vdd_s6-supply = <&vph_pwr>; 313 vdd_s7-supply = <&vph_pwr>; 314 vdd_s7-supply = <&vph_pwr>; 314 vdd_s8-supply = <&vph_pwr>; 315 vdd_s8-supply = <&vph_pwr>; 315 vdd_s9-supply = <&vph_pwr>; 316 vdd_s9-supply = <&vph_pwr>; 316 vdd_s10-supply = <&vph_pwr>; 317 vdd_s10-supply = <&vph_pwr>; 317 vdd_s11-supply = <&vph_pwr>; 318 vdd_s11-supply = <&vph_pwr>; 318 vdd_s12-supply = <&vph_pwr>; 319 vdd_s12-supply = <&vph_pwr>; 319 vdd_s13-supply = <&vph_pwr>; 320 vdd_s13-supply = <&vph_pwr>; 320 vdd_l1_l27-supply = <&vreg_s7a 321 vdd_l1_l27-supply = <&vreg_s7a_1p025>; 321 vdd_l2_l8_l17-supply = <&vreg_ 322 vdd_l2_l8_l17-supply = <&vreg_s3a_1p35>; 322 vdd_l3_l11-supply = <&vreg_s7a 323 vdd_l3_l11-supply = <&vreg_s7a_1p025>; 323 vdd_l4_l5-supply = <&vreg_s7a_ 324 vdd_l4_l5-supply = <&vreg_s7a_1p025>; 324 vdd_l6-supply = <&vreg_s5a_2p0 325 vdd_l6-supply = <&vreg_s5a_2p04>; 325 vdd_l7_l12_l14_l15-supply = <& 326 vdd_l7_l12_l14_l15-supply = <&vreg_s5a_2p04>; 326 vdd_l9-supply = <&vreg_bob>; 327 vdd_l9-supply = <&vreg_bob>; 327 vdd_l10_l23_l25-supply = <&vre 328 vdd_l10_l23_l25-supply = <&vreg_bob>; 328 vdd_l13_l19_l21-supply = <&vre 329 vdd_l13_l19_l21-supply = <&vreg_bob>; 329 vdd_l16_l28-supply = <&vreg_bo 330 vdd_l16_l28-supply = <&vreg_bob>; 330 vdd_l18_l22-supply = <&vreg_bo 331 vdd_l18_l22-supply = <&vreg_bob>; 331 vdd_l20_l24-supply = <&vreg_bo 332 vdd_l20_l24-supply = <&vreg_bob>; 332 vdd_l26-supply = <&vreg_s3a_1p 333 vdd_l26-supply = <&vreg_s3a_1p35>; 333 vdd_lvs1_lvs2-supply = <&vreg_ 334 vdd_lvs1_lvs2-supply = <&vreg_s4a_1p8>; 334 335 335 vreg_s3a_1p35: s3 { 336 vreg_s3a_1p35: s3 { 336 regulator-min-microvol 337 regulator-min-microvolt = <1352000>; 337 regulator-max-microvol 338 regulator-max-microvolt = <1352000>; 338 }; 339 }; 339 340 340 vreg_s4a_1p8: s4 { 341 vreg_s4a_1p8: s4 { 341 regulator-min-microvol 342 regulator-min-microvolt = <1800000>; 342 regulator-max-microvol 343 regulator-max-microvolt = <1800000>; 343 regulator-allow-set-lo 344 regulator-allow-set-load; 344 }; 345 }; 345 346 346 vreg_s5a_2p04: s5 { 347 vreg_s5a_2p04: s5 { 347 regulator-min-microvol 348 regulator-min-microvolt = <1904000>; 348 regulator-max-microvol 349 regulator-max-microvolt = <2040000>; 349 }; 350 }; 350 351 351 vreg_s7a_1p025: s7 { 352 vreg_s7a_1p025: s7 { 352 regulator-min-microvol 353 regulator-min-microvolt = <900000>; 353 regulator-max-microvol 354 regulator-max-microvolt = <1028000>; 354 }; 355 }; 355 356 356 vreg_l1a_0p875: l1 { 357 vreg_l1a_0p875: l1 { 357 regulator-min-microvol 358 regulator-min-microvolt = <880000>; 358 regulator-max-microvol 359 regulator-max-microvolt = <880000>; 359 }; 360 }; 360 361 361 vreg_l2a_1p2: l2 { 362 vreg_l2a_1p2: l2 { 362 regulator-min-microvol 363 regulator-min-microvolt = <1200000>; 363 regulator-max-microvol 364 regulator-max-microvolt = <1200000>; 364 }; 365 }; 365 366 366 vreg_l3a_1p0: l3 { 367 vreg_l3a_1p0: l3 { 367 regulator-min-microvol 368 regulator-min-microvolt = <1000000>; 368 regulator-max-microvol 369 regulator-max-microvolt = <1000000>; 369 }; 370 }; 370 371 371 vreg_l5a_0p8: l5 { 372 vreg_l5a_0p8: l5 { 372 regulator-min-microvol 373 regulator-min-microvolt = <800000>; 373 regulator-max-microvol 374 regulator-max-microvolt = <800000>; 374 }; 375 }; 375 376 376 vreg_l6a_1p8: l6 { 377 vreg_l6a_1p8: l6 { 377 regulator-min-microvol 378 regulator-min-microvolt = <1800000>; 378 regulator-max-microvol 379 regulator-max-microvolt = <1800000>; 379 }; 380 }; 380 381 381 vreg_l7a_1p8: l7 { 382 vreg_l7a_1p8: l7 { 382 regulator-min-microvol 383 regulator-min-microvolt = <1800000>; 383 regulator-max-microvol 384 regulator-max-microvolt = <1800000>; 384 }; 385 }; 385 386 386 vreg_l8a_1p2: l8 { 387 vreg_l8a_1p2: l8 { 387 regulator-min-microvol 388 regulator-min-microvolt = <1200000>; 388 regulator-max-microvol 389 regulator-max-microvolt = <1200000>; 389 }; 390 }; 390 391 391 vreg_l9a_1p8: l9 { 392 vreg_l9a_1p8: l9 { 392 regulator-min-microvol 393 regulator-min-microvolt = <1808000>; 393 regulator-max-microvol 394 regulator-max-microvolt = <2960000>; 394 }; 395 }; 395 396 396 vreg_l10a_1p8: l10 { 397 vreg_l10a_1p8: l10 { 397 regulator-min-microvol 398 regulator-min-microvolt = <1808000>; 398 regulator-max-microvol 399 regulator-max-microvolt = <2960000>; 399 }; 400 }; 400 401 401 vreg_l11a_1p0: l11 { 402 vreg_l11a_1p0: l11 { 402 regulator-min-microvol 403 regulator-min-microvolt = <1000000>; 403 regulator-max-microvol 404 regulator-max-microvolt = <1000000>; 404 }; 405 }; 405 406 406 vreg_l12a_1p8: l12 { 407 vreg_l12a_1p8: l12 { 407 regulator-min-microvol 408 regulator-min-microvolt = <1800000>; 408 regulator-max-microvol 409 regulator-max-microvolt = <1800000>; 409 }; 410 }; 410 411 411 vreg_l13a_2p95: l13 { 412 vreg_l13a_2p95: l13 { 412 regulator-min-microvol 413 regulator-min-microvolt = <1808000>; 413 regulator-max-microvol 414 regulator-max-microvolt = <2960000>; 414 }; 415 }; 415 416 416 vreg_l14a_1p8: l14 { 417 vreg_l14a_1p8: l14 { 417 regulator-min-microvol 418 regulator-min-microvolt = <1800000>; 418 regulator-max-microvol 419 regulator-max-microvolt = <1800000>; 419 }; 420 }; 420 421 421 vreg_l15a_1p8: l15 { 422 vreg_l15a_1p8: l15 { 422 regulator-min-microvol 423 regulator-min-microvolt = <1800000>; 423 regulator-max-microvol 424 regulator-max-microvolt = <1800000>; 424 }; 425 }; 425 426 426 vreg_l16a_2p7: l16 { 427 vreg_l16a_2p7: l16 { 427 regulator-min-microvol 428 regulator-min-microvolt = <2704000>; 428 regulator-max-microvol 429 regulator-max-microvolt = <2704000>; 429 }; 430 }; 430 431 431 vreg_l17a_1p3: l17 { 432 vreg_l17a_1p3: l17 { 432 regulator-min-microvol 433 regulator-min-microvolt = <1304000>; 433 regulator-max-microvol 434 regulator-max-microvolt = <1304000>; 434 }; 435 }; 435 436 436 vreg_l18a_2p7: l18 { 437 vreg_l18a_2p7: l18 { 437 regulator-min-microvol 438 regulator-min-microvolt = <2704000>; 438 regulator-max-microvol 439 regulator-max-microvolt = <2704000>; 439 }; 440 }; 440 441 441 vreg_l19a_3p0: l19 { 442 vreg_l19a_3p0: l19 { 442 regulator-min-microvol 443 regulator-min-microvolt = <3008000>; 443 regulator-max-microvol 444 regulator-max-microvolt = <3008000>; 444 }; 445 }; 445 446 446 vreg_l20a_2p95: l20 { 447 vreg_l20a_2p95: l20 { 447 regulator-min-microvol 448 regulator-min-microvolt = <2960000>; 448 regulator-max-microvol 449 regulator-max-microvolt = <2960000>; 449 regulator-allow-set-lo 450 regulator-allow-set-load; 450 }; 451 }; 451 452 452 vreg_l21a_2p95: l21 { 453 vreg_l21a_2p95: l21 { 453 regulator-min-microvol 454 regulator-min-microvolt = <2960000>; 454 regulator-max-microvol 455 regulator-max-microvolt = <2960000>; 455 regulator-system-load 456 regulator-system-load = <800000>; 456 regulator-allow-set-lo 457 regulator-allow-set-load; 457 }; 458 }; 458 459 459 vreg_l22a_2p85: l22 { 460 vreg_l22a_2p85: l22 { 460 regulator-min-microvol 461 regulator-min-microvolt = <2864000>; 461 regulator-max-microvol 462 regulator-max-microvolt = <2864000>; 462 }; 463 }; 463 464 464 vreg_l23a_3p3: l23 { 465 vreg_l23a_3p3: l23 { 465 regulator-min-microvol 466 regulator-min-microvolt = <3312000>; 466 regulator-max-microvol 467 regulator-max-microvolt = <3312000>; 467 }; 468 }; 468 469 469 vreg_l24a_3p075: l24 { 470 vreg_l24a_3p075: l24 { 470 regulator-min-microvol 471 regulator-min-microvolt = <3088000>; 471 regulator-max-microvol 472 regulator-max-microvolt = <3088000>; 472 }; 473 }; 473 474 474 vreg_l25a_3p3: l25 { 475 vreg_l25a_3p3: l25 { 475 regulator-min-microvol 476 regulator-min-microvolt = <3104000>; 476 regulator-max-microvol 477 regulator-max-microvolt = <3312000>; 477 }; 478 }; 478 479 479 vreg_l26a_1p2: l26 { 480 vreg_l26a_1p2: l26 { 480 regulator-min-microvol 481 regulator-min-microvolt = <1200000>; 481 regulator-max-microvol 482 regulator-max-microvolt = <1200000>; 482 regulator-allow-set-lo 483 regulator-allow-set-load; 483 }; 484 }; 484 485 485 vreg_l28_3p0: l28 { 486 vreg_l28_3p0: l28 { 486 regulator-min-microvol 487 regulator-min-microvolt = <3008000>; 487 regulator-max-microvol 488 regulator-max-microvolt = <3008000>; 488 }; 489 }; 489 490 490 vreg_lvs1a_1p8: lvs1 { }; 491 vreg_lvs1a_1p8: lvs1 { }; 491 492 492 vreg_lvs2a_1p8: lvs2 { }; 493 vreg_lvs2a_1p8: lvs2 { }; 493 }; 494 }; 494 495 495 regulators-1 { 496 regulators-1 { 496 compatible = "qcom,rpm-pmi8998 497 compatible = "qcom,rpm-pmi8998-regulators"; 497 498 498 vdd_bob-supply = <&vph_pwr>; 499 vdd_bob-supply = <&vph_pwr>; 499 500 500 vreg_bob: bob { 501 vreg_bob: bob { 501 regulator-min-microvol 502 regulator-min-microvolt = <3312000>; 502 regulator-max-microvol 503 regulator-max-microvolt = <3600000>; 503 }; 504 }; 504 }; 505 }; 505 }; 506 }; 506 507 507 &tlmm { 508 &tlmm { 508 gpio-reserved-ranges = <0 4>, <81 4>; 509 gpio-reserved-ranges = <0 4>, <81 4>; 509 510 510 cci1_default_state: cci1-default-state 511 cci1_default_state: cci1-default-state { 511 pins = "gpio19", "gpio20"; 512 pins = "gpio19", "gpio20"; 512 function = "cci_i2c"; 513 function = "cci_i2c"; 513 bias-disable; 514 bias-disable; 514 drive-strength = <2>; 515 drive-strength = <2>; 515 }; 516 }; 516 517 517 cdc_reset_n_state: cdc-reset-n-state { 518 cdc_reset_n_state: cdc-reset-n-state { 518 pins = "gpio64"; 519 pins = "gpio64"; 519 function = "gpio"; 520 function = "gpio"; 520 bias-pull-down; 521 bias-pull-down; 521 drive-strength = <16>; 522 drive-strength = <16>; 522 output-high; 523 output-high; 523 }; 524 }; 524 525 525 hall_sensor_default_state: hall-sensor 526 hall_sensor_default_state: hall-sensor-default-state { 526 pins = "gpio124"; 527 pins = "gpio124"; 527 function = "gpio"; 528 function = "gpio"; 528 drive-strength = <2>; 529 drive-strength = <2>; 529 bias-disable; 530 bias-disable; 530 }; 531 }; 531 532 532 mdss_dsi_active_state: mdss-dsi-active 533 mdss_dsi_active_state: mdss-dsi-active-state { 533 pins = "gpio94"; 534 pins = "gpio94"; 534 function = "gpio"; 535 function = "gpio"; 535 drive-strength = <8>; 536 drive-strength = <8>; 536 bias-disable; 537 bias-disable; 537 }; 538 }; 538 539 539 mdss_dsi_suspend_state: mdss-dsi-suspe 540 mdss_dsi_suspend_state: mdss-dsi-suspend-state { 540 pins = "gpio94"; 541 pins = "gpio94"; 541 function = "gpio"; 542 function = "gpio"; 542 drive-strength = <2>; 543 drive-strength = <2>; 543 bias-pull-down; 544 bias-pull-down; 544 }; 545 }; 545 546 546 mdss_te_active_state: mdss-te-active-s 547 mdss_te_active_state: mdss-te-active-state { 547 pins = "gpio10"; 548 pins = "gpio10"; 548 function = "mdp_vsync_a"; 549 function = "mdp_vsync_a"; 549 drive-strength = <2>; 550 drive-strength = <2>; 550 bias-pull-down; 551 bias-pull-down; 551 }; 552 }; 552 553 553 mdss_te_suspend_state: mdss-te-suspend 554 mdss_te_suspend_state: mdss-te-suspend-state { 554 pins = "gpio10"; 555 pins = "gpio10"; 555 function = "mdp_vsync_a"; 556 function = "mdp_vsync_a"; 556 drive-strength = <2>; 557 drive-strength = <2>; 557 bias-pull-down; 558 bias-pull-down; 558 }; 559 }; 559 560 560 msm_mclk0_active_state: msm-mclk0-acti 561 msm_mclk0_active_state: msm-mclk0-active-state { 561 pins = "gpio13"; 562 pins = "gpio13"; 562 function = "cam_mclk"; 563 function = "cam_mclk"; 563 drive-strength = <2>; 564 drive-strength = <2>; 564 bias-disable; 565 bias-disable; 565 }; 566 }; 566 567 567 msm_mclk0_suspend_state: msm-mclk0-sus 568 msm_mclk0_suspend_state: msm-mclk0-suspend-state { 568 pins = "gpio13"; 569 pins = "gpio13"; 569 function = "cam_mclk"; 570 function = "cam_mclk"; 570 drive-strength = <2>; 571 drive-strength = <2>; 571 bias-pull-down; 572 bias-pull-down; 572 }; 573 }; 573 574 574 msm_mclk1_active_state: msm-mclk1-acti 575 msm_mclk1_active_state: msm-mclk1-active-state { 575 pins = "gpio14"; 576 pins = "gpio14"; 576 function = "cam_mclk"; 577 function = "cam_mclk"; 577 drive-strength = <2>; 578 drive-strength = <2>; 578 bias-disable; 579 bias-disable; 579 }; 580 }; 580 581 581 msm_mclk1_suspend_state: msm-mclk1-sus 582 msm_mclk1_suspend_state: msm-mclk1-suspend-state { 582 pins = "gpio14"; 583 pins = "gpio14"; 583 function = "cam_mclk"; 584 function = "cam_mclk"; 584 drive-strength = <2>; 585 drive-strength = <2>; 585 bias-pull-down; 586 bias-pull-down; 586 }; 587 }; 587 588 588 nfc_int_active_state: nfc-int-active-s 589 nfc_int_active_state: nfc-int-active-state { 589 pins = "gpio92"; 590 pins = "gpio92"; 590 function = "gpio"; 591 function = "gpio"; 591 drive-strength = <6>; 592 drive-strength = <6>; 592 bias-pull-up; 593 bias-pull-up; 593 }; 594 }; 594 595 595 nfc_int_suspend_state: nfc-int-suspend 596 nfc_int_suspend_state: nfc-int-suspend-state { 596 pins = "gpio92"; 597 pins = "gpio92"; 597 function = "gpio"; 598 function = "gpio"; 598 drive-strength = <6>; 599 drive-strength = <6>; 599 bias-pull-up; 600 bias-pull-up; 600 }; 601 }; 601 602 602 nfc_enable_active_state: nfc-enable-ac 603 nfc_enable_active_state: nfc-enable-active-state { 603 pins = "gpio12", "gpio116"; 604 pins = "gpio12", "gpio116"; 604 function = "gpio"; 605 function = "gpio"; 605 drive-strength = <6>; 606 drive-strength = <6>; 606 bias-pull-up; 607 bias-pull-up; 607 }; 608 }; 608 609 609 nfc_enable_suspend_state: nfc-enable-s 610 nfc_enable_suspend_state: nfc-enable-suspend-state { 610 pins = "gpio12", "gpio116"; 611 pins = "gpio12", "gpio116"; 611 function = "gpio"; 612 function = "gpio"; 612 drive-strength = <6>; 613 drive-strength = <6>; 613 bias-disable; 614 bias-disable; 614 }; 615 }; 615 616 616 ts_active_state: ts-active-state { 617 ts_active_state: ts-active-state { 617 pins = "gpio89", "gpio125"; 618 pins = "gpio89", "gpio125"; 618 function = "gpio"; 619 function = "gpio"; 619 drive-strength = <16>; 620 drive-strength = <16>; 620 bias-pull-up; 621 bias-pull-up; 621 }; 622 }; 622 623 623 ts_int_suspend_state: ts-int-suspend-s 624 ts_int_suspend_state: ts-int-suspend-state { 624 pins = "gpio125"; 625 pins = "gpio125"; 625 function = "gpio"; 626 function = "gpio"; 626 drive-strength = <2>; 627 drive-strength = <2>; 627 bias-disable; 628 bias-disable; 628 }; 629 }; 629 630 630 ts_reset_suspend_state: ts-reset-suspe 631 ts_reset_suspend_state: ts-reset-suspend-state { 631 pins = "gpio89"; 632 pins = "gpio89"; 632 function = "gpio"; 633 function = "gpio"; 633 drive-strength = <2>; 634 drive-strength = <2>; 634 bias-disable; 635 bias-disable; 635 }; 636 }; 636 637 637 wcd_int_n_state: wcd-int-n-state { 638 wcd_int_n_state: wcd-int-n-state { 638 pins = "gpio54"; 639 pins = "gpio54"; 639 function = "gpio"; 640 function = "gpio"; 640 bias-pull-down; 641 bias-pull-down; 641 drive-strength = <2>; 642 drive-strength = <2>; 642 }; 643 }; 643 644 644 wsa_leftspk_pwr_n_state: wsa-leftspk-p 645 wsa_leftspk_pwr_n_state: wsa-leftspk-pwr-n-state { 645 pins = "gpio65"; 646 pins = "gpio65"; 646 function = "gpio"; 647 function = "gpio"; 647 bias-disable; 648 bias-disable; 648 drive-strength = <2>; 649 drive-strength = <2>; 649 output-low; 650 output-low; 650 }; 651 }; 651 652 652 wsa_rightspk_pwr_n_state: wsa-rightspk 653 wsa_rightspk_pwr_n_state: wsa-rightspk-pwr-n-state { 653 pins = "gpio66"; 654 pins = "gpio66"; 654 function = "gpio"; 655 function = "gpio"; 655 bias-disable; 656 bias-disable; 656 drive-strength = <2>; 657 drive-strength = <2>; 657 output-low; 658 output-low; 658 }; 659 }; 659 }; 660 }; 660 661 661 &pm8998_resin { 662 &pm8998_resin { 662 linux,code = <KEY_VOLUMEDOWN>; 663 linux,code = <KEY_VOLUMEDOWN>; 663 status = "okay"; 664 status = "okay"; 664 }; 665 }; 665 666 666 &ufshc { 667 &ufshc { 667 vcc-supply = <&vreg_l20a_2p95>; 668 vcc-supply = <&vreg_l20a_2p95>; 668 vccq-supply = <&vreg_l26a_1p2>; 669 vccq-supply = <&vreg_l26a_1p2>; 669 vccq2-supply = <&vreg_s4a_1p8>; 670 vccq2-supply = <&vreg_s4a_1p8>; 670 vdd-hba-supply = <&vreg_l26a_1p2>; << 671 vcc-max-microamp = <750000>; 671 vcc-max-microamp = <750000>; 672 vccq-max-microamp = <560000>; 672 vccq-max-microamp = <560000>; 673 vccq2-max-microamp = <750000>; 673 vccq2-max-microamp = <750000>; 674 status = "okay"; 674 status = "okay"; 675 }; 675 }; 676 676 677 &ufsphy { 677 &ufsphy { 678 vdda-phy-supply = <&vreg_l1a_0p875>; 678 vdda-phy-supply = <&vreg_l1a_0p875>; 679 vdda-pll-supply = <&vreg_l2a_1p2>; 679 vdda-pll-supply = <&vreg_l2a_1p2>; >> 680 vddp-ref-clk-supply = <&vreg_l26a_1p2>; 680 status = "okay"; 681 status = "okay"; 681 }; 682 }; 682 683 683 &usb3 { 684 &usb3 { 684 /* Disable USB3 clock requirement as t 685 /* Disable USB3 clock requirement as the device only supports USB2 */ 685 qcom,select-utmi-as-pipe-clk; 686 qcom,select-utmi-as-pipe-clk; 686 status = "okay"; 687 status = "okay"; 687 }; 688 }; 688 689 689 &usb3_dwc3 { 690 &usb3_dwc3 { 690 /* Drop the unused USB 3 PHY */ 691 /* Drop the unused USB 3 PHY */ 691 phys = <&qusb2phy>; 692 phys = <&qusb2phy>; 692 phy-names = "usb2-phy"; 693 phy-names = "usb2-phy"; 693 694 694 /* Fastest mode for USB 2 */ 695 /* Fastest mode for USB 2 */ 695 maximum-speed = "high-speed"; 696 maximum-speed = "high-speed"; 696 697 697 /* Force to peripheral until we can sw 698 /* Force to peripheral until we can switch modes */ 698 dr_mode = "peripheral"; 699 dr_mode = "peripheral"; 699 }; 700 }; 700 701 701 &wifi { 702 &wifi { 702 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8> 703 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>; 703 vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 704 vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 704 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 705 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 705 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 706 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 706 status = "okay"; 707 status = "okay"; 707 }; 708 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.