xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/pm660l.dtsi (revision c7046f76c2c027b00c0e6ba57cfd28f1a78f5e23)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2020, Konrad Dybcio
4 */
5
6#include <dt-bindings/iio/qcom,spmi-vadc.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#include <dt-bindings/thermal/thermal.h>
11
12/ {
13	thermal-zones {
14		pm660l {
15			polling-delay-passive = <250>;
16			polling-delay = <1000>;
17
18			thermal-sensors = <&pm660l_temp>;
19
20			trips {
21				pm660l_alert0: pm660l-alert0 {
22					temperature = <95000>;
23					hysteresis = <2000>;
24					type = "passive";
25				};
26				pm660l_crit: pm660l-crit {
27					temperature = <125000>;
28					hysteresis = <2000>;
29					type = "critical";
30				};
31			};
32		};
33	};
34};
35
36&spmi_bus {
37
38	pmic@2 {
39		compatible = "qcom,pm660l", "qcom,spmi-pmic";
40		reg = <0x2 SPMI_USID>;
41		#address-cells = <1>;
42		#size-cells = <0>;
43
44		pm660l_temp: temp-alarm@2400 {
45			compatible = "qcom,spmi-temp-alarm";
46			reg = <0x2400>;
47			interrupts = <0x2 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
48			#thermal-sensor-cells = <0>;
49		};
50
51		pm660l_gpios: gpios@c000 {
52			compatible = "qcom,pm660l-gpio", "qcom,spmi-gpio";
53			reg = <0xc000>;
54			gpio-controller;
55			gpio-ranges = <&pm660l_gpios 0 0 12>;
56			#gpio-cells = <2>;
57			interrupt-controller;
58			#interrupt-cells = <2>;
59		};
60	};
61
62	pmic@3 {
63		compatible = "qcom,pm660l", "qcom,spmi-pmic";
64		reg = <0x3 SPMI_USID>;
65		#address-cells = <1>;
66		#size-cells = <0>;
67
68		pm660l_wled: leds@d800 {
69			compatible = "qcom,pm660l-wled";
70			reg = <0xd800 0xd900>;
71			interrupts = <0x3 0xd8 0x1 IRQ_TYPE_EDGE_RISING>;
72			interrupt-names = "ovp";
73			label = "backlight";
74
75			status = "disabled";
76		};
77
78		pm660l_spmi_regulators: pm660l-regulators {
79			compatible = "qcom,pm660l-regulators";
80		};
81	};
82};
83
84