xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/pm7550.dtsi (revision 0cd4430a9320c916a84617b6bbf400f5c64a09c7)
1*0cd4430aSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause
2*0cd4430aSEmmanuel Vadot/*
3*0cd4430aSEmmanuel Vadot * Copyright (c) 2025, Luca Weiss <luca.weiss@fairphone.com>
4*0cd4430aSEmmanuel Vadot */
5*0cd4430aSEmmanuel Vadot
6*0cd4430aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
7*0cd4430aSEmmanuel Vadot#include <dt-bindings/spmi/spmi.h>
8*0cd4430aSEmmanuel Vadot
9*0cd4430aSEmmanuel Vadot/ {
10*0cd4430aSEmmanuel Vadot	thermal-zones {
11*0cd4430aSEmmanuel Vadot		pm7550_thermal: pm7550-thermal {
12*0cd4430aSEmmanuel Vadot			polling-delay-passive = <100>;
13*0cd4430aSEmmanuel Vadot
14*0cd4430aSEmmanuel Vadot			thermal-sensors = <&pm7550_temp_alarm>;
15*0cd4430aSEmmanuel Vadot
16*0cd4430aSEmmanuel Vadot			trips {
17*0cd4430aSEmmanuel Vadot				trip0 {
18*0cd4430aSEmmanuel Vadot					temperature = <95000>;
19*0cd4430aSEmmanuel Vadot					hysteresis = <0>;
20*0cd4430aSEmmanuel Vadot					type = "passive";
21*0cd4430aSEmmanuel Vadot				};
22*0cd4430aSEmmanuel Vadot
23*0cd4430aSEmmanuel Vadot				trip1 {
24*0cd4430aSEmmanuel Vadot					/*
25*0cd4430aSEmmanuel Vadot					 * Current Linux driver currently only supports up to
26*0cd4430aSEmmanuel Vadot					 * 125°C, should be updated to 145°C once available.
27*0cd4430aSEmmanuel Vadot					 */
28*0cd4430aSEmmanuel Vadot					temperature = <125000>;
29*0cd4430aSEmmanuel Vadot					hysteresis = <0>;
30*0cd4430aSEmmanuel Vadot					type = "critical";
31*0cd4430aSEmmanuel Vadot				};
32*0cd4430aSEmmanuel Vadot			};
33*0cd4430aSEmmanuel Vadot		};
34*0cd4430aSEmmanuel Vadot	};
35*0cd4430aSEmmanuel Vadot};
36*0cd4430aSEmmanuel Vadot
37*0cd4430aSEmmanuel Vadot&spmi_bus {
38*0cd4430aSEmmanuel Vadot	pm7550: pmic@1 {
39*0cd4430aSEmmanuel Vadot		compatible = "qcom,pm7550", "qcom,spmi-pmic";
40*0cd4430aSEmmanuel Vadot		reg = <0x1 SPMI_USID>;
41*0cd4430aSEmmanuel Vadot		#address-cells = <1>;
42*0cd4430aSEmmanuel Vadot		#size-cells = <0>;
43*0cd4430aSEmmanuel Vadot
44*0cd4430aSEmmanuel Vadot		pm7550_temp_alarm: temp-alarm@a00 {
45*0cd4430aSEmmanuel Vadot			compatible = "qcom,spmi-temp-alarm";
46*0cd4430aSEmmanuel Vadot			reg = <0xa00>;
47*0cd4430aSEmmanuel Vadot			interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
48*0cd4430aSEmmanuel Vadot			#thermal-sensor-cells = <0>;
49*0cd4430aSEmmanuel Vadot		};
50*0cd4430aSEmmanuel Vadot
51*0cd4430aSEmmanuel Vadot		pm7550_gpios: gpio@8800 {
52*0cd4430aSEmmanuel Vadot			compatible = "qcom,pm7550-gpio", "qcom,spmi-gpio";
53*0cd4430aSEmmanuel Vadot			reg = <0x8800>;
54*0cd4430aSEmmanuel Vadot			gpio-controller;
55*0cd4430aSEmmanuel Vadot			gpio-ranges = <&pm7550_gpios 0 0 12>;
56*0cd4430aSEmmanuel Vadot			#gpio-cells = <2>;
57*0cd4430aSEmmanuel Vadot			interrupt-controller;
58*0cd4430aSEmmanuel Vadot			#interrupt-cells = <2>;
59*0cd4430aSEmmanuel Vadot		};
60*0cd4430aSEmmanuel Vadot
61*0cd4430aSEmmanuel Vadot		pm7550_flash: led-controller@ee00 {
62*0cd4430aSEmmanuel Vadot			compatible = "qcom,pm7550-flash-led", "qcom,spmi-flash-led";
63*0cd4430aSEmmanuel Vadot			reg = <0xee00>;
64*0cd4430aSEmmanuel Vadot			status = "disabled";
65*0cd4430aSEmmanuel Vadot		};
66*0cd4430aSEmmanuel Vadot	};
67*0cd4430aSEmmanuel Vadot};
68