1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2724ba675SRob Herring#include "qcom-msm8974pro.dtsi" 3*9d004cdaSDmitry Baryshkov#include "pm8841.dtsi" 4*9d004cdaSDmitry Baryshkov#include "pm8941.dtsi" 5724ba675SRob Herring#include <dt-bindings/input/input.h> 6724ba675SRob Herring#include <dt-bindings/leds/common.h> 7724ba675SRob Herring#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 8724ba675SRob Herring 9724ba675SRob Herring/ { 10724ba675SRob Herring model = "Fairphone 2"; 11724ba675SRob Herring compatible = "fairphone,fp2", "qcom,msm8974pro", "qcom,msm8974"; 12724ba675SRob Herring chassis-type = "handset"; 13724ba675SRob Herring 14724ba675SRob Herring aliases { 15724ba675SRob Herring mmc0 = &sdhc_1; 16724ba675SRob Herring mmc1 = &sdhc_2; 17724ba675SRob Herring serial0 = &blsp1_uart2; 18724ba675SRob Herring }; 19724ba675SRob Herring 20724ba675SRob Herring chosen { 21724ba675SRob Herring stdout-path = "serial0:115200n8"; 22724ba675SRob Herring }; 23724ba675SRob Herring 24724ba675SRob Herring gpio-keys { 25724ba675SRob Herring compatible = "gpio-keys"; 26724ba675SRob Herring 27724ba675SRob Herring pinctrl-names = "default"; 28724ba675SRob Herring pinctrl-0 = <&gpio_keys_pin_a>; 29724ba675SRob Herring 30724ba675SRob Herring key-camera-snapshot { 31724ba675SRob Herring label = "camera_snapshot"; 32724ba675SRob Herring gpios = <&pm8941_gpios 1 GPIO_ACTIVE_LOW>; 33724ba675SRob Herring linux,code = <KEY_CAMERA>; 34724ba675SRob Herring wakeup-source; 35724ba675SRob Herring debounce-interval = <15>; 36724ba675SRob Herring }; 37724ba675SRob Herring 38724ba675SRob Herring key-volume-down { 39724ba675SRob Herring label = "volume_down"; 40724ba675SRob Herring gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>; 41724ba675SRob Herring linux,code = <KEY_VOLUMEDOWN>; 42724ba675SRob Herring wakeup-source; 43724ba675SRob Herring debounce-interval = <15>; 44724ba675SRob Herring }; 45724ba675SRob Herring 46724ba675SRob Herring key-volume-up { 47724ba675SRob Herring label = "volume_up"; 48724ba675SRob Herring gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>; 49724ba675SRob Herring linux,code = <KEY_VOLUMEUP>; 50724ba675SRob Herring wakeup-source; 51724ba675SRob Herring debounce-interval = <15>; 52724ba675SRob Herring }; 53724ba675SRob Herring }; 54724ba675SRob Herring 55724ba675SRob Herring vibrator { 56724ba675SRob Herring compatible = "gpio-vibrator"; 57724ba675SRob Herring enable-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>; 58724ba675SRob Herring vcc-supply = <&pm8941_l18>; 59724ba675SRob Herring }; 60724ba675SRob Herring}; 61724ba675SRob Herring 62724ba675SRob Herring&blsp1_i2c2 { 63724ba675SRob Herring status = "okay"; 64724ba675SRob Herring 65724ba675SRob Herring touchscreen@41 { 66724ba675SRob Herring compatible = "ilitek,ili2120"; 67724ba675SRob Herring reg = <0x41>; 68724ba675SRob Herring interrupt-parent = <&tlmm>; 69724ba675SRob Herring interrupts = <28 IRQ_TYPE_EDGE_FALLING>; 70724ba675SRob Herring reset-gpios = <&tlmm 55 GPIO_ACTIVE_LOW>; 71724ba675SRob Herring 72724ba675SRob Herring touchscreen-size-x = <1080>; 73724ba675SRob Herring touchscreen-size-y = <1920>; 74724ba675SRob Herring }; 75724ba675SRob Herring}; 76724ba675SRob Herring 77724ba675SRob Herring&blsp1_uart2 { 78724ba675SRob Herring status = "okay"; 79724ba675SRob Herring}; 80724ba675SRob Herring 81724ba675SRob Herring&imem { 82724ba675SRob Herring reboot-mode { 83724ba675SRob Herring mode-normal = <0x77665501>; 84724ba675SRob Herring mode-bootloader = <0x77665500>; 85724ba675SRob Herring mode-recovery = <0x77665502>; 86724ba675SRob Herring }; 87724ba675SRob Herring}; 88724ba675SRob Herring 89724ba675SRob Herring&pm8941_gpios { 90724ba675SRob Herring gpio_keys_pin_a: gpio-keys-active-state { 91724ba675SRob Herring pins = "gpio1", "gpio2", "gpio5"; 92724ba675SRob Herring function = "normal"; 93724ba675SRob Herring 94724ba675SRob Herring bias-pull-up; 95724ba675SRob Herring power-source = <PM8941_GPIO_S3>; 96724ba675SRob Herring }; 97724ba675SRob Herring}; 98724ba675SRob Herring 99724ba675SRob Herring&pm8941_lpg { 100724ba675SRob Herring status = "okay"; 101724ba675SRob Herring 102724ba675SRob Herring qcom,power-source = <1>; 103724ba675SRob Herring 104724ba675SRob Herring multi-led { 105724ba675SRob Herring color = <LED_COLOR_ID_RGB>; 106724ba675SRob Herring function = LED_FUNCTION_STATUS; 107724ba675SRob Herring 108724ba675SRob Herring #address-cells = <1>; 109724ba675SRob Herring #size-cells = <0>; 110724ba675SRob Herring 111724ba675SRob Herring led@7 { 112724ba675SRob Herring reg = <7>; 113724ba675SRob Herring color = <LED_COLOR_ID_RED>; 114724ba675SRob Herring }; 115724ba675SRob Herring 116724ba675SRob Herring led@6 { 117724ba675SRob Herring reg = <6>; 118724ba675SRob Herring color = <LED_COLOR_ID_GREEN>; 119724ba675SRob Herring }; 120724ba675SRob Herring 121724ba675SRob Herring led@5 { 122724ba675SRob Herring reg = <5>; 123724ba675SRob Herring color = <LED_COLOR_ID_BLUE>; 124724ba675SRob Herring }; 125724ba675SRob Herring }; 126724ba675SRob Herring}; 127724ba675SRob Herring 128724ba675SRob Herring&pronto { 129724ba675SRob Herring status = "okay"; 130724ba675SRob Herring 131724ba675SRob Herring vddmx-supply = <&pm8841_s1>; 132724ba675SRob Herring vddcx-supply = <&pm8841_s2>; 133724ba675SRob Herring vddpx-supply = <&pm8941_s3>; 134724ba675SRob Herring 135724ba675SRob Herring pinctrl-names = "default"; 136724ba675SRob Herring pinctrl-0 = <&wcnss_pin_a>; 137724ba675SRob Herring 138724ba675SRob Herring iris { 139724ba675SRob Herring vddxo-supply = <&pm8941_l6>; 140724ba675SRob Herring vddrfa-supply = <&pm8941_l11>; 141724ba675SRob Herring vddpa-supply = <&pm8941_l19>; 142724ba675SRob Herring vdddig-supply = <&pm8941_s3>; 143724ba675SRob Herring }; 144724ba675SRob Herring 145724ba675SRob Herring smd-edge { 146724ba675SRob Herring qcom,remote-pid = <4>; 147724ba675SRob Herring label = "pronto"; 148724ba675SRob Herring 149724ba675SRob Herring wcnss { 150724ba675SRob Herring status = "okay"; 151724ba675SRob Herring }; 152724ba675SRob Herring }; 153724ba675SRob Herring}; 154724ba675SRob Herring 155724ba675SRob Herring&remoteproc_adsp { 156724ba675SRob Herring status = "okay"; 157724ba675SRob Herring cx-supply = <&pm8841_s2>; 158724ba675SRob Herring}; 159724ba675SRob Herring 160724ba675SRob Herring&remoteproc_mss { 161724ba675SRob Herring status = "okay"; 162724ba675SRob Herring cx-supply = <&pm8841_s2>; 163724ba675SRob Herring mss-supply = <&pm8841_s3>; 164724ba675SRob Herring mx-supply = <&pm8841_s1>; 165724ba675SRob Herring pll-supply = <&pm8941_l12>; 166724ba675SRob Herring}; 167724ba675SRob Herring 168724ba675SRob Herring&rpm_requests { 169724ba675SRob Herring regulators-0 { 170724ba675SRob Herring compatible = "qcom,rpm-pm8841-regulators"; 171724ba675SRob Herring 172724ba675SRob Herring pm8841_s1: s1 { 173724ba675SRob Herring regulator-min-microvolt = <675000>; 174724ba675SRob Herring regulator-max-microvolt = <1050000>; 175724ba675SRob Herring }; 176724ba675SRob Herring 177724ba675SRob Herring pm8841_s2: s2 { 178724ba675SRob Herring regulator-min-microvolt = <500000>; 179724ba675SRob Herring regulator-max-microvolt = <1050000>; 180724ba675SRob Herring }; 181724ba675SRob Herring 182724ba675SRob Herring pm8841_s3: s3 { 183724ba675SRob Herring regulator-min-microvolt = <1050000>; 184724ba675SRob Herring regulator-max-microvolt = <1050000>; 185724ba675SRob Herring }; 186724ba675SRob Herring }; 187724ba675SRob Herring 188724ba675SRob Herring regulators-1 { 189724ba675SRob Herring compatible = "qcom,rpm-pm8941-regulators"; 190724ba675SRob Herring 191724ba675SRob Herring vdd_l1_l3-supply = <&pm8941_s1>; 192724ba675SRob Herring vdd_l2_lvs1_2_3-supply = <&pm8941_s3>; 193724ba675SRob Herring vdd_l4_l11-supply = <&pm8941_s1>; 194724ba675SRob Herring vdd_l5_l7-supply = <&pm8941_s2>; 195724ba675SRob Herring vdd_l6_l12_l14_l15-supply = <&pm8941_s2>; 196724ba675SRob Herring vdd_l9_l10_l17_l22-supply = <&vreg_boost>; 197724ba675SRob Herring vdd_l13_l20_l23_l24-supply = <&vreg_boost>; 198724ba675SRob Herring vdd_l21-supply = <&vreg_boost>; 199724ba675SRob Herring 200724ba675SRob Herring pm8941_s1: s1 { 201724ba675SRob Herring regulator-min-microvolt = <1300000>; 202724ba675SRob Herring regulator-max-microvolt = <1300000>; 203724ba675SRob Herring regulator-always-on; 204724ba675SRob Herring regulator-boot-on; 205724ba675SRob Herring }; 206724ba675SRob Herring 207724ba675SRob Herring pm8941_s2: s2 { 208724ba675SRob Herring regulator-min-microvolt = <2150000>; 209724ba675SRob Herring regulator-max-microvolt = <2150000>; 210724ba675SRob Herring regulator-boot-on; 211724ba675SRob Herring }; 212724ba675SRob Herring 213724ba675SRob Herring pm8941_s3: s3 { 214724ba675SRob Herring regulator-min-microvolt = <1800000>; 215724ba675SRob Herring regulator-max-microvolt = <1800000>; 216724ba675SRob Herring regulator-always-on; 217724ba675SRob Herring regulator-boot-on; 218724ba675SRob Herring }; 219724ba675SRob Herring 220724ba675SRob Herring pm8941_l1: l1 { 221724ba675SRob Herring regulator-min-microvolt = <1225000>; 222724ba675SRob Herring regulator-max-microvolt = <1225000>; 223724ba675SRob Herring regulator-always-on; 224724ba675SRob Herring regulator-boot-on; 225724ba675SRob Herring }; 226724ba675SRob Herring 227724ba675SRob Herring pm8941_l2: l2 { 228724ba675SRob Herring regulator-min-microvolt = <1200000>; 229724ba675SRob Herring regulator-max-microvolt = <1200000>; 230724ba675SRob Herring }; 231724ba675SRob Herring 232724ba675SRob Herring pm8941_l3: l3 { 233724ba675SRob Herring regulator-min-microvolt = <1225000>; 234724ba675SRob Herring regulator-max-microvolt = <1225000>; 235724ba675SRob Herring }; 236724ba675SRob Herring 237724ba675SRob Herring pm8941_l4: l4 { 238724ba675SRob Herring regulator-min-microvolt = <1225000>; 239724ba675SRob Herring regulator-max-microvolt = <1225000>; 240724ba675SRob Herring }; 241724ba675SRob Herring 242724ba675SRob Herring pm8941_l5: l5 { 243724ba675SRob Herring regulator-min-microvolt = <1800000>; 244724ba675SRob Herring regulator-max-microvolt = <1800000>; 245724ba675SRob Herring }; 246724ba675SRob Herring 247724ba675SRob Herring pm8941_l6: l6 { 248724ba675SRob Herring regulator-min-microvolt = <1800000>; 249724ba675SRob Herring regulator-max-microvolt = <1800000>; 250724ba675SRob Herring regulator-boot-on; 251724ba675SRob Herring }; 252724ba675SRob Herring 253724ba675SRob Herring pm8941_l7: l7 { 254724ba675SRob Herring regulator-min-microvolt = <1800000>; 255724ba675SRob Herring regulator-max-microvolt = <1800000>; 256724ba675SRob Herring regulator-boot-on; 257724ba675SRob Herring }; 258724ba675SRob Herring 259724ba675SRob Herring pm8941_l8: l8 { 260724ba675SRob Herring regulator-min-microvolt = <1800000>; 261724ba675SRob Herring regulator-max-microvolt = <1800000>; 262724ba675SRob Herring }; 263724ba675SRob Herring 264724ba675SRob Herring pm8941_l9: l9 { 265724ba675SRob Herring regulator-min-microvolt = <1800000>; 266724ba675SRob Herring regulator-max-microvolt = <2950000>; 267724ba675SRob Herring }; 268724ba675SRob Herring 269724ba675SRob Herring pm8941_l10: l10 { 270724ba675SRob Herring regulator-min-microvolt = <1800000>; 271724ba675SRob Herring regulator-max-microvolt = <2950000>; 272724ba675SRob Herring }; 273724ba675SRob Herring 274724ba675SRob Herring pm8941_l11: l11 { 275724ba675SRob Herring regulator-min-microvolt = <1225000>; 276724ba675SRob Herring regulator-max-microvolt = <1350000>; 277724ba675SRob Herring }; 278724ba675SRob Herring 279724ba675SRob Herring pm8941_l12: l12 { 280724ba675SRob Herring regulator-min-microvolt = <1800000>; 281724ba675SRob Herring regulator-max-microvolt = <1800000>; 282724ba675SRob Herring regulator-always-on; 283724ba675SRob Herring regulator-boot-on; 284724ba675SRob Herring }; 285724ba675SRob Herring 286724ba675SRob Herring pm8941_l13: l13 { 287724ba675SRob Herring regulator-min-microvolt = <1800000>; 288724ba675SRob Herring regulator-max-microvolt = <2950000>; 289724ba675SRob Herring regulator-boot-on; 290724ba675SRob Herring }; 291724ba675SRob Herring 292724ba675SRob Herring pm8941_l14: l14 { 293724ba675SRob Herring regulator-min-microvolt = <1800000>; 294724ba675SRob Herring regulator-max-microvolt = <1800000>; 295724ba675SRob Herring }; 296724ba675SRob Herring 297724ba675SRob Herring pm8941_l15: l15 { 298724ba675SRob Herring regulator-min-microvolt = <2050000>; 299724ba675SRob Herring regulator-max-microvolt = <2050000>; 300724ba675SRob Herring }; 301724ba675SRob Herring 302724ba675SRob Herring pm8941_l16: l16 { 303724ba675SRob Herring regulator-min-microvolt = <2700000>; 304724ba675SRob Herring regulator-max-microvolt = <2700000>; 305724ba675SRob Herring }; 306724ba675SRob Herring 307724ba675SRob Herring pm8941_l17: l17 { 308724ba675SRob Herring regulator-min-microvolt = <2850000>; 309724ba675SRob Herring regulator-max-microvolt = <2850000>; 310724ba675SRob Herring }; 311724ba675SRob Herring 312724ba675SRob Herring pm8941_l18: l18 { 313724ba675SRob Herring regulator-min-microvolt = <2850000>; 314724ba675SRob Herring regulator-max-microvolt = <2850000>; 315724ba675SRob Herring }; 316724ba675SRob Herring 317724ba675SRob Herring pm8941_l19: l19 { 318724ba675SRob Herring regulator-min-microvolt = <2900000>; 319724ba675SRob Herring regulator-max-microvolt = <3350000>; 320724ba675SRob Herring }; 321724ba675SRob Herring 322724ba675SRob Herring pm8941_l20: l20 { 323724ba675SRob Herring regulator-min-microvolt = <2950000>; 324724ba675SRob Herring regulator-max-microvolt = <2950000>; 325724ba675SRob Herring regulator-system-load = <200000>; 326724ba675SRob Herring regulator-allow-set-load; 327724ba675SRob Herring regulator-boot-on; 328724ba675SRob Herring }; 329724ba675SRob Herring 330724ba675SRob Herring pm8941_l21: l21 { 331724ba675SRob Herring regulator-min-microvolt = <2950000>; 332724ba675SRob Herring regulator-max-microvolt = <2950000>; 333724ba675SRob Herring regulator-boot-on; 334724ba675SRob Herring }; 335724ba675SRob Herring 336724ba675SRob Herring pm8941_l22: l22 { 337724ba675SRob Herring regulator-min-microvolt = <3000000>; 338724ba675SRob Herring regulator-max-microvolt = <3300000>; 339724ba675SRob Herring }; 340724ba675SRob Herring 341724ba675SRob Herring pm8941_l23: l23 { 342724ba675SRob Herring regulator-min-microvolt = <3000000>; 343724ba675SRob Herring regulator-max-microvolt = <3000000>; 344724ba675SRob Herring }; 345724ba675SRob Herring 346724ba675SRob Herring pm8941_l24: l24 { 347724ba675SRob Herring regulator-min-microvolt = <3075000>; 348724ba675SRob Herring regulator-max-microvolt = <3075000>; 349724ba675SRob Herring regulator-boot-on; 350724ba675SRob Herring }; 351724ba675SRob Herring }; 352724ba675SRob Herring}; 353724ba675SRob Herring 354724ba675SRob Herring&sdhc_1 { 355724ba675SRob Herring status = "okay"; 356724ba675SRob Herring 357724ba675SRob Herring vmmc-supply = <&pm8941_l20>; 358724ba675SRob Herring vqmmc-supply = <&pm8941_s3>; 359724ba675SRob Herring 360724ba675SRob Herring pinctrl-names = "default", "sleep"; 361724ba675SRob Herring pinctrl-0 = <&sdc1_on>; 362724ba675SRob Herring pinctrl-1 = <&sdc1_off>; 363724ba675SRob Herring}; 364724ba675SRob Herring 365724ba675SRob Herring&sdhc_2 { 366724ba675SRob Herring status = "okay"; 367724ba675SRob Herring 368724ba675SRob Herring vmmc-supply = <&pm8941_l21>; 369724ba675SRob Herring vqmmc-supply = <&pm8941_l13>; 370724ba675SRob Herring 371724ba675SRob Herring pinctrl-names = "default", "sleep"; 372724ba675SRob Herring pinctrl-0 = <&sdc2_on>; 373724ba675SRob Herring pinctrl-1 = <&sdc2_off>; 374724ba675SRob Herring}; 375724ba675SRob Herring 376724ba675SRob Herring&smbb { 377724ba675SRob Herring usb-charge-current-limit = <1500000>; 378724ba675SRob Herring qcom,fast-charge-safe-current = <1500000>; 379724ba675SRob Herring qcom,fast-charge-current-limit = <1500000>; 380724ba675SRob Herring qcom,fast-charge-safe-voltage = <4380000>; 381724ba675SRob Herring qcom,fast-charge-high-threshold-voltage = <4350000>; 382724ba675SRob Herring qcom,auto-recharge-threshold-voltage = <4240000>; 383724ba675SRob Herring qcom,minimum-input-voltage = <4450000>; 384724ba675SRob Herring}; 385724ba675SRob Herring 386724ba675SRob Herring&tlmm { 387724ba675SRob Herring sdc1_on: sdc1-on-state { 388724ba675SRob Herring clk-pins { 389724ba675SRob Herring pins = "sdc1_clk"; 390724ba675SRob Herring drive-strength = <16>; 391724ba675SRob Herring bias-disable; 392724ba675SRob Herring }; 393724ba675SRob Herring 394724ba675SRob Herring cmd-data-pins { 395724ba675SRob Herring pins = "sdc1_cmd", "sdc1_data"; 396724ba675SRob Herring drive-strength = <10>; 397724ba675SRob Herring bias-pull-up; 398724ba675SRob Herring }; 399724ba675SRob Herring }; 400724ba675SRob Herring 401724ba675SRob Herring sdc2_on: sdc2-on-state { 402724ba675SRob Herring clk-pins { 403724ba675SRob Herring pins = "sdc2_clk"; 404724ba675SRob Herring drive-strength = <10>; 405724ba675SRob Herring bias-disable; 406724ba675SRob Herring }; 407724ba675SRob Herring 408724ba675SRob Herring cmd-data-pins { 409724ba675SRob Herring pins = "sdc2_cmd", "sdc2_data"; 410724ba675SRob Herring drive-strength = <6>; 411724ba675SRob Herring bias-pull-up; 412724ba675SRob Herring }; 413724ba675SRob Herring }; 414724ba675SRob Herring 415724ba675SRob Herring wcnss_pin_a: wcnss-pin-active-state { 416724ba675SRob Herring wlan-pins { 417724ba675SRob Herring pins = "gpio36", "gpio37", "gpio38", "gpio39", "gpio40"; 418724ba675SRob Herring function = "wlan"; 419724ba675SRob Herring 420724ba675SRob Herring drive-strength = <6>; 421724ba675SRob Herring bias-pull-down; 422724ba675SRob Herring }; 423724ba675SRob Herring 424724ba675SRob Herring bt-pins { 425724ba675SRob Herring pins = "gpio35", "gpio43", "gpio44"; 426724ba675SRob Herring function = "bt"; 427724ba675SRob Herring 428724ba675SRob Herring drive-strength = <2>; 429724ba675SRob Herring bias-pull-down; 430724ba675SRob Herring }; 431724ba675SRob Herring 432724ba675SRob Herring fm-pins { 433724ba675SRob Herring pins = "gpio41", "gpio42"; 434724ba675SRob Herring function = "fm"; 435724ba675SRob Herring 436724ba675SRob Herring drive-strength = <2>; 437724ba675SRob Herring bias-pull-down; 438724ba675SRob Herring }; 439724ba675SRob Herring }; 440724ba675SRob Herring}; 441724ba675SRob Herring 442724ba675SRob Herring&usb { 443724ba675SRob Herring status = "okay"; 444724ba675SRob Herring 445724ba675SRob Herring phys = <&usb_hs1_phy>; 446724ba675SRob Herring phy-select = <&tcsr 0xb000 0>; 447724ba675SRob Herring extcon = <&smbb>, <&usb_id>; 448724ba675SRob Herring vbus-supply = <&chg_otg>; 449724ba675SRob Herring 450724ba675SRob Herring hnp-disable; 451724ba675SRob Herring srp-disable; 452724ba675SRob Herring adp-disable; 453724ba675SRob Herring}; 454724ba675SRob Herring 455724ba675SRob Herring&usb_hs1_phy { 456724ba675SRob Herring status = "okay"; 457724ba675SRob Herring 458724ba675SRob Herring v1p8-supply = <&pm8941_l6>; 459724ba675SRob Herring v3p3-supply = <&pm8941_l24>; 460724ba675SRob Herring 461724ba675SRob Herring extcon = <&smbb>; 462724ba675SRob Herring qcom,init-seq = /bits/ 8 <0x1 0x64>; 463724ba675SRob Herring}; 464