xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/pmm8155au_1.dtsi (revision 8c2f6c3be0125142d3c1782e4b0ee0634c584b9e)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2021, Linaro Limited
4 */
5
6#include <dt-bindings/input/input.h>
7#include <dt-bindings/interrupt-controller/irq.h>
8#include <dt-bindings/spmi/spmi.h>
9#include <dt-bindings/iio/qcom,spmi-vadc.h>
10
11/ {
12	thermal-zones {
13		pmm8155au-1-thermal {
14			polling-delay-passive = <100>;
15			polling-delay = <0>;
16
17			thermal-sensors = <&pmm8155au_1_temp>;
18
19			trips {
20				trip0 {
21					temperature = <95000>;
22					hysteresis = <0>;
23					type = "passive";
24				};
25
26				trip1 {
27					temperature = <115000>;
28					hysteresis = <0>;
29					type = "hot";
30				};
31
32				trip2 {
33					temperature = <145000>;
34					hysteresis = <0>;
35					type = "critical";
36				};
37			};
38		};
39	};
40};
41
42&spmi_bus {
43	pmic@0 {
44		compatible = "qcom,pmm8155au", "qcom,spmi-pmic";
45		reg = <0x0 SPMI_USID>;
46		#address-cells = <1>;
47		#size-cells = <0>;
48
49		pon: pon@800 {
50			compatible = "qcom,pm8916-pon";
51			reg = <0x0800>;
52			pwrkey {
53				compatible = "qcom,pm8941-pwrkey";
54				interrupts = <0x0 0x8 0x0 IRQ_TYPE_EDGE_BOTH>;
55				debounce = <15625>;
56				bias-pull-up;
57				linux,code = <KEY_POWER>;
58
59				status = "disabled";
60			};
61		};
62
63		pmm8155au_1_temp: temp-alarm@2400 {
64			compatible = "qcom,spmi-temp-alarm";
65			reg = <0x2400>;
66			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
67			io-channels = <&pmm8155au_1_adc ADC5_DIE_TEMP>;
68			io-channel-names = "thermal";
69			#thermal-sensor-cells = <0>;
70		};
71
72		pmm8155au_1_adc: adc@3100 {
73			compatible = "qcom,spmi-adc5";
74			reg = <0x3100>;
75			#address-cells = <1>;
76			#size-cells = <0>;
77			#io-channel-cells = <1>;
78			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
79
80			channel@0 {
81				reg = <ADC5_REF_GND>;
82				qcom,pre-scaling = <1 1>;
83				label = "ref_gnd";
84			};
85
86			channel@1 {
87				reg = <ADC5_1P25VREF>;
88				qcom,pre-scaling = <1 1>;
89				label = "vref_1p25";
90			};
91
92			channel@6 {
93				reg = <ADC5_DIE_TEMP>;
94				qcom,pre-scaling = <1 1>;
95				label = "die_temp";
96			};
97		};
98
99		pmm8155au_1_adc_tm: adc-tm@3500 {
100			compatible = "qcom,spmi-adc-tm5";
101			reg = <0x3500>;
102			interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
103			#thermal-sensor-cells = <1>;
104			#address-cells = <1>;
105			#size-cells = <0>;
106			status = "disabled";
107		};
108
109		pmm8155au_1_rtc: rtc@6000 {
110			compatible = "qcom,pm8941-rtc";
111			reg = <0x6000>, <0x6100>;
112			reg-names = "rtc", "alarm";
113			interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
114
115			status = "disabled";
116		};
117
118		pmm8155au_1_gpios: gpio@c000 {
119			compatible = "qcom,pmm8155au-gpio", "qcom,spmi-gpio";
120			reg = <0xc000>;
121			gpio-controller;
122			#gpio-cells = <2>;
123			gpio-ranges = <&pmm8155au_1_gpios 0 0 10>;
124			interrupt-controller;
125			#interrupt-cells = <2>;
126		};
127	};
128
129	pmic@1 {
130		compatible = "qcom,pmm8155au", "qcom,spmi-pmic";
131		reg = <0x1 SPMI_USID>;
132		#address-cells = <1>;
133		#size-cells = <0>;
134	};
135};
136