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