Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / qcom / pm6150.dtsi
1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3  * Copyright (c) 2019, The Linux Foundation. All rights reserved.
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                 pm6150_thermal: pm6150-thermal {
15                         polling-delay-passive = <100>;
16                         polling-delay = <0>;
17                         thermal-sensors = <&pm6150_temp>;
18
19                         trips {
20                                 pm6150_trip0: trip0 {
21                                         temperature = <95000>;
22                                         hysteresis = <0>;
23                                         type = "passive";
24                                 };
25
26                                 pm6150_crit: crit {
27                                         temperature = <115000>;
28                                         hysteresis = <0>;
29                                         type = "critical";
30                                 };
31                         };
32                 };
33         };
34 };
35
36 &spmi_bus {
37         pm6150_lsid0: pmic@0 {
38                 compatible = "qcom,pm6150", "qcom,spmi-pmic";
39                 reg = <0x0 SPMI_USID>;
40                 #address-cells = <1>;
41                 #size-cells = <0>;
42
43                 pm6150_pon: pon@800 {
44                         compatible = "qcom,pm8998-pon";
45                         reg = <0x800>;
46                         mode-bootloader = <0x2>;
47                         mode-recovery = <0x1>;
48
49                         pm6150_pwrkey: pwrkey {
50                                 compatible = "qcom,pm8941-pwrkey";
51                                 interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
52                                 debounce = <15625>;
53                                 bias-pull-up;
54                                 linux,code = <KEY_POWER>;
55                         };
56
57                         pm6150_resin: resin {
58                                 compatible = "qcom,pm8941-resin";
59                                 interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
60                                 debounce = <15625>;
61                                 bias-pull-up;
62                                 status = "disabled";
63                         };
64                 };
65
66                 pm6150_temp: temp-alarm@2400 {
67                         compatible = "qcom,spmi-temp-alarm";
68                         reg = <0x2400>;
69                         interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
70                         io-channels = <&pm6150_adc ADC5_DIE_TEMP>;
71                         io-channel-names = "thermal";
72                         #thermal-sensor-cells = <0>;
73                 };
74
75                 pm6150_adc: adc@3100 {
76                         compatible = "qcom,spmi-adc5";
77                         reg = <0x3100>;
78                         interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
79                         #address-cells = <1>;
80                         #size-cells = <0>;
81                         #io-channel-cells = <1>;
82
83                         channel@6 {
84                                 reg = <ADC5_DIE_TEMP>;
85                                 label = "die_temp";
86                         };
87                 };
88
89                 pm6150_adc_tm: adc-tm@3500 {
90                         compatible = "qcom,spmi-adc-tm5";
91                         reg = <0x3500>;
92                         interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
93                         #thermal-sensor-cells = <1>;
94                         #address-cells = <1>;
95                         #size-cells = <0>;
96                         status = "disabled";
97                 };
98
99                 pm6150_rtc: rtc@6000 {
100                         compatible = "qcom,pm8941-rtc";
101                         reg = <0x6000>, <0x6100>;
102                         reg-names = "rtc", "alarm";
103                         interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
104                         status = "disabled";
105                 };
106
107                 pm6150_gpios: gpio@c000 {
108                         compatible = "qcom,pm6150-gpio", "qcom,spmi-gpio";
109                         reg = <0xc000>;
110                         gpio-controller;
111                         gpio-ranges = <&pm6150_gpios 0 0 10>;
112                         #gpio-cells = <2>;
113                         interrupt-controller;
114                         #interrupt-cells = <2>;
115                 };
116         };
117
118         pm6150_lsid1: pmic@1 {
119                 compatible = "qcom,pm6150", "qcom,spmi-pmic";
120                 reg = <0x1 SPMI_USID>;
121                 #address-cells = <1>;
122                 #size-cells = <0>;
123         };
124 };