xref: /linux/arch/arm64/boot/dts/qcom/pm8150l.dtsi (revision 55d0969c451159cff86949b38c39171cab962069)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
4 * Copyright (c) 2019, Linaro Limited
5 */
6
7#include <dt-bindings/iio/qcom,spmi-vadc.h>
8#include <dt-bindings/interrupt-controller/irq.h>
9#include <dt-bindings/spmi/spmi.h>
10
11/ {
12	thermal-zones {
13		pm8150l-thermal {
14			polling-delay-passive = <100>;
15
16			thermal-sensors = <&pm8150l_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@4 {
43		compatible = "qcom,pm8150l", "qcom,spmi-pmic";
44		reg = <0x4 SPMI_USID>;
45		#address-cells = <1>;
46		#size-cells = <0>;
47
48		pon@800 {
49			compatible = "qcom,pm8916-pon";
50			reg = <0x0800>;
51
52			status = "disabled";
53		};
54
55		pm8150l_temp: temp-alarm@2400 {
56			compatible = "qcom,spmi-temp-alarm";
57			reg = <0x2400>;
58			interrupts = <0x4 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
59			io-channels = <&pm8150l_adc ADC5_DIE_TEMP>;
60			io-channel-names = "thermal";
61			#thermal-sensor-cells = <0>;
62		};
63
64		pm8150l_adc: adc@3100 {
65			compatible = "qcom,spmi-adc5";
66			reg = <0x3100>;
67			#address-cells = <1>;
68			#size-cells = <0>;
69			#io-channel-cells = <1>;
70			interrupts = <0x4 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
71
72			channel@0 {
73				reg = <ADC5_REF_GND>;
74				qcom,pre-scaling = <1 1>;
75				label = "ref_gnd";
76			};
77
78			channel@1 {
79				reg = <ADC5_1P25VREF>;
80				qcom,pre-scaling = <1 1>;
81				label = "vref_1p25";
82			};
83
84			channel@6 {
85				reg = <ADC5_DIE_TEMP>;
86				qcom,pre-scaling = <1 1>;
87				label = "die_temp";
88			};
89		};
90
91		pm8150l_adc_tm: adc-tm@3500 {
92			compatible = "qcom,spmi-adc-tm5";
93			reg = <0x3500>;
94			interrupts = <0x4 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
95			#thermal-sensor-cells = <1>;
96			#address-cells = <1>;
97			#size-cells = <0>;
98			status = "disabled";
99		};
100
101		pm8150l_gpios: gpio@c000 {
102			compatible = "qcom,pm8150l-gpio", "qcom,spmi-gpio";
103			reg = <0xc000>;
104			gpio-controller;
105			gpio-ranges = <&pm8150l_gpios 0 0 12>;
106			#gpio-cells = <2>;
107			interrupt-controller;
108			#interrupt-cells = <2>;
109		};
110	};
111
112	pmic@5 {
113		compatible = "qcom,pm8150l", "qcom,spmi-pmic";
114		reg = <0x5 SPMI_USID>;
115		#address-cells = <1>;
116		#size-cells = <0>;
117
118		pm8150l_flash: led-controller@d300 {
119			compatible = "qcom,pm8150l-flash-led", "qcom,spmi-flash-led";
120			reg = <0xd300>;
121			status = "disabled";
122		};
123
124		pm8150l_lpg: pwm {
125			compatible = "qcom,pm8150l-lpg";
126
127			#address-cells = <1>;
128			#size-cells = <0>;
129			#pwm-cells = <2>;
130
131			status = "disabled";
132		};
133
134		pm8150l_wled: leds@d800 {
135			compatible = "qcom,pm8150l-wled";
136			reg = <0xd800>, <0xd900>;
137			interrupts = <0x5 0xd8 0x1 IRQ_TYPE_EDGE_RISING>,
138				     <0x5 0xd8 0x2 IRQ_TYPE_EDGE_RISING>;
139			interrupt-names = "ovp", "short";
140			label = "backlight";
141
142			status = "disabled";
143		};
144	};
145};
146