1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. 4 * Copyright (c) 2021-2023, Linaro Limited 5 */ 6 7#include <dt-bindings/input/input.h> 8#include <dt-bindings/interrupt-controller/irq.h> 9#include <dt-bindings/spmi/spmi.h> 10#include <dt-bindings/iio/qcom,spmi-vadc.h> 11 12/ { 13 thermal-zones { 14 pmc8180-thermal { 15 polling-delay-passive = <100>; 16 17 thermal-sensors = <&pmc8180_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 pmc8180c-thermal { 41 polling-delay-passive = <100>; 42 43 thermal-sensors = <&pmc8180c_temp>; 44 45 trips { 46 trip0 { 47 temperature = <95000>; 48 hysteresis = <0>; 49 type = "passive"; 50 }; 51 52 trip1 { 53 temperature = <115000>; 54 hysteresis = <0>; 55 type = "hot"; 56 }; 57 58 trip2 { 59 temperature = <145000>; 60 hysteresis = <0>; 61 type = "critical"; 62 }; 63 }; 64 }; 65 }; 66}; 67 68&spmi_bus { 69 pmc8180_0: pmic@0 { 70 compatible = "qcom,pm8150", "qcom,spmi-pmic"; 71 reg = <0x0 SPMI_USID>; 72 #address-cells = <1>; 73 #size-cells = <0>; 74 75 pon: pon@800 { 76 compatible = "qcom,pm8916-pon"; 77 reg = <0x0800>; 78 pmc8180_pwrkey: pwrkey { 79 compatible = "qcom,pm8941-pwrkey"; 80 interrupts = <0x0 0x8 0x0 IRQ_TYPE_EDGE_BOTH>; 81 debounce = <15625>; 82 bias-pull-up; 83 linux,code = <KEY_POWER>; 84 85 status = "disabled"; 86 }; 87 }; 88 89 pmc8180_temp: temp-alarm@2400 { 90 compatible = "qcom,spmi-temp-alarm"; 91 reg = <0x2400>; 92 interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_BOTH>; 93 io-channels = <&pmc8180_adc ADC5_DIE_TEMP>; 94 io-channel-names = "thermal"; 95 #thermal-sensor-cells = <0>; 96 }; 97 98 pmc8180_adc: adc@3100 { 99 compatible = "qcom,spmi-adc5"; 100 reg = <0x3100>; 101 #address-cells = <1>; 102 #size-cells = <0>; 103 #io-channel-cells = <1>; 104 interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>; 105 106 channel@0 { 107 reg = <ADC5_REF_GND>; 108 qcom,pre-scaling = <1 1>; 109 label = "ref_gnd"; 110 }; 111 112 channel@1 { 113 reg = <ADC5_1P25VREF>; 114 qcom,pre-scaling = <1 1>; 115 label = "vref_1p25"; 116 }; 117 118 channel@6 { 119 reg = <ADC5_DIE_TEMP>; 120 qcom,pre-scaling = <1 1>; 121 label = "die_temp"; 122 }; 123 }; 124 125 pmc8180_adc_tm: adc-tm@3500 { 126 compatible = "qcom,spmi-adc-tm5"; 127 reg = <0x3500>; 128 interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>; 129 #thermal-sensor-cells = <1>; 130 #address-cells = <1>; 131 #size-cells = <0>; 132 status = "disabled"; 133 }; 134 135 rtc@6000 { 136 compatible = "qcom,pm8941-rtc"; 137 reg = <0x6000>; 138 reg-names = "rtc", "alarm"; 139 interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>; 140 }; 141 142 pmc8180_1_gpios: gpio@c000 { 143 compatible = "qcom,pmc8180-gpio", "qcom,spmi-gpio"; 144 reg = <0xc000>; 145 gpio-controller; 146 gpio-ranges = <&pmc8180_1_gpios 0 0 10>; 147 #gpio-cells = <2>; 148 interrupt-controller; 149 #interrupt-cells = <2>; 150 }; 151 }; 152 153 pmic@1 { 154 compatible = "qcom,pmc8180", "qcom,spmi-pmic"; 155 reg = <0x1 SPMI_USID>; 156 #address-cells = <1>; 157 #size-cells = <0>; 158 }; 159 160 pmic@2 { 161 compatible = "qcom,smb2351", "qcom,spmi-pmic"; 162 reg = <0x2 SPMI_USID>; 163 #address-cells = <1>; 164 #size-cells = <0>; 165 166 adc@3100 { 167 compatible = "qcom,spmi-adc-rev2"; 168 reg = <0x3100>; 169 #address-cells = <1>; 170 #size-cells = <0>; 171 #io-channel-cells = <1>; 172 interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>; 173 174 channel@0 { 175 reg = <ADC5_REF_GND>; 176 qcom,pre-scaling = <1 1>; 177 label = "ref_gnd"; 178 }; 179 180 channel@1 { 181 reg = <ADC5_1P25VREF>; 182 qcom,pre-scaling = <1 1>; 183 label = "vref_1p25"; 184 }; 185 186 channel@85 { 187 reg = <0x85>; 188 qcom,pre-scaling = <1 1>; 189 label = "vcoin2"; 190 }; 191 }; 192 }; 193 194 pmic@6 { 195 compatible = "qcom,pm8150c", "qcom,spmi-pmic"; 196 reg = <0x6 SPMI_USID>; 197 #address-cells = <1>; 198 #size-cells = <0>; 199 }; 200 201 pmc8180_2: pmic@8 { 202 compatible = "qcom,pm8150", "qcom,spmi-pmic"; 203 reg = <0x8 SPMI_USID>; 204 #address-cells = <1>; 205 #size-cells = <0>; 206 207 pmc8180_2_gpios: gpio@c000 { 208 compatible = "qcom,pmc8180-gpio", "qcom,spmi-gpio"; 209 reg = <0xc000>; 210 gpio-controller; 211 gpio-ranges = <&pmc8180_2_gpios 0 0 10>; 212 #gpio-cells = <2>; 213 interrupt-controller; 214 #interrupt-cells = <2>; 215 }; 216 }; 217 218 pmic@a { 219 compatible = "qcom,smb2351", "qcom,spmi-pmic"; 220 reg = <0xa SPMI_USID>; 221 #address-cells = <1>; 222 #size-cells = <0>; 223 224 adc@3100 { 225 compatible = "qcom,spmi-adc-rev2"; 226 reg = <0x3100>; 227 #address-cells = <1>; 228 #size-cells = <0>; 229 #io-channel-cells = <1>; 230 interrupts = <0xa 0x31 0x0 IRQ_TYPE_EDGE_RISING>; 231 232 channel@0 { 233 reg = <ADC5_REF_GND>; 234 qcom,pre-scaling = <1 1>; 235 label = "ref_gnd"; 236 }; 237 238 channel@1 { 239 reg = <ADC5_1P25VREF>; 240 qcom,pre-scaling = <1 1>; 241 label = "vref_1p25"; 242 }; 243 244 channel@85 { 245 reg = <0x85>; 246 qcom,pre-scaling = <1 1>; 247 label = "vcoin"; 248 }; 249 }; 250 }; 251 252 pmic@4 { 253 compatible = "qcom,pm8150c", "qcom,spmi-pmic"; 254 reg = <0x4 SPMI_USID>; 255 #address-cells = <1>; 256 #size-cells = <0>; 257 258 pon@800 { 259 compatible = "qcom,pm8916-pon"; 260 reg = <0x0800>; 261 262 status = "disabled"; 263 }; 264 265 pmc8180c_temp: temp-alarm@2400 { 266 compatible = "qcom,spmi-temp-alarm"; 267 reg = <0x2400>; 268 interrupts = <0x4 0x24 0x0 IRQ_TYPE_EDGE_BOTH>; 269 io-channels = <&pmc8180c_adc ADC5_DIE_TEMP>; 270 io-channel-names = "thermal"; 271 #thermal-sensor-cells = <0>; 272 }; 273 274 pmc8180c_adc: adc@3100 { 275 compatible = "qcom,spmi-adc5"; 276 reg = <0x3100>; 277 #address-cells = <1>; 278 #size-cells = <0>; 279 #io-channel-cells = <1>; 280 interrupts = <0x4 0x31 0x0 IRQ_TYPE_EDGE_RISING>; 281 282 channel@0 { 283 reg = <ADC5_REF_GND>; 284 qcom,pre-scaling = <1 1>; 285 label = "ref_gnd"; 286 }; 287 288 channel@1 { 289 reg = <ADC5_1P25VREF>; 290 qcom,pre-scaling = <1 1>; 291 label = "vref_1p25"; 292 }; 293 294 channel@6 { 295 reg = <ADC5_DIE_TEMP>; 296 qcom,pre-scaling = <1 1>; 297 label = "die_temp"; 298 }; 299 }; 300 301 pmc8180c_adc_tm: adc-tm@3500 { 302 compatible = "qcom,spmi-adc-tm5"; 303 reg = <0x3500>; 304 interrupts = <0x4 0x35 0x0 IRQ_TYPE_EDGE_RISING>; 305 #thermal-sensor-cells = <1>; 306 #address-cells = <1>; 307 #size-cells = <0>; 308 status = "disabled"; 309 }; 310 311 pmc8180c_gpios: gpio@c000 { 312 compatible = "qcom,pmc8180c-gpio", "qcom,spmi-gpio"; 313 reg = <0xc000>; 314 gpio-controller; 315 gpio-ranges = <&pmc8180c_gpios 0 0 12>; 316 #gpio-cells = <2>; 317 interrupt-controller; 318 #interrupt-cells = <2>; 319 }; 320 }; 321 322 pmic@5 { 323 compatible = "qcom,pmc8180c", "qcom,spmi-pmic"; 324 reg = <0x5 SPMI_USID>; 325 326 pmc8180c_lpg: pwm { 327 compatible = "qcom,pmc8180c-lpg"; 328 329 #address-cells = <1>; 330 #size-cells = <0>; 331 #pwm-cells = <2>; 332 333 status = "disabled"; 334 }; 335 }; 336}; 337