1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2024, Linaro Limited 4 */ 5 6#include <dt-bindings/input/input.h> 7#include <dt-bindings/input/linux-event-codes.h> 8#include <dt-bindings/interrupt-controller/irq.h> 9#include <dt-bindings/spmi/spmi.h> 10 11/ { 12 thermal-zones { 13 pm8550-thermal { 14 polling-delay-passive = <100>; 15 16 thermal-sensors = <&pm8550_temp_alarm>; 17 18 trips { 19 trip0 { 20 temperature = <95000>; 21 hysteresis = <0>; 22 type = "passive"; 23 }; 24 25 trip1 { 26 temperature = <115000>; 27 hysteresis = <0>; 28 type = "hot"; 29 }; 30 }; 31 }; 32 33 pm8550ve-2-thermal { 34 polling-delay-passive = <100>; 35 36 thermal-sensors = <&pm8550ve_2_temp_alarm>; 37 38 trips { 39 trip0 { 40 temperature = <95000>; 41 hysteresis = <0>; 42 type = "passive"; 43 }; 44 45 trip1 { 46 temperature = <115000>; 47 hysteresis = <0>; 48 type = "hot"; 49 }; 50 }; 51 }; 52 53 pmc8380-3-thermal { 54 polling-delay-passive = <100>; 55 56 thermal-sensors = <&pmc8380_3_temp_alarm>; 57 58 trips { 59 trip0 { 60 temperature = <95000>; 61 hysteresis = <0>; 62 type = "passive"; 63 }; 64 65 trip1 { 66 temperature = <115000>; 67 hysteresis = <0>; 68 type = "hot"; 69 }; 70 }; 71 }; 72 73 pmc8380-4-thermal { 74 polling-delay-passive = <100>; 75 76 thermal-sensors = <&pmc8380_4_temp_alarm>; 77 78 trips { 79 trip0 { 80 temperature = <95000>; 81 hysteresis = <0>; 82 type = "passive"; 83 }; 84 85 trip1 { 86 temperature = <115000>; 87 hysteresis = <0>; 88 type = "hot"; 89 }; 90 }; 91 }; 92 93 pmc8380-5-thermal { 94 polling-delay-passive = <100>; 95 96 thermal-sensors = <&pmc8380_5_temp_alarm>; 97 98 trips { 99 trip0 { 100 temperature = <95000>; 101 hysteresis = <0>; 102 type = "passive"; 103 }; 104 105 trip1 { 106 temperature = <115000>; 107 hysteresis = <0>; 108 type = "hot"; 109 }; 110 }; 111 }; 112 113 pmc8380-6-thermal { 114 polling-delay-passive = <100>; 115 116 thermal-sensors = <&pmc8380_6_temp_alarm>; 117 118 trips { 119 trip0 { 120 temperature = <95000>; 121 hysteresis = <0>; 122 type = "passive"; 123 }; 124 125 trip1 { 126 temperature = <115000>; 127 hysteresis = <0>; 128 type = "hot"; 129 }; 130 }; 131 }; 132 133 pm8550ve-8-thermal { 134 polling-delay-passive = <100>; 135 136 thermal-sensors = <&pm8550ve_8_temp_alarm>; 137 138 trips { 139 trip0 { 140 temperature = <95000>; 141 hysteresis = <0>; 142 type = "passive"; 143 }; 144 145 trip1 { 146 temperature = <115000>; 147 hysteresis = <0>; 148 type = "hot"; 149 }; 150 }; 151 }; 152 153 pm8550ve-9-thermal { 154 polling-delay-passive = <100>; 155 156 thermal-sensors = <&pm8550ve_9_temp_alarm>; 157 158 trips { 159 trip0 { 160 temperature = <95000>; 161 hysteresis = <0>; 162 type = "passive"; 163 }; 164 165 trip1 { 166 temperature = <115000>; 167 hysteresis = <0>; 168 type = "hot"; 169 }; 170 }; 171 }; 172 173 pm8010-thermal { 174 polling-delay-passive = <100>; 175 176 thermal-sensors = <&pm8010_temp_alarm>; 177 178 trips { 179 trip0 { 180 temperature = <95000>; 181 hysteresis = <0>; 182 type = "passive"; 183 }; 184 185 trip1 { 186 temperature = <115000>; 187 hysteresis = <0>; 188 type = "hot"; 189 }; 190 }; 191 }; 192 }; 193}; 194 195&spmi_bus0 { 196 /* PMK8380 */ 197 pmk8550: pmic@0 { 198 compatible = "qcom,pm8550", "qcom,spmi-pmic"; 199 reg = <0x0 SPMI_USID>; 200 #address-cells = <1>; 201 #size-cells = <0>; 202 203 pmk8550_pon: pon@1300 { 204 compatible = "qcom,pmk8350-pon"; 205 reg = <0x1300>, <0x800>; 206 reg-names = "hlos", "pbs"; 207 208 pon_pwrkey: pwrkey { 209 compatible = "qcom,pmk8350-pwrkey"; 210 interrupts = <0x0 0x13 0x7 IRQ_TYPE_EDGE_BOTH>; 211 linux,code = <KEY_POWER>; 212 }; 213 214 pon_resin: resin { 215 compatible = "qcom,pmk8350-resin"; 216 interrupts = <0x0 0x13 0x6 IRQ_TYPE_EDGE_BOTH>; 217 status = "disabled"; 218 }; 219 }; 220 221 pmk8550_rtc: rtc@6100 { 222 compatible = "qcom,pmk8350-rtc"; 223 reg = <0x6100>, <0x6200>; 224 reg-names = "rtc", "alarm"; 225 interrupts = <0x0 0x62 0x1 IRQ_TYPE_EDGE_RISING>; 226 /* Not yet sure what blocks access */ 227 status = "reserved"; 228 }; 229 230 pmk8550_sdam_2: nvram@7100 { 231 compatible = "qcom,spmi-sdam"; 232 reg = <0x7100>; 233 #address-cells = <1>; 234 #size-cells = <1>; 235 ranges = <0 0x7100 0x100>; 236 237 reboot_reason: reboot-reason@48 { 238 reg = <0x48 0x1>; 239 bits = <1 7>; 240 }; 241 }; 242 243 pmk8550_gpios: gpio@8800 { 244 compatible = "qcom,pmk8550-gpio", "qcom,spmi-gpio"; 245 reg = <0xb800>; 246 gpio-controller; 247 gpio-ranges = <&pmk8550_gpios 0 0 6>; 248 #gpio-cells = <2>; 249 interrupt-controller; 250 #interrupt-cells = <2>; 251 }; 252 }; 253 254 /* PMC8380C */ 255 pm8550: pmic@1 { 256 compatible = "qcom,pm8550", "qcom,spmi-pmic"; 257 reg = <0x1 SPMI_USID>; 258 #address-cells = <1>; 259 #size-cells = <0>; 260 261 pm8550_temp_alarm: temp-alarm@a00 { 262 compatible = "qcom,spmi-temp-alarm"; 263 reg = <0xa00>; 264 interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 265 #thermal-sensor-cells = <0>; 266 }; 267 268 pm8550_gpios: gpio@8800 { 269 compatible = "qcom,pm8550-gpio", "qcom,spmi-gpio"; 270 reg = <0x8800>; 271 gpio-controller; 272 gpio-ranges = <&pm8550_gpios 0 0 12>; 273 #gpio-cells = <2>; 274 interrupt-controller; 275 #interrupt-cells = <2>; 276 }; 277 278 pm8550_flash: led-controller@ee00 { 279 compatible = "qcom,pm8550-flash-led", "qcom,spmi-flash-led"; 280 reg = <0xee00>; 281 status = "disabled"; 282 }; 283 284 pm8550_pwm: pwm { 285 compatible = "qcom,pm8550-pwm", "qcom,pm8350c-pwm"; 286 #pwm-cells = <2>; 287 288 status = "disabled"; 289 }; 290 }; 291 292 /* PMC8380VE */ 293 pm8550ve_2: pmic@2 { 294 compatible = "qcom,pm8550", "qcom,spmi-pmic"; 295 reg = <0x2 SPMI_USID>; 296 #address-cells = <1>; 297 #size-cells = <0>; 298 299 pm8550ve_2_temp_alarm: temp-alarm@a00 { 300 compatible = "qcom,spmi-temp-alarm"; 301 reg = <0xa00>; 302 interrupts = <0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 303 #thermal-sensor-cells = <0>; 304 }; 305 306 pm8550ve_2_gpios: gpio@8800 { 307 compatible = "qcom,pm8550ve-gpio", "qcom,spmi-gpio"; 308 reg = <0x8800>; 309 gpio-controller; 310 gpio-ranges = <&pm8550ve_2_gpios 0 0 8>; 311 #gpio-cells = <2>; 312 interrupt-controller; 313 #interrupt-cells = <2>; 314 }; 315 }; 316 317 /* PMC8380 is actually not a PM8550 series rebrand */ 318 pmc8380_3: pmic@3 { 319 compatible = "qcom,pmc8380", "qcom,spmi-pmic"; 320 reg = <0x3 SPMI_USID>; 321 #address-cells = <1>; 322 #size-cells = <0>; 323 324 pmc8380_3_temp_alarm: temp-alarm@a00 { 325 compatible = "qcom,spmi-temp-alarm"; 326 reg = <0xa00>; 327 interrupts = <0x3 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 328 #thermal-sensor-cells = <0>; 329 }; 330 331 pmc8380_3_gpios: gpio@8800 { 332 compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio"; 333 reg = <0x8800>; 334 gpio-controller; 335 gpio-ranges = <&pmc8380_3_gpios 0 0 10>; 336 #gpio-cells = <2>; 337 interrupt-controller; 338 #interrupt-cells = <2>; 339 }; 340 }; 341 342 pmc8380_4: pmic@4 { 343 compatible = "qcom,pmc8380", "qcom,spmi-pmic"; 344 reg = <0x4 SPMI_USID>; 345 #address-cells = <1>; 346 #size-cells = <0>; 347 348 pmc8380_4_temp_alarm: temp-alarm@a00 { 349 compatible = "qcom,spmi-temp-alarm"; 350 reg = <0xa00>; 351 interrupts = <0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 352 #thermal-sensor-cells = <0>; 353 }; 354 355 pmc8380_4_gpios: gpio@8800 { 356 compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio"; 357 reg = <0x8800>; 358 gpio-controller; 359 gpio-ranges = <&pmc8380_4_gpios 0 0 10>; 360 #gpio-cells = <2>; 361 interrupt-controller; 362 #interrupt-cells = <2>; 363 }; 364 }; 365 366 pmc8380_5: pmic@5 { 367 compatible = "qcom,pmc8380", "qcom,spmi-pmic"; 368 reg = <0x5 SPMI_USID>; 369 #address-cells = <1>; 370 #size-cells = <0>; 371 372 pmc8380_5_temp_alarm: temp-alarm@a00 { 373 compatible = "qcom,spmi-temp-alarm"; 374 reg = <0xa00>; 375 interrupts = <0x5 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 376 #thermal-sensor-cells = <0>; 377 }; 378 379 pmc8380_5_gpios: gpio@8800 { 380 compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio"; 381 reg = <0x8800>; 382 gpio-controller; 383 gpio-ranges = <&pmc8380_5_gpios 0 0 10>; 384 #gpio-cells = <2>; 385 interrupt-controller; 386 #interrupt-cells = <2>; 387 }; 388 }; 389 390 pmc8380_6: pmic@6 { 391 compatible = "qcom,pmc8380", "qcom,spmi-pmic"; 392 reg = <0x6 SPMI_USID>; 393 #address-cells = <1>; 394 #size-cells = <0>; 395 396 pmc8380_6_temp_alarm: temp-alarm@a00 { 397 compatible = "qcom,spmi-temp-alarm"; 398 reg = <0xa00>; 399 interrupts = <0x6 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 400 #thermal-sensor-cells = <0>; 401 }; 402 403 pmc8380_6_gpios: gpio@8800 { 404 compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio"; 405 reg = <0x8800>; 406 gpio-controller; 407 gpio-ranges = <&pmc8380_6_gpios 0 0 10>; 408 #gpio-cells = <2>; 409 interrupt-controller; 410 #interrupt-cells = <2>; 411 }; 412 }; 413 414 /* PMC8380VE */ 415 pm8550ve_8: pmic@8 { 416 compatible = "qcom,pm8550", "qcom,spmi-pmic"; 417 reg = <0x8 SPMI_USID>; 418 #address-cells = <1>; 419 #size-cells = <0>; 420 421 pm8550ve_8_temp_alarm: temp-alarm@a00 { 422 compatible = "qcom,spmi-temp-alarm"; 423 reg = <0xa00>; 424 interrupts = <0x8 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 425 #thermal-sensor-cells = <0>; 426 }; 427 428 pm8550ve_8_gpios: gpio@8800 { 429 compatible = "qcom,pm8550ve-gpio", "qcom,spmi-gpio"; 430 reg = <0x8800>; 431 gpio-controller; 432 gpio-ranges = <&pm8550ve_8_gpios 0 0 8>; 433 #gpio-cells = <2>; 434 interrupt-controller; 435 #interrupt-cells = <2>; 436 }; 437 }; 438 439 /* PMC8380VE */ 440 pm8550ve_9: pmic@9 { 441 compatible = "qcom,pm8550", "qcom,spmi-pmic"; 442 reg = <0x9 SPMI_USID>; 443 #address-cells = <1>; 444 #size-cells = <0>; 445 446 pm8550ve_9_temp_alarm: temp-alarm@a00 { 447 compatible = "qcom,spmi-temp-alarm"; 448 reg = <0xa00>; 449 interrupts = <0x9 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 450 #thermal-sensor-cells = <0>; 451 }; 452 453 pm8550ve_9_gpios: gpio@8800 { 454 compatible = "qcom,pm8550ve-gpio", "qcom,spmi-gpio"; 455 reg = <0x8800>; 456 gpio-controller; 457 gpio-ranges = <&pm8550ve_9_gpios 0 0 8>; 458 #gpio-cells = <2>; 459 interrupt-controller; 460 #interrupt-cells = <2>; 461 }; 462 }; 463 464 pm8010: pmic@c { 465 compatible = "qcom,pm8010", "qcom,spmi-pmic"; 466 reg = <0xc SPMI_USID>; 467 #address-cells = <1>; 468 #size-cells = <0>; 469 470 pm8010_temp_alarm: temp-alarm@2400 { 471 compatible = "qcom,spmi-temp-alarm"; 472 reg = <0x2400>; 473 interrupts = <0xc 0x24 0x0 IRQ_TYPE_EDGE_BOTH>; 474 #thermal-sensor-cells = <0>; 475 }; 476 }; 477}; 478 479&spmi_bus1 { 480 smb2360_0: pmic@7 { 481 compatible = "qcom,smb2360", "qcom,spmi-pmic"; 482 reg = <0x7 SPMI_USID>; 483 #address-cells = <1>; 484 #size-cells = <0>; 485 486 smb2360_0_eusb2_repeater: phy@fd00 { 487 compatible = "qcom,smb2360-eusb2-repeater"; 488 reg = <0xfd00>; 489 #phy-cells = <0>; 490 }; 491 }; 492 493 smb2360_1: pmic@a { 494 compatible = "qcom,smb2360", "qcom,spmi-pmic"; 495 reg = <0xa SPMI_USID>; 496 #address-cells = <1>; 497 #size-cells = <0>; 498 499 smb2360_1_eusb2_repeater: phy@fd00 { 500 compatible = "qcom,smb2360-eusb2-repeater"; 501 reg = <0xfd00>; 502 #phy-cells = <0>; 503 }; 504 }; 505 506 smb2360_2: pmic@b { 507 compatible = "qcom,smb2360", "qcom,spmi-pmic"; 508 reg = <0xb SPMI_USID>; 509 #address-cells = <1>; 510 #size-cells = <0>; 511 512 smb2360_2_eusb2_repeater: phy@fd00 { 513 compatible = "qcom,smb2360-eusb2-repeater"; 514 reg = <0xfd00>; 515 #phy-cells = <0>; 516 }; 517 }; 518 519 smb2360_3: pmic@c { 520 compatible = "qcom,smb2360", "qcom,spmi-pmic"; 521 reg = <0xc SPMI_USID>; 522 #address-cells = <1>; 523 #size-cells = <0>; 524 525 status = "disabled"; 526 527 smb2360_3_eusb2_repeater: phy@fd00 { 528 compatible = "qcom,smb2360-eusb2-repeater"; 529 reg = <0xfd00>; 530 #phy-cells = <0>; 531 }; 532 }; 533}; 534