xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/pm6150.dtsi (revision 3a3af6b2a160bea72509a9d5ef84e25906b0478a)
1// SPDX-License-Identifier: BSD-3-Clause
2// Copyright (c) 2019, The Linux Foundation. All rights reserved.
3
4#include <dt-bindings/iio/qcom,spmi-vadc.h>
5#include <dt-bindings/input/linux-event-codes.h>
6#include <dt-bindings/interrupt-controller/irq.h>
7#include <dt-bindings/spmi/spmi.h>
8#include <dt-bindings/thermal/thermal.h>
9
10/ {
11	thermal-zones {
12		pm6150_thermal: pm6150-thermal {
13			polling-delay-passive = <100>;
14			polling-delay = <0>;
15			thermal-sensors = <&pm6150_temp>;
16
17			trips {
18				pm6150_trip0: trip0 {
19					temperature = <95000>;
20					hysteresis = <0>;
21					type = "passive";
22				};
23
24				pm6150_crit: crit {
25					temperature = <115000>;
26					hysteresis = <0>;
27					type = "critical";
28				};
29			};
30		};
31	};
32};
33
34&spmi_bus {
35	pm6150_lsid0: pmic@0 {
36		compatible = "qcom,pm6150", "qcom,spmi-pmic";
37		reg = <0x0 SPMI_USID>;
38		#address-cells = <1>;
39		#size-cells = <0>;
40
41		pm6150_pon: pon@800 {
42			compatible = "qcom,pm8998-pon";
43			reg = <0x800>;
44			mode-bootloader = <0x2>;
45			mode-recovery = <0x1>;
46
47			pm6150_pwrkey: pwrkey {
48				compatible = "qcom,pm8941-pwrkey";
49				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
50				debounce = <15625>;
51				bias-pull-up;
52				linux,code = <KEY_POWER>;
53			};
54		};
55
56		pm6150_temp: temp-alarm@2400 {
57			compatible = "qcom,spmi-temp-alarm";
58			reg = <0x2400>;
59			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
60			io-channels = <&pm6150_adc ADC5_DIE_TEMP>;
61			io-channel-names = "thermal";
62			#thermal-sensor-cells = <0>;
63		};
64
65		pm6150_adc: adc@3100 {
66			compatible = "qcom,spmi-adc5";
67			reg = <0x3100>;
68			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
69			#address-cells = <1>;
70			#size-cells = <0>;
71			#io-channel-cells = <1>;
72
73			adc-chan@6 {
74				reg = <ADC5_DIE_TEMP>;
75				label = "die_temp";
76			};
77		};
78
79		pm6150_adc_tm: adc-tm@3500 {
80			compatible = "qcom,spmi-adc-tm5";
81			reg = <0x3500>;
82			interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
83			#thermal-sensor-cells = <1>;
84			#address-cells = <1>;
85			#size-cells = <0>;
86			status = "disabled";
87		};
88
89		pm6150_gpio: gpios@c000 {
90			compatible = "qcom,pm6150-gpio", "qcom,spmi-gpio";
91			reg = <0xc000>;
92			gpio-controller;
93			gpio-ranges = <&pm6150_gpio 0 0 10>;
94			#gpio-cells = <2>;
95			interrupt-controller;
96			#interrupt-cells = <2>;
97		};
98	};
99
100	pm6150_lsid1: pmic@1 {
101		compatible = "qcom,pm6150", "qcom,spmi-pmic";
102		reg = <0x1 SPMI_USID>;
103		#address-cells = <1>;
104		#size-cells = <0>;
105	};
106};
107