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: 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 qcom,no-alarm; /* alarm owned by ADSP */ 227 qcom,uefi-rtc-info; 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_sdam_15: nvram@7e00 { 244 compatible = "qcom,spmi-sdam"; 245 reg = <0x7e00>; 246 #address-cells = <1>; 247 #size-cells = <1>; 248 ranges = <0 0x7e00 0x100>; 249 250 charge_limit_en: charge-limit-en@73 { 251 reg = <0x73 0x1>; 252 }; 253 254 charge_limit_end: charge-limit-end@75 { 255 reg = <0x75 0x1>; 256 }; 257 258 charge_limit_delta: charge-limit-delta@76 { 259 reg = <0x76 0x1>; 260 }; 261 }; 262 263 pmk8550_gpios: gpio@8800 { 264 compatible = "qcom,pmk8550-gpio", "qcom,spmi-gpio"; 265 reg = <0xb800>; 266 gpio-controller; 267 gpio-ranges = <&pmk8550_gpios 0 0 6>; 268 #gpio-cells = <2>; 269 interrupt-controller; 270 #interrupt-cells = <2>; 271 }; 272 273 pmk8550_pwm: pwm { 274 compatible = "qcom,pmk8550-pwm"; 275 276 #pwm-cells = <2>; 277 278 status = "disabled"; 279 }; 280 }; 281 282 /* PMC8380C */ 283 pm8550: pmic@1 { 284 compatible = "qcom,pm8550", "qcom,spmi-pmic"; 285 reg = <0x1 SPMI_USID>; 286 #address-cells = <1>; 287 #size-cells = <0>; 288 289 pm8550_temp_alarm: temp-alarm@a00 { 290 compatible = "qcom,spmi-temp-alarm"; 291 reg = <0xa00>; 292 interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 293 #thermal-sensor-cells = <0>; 294 }; 295 296 pm8550_gpios: gpio@8800 { 297 compatible = "qcom,pm8550-gpio", "qcom,spmi-gpio"; 298 reg = <0x8800>; 299 gpio-controller; 300 gpio-ranges = <&pm8550_gpios 0 0 12>; 301 #gpio-cells = <2>; 302 interrupt-controller; 303 #interrupt-cells = <2>; 304 }; 305 306 pm8550_flash: led-controller@ee00 { 307 compatible = "qcom,pm8550-flash-led", "qcom,spmi-flash-led"; 308 reg = <0xee00>; 309 status = "disabled"; 310 }; 311 312 pm8550_pwm: pwm { 313 compatible = "qcom,pm8550-pwm", "qcom,pm8350c-pwm"; 314 #pwm-cells = <2>; 315 316 status = "disabled"; 317 }; 318 }; 319 320 /* PMC8380VE */ 321 pm8550ve_2: pmic@2 { 322 compatible = "qcom,pm8550", "qcom,spmi-pmic"; 323 reg = <0x2 SPMI_USID>; 324 #address-cells = <1>; 325 #size-cells = <0>; 326 327 pm8550ve_2_temp_alarm: temp-alarm@a00 { 328 compatible = "qcom,spmi-temp-alarm"; 329 reg = <0xa00>; 330 interrupts = <0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 331 #thermal-sensor-cells = <0>; 332 }; 333 334 pm8550ve_2_gpios: gpio@8800 { 335 compatible = "qcom,pm8550ve-gpio", "qcom,spmi-gpio"; 336 reg = <0x8800>; 337 gpio-controller; 338 gpio-ranges = <&pm8550ve_2_gpios 0 0 8>; 339 #gpio-cells = <2>; 340 interrupt-controller; 341 #interrupt-cells = <2>; 342 }; 343 }; 344 345 /* PMC8380 is actually not a PM8550 series rebrand */ 346 pmc8380_3: pmic@3 { 347 compatible = "qcom,pmc8380", "qcom,spmi-pmic"; 348 reg = <0x3 SPMI_USID>; 349 #address-cells = <1>; 350 #size-cells = <0>; 351 352 pmc8380_3_temp_alarm: temp-alarm@a00 { 353 compatible = "qcom,spmi-temp-alarm"; 354 reg = <0xa00>; 355 interrupts = <0x3 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 356 #thermal-sensor-cells = <0>; 357 }; 358 359 pmc8380_3_gpios: gpio@8800 { 360 compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio"; 361 reg = <0x8800>; 362 gpio-controller; 363 gpio-ranges = <&pmc8380_3_gpios 0 0 10>; 364 #gpio-cells = <2>; 365 interrupt-controller; 366 #interrupt-cells = <2>; 367 }; 368 }; 369 370 pmc8380_4: pmic@4 { 371 compatible = "qcom,pmc8380", "qcom,spmi-pmic"; 372 reg = <0x4 SPMI_USID>; 373 #address-cells = <1>; 374 #size-cells = <0>; 375 376 pmc8380_4_temp_alarm: temp-alarm@a00 { 377 compatible = "qcom,spmi-temp-alarm"; 378 reg = <0xa00>; 379 interrupts = <0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 380 #thermal-sensor-cells = <0>; 381 }; 382 383 pmc8380_4_gpios: gpio@8800 { 384 compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio"; 385 reg = <0x8800>; 386 gpio-controller; 387 gpio-ranges = <&pmc8380_4_gpios 0 0 10>; 388 #gpio-cells = <2>; 389 interrupt-controller; 390 #interrupt-cells = <2>; 391 }; 392 }; 393 394 pmc8380_5: pmic@5 { 395 compatible = "qcom,pmc8380", "qcom,spmi-pmic"; 396 reg = <0x5 SPMI_USID>; 397 #address-cells = <1>; 398 #size-cells = <0>; 399 400 pmc8380_5_temp_alarm: temp-alarm@a00 { 401 compatible = "qcom,spmi-temp-alarm"; 402 reg = <0xa00>; 403 interrupts = <0x5 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 404 #thermal-sensor-cells = <0>; 405 }; 406 407 pmc8380_5_gpios: gpio@8800 { 408 compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio"; 409 reg = <0x8800>; 410 gpio-controller; 411 gpio-ranges = <&pmc8380_5_gpios 0 0 10>; 412 #gpio-cells = <2>; 413 interrupt-controller; 414 #interrupt-cells = <2>; 415 }; 416 }; 417 418 pmc8380_6: pmic@6 { 419 compatible = "qcom,pmc8380", "qcom,spmi-pmic"; 420 reg = <0x6 SPMI_USID>; 421 #address-cells = <1>; 422 #size-cells = <0>; 423 424 pmc8380_6_temp_alarm: temp-alarm@a00 { 425 compatible = "qcom,spmi-temp-alarm"; 426 reg = <0xa00>; 427 interrupts = <0x6 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 428 #thermal-sensor-cells = <0>; 429 }; 430 431 pmc8380_6_gpios: gpio@8800 { 432 compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio"; 433 reg = <0x8800>; 434 gpio-controller; 435 gpio-ranges = <&pmc8380_6_gpios 0 0 10>; 436 #gpio-cells = <2>; 437 interrupt-controller; 438 #interrupt-cells = <2>; 439 }; 440 }; 441 442 /* PMC8380VE */ 443 pm8550ve_8: pmic@8 { 444 compatible = "qcom,pm8550", "qcom,spmi-pmic"; 445 reg = <0x8 SPMI_USID>; 446 #address-cells = <1>; 447 #size-cells = <0>; 448 449 pm8550ve_8_temp_alarm: temp-alarm@a00 { 450 compatible = "qcom,spmi-temp-alarm"; 451 reg = <0xa00>; 452 interrupts = <0x8 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 453 #thermal-sensor-cells = <0>; 454 }; 455 456 pm8550ve_8_gpios: gpio@8800 { 457 compatible = "qcom,pm8550ve-gpio", "qcom,spmi-gpio"; 458 reg = <0x8800>; 459 gpio-controller; 460 gpio-ranges = <&pm8550ve_8_gpios 0 0 8>; 461 #gpio-cells = <2>; 462 interrupt-controller; 463 #interrupt-cells = <2>; 464 }; 465 }; 466 467 /* PMC8380VE */ 468 pm8550ve_9: pmic@9 { 469 compatible = "qcom,pm8550", "qcom,spmi-pmic"; 470 reg = <0x9 SPMI_USID>; 471 #address-cells = <1>; 472 #size-cells = <0>; 473 474 pm8550ve_9_temp_alarm: temp-alarm@a00 { 475 compatible = "qcom,spmi-temp-alarm"; 476 reg = <0xa00>; 477 interrupts = <0x9 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 478 #thermal-sensor-cells = <0>; 479 }; 480 481 pm8550ve_9_gpios: gpio@8800 { 482 compatible = "qcom,pm8550ve-gpio", "qcom,spmi-gpio"; 483 reg = <0x8800>; 484 gpio-controller; 485 gpio-ranges = <&pm8550ve_9_gpios 0 0 8>; 486 #gpio-cells = <2>; 487 interrupt-controller; 488 #interrupt-cells = <2>; 489 }; 490 }; 491 492 pm8010: pmic@c { 493 compatible = "qcom,pm8010", "qcom,spmi-pmic"; 494 reg = <0xc SPMI_USID>; 495 #address-cells = <1>; 496 #size-cells = <0>; 497 498 status = "disabled"; 499 500 pm8010_temp_alarm: temp-alarm@2400 { 501 compatible = "qcom,spmi-temp-alarm"; 502 reg = <0x2400>; 503 interrupts = <0xc 0x24 0x0 IRQ_TYPE_EDGE_BOTH>; 504 #thermal-sensor-cells = <0>; 505 }; 506 }; 507}; 508 509&spmi_bus1 { 510 smb2360_0: pmic@7 { 511 compatible = "qcom,smb2360", "qcom,spmi-pmic"; 512 reg = <0x7 SPMI_USID>; 513 #address-cells = <1>; 514 #size-cells = <0>; 515 516 status = "disabled"; 517 518 smb2360_0_eusb2_repeater: phy@fd00 { 519 compatible = "qcom,smb2360-eusb2-repeater"; 520 reg = <0xfd00>; 521 #phy-cells = <0>; 522 }; 523 }; 524 525 smb2360_1: pmic@a { 526 compatible = "qcom,smb2360", "qcom,spmi-pmic"; 527 reg = <0xa SPMI_USID>; 528 #address-cells = <1>; 529 #size-cells = <0>; 530 531 status = "disabled"; 532 533 smb2360_1_eusb2_repeater: phy@fd00 { 534 compatible = "qcom,smb2360-eusb2-repeater"; 535 reg = <0xfd00>; 536 #phy-cells = <0>; 537 }; 538 }; 539 540 smb2360_2: pmic@b { 541 compatible = "qcom,smb2360", "qcom,spmi-pmic"; 542 reg = <0xb SPMI_USID>; 543 #address-cells = <1>; 544 #size-cells = <0>; 545 546 status = "disabled"; 547 548 smb2360_2_eusb2_repeater: phy@fd00 { 549 compatible = "qcom,smb2360-eusb2-repeater"; 550 reg = <0xfd00>; 551 #phy-cells = <0>; 552 }; 553 }; 554 555 smb2360_3: pmic@c { 556 compatible = "qcom,smb2360", "qcom,spmi-pmic"; 557 reg = <0xc SPMI_USID>; 558 #address-cells = <1>; 559 #size-cells = <0>; 560 561 status = "disabled"; 562 563 smb2360_3_eusb2_repeater: phy@fd00 { 564 compatible = "qcom,smb2360-eusb2-repeater"; 565 reg = <0xfd00>; 566 #phy-cells = <0>; 567 }; 568 }; 569}; 570