1 // SPDX-License-Identifier: GPL-2.0-only 1 // SPDX-License-Identifier: GPL-2.0-only 2 2 3 #include "msm8916-pm8916.dtsi" !! 3 #include "msm8916.dtsi" 4 #include "msm8916-modem-qdsp6.dtsi" !! 4 #include "pm8916.dtsi" 5 << 6 #include <dt-bindings/gpio/gpio.h> 5 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/input/input.h> 6 #include <dt-bindings/input/input.h> 8 #include <dt-bindings/interrupt-controller/irq 7 #include <dt-bindings/interrupt-controller/irq.h> 9 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h << 10 #include <dt-bindings/sound/apq8016-lpass.h> << 11 8 12 / { 9 / { 13 aliases { 10 aliases { 14 mmc0 = &sdhc_1; /* eMMC */ !! 11 serial0 = &blsp1_uart2; 15 mmc1 = &sdhc_2; /* SD card */ << 16 serial0 = &blsp_uart2; << 17 }; 12 }; 18 13 19 chosen { 14 chosen { 20 stdout-path = "serial0"; 15 stdout-path = "serial0"; 21 }; 16 }; 22 17 23 reserved-memory { !! 18 soc { 24 /* Additional memory used by S !! 19 sdhci@7824000 { 25 tz-apps@85500000 { !! 20 status = "okay"; 26 reg = <0x0 0x85500000 !! 21 27 no-map; !! 22 vmmc-supply = <&pm8916_l8>; >> 23 vqmmc-supply = <&pm8916_l5>; >> 24 >> 25 pinctrl-names = "default", "sleep"; >> 26 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; >> 27 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; 28 }; 28 }; 29 }; << 30 29 31 battery: battery { !! 30 sdhci@7864000 { 32 compatible = "simple-battery"; !! 31 status = "okay"; 33 precharge-current-microamp = < << 34 precharge-upper-limit-microvol << 35 }; << 36 32 37 clk_pwm: pwm { !! 33 vmmc-supply = <&pm8916_l11>; 38 compatible = "clk-pwm"; !! 34 vqmmc-supply = <&pm8916_l12>; 39 #pwm-cells = <2>; << 40 35 41 clocks = <&gcc GCC_GP2_CLK>; !! 36 pinctrl-names = "default", "sleep"; >> 37 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; >> 38 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; 42 39 43 pinctrl-names = "default"; !! 40 cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>; 44 pinctrl-0 = <&motor_pwm_defaul !! 41 }; 45 status = "disabled"; !! 42 >> 43 serial@78b0000 { >> 44 status = "okay"; >> 45 pinctrl-names = "default", "sleep"; >> 46 pinctrl-0 = <&blsp1_uart2_default>; >> 47 pinctrl-1 = <&blsp1_uart2_sleep>; >> 48 }; >> 49 >> 50 usb@78d9000 { >> 51 status = "okay"; >> 52 extcon = <&muic>, <&muic>; >> 53 >> 54 hnp-disable; >> 55 srp-disable; >> 56 adp-disable; >> 57 >> 58 ulpi { >> 59 phy { >> 60 extcon = <&muic>; >> 61 v1p8-supply = <&pm8916_l7>; >> 62 v3p3-supply = <&pm8916_l13>; >> 63 }; >> 64 }; >> 65 }; >> 66 >> 67 wcnss@a21b000 { >> 68 status = "okay"; >> 69 }; >> 70 >> 71 /* >> 72 * Attempting to enable these devices causes a "synchronous >> 73 * external abort". Suspected cause is that the debug power >> 74 * domain is not enabled by default on this device. >> 75 * Disable these devices for now to avoid the crash. >> 76 * >> 77 * See: https://lore.kernel.org/linux-arm-msm/20190618202623.GA53651@gerhold.net/ >> 78 */ >> 79 tpiu@820000 { status = "disabled"; }; >> 80 funnel@821000 { status = "disabled"; }; >> 81 replicator@824000 { status = "disabled"; }; >> 82 etf@825000 { status = "disabled"; }; >> 83 etr@826000 { status = "disabled"; }; >> 84 funnel@841000 { status = "disabled"; }; >> 85 debug@850000 { status = "disabled"; }; >> 86 debug@852000 { status = "disabled"; }; >> 87 debug@854000 { status = "disabled"; }; >> 88 debug@856000 { status = "disabled"; }; >> 89 etm@85c000 { status = "disabled"; }; >> 90 etm@85d000 { status = "disabled"; }; >> 91 etm@85e000 { status = "disabled"; }; >> 92 etm@85f000 { status = "disabled"; }; 46 }; 93 }; 47 94 48 gpio-keys { 95 gpio-keys { 49 compatible = "gpio-keys"; 96 compatible = "gpio-keys"; 50 97 51 pinctrl-names = "default"; 98 pinctrl-names = "default"; 52 pinctrl-0 = <&gpio_keys_defaul 99 pinctrl-0 = <&gpio_keys_default>; 53 100 54 label = "GPIO Buttons"; 101 label = "GPIO Buttons"; 55 102 56 button-volume-up { !! 103 volume-up { 57 label = "Volume Up"; 104 label = "Volume Up"; 58 gpios = <&tlmm 107 GPI !! 105 gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>; 59 linux,code = <KEY_VOLU 106 linux,code = <KEY_VOLUMEUP>; 60 }; 107 }; 61 108 62 button-home { !! 109 home { 63 label = "Home"; 110 label = "Home"; 64 gpios = <&tlmm 109 GPI !! 111 gpios = <&msmgpio 109 GPIO_ACTIVE_LOW>; 65 linux,code = <KEY_HOME 112 linux,code = <KEY_HOMEPAGE>; 66 }; 113 }; 67 }; 114 }; 68 115 69 gpio-hall-sensor { 116 gpio-hall-sensor { 70 compatible = "gpio-keys"; 117 compatible = "gpio-keys"; 71 118 72 pinctrl-names = "default"; 119 pinctrl-names = "default"; 73 pinctrl-0 = <&gpio_hall_sensor 120 pinctrl-0 = <&gpio_hall_sensor_default>; 74 121 75 label = "GPIO Hall Effect Sens 122 label = "GPIO Hall Effect Sensor"; 76 123 77 event-hall-sensor { !! 124 hall-sensor { 78 label = "Hall Effect S 125 label = "Hall Effect Sensor"; 79 gpios = <&tlmm 52 GPIO !! 126 gpios = <&msmgpio 52 GPIO_ACTIVE_LOW>; 80 linux,input-type = <EV 127 linux,input-type = <EV_SW>; 81 linux,code = <SW_LID>; 128 linux,code = <SW_LID>; 82 linux,can-disable; 129 linux,can-disable; 83 }; 130 }; 84 }; 131 }; 85 132 86 /* << 87 * NOTE: A5 connects GPIO 76 to a regl << 88 * driver IC but A3 connects the same << 89 * the driver. << 90 */ << 91 reg_motor_vdd: regulator-motor-vdd { << 92 compatible = "regulator-fixed" << 93 regulator-name = "motor_vdd"; << 94 regulator-min-microvolt = <300 << 95 regulator-max-microvolt = <300 << 96 << 97 gpio = <&tlmm 76 GPIO_ACTIVE_H << 98 enable-active-high; << 99 << 100 pinctrl-names = "default"; << 101 pinctrl-0 = <&motor_en_default << 102 }; << 103 << 104 reg_vdd_tsp_a: regulator-vdd-tsp-a { << 105 compatible = "regulator-fixed" << 106 regulator-name = "vdd_tsp_a"; << 107 regulator-min-microvolt = <330 << 108 regulator-max-microvolt = <330 << 109 << 110 gpio = <&tlmm 73 GPIO_ACTIVE_H << 111 enable-active-high; << 112 << 113 pinctrl-names = "default"; << 114 pinctrl-0 = <&tsp_en_default>; << 115 }; << 116 << 117 i2c-muic { 133 i2c-muic { 118 compatible = "i2c-gpio"; 134 compatible = "i2c-gpio"; 119 sda-gpios = <&tlmm 105 (GPIO_A !! 135 sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 120 scl-gpios = <&tlmm 106 (GPIO_A !! 136 scl-gpios = <&msmgpio 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 121 << 122 pinctrl-names = "default"; << 123 pinctrl-0 = <&muic_i2c_default << 124 137 125 #address-cells = <1>; 138 #address-cells = <1>; 126 #size-cells = <0>; 139 #size-cells = <0>; 127 140 128 muic: extcon@25 { !! 141 muic: sm5502@25 { 129 compatible = "siliconm 142 compatible = "siliconmitus,sm5502-muic"; 130 143 131 reg = <0x25>; 144 reg = <0x25>; 132 interrupt-parent = <&t !! 145 interrupt-parent = <&msmgpio>; 133 interrupts = <12 IRQ_T 146 interrupts = <12 IRQ_TYPE_EDGE_FALLING>; 134 147 135 pinctrl-names = "defau 148 pinctrl-names = "default"; 136 pinctrl-0 = <&muic_int 149 pinctrl-0 = <&muic_int_default>; 137 << 138 usb_con: connector { << 139 compatible = " << 140 label = "micro << 141 type = "micro" << 142 }; << 143 }; 150 }; 144 }; 151 }; >> 152 }; 145 153 146 i2c-tkey { !! 154 &msmgpio { 147 compatible = "i2c-gpio"; !! 155 gpio_keys_default: gpio_keys_default { 148 sda-gpios = <&tlmm 16 (GPIO_AC !! 156 pinmux { 149 scl-gpios = <&tlmm 17 (GPIO_AC !! 157 function = "gpio"; 150 !! 158 pins = "gpio107", "gpio109"; 151 pinctrl-names = "default"; << 152 pinctrl-0 = <&tkey_i2c_default << 153 << 154 #address-cells = <1>; << 155 #size-cells = <0>; << 156 << 157 touchkey: touchkey@20 { << 158 /* Note: Actually an A << 159 compatible = "corerive << 160 reg = <0x20>; << 161 << 162 interrupt-parent = <&t << 163 interrupts = <98 IRQ_T << 164 << 165 /* vcc/vdd-supply are << 166 vddio-supply = <&pm891 << 167 << 168 linux,keycodes = <KEY_ << 169 << 170 pinctrl-names = "defau << 171 pinctrl-0 = <&tkey_def << 172 }; 159 }; 173 }; !! 160 pinconf { 174 !! 161 pins = "gpio107", "gpio109"; 175 i2c-nfc { !! 162 drive-strength = <2>; 176 compatible = "i2c-gpio"; !! 163 bias-pull-up; 177 sda-gpios = <&tlmm 0 (GPIO_ACT << 178 scl-gpios = <&tlmm 1 (GPIO_ACT << 179 << 180 pinctrl-names = "default"; << 181 pinctrl-0 = <&nfc_i2c_default> << 182 << 183 #address-cells = <1>; << 184 #size-cells = <0>; << 185 << 186 nfc@27 { << 187 compatible = "samsung, << 188 reg = <0x27>; << 189 << 190 interrupt-parent = <&t << 191 interrupts = <21 IRQ_T << 192 << 193 en-gpios = <&tlmm 20 G << 194 wake-gpios = <&tlmm 49 << 195 << 196 clocks = <&rpmcc RPM_S << 197 << 198 pinctrl-names = "defau << 199 pinctrl-0 = <&nfc_defa << 200 }; 164 }; 201 }; 165 }; 202 166 203 vibrator: vibrator { !! 167 gpio_hall_sensor_default: gpio_hall_sensor_default { 204 compatible = "pwm-vibrator"; !! 168 pinmux { 205 !! 169 function = "gpio"; 206 pwms = <&clk_pwm 0 100000>; !! 170 pins = "gpio52"; 207 pwm-names = "enable"; << 208 << 209 vcc-supply = <®_motor_vdd>; << 210 status = "disabled"; << 211 }; << 212 }; << 213 << 214 &blsp_i2c1 { << 215 status = "okay"; << 216 << 217 speaker_codec: audio-codec@34 { << 218 compatible = "nxp,tfa9895"; << 219 reg = <0x34>; << 220 vddd-supply = <&pm8916_l5>; << 221 sound-name-prefix = "Speaker"; << 222 #sound-dai-cells = <0>; << 223 }; << 224 }; << 225 << 226 &blsp_i2c2 { << 227 status = "okay"; << 228 << 229 accelerometer: accelerometer@10 { << 230 compatible = "bosch,bmc150_acc << 231 reg = <0x10>; << 232 interrupt-parent = <&tlmm>; << 233 interrupts = <115 IRQ_TYPE_EDG << 234 << 235 vdd-supply = <&pm8916_l17>; << 236 vddio-supply = <&pm8916_l5>; << 237 << 238 pinctrl-names = "default"; << 239 pinctrl-0 = <&accel_int_defaul << 240 }; << 241 << 242 magnetometer@12 { << 243 compatible = "bosch,bmc150_mag << 244 reg = <0x12>; << 245 << 246 vdd-supply = <&pm8916_l17>; << 247 vddio-supply = <&pm8916_l5>; << 248 }; << 249 }; << 250 << 251 &blsp_i2c4 { << 252 status = "okay"; << 253 << 254 fuel-gauge@35 { << 255 compatible = "richtek,rt5033-b << 256 reg = <0x35>; << 257 interrupt-parent = <&tlmm>; << 258 interrupts = <121 IRQ_TYPE_EDG << 259 << 260 pinctrl-names = "default"; << 261 pinctrl-0 = <&fg_alert_default << 262 << 263 power-supplies = <&charger>; << 264 }; << 265 }; << 266 << 267 &blsp_i2c6 { << 268 status = "okay"; << 269 << 270 pmic@34 { << 271 compatible = "richtek,rt5033"; << 272 reg = <0x34>; << 273 << 274 interrupts-extended = <&tlmm 6 << 275 << 276 pinctrl-0 = <&pmic_int_default << 277 pinctrl-names = "default"; << 278 << 279 regulators { << 280 rt5033_reg_safe_ldo: S << 281 regulator-min- << 282 regulator-max- << 283 regulator-alwa << 284 }; << 285 << 286 /* << 287 * Needed for camera, << 288 * Define empty nodes << 289 * regulators. << 290 */ << 291 LDO {}; << 292 BUCK {}; << 293 }; 171 }; 294 !! 172 pinconf { 295 charger: charger { !! 173 pins = "gpio52"; 296 compatible = "richtek, !! 174 drive-strength = <2>; 297 monitored-battery = <& !! 175 bias-disable; 298 richtek,usb-connector << 299 }; 176 }; 300 }; 177 }; 301 }; << 302 178 303 &blsp_uart2 { !! 179 muic_int_default: muic_int_default { 304 status = "okay"; !! 180 pinmux { 305 }; !! 181 function = "gpio"; 306 !! 182 pins = "gpio12"; 307 &gpu { !! 183 }; 308 status = "okay"; !! 184 pinconf { 309 }; !! 185 pins = "gpio12"; 310 !! 186 drive-strength = <2>; 311 /* !! 187 bias-disable; 312 * For some reason the speaker amplifier is co !! 188 }; 313 * (MI2S_2_D1) instead of the first (MI2S_2_D0 << 314 * device tree, otherwise audio will seemingly << 315 * but the speaker stays silent. << 316 * << 317 * When routing audio via QDSP6 (the default) << 318 * the definitions from &q6afedai are used. Wh << 319 * be alternatively routed directly to the LPA << 320 * The definitions for &lpass are here for com << 321 * setup with minor changes to the DT (either << 322 */ << 323 &lpass { << 324 dai-link@3 { << 325 reg = <MI2S_QUATERNARY>; << 326 qcom,playback-sd-lines = <1>; << 327 }; 189 }; 328 }; 190 }; 329 191 330 &mdss { !! 192 &smd_rpm_regulators { 331 status = "okay"; !! 193 vdd_l1_l2_l3-supply = <&pm8916_s3>; 332 }; !! 194 vdd_l4_l5_l6-supply = <&pm8916_s4>; 333 !! 195 vdd_l7-supply = <&pm8916_s4>; 334 &mdss_dsi0 { << 335 pinctrl-names = "default", "sleep"; << 336 pinctrl-0 = <&mdss_default>; << 337 pinctrl-1 = <&mdss_sleep>; << 338 }; << 339 << 340 &mpss_mem { << 341 reg = <0x0 0x86800000 0x0 0x5400000>; << 342 }; << 343 196 344 &pm8916_resin { !! 197 s1 { 345 status = "okay"; !! 198 regulator-min-microvolt = <500000>; 346 linux,code = <KEY_VOLUMEDOWN>; !! 199 regulator-max-microvolt = <1300000>; 347 }; << 348 << 349 &pm8916_rpm_regulators { << 350 pm8916_l17: l17 { << 351 regulator-min-microvolt = <285 << 352 regulator-max-microvolt = <285 << 353 }; 200 }; 354 }; << 355 201 356 &q6afedai { !! 202 s3 { 357 dai@22 { !! 203 regulator-min-microvolt = <1200000>; 358 reg = <QUATERNARY_MI2S_RX>; !! 204 regulator-max-microvolt = <1300000>; 359 qcom,sd-lines = <1>; << 360 }; 205 }; 361 }; << 362 << 363 &sdhc_1 { << 364 status = "okay"; << 365 }; << 366 << 367 &sdhc_2 { << 368 status = "okay"; << 369 << 370 pinctrl-names = "default", "sleep"; << 371 pinctrl-0 = <&sdc2_default &sdc2_cd_de << 372 pinctrl-1 = <&sdc2_sleep &sdc2_cd_defa << 373 206 374 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; !! 207 s4 { 375 }; !! 208 regulator-min-microvolt = <1800000>; 376 !! 209 regulator-max-microvolt = <2100000>; 377 &sound { << 378 model = "samsung-a2015"; << 379 audio-routing = << 380 "AMIC1", "MIC BIAS External1", << 381 "AMIC2", "MIC BIAS Internal2", << 382 "AMIC3", "MIC BIAS External1"; << 383 << 384 pinctrl-0 = <&cdc_pdm_default &sec_mi2 << 385 pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_ << 386 pinctrl-names = "default", "sleep"; << 387 << 388 sound_link_backend2: backend2-dai-link << 389 link-name = "Quaternary MI2S"; << 390 << 391 cpu { << 392 sound-dai = <&q6afedai << 393 }; << 394 platform { << 395 sound-dai = <&q6routin << 396 }; << 397 codec { << 398 sound-dai = <&speaker_ << 399 }; << 400 }; 210 }; 401 }; << 402 << 403 &usb { << 404 status = "okay"; << 405 extcon = <&muic>, <&muic>; << 406 }; << 407 << 408 &usb_hs_phy { << 409 extcon = <&muic>; << 410 }; << 411 << 412 &venus { << 413 status = "okay"; << 414 }; << 415 << 416 &venus_mem { << 417 status = "okay"; << 418 }; << 419 << 420 &tlmm { << 421 accel_int_default: accel-int-default-s << 422 pins = "gpio115"; << 423 function = "gpio"; << 424 211 425 drive-strength = <2>; !! 212 l1 { 426 bias-disable; !! 213 regulator-min-microvolt = <1225000>; >> 214 regulator-max-microvolt = <1225000>; 427 }; 215 }; 428 216 429 fg_alert_default: fg-alert-default-sta !! 217 l2 { 430 pins = "gpio121"; !! 218 regulator-min-microvolt = <1200000>; 431 function = "gpio"; !! 219 regulator-max-microvolt = <1200000>; 432 << 433 drive-strength = <2>; << 434 bias-disable; << 435 }; 220 }; 436 221 437 gpio_keys_default: gpio-keys-default-s !! 222 l3 { 438 pins = "gpio107", "gpio109"; !! 223 regulator-min-microvolt = <500000>; 439 function = "gpio"; !! 224 regulator-max-microvolt = <1287500>; 440 << 441 drive-strength = <2>; << 442 bias-pull-up; << 443 }; 225 }; 444 226 445 gpio_hall_sensor_default: gpio-hall-se !! 227 l4 { 446 pins = "gpio52"; !! 228 regulator-min-microvolt = <2050000>; 447 function = "gpio"; !! 229 regulator-max-microvolt = <2050000>; 448 << 449 drive-strength = <2>; << 450 bias-disable; << 451 }; 230 }; 452 231 453 mdss_default: mdss-default-state { !! 232 l5 { 454 pins = "gpio25"; !! 233 regulator-min-microvolt = <1800000>; 455 function = "gpio"; !! 234 regulator-max-microvolt = <1800000>; 456 << 457 drive-strength = <8>; << 458 bias-disable; << 459 }; 235 }; 460 mdss_sleep: mdss-sleep-state { << 461 pins = "gpio25"; << 462 function = "gpio"; << 463 236 464 drive-strength = <2>; !! 237 l6 { 465 bias-pull-down; !! 238 regulator-min-microvolt = <1800000>; >> 239 regulator-max-microvolt = <1800000>; 466 }; 240 }; 467 241 468 motor_en_default: motor-en-default-sta !! 242 l7 { 469 pins = "gpio76"; !! 243 regulator-min-microvolt = <1800000>; 470 function = "gpio"; !! 244 regulator-max-microvolt = <1800000>; 471 << 472 drive-strength = <2>; << 473 bias-disable; << 474 }; 245 }; 475 246 476 motor_pwm_default: motor-pwm-default-s !! 247 l8 { 477 pins = "gpio50"; !! 248 regulator-min-microvolt = <2850000>; 478 function = "gcc_gp2_clk_a"; !! 249 regulator-max-microvolt = <2900000>; 479 }; 250 }; 480 251 481 muic_i2c_default: muic-i2c-default-sta !! 252 l9 { 482 pins = "gpio105", "gpio106"; !! 253 regulator-min-microvolt = <3300000>; 483 function = "gpio"; !! 254 regulator-max-microvolt = <3300000>; 484 << 485 drive-strength = <2>; << 486 bias-disable; << 487 }; 255 }; 488 256 489 muic_int_default: muic-int-default-sta !! 257 l10 { 490 pins = "gpio12"; !! 258 regulator-min-microvolt = <2700000>; 491 function = "gpio"; !! 259 regulator-max-microvolt = <2800000>; 492 << 493 drive-strength = <2>; << 494 bias-disable; << 495 }; 260 }; 496 261 497 nfc_default: nfc-default-state { !! 262 l11 { 498 nfc-pins { !! 263 regulator-min-microvolt = <1800000>; 499 pins = "gpio20", "gpio !! 264 regulator-max-microvolt = <2950000>; 500 function = "gpio"; !! 265 regulator-allow-set-load; 501 !! 266 regulator-system-load = <200000>; 502 drive-strength = <2>; << 503 bias-disable; << 504 }; << 505 << 506 irq-pins { << 507 pins = "gpio21"; << 508 function = "gpio"; << 509 << 510 drive-strength = <2>; << 511 bias-pull-down; << 512 }; << 513 }; 267 }; 514 268 515 nfc_i2c_default: nfc-i2c-default-state !! 269 l12 { 516 pins = "gpio0", "gpio1"; !! 270 regulator-min-microvolt = <1800000>; 517 function = "gpio"; !! 271 regulator-max-microvolt = <2950000>; 518 << 519 drive-strength = <2>; << 520 bias-disable; << 521 }; 272 }; 522 273 523 pmic_int_default: pmic-int-default-sta !! 274 l13 { 524 pins = "gpio62"; !! 275 regulator-min-microvolt = <3075000>; 525 function = "gpio"; !! 276 regulator-max-microvolt = <3075000>; 526 drive-strength = <2>; << 527 bias-disable; << 528 }; 277 }; 529 278 530 sdc2_cd_default: sdc2-cd-default-state !! 279 l14 { 531 pins = "gpio38"; !! 280 regulator-min-microvolt = <1800000>; 532 function = "gpio"; !! 281 regulator-max-microvolt = <3300000>; 533 drive-strength = <2>; << 534 bias-disable; << 535 }; 282 }; 536 283 537 tkey_default: tkey-default-state { !! 284 l15 { 538 pins = "gpio98"; !! 285 regulator-min-microvolt = <1800000>; 539 function = "gpio"; !! 286 regulator-max-microvolt = <3300000>; 540 << 541 drive-strength = <2>; << 542 bias-disable; << 543 }; 287 }; 544 288 545 tkey_i2c_default: tkey-i2c-default-sta !! 289 l16 { 546 pins = "gpio16", "gpio17"; !! 290 regulator-min-microvolt = <1800000>; 547 function = "gpio"; !! 291 regulator-max-microvolt = <3300000>; 548 << 549 drive-strength = <2>; << 550 bias-disable; << 551 }; 292 }; 552 293 553 tsp_en_default: tsp-en-default-state { !! 294 l17 { 554 pins = "gpio73"; !! 295 regulator-min-microvolt = <2850000>; 555 function = "gpio"; !! 296 regulator-max-microvolt = <2850000>; 556 << 557 drive-strength = <2>; << 558 bias-disable; << 559 }; 297 }; 560 298 561 ts_int_default: ts-int-default-state { !! 299 l18 { 562 pins = "gpio13"; !! 300 regulator-min-microvolt = <2700000>; 563 function = "gpio"; !! 301 regulator-max-microvolt = <2700000>; 564 << 565 drive-strength = <2>; << 566 bias-disable; << 567 }; 302 }; 568 }; 303 }; 569 304 570 &pm8916_gpios { !! 305 &spmi_bus { 571 nfc_clk_req: nfc-clk-req-state { !! 306 pm8916@0 { 572 pins = "gpio2"; !! 307 pon@800 { 573 function = "func1"; !! 308 volume-down { 574 !! 309 compatible = "qcom,pm8941-resin"; 575 input-enable; !! 310 interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>; 576 bias-disable; !! 311 bias-pull-up; 577 power-source = <PM8916_GPIO_L2 !! 312 linux,code = <KEY_VOLUMEDOWN>; >> 313 }; >> 314 }; 578 }; 315 }; 579 }; 316 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.