xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/pm8953.dtsi (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
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			thermal-sensors = <&pm8953_temp>;
13519c47acSLuca Weiss
14519c47acSLuca Weiss			trips {
15519c47acSLuca Weiss				trip0 {
16519c47acSLuca Weiss					temperature = <105000>;
17519c47acSLuca Weiss					hysteresis = <0>;
18519c47acSLuca Weiss					type = "passive";
19519c47acSLuca Weiss				};
20519c47acSLuca Weiss
21519c47acSLuca Weiss				trip1 {
22519c47acSLuca Weiss					temperature = <125000>;
23519c47acSLuca Weiss					hysteresis = <0>;
24519c47acSLuca Weiss					type = "hot";
25519c47acSLuca Weiss				};
26519c47acSLuca Weiss
27519c47acSLuca Weiss				trip2 {
28519c47acSLuca Weiss					temperature = <145000>;
29519c47acSLuca Weiss					hysteresis = <0>;
30519c47acSLuca Weiss					type = "critical";
31519c47acSLuca Weiss				};
32519c47acSLuca Weiss			};
33519c47acSLuca Weiss		};
34519c47acSLuca Weiss	};
35519c47acSLuca Weiss};
36519c47acSLuca Weiss
3706ea71e4SVladimir Lypak&spmi_bus {
3806ea71e4SVladimir Lypak	pmic@0 {
3906ea71e4SVladimir Lypak		compatible = "qcom,pm8953", "qcom,spmi-pmic";
4006ea71e4SVladimir Lypak		reg = <0 SPMI_USID>;
4106ea71e4SVladimir Lypak		#address-cells = <1>;
4206ea71e4SVladimir Lypak		#size-cells = <0>;
4306ea71e4SVladimir Lypak
4406ea71e4SVladimir Lypak		pm8953_pon: pon@800 {
4506ea71e4SVladimir Lypak			compatible = "qcom,pm8916-pon";
4606ea71e4SVladimir Lypak			reg = <0x800>;
4706ea71e4SVladimir Lypak			mode-bootloader = <0x2>;
4806ea71e4SVladimir Lypak			mode-recovery = <0x1>;
4906ea71e4SVladimir Lypak
5006ea71e4SVladimir Lypak			pwrkey {
5106ea71e4SVladimir Lypak				compatible = "qcom,pm8941-pwrkey";
5206ea71e4SVladimir Lypak				interrupts = <0x00 0x08 0 IRQ_TYPE_EDGE_BOTH>;
5306ea71e4SVladimir Lypak				debounce = <15625>;
5406ea71e4SVladimir Lypak				bias-pull-up;
5506ea71e4SVladimir Lypak				linux,code = <KEY_POWER>;
5606ea71e4SVladimir Lypak			};
5706ea71e4SVladimir Lypak
5806ea71e4SVladimir Lypak			pm8953_resin: resin {
5906ea71e4SVladimir Lypak				compatible = "qcom,pm8941-resin";
6006ea71e4SVladimir Lypak				interrupts = <0x00 0x08 1 IRQ_TYPE_EDGE_BOTH>;
6106ea71e4SVladimir Lypak				debounce = <15625>;
6206ea71e4SVladimir Lypak				bias-pull-up;
6306ea71e4SVladimir Lypak				status = "disabled";
6406ea71e4SVladimir Lypak			};
6506ea71e4SVladimir Lypak		};
6606ea71e4SVladimir Lypak
67519c47acSLuca Weiss		pm8953_temp: temp-alarm@2400 {
6806ea71e4SVladimir Lypak			compatible = "qcom,spmi-temp-alarm";
6906ea71e4SVladimir Lypak			reg = <0x2400>;
7006ea71e4SVladimir Lypak			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
7106ea71e4SVladimir Lypak			io-channels = <&pm8953_vadc VADC_DIE_TEMP>;
7206ea71e4SVladimir Lypak			io-channel-names = "thermal";
7306ea71e4SVladimir Lypak			#thermal-sensor-cells = <0>;
7406ea71e4SVladimir Lypak		};
7506ea71e4SVladimir Lypak
76fe913220SKrzysztof Kozlowski		pm8953_vadc: adc@3100 {
7706ea71e4SVladimir Lypak			compatible = "qcom,spmi-vadc";
7806ea71e4SVladimir Lypak			reg = <0x3100>;
7906ea71e4SVladimir Lypak			interrupts = <0x00 0x31 0x00 0x01>;
8006ea71e4SVladimir Lypak			#address-cells = <1>;
8106ea71e4SVladimir Lypak			#size-cells = <0>;
8206ea71e4SVladimir Lypak			#io-channel-cells = <1>;
8306ea71e4SVladimir Lypak
84*41c18552SMarijn Suijten			channel@8 {
8506ea71e4SVladimir Lypak				reg = <VADC_DIE_TEMP>;
8606ea71e4SVladimir Lypak			};
87*41c18552SMarijn Suijten			channel@9 {
8806ea71e4SVladimir Lypak				reg = <VADC_REF_625MV>;
8906ea71e4SVladimir Lypak			};
90*41c18552SMarijn Suijten			channel@a {
9106ea71e4SVladimir Lypak				reg = <VADC_REF_1250MV>;
9206ea71e4SVladimir Lypak			};
93*41c18552SMarijn Suijten			channel@c {
9406ea71e4SVladimir Lypak				reg = <VADC_SPARE1>;
9506ea71e4SVladimir Lypak			};
96*41c18552SMarijn Suijten			channel@e {
9706ea71e4SVladimir Lypak				reg = <VADC_GND_REF>;
9806ea71e4SVladimir Lypak			};
99*41c18552SMarijn Suijten			channel@f {
10006ea71e4SVladimir Lypak				reg = <VADC_VDD_VADC>;
10106ea71e4SVladimir Lypak			};
10206ea71e4SVladimir Lypak		};
10306ea71e4SVladimir Lypak
10406ea71e4SVladimir Lypak		rtc@6000 {
10506ea71e4SVladimir Lypak			compatible = "qcom,pm8941-rtc";
10606ea71e4SVladimir Lypak			reg = <0x6000>, <0x6100>;
10706ea71e4SVladimir Lypak			reg-names = "rtc", "alarm";
10806ea71e4SVladimir Lypak			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
10906ea71e4SVladimir Lypak		};
1105a60e72cSLuca Weiss
1115a60e72cSLuca Weiss		pm8953_gpios: gpio@c000 {
1125a60e72cSLuca Weiss			compatible = "qcom,pm8953-gpio", "qcom,spmi-gpio";
1135a60e72cSLuca Weiss			reg = <0xc000>;
1145a60e72cSLuca Weiss			gpio-controller;
1155a60e72cSLuca Weiss			gpio-ranges = <&pm8953_gpios 0 0 8>;
1165a60e72cSLuca Weiss			#gpio-cells = <2>;
1175a60e72cSLuca Weiss			interrupt-controller;
1185a60e72cSLuca Weiss			#interrupt-cells = <2>;
1195a60e72cSLuca Weiss		};
12006ea71e4SVladimir Lypak	};
12106ea71e4SVladimir Lypak
12206ea71e4SVladimir Lypak	pmic@1 {
12306ea71e4SVladimir Lypak		compatible = "qcom,pm8953", "qcom,spmi-pmic";
12406ea71e4SVladimir Lypak		reg = <1 SPMI_USID>;
12506ea71e4SVladimir Lypak		#address-cells = <1>;
12606ea71e4SVladimir Lypak		#size-cells = <0>;
12706ea71e4SVladimir Lypak	};
12806ea71e4SVladimir Lypak};
129