xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/pm6150.dtsi (revision a0ca4af9455b844c5e094fc1b09b1390ffa979fc)
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};
125