106ea71e4SVladimir Lypak// SPDX-License-Identifier: BSD-3-Clause
206ea71e4SVladimir Lypak/* Copyright (c) 2022, The Linux Foundation. All rights reserved. */
306ea71e4SVladimir Lypak
406ea71e4SVladimir Lypak#include <dt-bindings/iio/qcom,spmi-vadc.h>
506ea71e4SVladimir Lypak#include <dt-bindings/interrupt-controller/irq.h>
606ea71e4SVladimir Lypak#include <dt-bindings/input/linux-event-codes.h>
706ea71e4SVladimir Lypak#include <dt-bindings/spmi/spmi.h>
806ea71e4SVladimir Lypak
9519c47acSLuca Weiss/ {
10519c47acSLuca Weiss	thermal-zones {
11519c47acSLuca Weiss		pm8953-thermal {
12519c47acSLuca Weiss			polling-delay-passive = <0>;
13519c47acSLuca Weiss			polling-delay = <0>;
14519c47acSLuca Weiss
15519c47acSLuca Weiss			thermal-sensors = <&pm8953_temp>;
16519c47acSLuca Weiss
17519c47acSLuca Weiss			trips {
18519c47acSLuca Weiss				trip0 {
19519c47acSLuca Weiss					temperature = <105000>;
20519c47acSLuca Weiss					hysteresis = <0>;
21519c47acSLuca Weiss					type = "passive";
22519c47acSLuca Weiss				};
23519c47acSLuca Weiss
24519c47acSLuca Weiss				trip1 {
25519c47acSLuca Weiss					temperature = <125000>;
26519c47acSLuca Weiss					hysteresis = <0>;
27519c47acSLuca Weiss					type = "hot";
28519c47acSLuca Weiss				};
29519c47acSLuca Weiss
30519c47acSLuca Weiss				trip2 {
31519c47acSLuca Weiss					temperature = <145000>;
32519c47acSLuca Weiss					hysteresis = <0>;
33519c47acSLuca Weiss					type = "critical";
34519c47acSLuca Weiss				};
35519c47acSLuca Weiss			};
36519c47acSLuca Weiss		};
37519c47acSLuca Weiss	};
38519c47acSLuca Weiss};
39519c47acSLuca Weiss
4006ea71e4SVladimir Lypak&spmi_bus {
4106ea71e4SVladimir Lypak	pmic@0 {
4206ea71e4SVladimir Lypak		compatible = "qcom,pm8953", "qcom,spmi-pmic";
4306ea71e4SVladimir Lypak		reg = <0 SPMI_USID>;
4406ea71e4SVladimir Lypak		#address-cells = <1>;
4506ea71e4SVladimir Lypak		#size-cells = <0>;
4606ea71e4SVladimir Lypak
4706ea71e4SVladimir Lypak		pm8953_pon: pon@800 {
4806ea71e4SVladimir Lypak			compatible = "qcom,pm8916-pon";
4906ea71e4SVladimir Lypak			reg = <0x800>;
5006ea71e4SVladimir Lypak			mode-bootloader = <0x2>;
5106ea71e4SVladimir Lypak			mode-recovery = <0x1>;
5206ea71e4SVladimir Lypak
5306ea71e4SVladimir Lypak			pwrkey {
5406ea71e4SVladimir Lypak				compatible = "qcom,pm8941-pwrkey";
5506ea71e4SVladimir Lypak				interrupts = <0x00 0x08 0 IRQ_TYPE_EDGE_BOTH>;
5606ea71e4SVladimir Lypak				debounce = <15625>;
5706ea71e4SVladimir Lypak				bias-pull-up;
5806ea71e4SVladimir Lypak				linux,code = <KEY_POWER>;
5906ea71e4SVladimir Lypak			};
6006ea71e4SVladimir Lypak
6106ea71e4SVladimir Lypak			pm8953_resin: resin {
6206ea71e4SVladimir Lypak				compatible = "qcom,pm8941-resin";
6306ea71e4SVladimir Lypak				interrupts = <0x00 0x08 1 IRQ_TYPE_EDGE_BOTH>;
6406ea71e4SVladimir Lypak				debounce = <15625>;
6506ea71e4SVladimir Lypak				bias-pull-up;
6606ea71e4SVladimir Lypak				status = "disabled";
6706ea71e4SVladimir Lypak			};
6806ea71e4SVladimir Lypak		};
6906ea71e4SVladimir Lypak
70519c47acSLuca Weiss		pm8953_temp: temp-alarm@2400 {
7106ea71e4SVladimir Lypak			compatible = "qcom,spmi-temp-alarm";
7206ea71e4SVladimir Lypak			reg = <0x2400>;
7306ea71e4SVladimir Lypak			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
7406ea71e4SVladimir Lypak			io-channels = <&pm8953_vadc VADC_DIE_TEMP>;
7506ea71e4SVladimir Lypak			io-channel-names = "thermal";
7606ea71e4SVladimir Lypak			#thermal-sensor-cells = <0>;
7706ea71e4SVladimir Lypak		};
7806ea71e4SVladimir Lypak
79fe913220SKrzysztof Kozlowski		pm8953_vadc: adc@3100 {
8006ea71e4SVladimir Lypak			compatible = "qcom,spmi-vadc";
8106ea71e4SVladimir Lypak			reg = <0x3100>;
8206ea71e4SVladimir Lypak			interrupts = <0x00 0x31 0x00 0x01>;
8306ea71e4SVladimir Lypak			#address-cells = <1>;
8406ea71e4SVladimir Lypak			#size-cells = <0>;
8506ea71e4SVladimir Lypak			#io-channel-cells = <1>;
8606ea71e4SVladimir Lypak
87*41c18552SMarijn Suijten			channel@8 {
8806ea71e4SVladimir Lypak				reg = <VADC_DIE_TEMP>;
8906ea71e4SVladimir Lypak			};
90*41c18552SMarijn Suijten			channel@9 {
9106ea71e4SVladimir Lypak				reg = <VADC_REF_625MV>;
9206ea71e4SVladimir Lypak			};
93*41c18552SMarijn Suijten			channel@a {
9406ea71e4SVladimir Lypak				reg = <VADC_REF_1250MV>;
9506ea71e4SVladimir Lypak			};
96*41c18552SMarijn Suijten			channel@c {
9706ea71e4SVladimir Lypak				reg = <VADC_SPARE1>;
9806ea71e4SVladimir Lypak			};
99*41c18552SMarijn Suijten			channel@e {
10006ea71e4SVladimir Lypak				reg = <VADC_GND_REF>;
10106ea71e4SVladimir Lypak			};
102*41c18552SMarijn Suijten			channel@f {
10306ea71e4SVladimir Lypak				reg = <VADC_VDD_VADC>;
10406ea71e4SVladimir Lypak			};
10506ea71e4SVladimir Lypak		};
10606ea71e4SVladimir Lypak
10706ea71e4SVladimir Lypak		rtc@6000 {
10806ea71e4SVladimir Lypak			compatible = "qcom,pm8941-rtc";
10906ea71e4SVladimir Lypak			reg = <0x6000>, <0x6100>;
11006ea71e4SVladimir Lypak			reg-names = "rtc", "alarm";
11106ea71e4SVladimir Lypak			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
11206ea71e4SVladimir Lypak		};
1135a60e72cSLuca Weiss
1145a60e72cSLuca Weiss		pm8953_gpios: gpio@c000 {
1155a60e72cSLuca Weiss			compatible = "qcom,pm8953-gpio", "qcom,spmi-gpio";
1165a60e72cSLuca Weiss			reg = <0xc000>;
1175a60e72cSLuca Weiss			gpio-controller;
1185a60e72cSLuca Weiss			gpio-ranges = <&pm8953_gpios 0 0 8>;
1195a60e72cSLuca Weiss			#gpio-cells = <2>;
1205a60e72cSLuca Weiss			interrupt-controller;
1215a60e72cSLuca Weiss			#interrupt-cells = <2>;
1225a60e72cSLuca Weiss		};
12306ea71e4SVladimir Lypak	};
12406ea71e4SVladimir Lypak
12506ea71e4SVladimir Lypak	pmic@1 {
12606ea71e4SVladimir Lypak		compatible = "qcom,pm8953", "qcom,spmi-pmic";
12706ea71e4SVladimir Lypak		reg = <1 SPMI_USID>;
12806ea71e4SVladimir Lypak		#address-cells = <1>;
12906ea71e4SVladimir Lypak		#size-cells = <0>;
13006ea71e4SVladimir Lypak	};
13106ea71e4SVladimir Lypak};
132