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