xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/pmiv0104.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		pmiv0104-thermal {
12*0cd4430aSEmmanuel Vadot			polling-delay-passive = <100>;
13*0cd4430aSEmmanuel Vadot
14*0cd4430aSEmmanuel Vadot			thermal-sensors = <&pmiv0104_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					temperature = <115000>;
25*0cd4430aSEmmanuel Vadot					hysteresis = <0>;
26*0cd4430aSEmmanuel Vadot					type = "hot";
27*0cd4430aSEmmanuel Vadot				};
28*0cd4430aSEmmanuel Vadot
29*0cd4430aSEmmanuel Vadot				trip2 {
30*0cd4430aSEmmanuel Vadot					/*
31*0cd4430aSEmmanuel Vadot					 * Current Linux driver currently only supports up to
32*0cd4430aSEmmanuel Vadot					 * 125°C, should be updated to 145°C once available.
33*0cd4430aSEmmanuel Vadot					 */
34*0cd4430aSEmmanuel Vadot					temperature = <125000>;
35*0cd4430aSEmmanuel Vadot					hysteresis = <0>;
36*0cd4430aSEmmanuel Vadot					type = "critical";
37*0cd4430aSEmmanuel Vadot				};
38*0cd4430aSEmmanuel Vadot			};
39*0cd4430aSEmmanuel Vadot		};
40*0cd4430aSEmmanuel Vadot	};
41*0cd4430aSEmmanuel Vadot};
42*0cd4430aSEmmanuel Vadot
43*0cd4430aSEmmanuel Vadot&spmi_bus {
44*0cd4430aSEmmanuel Vadot	pmic@PMIV0104_SID {
45*0cd4430aSEmmanuel Vadot		compatible = "qcom,pmiv0104", "qcom,spmi-pmic";
46*0cd4430aSEmmanuel Vadot		reg = <PMIV0104_SID SPMI_USID>;
47*0cd4430aSEmmanuel Vadot		#address-cells = <1>;
48*0cd4430aSEmmanuel Vadot		#size-cells = <0>;
49*0cd4430aSEmmanuel Vadot
50*0cd4430aSEmmanuel Vadot		pmiv0104_temp_alarm: temp-alarm@a00 {
51*0cd4430aSEmmanuel Vadot			compatible = "qcom,spmi-temp-alarm";
52*0cd4430aSEmmanuel Vadot			reg = <0xa00>;
53*0cd4430aSEmmanuel Vadot			interrupts = <PMIV0104_SID 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
54*0cd4430aSEmmanuel Vadot			#thermal-sensor-cells = <0>;
55*0cd4430aSEmmanuel Vadot		};
56*0cd4430aSEmmanuel Vadot
57*0cd4430aSEmmanuel Vadot		pmiv0104_gpios: gpio@8800 {
58*0cd4430aSEmmanuel Vadot			compatible = "qcom,pmiv0104-gpio", "qcom,spmi-gpio";
59*0cd4430aSEmmanuel Vadot			reg = <0x8800>;
60*0cd4430aSEmmanuel Vadot			gpio-controller;
61*0cd4430aSEmmanuel Vadot			gpio-ranges = <&pmiv0104_gpios 0 0 10>;
62*0cd4430aSEmmanuel Vadot			#gpio-cells = <2>;
63*0cd4430aSEmmanuel Vadot			interrupt-controller;
64*0cd4430aSEmmanuel Vadot			#interrupt-cells = <2>;
65*0cd4430aSEmmanuel Vadot		};
66*0cd4430aSEmmanuel Vadot
67*0cd4430aSEmmanuel Vadot		pmiv0104_eusb2_repeater: phy@fd00 {
68*0cd4430aSEmmanuel Vadot			compatible = "qcom,pmiv0104-eusb2-repeater";
69*0cd4430aSEmmanuel Vadot			reg = <0xfd00>;
70*0cd4430aSEmmanuel Vadot			#phy-cells = <0>;
71*0cd4430aSEmmanuel Vadot		};
72*0cd4430aSEmmanuel Vadot	};
73*0cd4430aSEmmanuel Vadot};
74