1 // SPDX-License-Identifier: GPL-2.0-only 1 // SPDX-License-Identifier: GPL-2.0-only 2 2 3 /dts-v1/; 3 /dts-v1/; 4 4 5 #include "msm8916-pm8916.dtsi" !! 5 #include "msm8916.dtsi" 6 #include "msm8916-modem-qdsp6.dtsi" !! 6 #include "pm8916.dtsi" 7 << 8 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/input/input.h> 8 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/interrupt-controller/irq << 11 #include <dt-bindings/leds/common.h> << 12 9 13 / { 10 / { 14 model = "Longcheer L8150"; 11 model = "Longcheer L8150"; 15 compatible = "longcheer,l8150", "qcom, !! 12 compatible = "longcheer,l8150", "qcom,msm8916-v1-qrd/9-v1", "qcom,msm8916"; 16 chassis-type = "handset"; << 17 13 18 aliases { 14 aliases { 19 mmc0 = &sdhc_1; /* eMMC */ !! 15 serial0 = &blsp1_uart2; 20 mmc1 = &sdhc_2; /* SD card */ << 21 serial0 = &blsp_uart2; << 22 }; 16 }; 23 17 24 chosen { 18 chosen { 25 stdout-path = "serial0"; 19 stdout-path = "serial0"; 26 }; 20 }; 27 21 28 /* << 29 * For some reason, the signed wcnss f << 30 * It must be loaded at 0x8b600000. Un << 31 * mpss_mem does not fit when loaded t << 32 * << 33 * Load wcnss_mem to the fixed address << 34 * working higher address. For some re << 35 * boot when placed at 0x8a800000 to 0 << 36 */ << 37 reserved-memory { 22 reserved-memory { 38 /delete-node/ mpss@86800000; !! 23 // wcnss.mdt is not relocatable, so it must be loaded at 0x8b600000 39 /delete-node/ wcnss; !! 24 /delete-node/ wcnss@89300000; 40 25 41 wcnss_mem: wcnss@8b600000 { 26 wcnss_mem: wcnss@8b600000 { 42 reg = <0x0 0x8b600000 27 reg = <0x0 0x8b600000 0x0 0x600000>; 43 no-map; 28 no-map; 44 }; 29 }; 45 << 46 mpss_mem: mpss@8e800000 { << 47 reg = <0x0 0x8e800000 << 48 no-map; << 49 }; << 50 }; 30 }; 51 31 52 battery: battery { !! 32 soc { 53 compatible = "simple-battery"; !! 33 sdhci@7824000 { 54 voltage-min-design-microvolt = !! 34 status = "okay"; 55 voltage-max-design-microvolt = !! 35 56 energy-full-design-microwatt-h !! 36 vmmc-supply = <&pm8916_l8>; 57 charge-full-design-microamp-ho !! 37 vqmmc-supply = <&pm8916_l5>; 58 !! 38 59 ocv-capacity-celsius = <25>; !! 39 pinctrl-names = "default", "sleep"; 60 ocv-capacity-table-0 = <433000 !! 40 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; 61 <4208000 90>, <4153000 !! 41 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; 62 <4001000 70>, <3962000 << 63 <3839000 50>, <3817000 << 64 <3767000 30>, <3747000 << 65 <3688000 13>, <3681000 << 66 <3677000 8>, <3674000 << 67 <3597000 4>, <3537000 << 68 <3000000 0>; << 69 }; << 70 << 71 gpio-keys { << 72 compatible = "gpio-keys"; << 73 << 74 pinctrl-names = "default"; << 75 pinctrl-0 = <&gpio_keys_defaul << 76 << 77 label = "GPIO Buttons"; << 78 << 79 button-volume-up { << 80 label = "Volume Up"; << 81 gpios = <&tlmm 107 GPI << 82 linux,code = <KEY_VOLU << 83 }; 42 }; 84 }; << 85 << 86 reg_ctp: regulator-ctp { << 87 compatible = "regulator-fixed" << 88 regulator-name = "ctp"; << 89 << 90 regulator-min-microvolt = <280 << 91 regulator-max-microvolt = <280 << 92 << 93 gpio = <&tlmm 17 GPIO_ACTIVE_H << 94 enable-active-high; << 95 43 96 pinctrl-names = "default"; !! 44 sdhci@7864000 { 97 pinctrl-0 = <&ctp_pwr_en_defau !! 45 status = "okay"; 98 }; << 99 46 100 flash-led-controller { !! 47 vmmc-supply = <&pm8916_l11>; 101 compatible = "sgmicro,sgm3140" !! 48 vqmmc-supply = <&pm8916_l12>; 102 flash-gpios = <&tlmm 31 GPIO_A << 103 enable-gpios = <&tlmm 32 GPIO_ << 104 49 105 pinctrl-names = "default"; !! 50 pinctrl-names = "default", "sleep"; 106 pinctrl-0 = <&camera_flash_def !! 51 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>; >> 52 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>; 107 53 108 flash_led: led { !! 54 non-removable; 109 function = LED_FUNCTIO << 110 color = <LED_COLOR_ID_ << 111 flash-max-timeout-us = << 112 }; 55 }; 113 }; << 114 }; << 115 << 116 &blsp_i2c1 { << 117 status = "okay"; << 118 56 119 led-controller@45 { !! 57 serial@78b0000 { 120 compatible = "awinic,aw2013"; !! 58 status = "okay"; 121 reg = <0x45>; !! 59 pinctrl-names = "default", "sleep"; 122 #address-cells = <1>; !! 60 pinctrl-0 = <&blsp1_uart2_default>; 123 #size-cells = <0>; !! 61 pinctrl-1 = <&blsp1_uart2_sleep>; 124 << 125 vcc-supply = <&pm8916_l17>; << 126 vio-supply = <&pm8916_l6>; << 127 << 128 led@0 { << 129 reg = <0>; << 130 led-max-microamp = <50 << 131 function = LED_FUNCTIO << 132 color = <LED_COLOR_ID_ << 133 }; << 134 << 135 led@1 { << 136 reg = <1>; << 137 led-max-microamp = <50 << 138 function = LED_FUNCTIO << 139 color = <LED_COLOR_ID_ << 140 }; << 141 << 142 led@2 { << 143 reg = <2>; << 144 led-max-microamp = <50 << 145 function = LED_FUNCTIO << 146 color = <LED_COLOR_ID_ << 147 }; 62 }; 148 }; << 149 }; << 150 63 151 &blsp_i2c2 { !! 64 usb@78d9000 { 152 status = "okay"; !! 65 status = "okay"; >> 66 dr_mode = "peripheral"; >> 67 extcon = <&usb_vbus>; >> 68 >> 69 hnp-disable; >> 70 srp-disable; >> 71 adp-disable; >> 72 >> 73 ulpi { >> 74 phy { >> 75 extcon = <&usb_vbus>; >> 76 v1p8-supply = <&pm8916_l7>; >> 77 v3p3-supply = <&pm8916_l13>; >> 78 }; >> 79 }; >> 80 }; 153 81 154 accelerometer@10 { !! 82 wcnss@a21b000 { 155 compatible = "bosch,bmc156_acc !! 83 status = "okay"; 156 reg = <0x10>; !! 84 }; 157 85 158 /* 86 /* 159 * For some reason the interru !! 87 * Attempting to enable these devices causes a "synchronous 160 * to the BMC156. However, the !! 88 * external abort". Suspected cause is that the debug power 161 * that can be shorted to make !! 89 * domain is not enabled by default on this device. >> 90 * Disable these devices for now to avoid the crash. 162 * 91 * 163 * interrupt-parent = <&tlmm>; !! 92 * See: https://lore.kernel.org/linux-arm-msm/20190618202623.GA53651@gerhold.net/ 164 * interrupts = <116 IRQ_TYPE_ << 165 */ 93 */ 166 !! 94 tpiu@820000 { status = "disabled"; }; 167 pinctrl-names = "default"; !! 95 funnel@821000 { status = "disabled"; }; 168 pinctrl-0 = <&accel_int_defaul !! 96 replicator@824000 { status = "disabled"; }; 169 !! 97 etf@825000 { status = "disabled"; }; 170 vdd-supply = <&pm8916_l17>; !! 98 etr@826000 { status = "disabled"; }; 171 vddio-supply = <&pm8916_l6>; !! 99 funnel@841000 { status = "disabled"; }; 172 !! 100 debug@850000 { status = "disabled"; }; 173 mount-matrix = "0", "1", "0", !! 101 debug@852000 { status = "disabled"; }; 174 "-1", "0", "0", !! 102 debug@854000 { status = "disabled"; }; 175 "0", "0", "1"; !! 103 debug@856000 { status = "disabled"; }; 176 }; !! 104 etm@85c000 { status = "disabled"; }; 177 !! 105 etm@85d000 { status = "disabled"; }; 178 magnetometer@12 { !! 106 etm@85e000 { status = "disabled"; }; 179 compatible = "bosch,bmc156_mag !! 107 etm@85f000 { status = "disabled"; }; 180 reg = <0x12>; !! 108 }; 181 !! 109 182 interrupt-parent = <&tlmm>; !! 110 // FIXME: Use extcon device provided by charger driver when available 183 interrupts = <113 IRQ_TYPE_EDG !! 111 usb_vbus: usb-vbus { 184 !! 112 compatible = "linux,extcon-usb-gpio"; >> 113 vbus-gpio = <&msmgpio 62 GPIO_ACTIVE_HIGH>; 185 pinctrl-names = "default"; 114 pinctrl-names = "default"; 186 pinctrl-0 = <&magn_int_default !! 115 pinctrl-0 = <&usb_vbus_default>; 187 << 188 vdd-supply = <&pm8916_l17>; << 189 vddio-supply = <&pm8916_l6>; << 190 }; 116 }; 191 117 192 light-sensor@23 { !! 118 gpio-keys { 193 compatible = "liteon,ltr559"; !! 119 compatible = "gpio-keys"; 194 reg = <0x23>; << 195 proximity-near-level = <75>; << 196 << 197 interrupt-parent = <&tlmm>; << 198 interrupts = <115 IRQ_TYPE_EDG << 199 120 200 pinctrl-names = "default"; 121 pinctrl-names = "default"; 201 pinctrl-0 = <&light_int_defaul !! 122 pinctrl-0 = <&gpio_keys_default>; 202 << 203 vdd-supply = <&pm8916_l17>; << 204 vddio-supply = <&pm8916_l6>; << 205 }; << 206 << 207 gyroscope@68 { << 208 compatible = "bosch,bmg160"; << 209 reg = <0x68>; << 210 << 211 interrupt-parent = <&tlmm>; << 212 interrupts = <23 IRQ_TYPE_EDGE << 213 <22 IRQ_TYPE_EDGE << 214 123 215 pinctrl-names = "default"; !! 124 label = "GPIO Buttons"; 216 pinctrl-0 = <&gyro_int_default << 217 125 218 vdd-supply = <&pm8916_l17>; !! 126 volume-up { 219 vddio-supply = <&pm8916_l6>; !! 127 label = "Volume Up"; >> 128 gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>; >> 129 linux,code = <KEY_VOLUMEUP>; >> 130 }; 220 }; 131 }; 221 }; 132 }; 222 133 223 &blsp_i2c5 { !! 134 &msmgpio { 224 status = "okay"; !! 135 gpio_keys_default: gpio_keys_default { 225 !! 136 pinmux { 226 rmi4@20 { !! 137 function = "gpio"; 227 compatible = "syna,rmi4-i2c"; !! 138 pins = "gpio107"; 228 reg = <0x20>; << 229 #address-cells = <1>; << 230 #size-cells = <0>; << 231 << 232 interrupt-parent = <&tlmm>; << 233 interrupts = <13 IRQ_TYPE_EDGE << 234 << 235 vdd-supply = <®_ctp>; << 236 vio-supply = <&pm8916_l6>; << 237 << 238 pinctrl-names = "default"; << 239 pinctrl-0 = <&tp_int_default>; << 240 << 241 syna,startup-delay-ms = <10>; << 242 << 243 rmi4-f01@1 { << 244 reg = <0x1>; << 245 syna,nosleep-mode = <1 << 246 }; 139 }; 247 !! 140 pinconf { 248 rmi4-f12@12 { !! 141 pins = "gpio107"; 249 reg = <0x12>; !! 142 drive-strength = <2>; 250 syna,sensor-type = <1> !! 143 bias-pull-up; 251 }; 144 }; 252 }; 145 }; 253 }; << 254 << 255 &blsp_uart2 { << 256 status = "okay"; << 257 }; << 258 << 259 &pm8916_bms { << 260 status = "okay"; << 261 << 262 monitored-battery = <&battery>; << 263 power-supplies = <&pm8916_charger>; << 264 }; << 265 << 266 &pm8916_charger { << 267 status = "okay"; << 268 << 269 monitored-battery = <&battery>; << 270 << 271 qcom,fast-charge-safe-current = <90000 << 272 qcom,fast-charge-safe-voltage = <43000 << 273 }; << 274 << 275 &pm8916_codec { << 276 qcom,micbias-lvl = <2800>; << 277 qcom,mbhc-vthreshold-low = <75 150 237 << 278 qcom,mbhc-vthreshold-high = <75 150 23 << 279 qcom,hphl-jack-type-normally-open; << 280 }; << 281 146 282 &pm8916_resin { !! 147 usb_vbus_default: usb-vbus-default { 283 status = "okay"; !! 148 pinmux { 284 linux,code = <KEY_VOLUMEDOWN>; !! 149 function = "gpio"; 285 }; !! 150 pins = "gpio62"; 286 !! 151 }; 287 &pm8916_rpm_regulators { !! 152 pinconf { 288 pm8916_l17: l17 { !! 153 pins = "gpio62"; 289 regulator-min-microvolt = <285 !! 154 bias-pull-up; 290 regulator-max-microvolt = <285 !! 155 }; 291 }; 156 }; 292 }; 157 }; 293 158 294 &pm8916_vib { !! 159 &spmi_bus { 295 status = "okay"; !! 160 pm8916@0 { 296 }; !! 161 pon@800 { 297 !! 162 volume-down { 298 &sdhc_1 { !! 163 compatible = "qcom,pm8941-resin"; 299 status = "okay"; !! 164 interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>; 300 }; !! 165 bias-pull-up; 301 !! 166 linux,code = <KEY_VOLUMEDOWN>; 302 &sdhc_2 { !! 167 }; 303 status = "okay"; !! 168 }; 304 non-removable; !! 169 }; 305 }; << 306 << 307 &sound { << 308 audio-routing = << 309 "AMIC1", "MIC BIAS Internal1", << 310 "AMIC2", "MIC BIAS Internal2", << 311 "AMIC3", "MIC BIAS Internal3"; << 312 }; << 313 << 314 &usb { << 315 status = "okay"; << 316 dr_mode = "peripheral"; << 317 extcon = <&pm8916_charger>; << 318 }; 170 }; 319 171 320 &usb_hs_phy { !! 172 &smd_rpm_regulators { 321 extcon = <&pm8916_charger>; !! 173 vdd_l1_l2_l3-supply = <&pm8916_s3>; 322 }; !! 174 vdd_l4_l5_l6-supply = <&pm8916_s4>; >> 175 vdd_l7-supply = <&pm8916_s4>; 323 176 324 &venus { !! 177 s1 { 325 status = "okay"; !! 178 regulator-min-microvolt = <500000>; 326 }; !! 179 regulator-max-microvolt = <1300000>; >> 180 }; 327 181 328 &venus_mem { !! 182 s3 { 329 status = "okay"; !! 183 regulator-min-microvolt = <1200000>; 330 }; !! 184 regulator-max-microvolt = <1300000>; >> 185 }; 331 186 332 &wcnss { !! 187 s4 { 333 status = "okay"; !! 188 regulator-min-microvolt = <1800000>; 334 }; !! 189 regulator-max-microvolt = <2100000>; >> 190 }; 335 191 336 &wcnss_iris { !! 192 l1 { 337 compatible = "qcom,wcn3620"; !! 193 regulator-min-microvolt = <1225000>; 338 }; !! 194 regulator-max-microvolt = <1225000>; >> 195 }; 339 196 340 &wcnss_mem { !! 197 l2 { 341 status = "okay"; !! 198 regulator-min-microvolt = <1200000>; 342 }; !! 199 regulator-max-microvolt = <1200000>; >> 200 }; 343 201 344 &tlmm { !! 202 l3 { 345 accel_int_default: accel-int-default-s !! 203 regulator-min-microvolt = <500000>; 346 pins = "gpio116"; !! 204 regulator-max-microvolt = <1287500>; 347 function = "gpio"; !! 205 }; 348 206 349 drive-strength = <2>; !! 207 l4 { 350 bias-disable; !! 208 regulator-min-microvolt = <2050000>; >> 209 regulator-max-microvolt = <2050000>; 351 }; 210 }; 352 211 353 camera_flash_default: camera-flash-def !! 212 l5 { 354 pins = "gpio31", "gpio32"; !! 213 regulator-min-microvolt = <1800000>; 355 function = "gpio"; !! 214 regulator-max-microvolt = <1800000>; >> 215 }; 356 216 357 drive-strength = <2>; !! 217 l6 { 358 bias-disable; !! 218 regulator-min-microvolt = <1800000>; >> 219 regulator-max-microvolt = <1800000>; 359 }; 220 }; 360 221 361 ctp_pwr_en_default: ctp-pwr-en-default !! 222 l7 { 362 pins = "gpio17"; !! 223 regulator-min-microvolt = <1800000>; 363 function = "gpio"; !! 224 regulator-max-microvolt = <1800000>; >> 225 }; 364 226 365 drive-strength = <2>; !! 227 l8 { 366 bias-disable; !! 228 regulator-min-microvolt = <2850000>; >> 229 regulator-max-microvolt = <2900000>; 367 }; 230 }; 368 231 369 gpio_keys_default: gpio-keys-default-s !! 232 l9 { 370 pins = "gpio107"; !! 233 regulator-min-microvolt = <3300000>; 371 function = "gpio"; !! 234 regulator-max-microvolt = <3300000>; >> 235 }; 372 236 373 drive-strength = <2>; !! 237 l10 { 374 bias-pull-up; !! 238 regulator-min-microvolt = <2700000>; >> 239 regulator-max-microvolt = <2800000>; 375 }; 240 }; 376 241 377 gyro_int_default: gyro-int-default-sta !! 242 l11 { 378 pins = "gpio22", "gpio23"; !! 243 regulator-min-microvolt = <1800000>; 379 function = "gpio"; !! 244 regulator-max-microvolt = <2950000>; >> 245 regulator-allow-set-load; >> 246 regulator-system-load = <200000>; >> 247 }; 380 248 381 drive-strength = <2>; !! 249 l12 { 382 bias-disable; !! 250 regulator-min-microvolt = <1800000>; >> 251 regulator-max-microvolt = <2950000>; 383 }; 252 }; 384 253 385 light_int_default: light-int-default-s !! 254 l13 { 386 pins = "gpio115"; !! 255 regulator-min-microvolt = <3075000>; 387 function = "gpio"; !! 256 regulator-max-microvolt = <3075000>; >> 257 }; 388 258 389 drive-strength = <2>; !! 259 l14 { 390 bias-disable; !! 260 regulator-min-microvolt = <1800000>; >> 261 regulator-max-microvolt = <3300000>; 391 }; 262 }; 392 263 393 magn_int_default: magn-int-default-sta !! 264 l15 { 394 pins = "gpio113"; !! 265 regulator-min-microvolt = <1800000>; 395 function = "gpio"; !! 266 regulator-max-microvolt = <3300000>; >> 267 }; 396 268 397 drive-strength = <2>; !! 269 l16 { 398 bias-disable; !! 270 regulator-min-microvolt = <1800000>; >> 271 regulator-max-microvolt = <3300000>; 399 }; 272 }; 400 273 401 tp_int_default: tp-int-default-state { !! 274 l17 { 402 pins = "gpio13"; !! 275 regulator-min-microvolt = <2850000>; 403 function = "gpio"; !! 276 regulator-max-microvolt = <2850000>; >> 277 }; 404 278 405 drive-strength = <2>; !! 279 l18 { 406 bias-disable; !! 280 regulator-min-microvolt = <2700000>; >> 281 regulator-max-microvolt = <2700000>; 407 }; 282 }; 408 }; 283 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.