1#include "qcom-msm8974.dtsi" 2#include "qcom-pm8841.dtsi" 3#include "qcom-pm8941.dtsi" 4#include <dt-bindings/gpio/gpio.h> 5#include <dt-bindings/input/input.h> 6#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 7 8 9/ { 10 model = "Fairphone 2"; 11 compatible = "fairphone,fp2", "qcom,msm8974"; 12 13 aliases { 14 serial0 = &blsp1_uart2; 15 }; 16 17 chosen { 18 stdout-path = "serial0:115200n8"; 19 }; 20 21 gpio-keys { 22 compatible = "gpio-keys"; 23 input-name = "gpio-keys"; 24 25 pinctrl-names = "default"; 26 pinctrl-0 = <&gpio_keys_pin_a>; 27 28 camera-snapshot { 29 label = "camera_snapshot"; 30 gpios = <&pm8941_gpios 1 GPIO_ACTIVE_LOW>; 31 linux,code = <KEY_CAMERA>; 32 wakeup-source; 33 debounce-interval = <15>; 34 }; 35 36 volume-down { 37 label = "volume_down"; 38 gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>; 39 linux,code = <KEY_VOLUMEDOWN>; 40 wakeup-source; 41 debounce-interval = <15>; 42 }; 43 44 volume-up { 45 label = "volume_up"; 46 gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>; 47 linux,code = <KEY_VOLUMEUP>; 48 wakeup-source; 49 debounce-interval = <15>; 50 }; 51 }; 52 53 vibrator { 54 compatible = "gpio-vibrator"; 55 enable-gpios = <&msmgpio 86 GPIO_ACTIVE_HIGH>; 56 vcc-supply = <&pm8941_l18>; 57 }; 58 59 smd { 60 rpm { 61 rpm_requests { 62 pm8841-regulators { 63 s1 { 64 regulator-min-microvolt = <675000>; 65 regulator-max-microvolt = <1050000>; 66 }; 67 68 s2 { 69 regulator-min-microvolt = <500000>; 70 regulator-max-microvolt = <1050000>; 71 }; 72 73 s3 { 74 regulator-min-microvolt = <1050000>; 75 regulator-max-microvolt = <1050000>; 76 }; 77 }; 78 79 pm8941-regulators { 80 vdd_l1_l3-supply = <&pm8941_s1>; 81 vdd_l2_lvs1_2_3-supply = <&pm8941_s3>; 82 vdd_l4_l11-supply = <&pm8941_s1>; 83 vdd_l5_l7-supply = <&pm8941_s2>; 84 vdd_l6_l12_l14_l15-supply = <&pm8941_s2>; 85 vdd_l9_l10_l17_l22-supply = <&vreg_boost>; 86 vdd_l13_l20_l23_l24-supply = <&vreg_boost>; 87 vdd_l21-supply = <&vreg_boost>; 88 89 s1 { 90 regulator-min-microvolt = <1300000>; 91 regulator-max-microvolt = <1300000>; 92 93 regulator-always-on; 94 regulator-boot-on; 95 }; 96 97 s2 { 98 regulator-min-microvolt = <2150000>; 99 regulator-max-microvolt = <2150000>; 100 101 regulator-boot-on; 102 }; 103 104 s3 { 105 regulator-min-microvolt = <1800000>; 106 regulator-max-microvolt = <1800000>; 107 108 regulator-always-on; 109 regulator-boot-on; 110 }; 111 112 l1 { 113 regulator-min-microvolt = <1225000>; 114 regulator-max-microvolt = <1225000>; 115 116 regulator-always-on; 117 regulator-boot-on; 118 }; 119 120 l2 { 121 regulator-min-microvolt = <1200000>; 122 regulator-max-microvolt = <1200000>; 123 }; 124 125 l3 { 126 regulator-min-microvolt = <1225000>; 127 regulator-max-microvolt = <1225000>; 128 }; 129 130 l4 { 131 regulator-min-microvolt = <1225000>; 132 regulator-max-microvolt = <1225000>; 133 }; 134 135 l5 { 136 regulator-min-microvolt = <1800000>; 137 regulator-max-microvolt = <1800000>; 138 }; 139 140 l6 { 141 regulator-min-microvolt = <1800000>; 142 regulator-max-microvolt = <1800000>; 143 144 regulator-boot-on; 145 }; 146 147 l7 { 148 regulator-min-microvolt = <1800000>; 149 regulator-max-microvolt = <1800000>; 150 151 regulator-boot-on; 152 }; 153 154 l8 { 155 regulator-min-microvolt = <1800000>; 156 regulator-max-microvolt = <1800000>; 157 }; 158 159 l9 { 160 regulator-min-microvolt = <1800000>; 161 regulator-max-microvolt = <2950000>; 162 }; 163 164 l10 { 165 regulator-min-microvolt = <1800000>; 166 regulator-max-microvolt = <2950000>; 167 }; 168 169 l11 { 170 regulator-min-microvolt = <1225000>; 171 regulator-max-microvolt = <1350000>; 172 }; 173 174 l12 { 175 regulator-min-microvolt = <1800000>; 176 regulator-max-microvolt = <1800000>; 177 178 regulator-always-on; 179 regulator-boot-on; 180 }; 181 182 l13 { 183 regulator-min-microvolt = <1800000>; 184 regulator-max-microvolt = <2950000>; 185 186 regulator-boot-on; 187 }; 188 189 l14 { 190 regulator-min-microvolt = <1800000>; 191 regulator-max-microvolt = <1800000>; 192 }; 193 194 l15 { 195 regulator-min-microvolt = <2050000>; 196 regulator-max-microvolt = <2050000>; 197 }; 198 199 l16 { 200 regulator-min-microvolt = <2700000>; 201 regulator-max-microvolt = <2700000>; 202 }; 203 204 l17 { 205 regulator-min-microvolt = <2850000>; 206 regulator-max-microvolt = <2850000>; 207 }; 208 209 l18 { 210 regulator-min-microvolt = <2850000>; 211 regulator-max-microvolt = <2850000>; 212 }; 213 214 l19 { 215 regulator-min-microvolt = <2900000>; 216 regulator-max-microvolt = <3350000>; 217 }; 218 219 l20 { 220 regulator-min-microvolt = <2950000>; 221 regulator-max-microvolt = <2950000>; 222 223 regulator-boot-on; 224 regulator-system-load = <200000>; 225 regulator-allow-set-load; 226 }; 227 228 l21 { 229 regulator-min-microvolt = <2950000>; 230 regulator-max-microvolt = <2950000>; 231 232 regulator-boot-on; 233 }; 234 235 l22 { 236 regulator-min-microvolt = <3000000>; 237 regulator-max-microvolt = <3300000>; 238 }; 239 240 l23 { 241 regulator-min-microvolt = <3000000>; 242 regulator-max-microvolt = <3000000>; 243 }; 244 245 l24 { 246 regulator-min-microvolt = <3075000>; 247 regulator-max-microvolt = <3075000>; 248 249 regulator-boot-on; 250 }; 251 }; 252 }; 253 }; 254 }; 255}; 256 257&soc { 258 serial@f991e000 { 259 status = "ok"; 260 }; 261 262 remoteproc@fb21b000 { 263 status = "ok"; 264 265 vddmx-supply = <&pm8841_s1>; 266 vddcx-supply = <&pm8841_s2>; 267 268 pinctrl-names = "default"; 269 pinctrl-0 = <&wcnss_pin_a>; 270 271 smd-edge { 272 qcom,remote-pid = <4>; 273 label = "pronto"; 274 275 wcnss { 276 status = "ok"; 277 }; 278 }; 279 }; 280 281 pinctrl@fd510000 { 282 sdhc1_pin_a: sdhc1-pin-active { 283 clk { 284 pins = "sdc1_clk"; 285 drive-strength = <16>; 286 bias-disable; 287 }; 288 289 cmd-data { 290 pins = "sdc1_cmd", "sdc1_data"; 291 drive-strength = <10>; 292 bias-pull-up; 293 }; 294 }; 295 296 sdhc2_pin_a: sdhc2-pin-active { 297 clk { 298 pins = "sdc2_clk"; 299 drive-strength = <10>; 300 bias-disable; 301 }; 302 303 cmd-data { 304 pins = "sdc2_cmd", "sdc2_data"; 305 drive-strength = <6>; 306 bias-pull-up; 307 }; 308 }; 309 310 wcnss_pin_a: wcnss-pin-active { 311 wlan { 312 pins = "gpio36", "gpio37", "gpio38", "gpio39", "gpio40"; 313 function = "wlan"; 314 315 drive-strength = <6>; 316 bias-pull-down; 317 }; 318 319 bt { 320 pins = "gpio35", "gpio43", "gpio44"; 321 function = "bt"; 322 323 drive-strength = <2>; 324 bias-pull-down; 325 }; 326 327 fm { 328 pins = "gpio41", "gpio42"; 329 function = "fm"; 330 331 drive-strength = <2>; 332 bias-pull-down; 333 }; 334 }; 335 }; 336 337 sdhci@f9824900 { 338 status = "ok"; 339 340 vmmc-supply = <&pm8941_l20>; 341 vqmmc-supply = <&pm8941_s3>; 342 343 bus-width = <8>; 344 non-removable; 345 346 pinctrl-names = "default"; 347 pinctrl-0 = <&sdhc1_pin_a>; 348 }; 349 350 sdhci@f98a4900 { 351 status = "ok"; 352 353 vmmc-supply = <&pm8941_l21>; 354 vqmmc-supply = <&pm8941_l13>; 355 356 bus-width = <4>; 357 358 pinctrl-names = "default"; 359 pinctrl-0 = <&sdhc2_pin_a>; 360 }; 361 362 usb@f9a55000 { 363 status = "ok"; 364 365 phys = <&usb_hs1_phy>; 366 phy-select = <&tcsr 0xb000 0>; 367 extcon = <&smbb>, <&usb_id>; 368 vbus-supply = <&chg_otg>; 369 370 hnp-disable; 371 srp-disable; 372 adp-disable; 373 374 ulpi { 375 phy@a { 376 status = "ok"; 377 378 v1p8-supply = <&pm8941_l6>; 379 v3p3-supply = <&pm8941_l24>; 380 381 extcon = <&smbb>; 382 qcom,init-seq = /bits/ 8 <0x1 0x64>; 383 }; 384 }; 385 }; 386 387 imem@fe805000 { 388 status = "okay"; 389 390 reboot-mode { 391 mode-normal = <0x77665501>; 392 mode-bootloader = <0x77665500>; 393 mode-recovery = <0x77665502>; 394 }; 395 }; 396}; 397 398&spmi_bus { 399 pm8941@0 { 400 gpios@c000 { 401 gpio_keys_pin_a: gpio-keys-active { 402 pins = "gpio1", "gpio2", "gpio5"; 403 function = "normal"; 404 405 bias-pull-up; 406 power-source = <PM8941_GPIO_S3>; 407 }; 408 }; 409 }; 410}; 411