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-pm8916.dtsi" 6 #include "msm8916-modem-qdsp6.dtsi" << 7 << 8 #include <dt-bindings/gpio/gpio.h> 6 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/input/input.h> 7 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/interrupt-controller/irq << 11 #include <dt-bindings/leds/common.h> << 12 8 13 / { 9 / { 14 model = "Longcheer L8150"; 10 model = "Longcheer L8150"; 15 compatible = "longcheer,l8150", "qcom, !! 11 compatible = "longcheer,l8150", "qcom,msm8916-v1-qrd/9-v1", "qcom,msm8916"; 16 chassis-type = "handset"; << 17 12 18 aliases { 13 aliases { 19 mmc0 = &sdhc_1; /* eMMC */ !! 14 serial0 = &blsp1_uart2; 20 mmc1 = &sdhc_2; /* SD card */ << 21 serial0 = &blsp_uart2; << 22 }; 15 }; 23 16 24 chosen { 17 chosen { 25 stdout-path = "serial0"; 18 stdout-path = "serial0"; 26 }; 19 }; 27 20 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 { 21 reserved-memory { 38 /delete-node/ mpss@86800000; !! 22 // wcnss.mdt is not relocatable, so it must be loaded at 0x8b600000 39 /delete-node/ wcnss; !! 23 /delete-node/ wcnss@89300000; 40 24 41 wcnss_mem: wcnss@8b600000 { 25 wcnss_mem: wcnss@8b600000 { 42 reg = <0x0 0x8b600000 26 reg = <0x0 0x8b600000 0x0 0x600000>; 43 no-map; 27 no-map; 44 }; 28 }; 45 << 46 mpss_mem: mpss@8e800000 { << 47 reg = <0x0 0x8e800000 << 48 no-map; << 49 }; << 50 }; 29 }; 51 30 52 battery: battery { !! 31 // FIXME: Use extcon device provided by charger driver when available 53 compatible = "simple-battery"; !! 32 usb_vbus: usb-vbus { 54 voltage-min-design-microvolt = !! 33 compatible = "linux,extcon-usb-gpio"; 55 voltage-max-design-microvolt = !! 34 vbus-gpio = <&msmgpio 62 GPIO_ACTIVE_HIGH>; 56 energy-full-design-microwatt-h !! 35 pinctrl-names = "default"; 57 charge-full-design-microamp-ho !! 36 pinctrl-0 = <&usb_vbus_default>; 58 << 59 ocv-capacity-celsius = <25>; << 60 ocv-capacity-table-0 = <433000 << 61 <4208000 90>, <4153000 << 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 }; 37 }; 70 38 71 gpio-keys { 39 gpio-keys { 72 compatible = "gpio-keys"; 40 compatible = "gpio-keys"; 73 41 74 pinctrl-names = "default"; 42 pinctrl-names = "default"; 75 pinctrl-0 = <&gpio_keys_defaul 43 pinctrl-0 = <&gpio_keys_default>; 76 44 77 label = "GPIO Buttons"; 45 label = "GPIO Buttons"; 78 46 79 button-volume-up { !! 47 volume-up { 80 label = "Volume Up"; 48 label = "Volume Up"; 81 gpios = <&tlmm 107 GPI !! 49 gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>; 82 linux,code = <KEY_VOLU 50 linux,code = <KEY_VOLUMEUP>; 83 }; 51 }; 84 }; 52 }; 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 << 96 pinctrl-names = "default"; << 97 pinctrl-0 = <&ctp_pwr_en_defau << 98 }; << 99 << 100 flash-led-controller { << 101 compatible = "sgmicro,sgm3140" << 102 flash-gpios = <&tlmm 31 GPIO_A << 103 enable-gpios = <&tlmm 32 GPIO_ << 104 << 105 pinctrl-names = "default"; << 106 pinctrl-0 = <&camera_flash_def << 107 << 108 flash_led: led { << 109 function = LED_FUNCTIO << 110 color = <LED_COLOR_ID_ << 111 flash-max-timeout-us = << 112 }; << 113 }; << 114 }; << 115 << 116 &blsp_i2c1 { << 117 status = "okay"; << 118 << 119 led-controller@45 { << 120 compatible = "awinic,aw2013"; << 121 reg = <0x45>; << 122 #address-cells = <1>; << 123 #size-cells = <0>; << 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 }; << 148 }; << 149 }; << 150 << 151 &blsp_i2c2 { << 152 status = "okay"; << 153 << 154 accelerometer@10 { << 155 compatible = "bosch,bmc156_acc << 156 reg = <0x10>; << 157 << 158 /* << 159 * For some reason the interru << 160 * to the BMC156. However, the << 161 * that can be shorted to make << 162 * << 163 * interrupt-parent = <&tlmm>; << 164 * interrupts = <116 IRQ_TYPE_ << 165 */ << 166 << 167 pinctrl-names = "default"; << 168 pinctrl-0 = <&accel_int_defaul << 169 << 170 vdd-supply = <&pm8916_l17>; << 171 vddio-supply = <&pm8916_l6>; << 172 << 173 mount-matrix = "0", "1", "0", << 174 "-1", "0", "0", << 175 "0", "0", "1"; << 176 }; << 177 << 178 magnetometer@12 { << 179 compatible = "bosch,bmc156_mag << 180 reg = <0x12>; << 181 << 182 interrupt-parent = <&tlmm>; << 183 interrupts = <113 IRQ_TYPE_EDG << 184 << 185 pinctrl-names = "default"; << 186 pinctrl-0 = <&magn_int_default << 187 << 188 vdd-supply = <&pm8916_l17>; << 189 vddio-supply = <&pm8916_l6>; << 190 }; << 191 << 192 light-sensor@23 { << 193 compatible = "liteon,ltr559"; << 194 reg = <0x23>; << 195 proximity-near-level = <75>; << 196 << 197 interrupt-parent = <&tlmm>; << 198 interrupts = <115 IRQ_TYPE_EDG << 199 << 200 pinctrl-names = "default"; << 201 pinctrl-0 = <&light_int_defaul << 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 << 215 pinctrl-names = "default"; << 216 pinctrl-0 = <&gyro_int_default << 217 << 218 vdd-supply = <&pm8916_l17>; << 219 vddio-supply = <&pm8916_l6>; << 220 }; << 221 }; << 222 << 223 &blsp_i2c5 { << 224 status = "okay"; << 225 << 226 rmi4@20 { << 227 compatible = "syna,rmi4-i2c"; << 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 }; << 247 << 248 rmi4-f12@12 { << 249 reg = <0x12>; << 250 syna,sensor-type = <1> << 251 }; << 252 }; << 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 }; 53 }; 265 54 266 &pm8916_charger { !! 55 &blsp1_uart2 { 267 status = "okay"; 56 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 }; 57 }; 281 58 282 &pm8916_resin { 59 &pm8916_resin { 283 status = "okay"; 60 status = "okay"; 284 linux,code = <KEY_VOLUMEDOWN>; 61 linux,code = <KEY_VOLUMEDOWN>; 285 }; 62 }; 286 63 287 &pm8916_rpm_regulators { !! 64 &pronto { 288 pm8916_l17: l17 { << 289 regulator-min-microvolt = <285 << 290 regulator-max-microvolt = <285 << 291 }; << 292 }; << 293 << 294 &pm8916_vib { << 295 status = "okay"; 65 status = "okay"; 296 }; 66 }; 297 67 298 &sdhc_1 { 68 &sdhc_1 { 299 status = "okay"; 69 status = "okay"; >> 70 >> 71 pinctrl-names = "default", "sleep"; >> 72 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; >> 73 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; 300 }; 74 }; 301 75 302 &sdhc_2 { 76 &sdhc_2 { 303 status = "okay"; 77 status = "okay"; 304 non-removable; << 305 }; << 306 78 307 &sound { !! 79 pinctrl-names = "default", "sleep"; 308 audio-routing = !! 80 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>; 309 "AMIC1", "MIC BIAS Internal1", !! 81 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>; 310 "AMIC2", "MIC BIAS Internal2", !! 82 311 "AMIC3", "MIC BIAS Internal3"; !! 83 non-removable; 312 }; 84 }; 313 85 314 &usb { 86 &usb { 315 status = "okay"; 87 status = "okay"; 316 dr_mode = "peripheral"; 88 dr_mode = "peripheral"; 317 extcon = <&pm8916_charger>; !! 89 extcon = <&usb_vbus>; 318 }; 90 }; 319 91 320 &usb_hs_phy { 92 &usb_hs_phy { 321 extcon = <&pm8916_charger>; !! 93 extcon = <&usb_vbus>; 322 }; 94 }; 323 95 324 &venus { !! 96 &smd_rpm_regulators { 325 status = "okay"; !! 97 vdd_l1_l2_l3-supply = <&pm8916_s3>; 326 }; !! 98 vdd_l4_l5_l6-supply = <&pm8916_s4>; >> 99 vdd_l7-supply = <&pm8916_s4>; 327 100 328 &venus_mem { !! 101 s1 { 329 status = "okay"; !! 102 regulator-min-microvolt = <500000>; 330 }; !! 103 regulator-max-microvolt = <1300000>; >> 104 }; 331 105 332 &wcnss { !! 106 s3 { 333 status = "okay"; !! 107 regulator-min-microvolt = <1200000>; 334 }; !! 108 regulator-max-microvolt = <1300000>; >> 109 }; 335 110 336 &wcnss_iris { !! 111 s4 { 337 compatible = "qcom,wcn3620"; !! 112 regulator-min-microvolt = <1800000>; 338 }; !! 113 regulator-max-microvolt = <2100000>; >> 114 }; 339 115 340 &wcnss_mem { !! 116 l1 { 341 status = "okay"; !! 117 regulator-min-microvolt = <1225000>; 342 }; !! 118 regulator-max-microvolt = <1225000>; >> 119 }; 343 120 344 &tlmm { !! 121 l2 { 345 accel_int_default: accel-int-default-s !! 122 regulator-min-microvolt = <1200000>; 346 pins = "gpio116"; !! 123 regulator-max-microvolt = <1200000>; 347 function = "gpio"; !! 124 }; 348 125 349 drive-strength = <2>; !! 126 l3 { 350 bias-disable; !! 127 regulator-min-microvolt = <500000>; >> 128 regulator-max-microvolt = <1287500>; 351 }; 129 }; 352 130 353 camera_flash_default: camera-flash-def !! 131 l4 { 354 pins = "gpio31", "gpio32"; !! 132 regulator-min-microvolt = <2050000>; 355 function = "gpio"; !! 133 regulator-max-microvolt = <2050000>; >> 134 }; 356 135 357 drive-strength = <2>; !! 136 l5 { 358 bias-disable; !! 137 regulator-min-microvolt = <1800000>; >> 138 regulator-max-microvolt = <1800000>; 359 }; 139 }; 360 140 361 ctp_pwr_en_default: ctp-pwr-en-default !! 141 l6 { 362 pins = "gpio17"; !! 142 regulator-min-microvolt = <1800000>; 363 function = "gpio"; !! 143 regulator-max-microvolt = <1800000>; >> 144 }; 364 145 365 drive-strength = <2>; !! 146 l7 { 366 bias-disable; !! 147 regulator-min-microvolt = <1800000>; >> 148 regulator-max-microvolt = <1800000>; 367 }; 149 }; 368 150 369 gpio_keys_default: gpio-keys-default-s !! 151 l8 { 370 pins = "gpio107"; !! 152 regulator-min-microvolt = <2850000>; 371 function = "gpio"; !! 153 regulator-max-microvolt = <2900000>; >> 154 }; 372 155 373 drive-strength = <2>; !! 156 l9 { 374 bias-pull-up; !! 157 regulator-min-microvolt = <3300000>; >> 158 regulator-max-microvolt = <3300000>; 375 }; 159 }; 376 160 377 gyro_int_default: gyro-int-default-sta !! 161 l10 { 378 pins = "gpio22", "gpio23"; !! 162 regulator-min-microvolt = <2700000>; 379 function = "gpio"; !! 163 regulator-max-microvolt = <2800000>; >> 164 }; 380 165 381 drive-strength = <2>; !! 166 l11 { 382 bias-disable; !! 167 regulator-min-microvolt = <1800000>; >> 168 regulator-max-microvolt = <2950000>; >> 169 regulator-allow-set-load; >> 170 regulator-system-load = <200000>; 383 }; 171 }; 384 172 385 light_int_default: light-int-default-s !! 173 l12 { 386 pins = "gpio115"; !! 174 regulator-min-microvolt = <1800000>; 387 function = "gpio"; !! 175 regulator-max-microvolt = <2950000>; >> 176 }; 388 177 389 drive-strength = <2>; !! 178 l13 { 390 bias-disable; !! 179 regulator-min-microvolt = <3075000>; >> 180 regulator-max-microvolt = <3075000>; 391 }; 181 }; 392 182 393 magn_int_default: magn-int-default-sta !! 183 l14 { 394 pins = "gpio113"; !! 184 regulator-min-microvolt = <1800000>; >> 185 regulator-max-microvolt = <3300000>; >> 186 }; >> 187 >> 188 l15 { >> 189 regulator-min-microvolt = <1800000>; >> 190 regulator-max-microvolt = <3300000>; >> 191 }; >> 192 >> 193 l16 { >> 194 regulator-min-microvolt = <1800000>; >> 195 regulator-max-microvolt = <3300000>; >> 196 }; >> 197 >> 198 l17 { >> 199 regulator-min-microvolt = <2850000>; >> 200 regulator-max-microvolt = <2850000>; >> 201 }; >> 202 >> 203 l18 { >> 204 regulator-min-microvolt = <2700000>; >> 205 regulator-max-microvolt = <2700000>; >> 206 }; >> 207 }; >> 208 >> 209 &msmgpio { >> 210 gpio_keys_default: gpio-keys-default { >> 211 pins = "gpio107"; 395 function = "gpio"; 212 function = "gpio"; 396 213 397 drive-strength = <2>; 214 drive-strength = <2>; 398 bias-disable; !! 215 bias-pull-up; 399 }; 216 }; 400 217 401 tp_int_default: tp-int-default-state { !! 218 usb_vbus_default: usb-vbus-default { 402 pins = "gpio13"; !! 219 pins = "gpio62"; 403 function = "gpio"; 220 function = "gpio"; 404 221 405 drive-strength = <2>; !! 222 bias-pull-up; 406 bias-disable; << 407 }; 223 }; 408 }; 224 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.