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