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