xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/pm8150.dtsi (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
4c66ec88fSEmmanuel Vadot * Copyright (c) 2019, Linaro Limited
5c66ec88fSEmmanuel Vadot */
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadot#include <dt-bindings/input/input.h>
8c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
9c66ec88fSEmmanuel Vadot#include <dt-bindings/spmi/spmi.h>
10c66ec88fSEmmanuel Vadot#include <dt-bindings/iio/qcom,spmi-vadc.h>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadot/ {
13c66ec88fSEmmanuel Vadot	thermal-zones {
145def4c47SEmmanuel Vadot		pm8150-thermal {
15c66ec88fSEmmanuel Vadot			polling-delay-passive = <100>;
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel Vadot			thermal-sensors = <&pm8150_temp>;
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel Vadot			trips {
20c66ec88fSEmmanuel Vadot				trip0 {
21c66ec88fSEmmanuel Vadot					temperature = <95000>;
22c66ec88fSEmmanuel Vadot					hysteresis = <0>;
23c66ec88fSEmmanuel Vadot					type = "passive";
24c66ec88fSEmmanuel Vadot				};
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot				trip1 {
27c66ec88fSEmmanuel Vadot					temperature = <115000>;
28c66ec88fSEmmanuel Vadot					hysteresis = <0>;
29c66ec88fSEmmanuel Vadot					type = "hot";
30c66ec88fSEmmanuel Vadot				};
31c66ec88fSEmmanuel Vadot
32c66ec88fSEmmanuel Vadot				trip2 {
33c66ec88fSEmmanuel Vadot					temperature = <145000>;
34c66ec88fSEmmanuel Vadot					hysteresis = <0>;
35c66ec88fSEmmanuel Vadot					type = "critical";
36c66ec88fSEmmanuel Vadot				};
37c66ec88fSEmmanuel Vadot			};
38c66ec88fSEmmanuel Vadot		};
39c66ec88fSEmmanuel Vadot	};
40c66ec88fSEmmanuel Vadot};
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot&spmi_bus {
43c66ec88fSEmmanuel Vadot	pm8150_0: pmic@0 {
44c66ec88fSEmmanuel Vadot		compatible = "qcom,pm8150", "qcom,spmi-pmic";
45c66ec88fSEmmanuel Vadot		reg = <0x0 SPMI_USID>;
46c66ec88fSEmmanuel Vadot		#address-cells = <1>;
47c66ec88fSEmmanuel Vadot		#size-cells = <0>;
48c66ec88fSEmmanuel Vadot
497ef62cebSEmmanuel Vadot		pon: pon@800 {
50354d7675SEmmanuel Vadot			compatible = "qcom,pm8998-pon";
51c66ec88fSEmmanuel Vadot			reg = <0x0800>;
52354d7675SEmmanuel Vadot			mode-bootloader = <0x2>;
53354d7675SEmmanuel Vadot			mode-recovery = <0x1>;
545956d97fSEmmanuel Vadot
555956d97fSEmmanuel Vadot			pon_pwrkey: pwrkey {
56c66ec88fSEmmanuel Vadot				compatible = "qcom,pm8941-pwrkey";
57c66ec88fSEmmanuel Vadot				interrupts = <0x0 0x8 0x0 IRQ_TYPE_EDGE_BOTH>;
58c66ec88fSEmmanuel Vadot				debounce = <15625>;
59c66ec88fSEmmanuel Vadot				bias-pull-up;
60c66ec88fSEmmanuel Vadot				linux,code = <KEY_POWER>;
61c66ec88fSEmmanuel Vadot
62c66ec88fSEmmanuel Vadot				status = "disabled";
63c66ec88fSEmmanuel Vadot			};
645956d97fSEmmanuel Vadot
655956d97fSEmmanuel Vadot			pon_resin: resin {
665956d97fSEmmanuel Vadot				compatible = "qcom,pm8941-resin";
675956d97fSEmmanuel Vadot				interrupts = <0x0 0x8 0x1 IRQ_TYPE_EDGE_BOTH>;
685956d97fSEmmanuel Vadot				debounce = <15625>;
695956d97fSEmmanuel Vadot				bias-pull-up;
705956d97fSEmmanuel Vadot
715956d97fSEmmanuel Vadot				status = "disabled";
725956d97fSEmmanuel Vadot			};
73c66ec88fSEmmanuel Vadot		};
74c66ec88fSEmmanuel Vadot
75c66ec88fSEmmanuel Vadot		pm8150_temp: temp-alarm@2400 {
76c66ec88fSEmmanuel Vadot			compatible = "qcom,spmi-temp-alarm";
77c66ec88fSEmmanuel Vadot			reg = <0x2400>;
78c66ec88fSEmmanuel Vadot			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
79c66ec88fSEmmanuel Vadot			io-channels = <&pm8150_adc ADC5_DIE_TEMP>;
80c66ec88fSEmmanuel Vadot			io-channel-names = "thermal";
81c66ec88fSEmmanuel Vadot			#thermal-sensor-cells = <0>;
82c66ec88fSEmmanuel Vadot		};
83c66ec88fSEmmanuel Vadot
84c66ec88fSEmmanuel Vadot		pm8150_adc: adc@3100 {
85c66ec88fSEmmanuel Vadot			compatible = "qcom,spmi-adc5";
86c66ec88fSEmmanuel Vadot			reg = <0x3100>;
87c66ec88fSEmmanuel Vadot			#address-cells = <1>;
88c66ec88fSEmmanuel Vadot			#size-cells = <0>;
89c66ec88fSEmmanuel Vadot			#io-channel-cells = <1>;
90c66ec88fSEmmanuel Vadot			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
91c66ec88fSEmmanuel Vadot
92*aa1a8ff2SEmmanuel Vadot			channel@0 {
93c66ec88fSEmmanuel Vadot				reg = <ADC5_REF_GND>;
94c66ec88fSEmmanuel Vadot				qcom,pre-scaling = <1 1>;
95c66ec88fSEmmanuel Vadot				label = "ref_gnd";
96c66ec88fSEmmanuel Vadot			};
97c66ec88fSEmmanuel Vadot
98*aa1a8ff2SEmmanuel Vadot			channel@1 {
99c66ec88fSEmmanuel Vadot				reg = <ADC5_1P25VREF>;
100c66ec88fSEmmanuel Vadot				qcom,pre-scaling = <1 1>;
101c66ec88fSEmmanuel Vadot				label = "vref_1p25";
102c66ec88fSEmmanuel Vadot			};
103c66ec88fSEmmanuel Vadot
104*aa1a8ff2SEmmanuel Vadot			channel@6 {
105c66ec88fSEmmanuel Vadot				reg = <ADC5_DIE_TEMP>;
106c66ec88fSEmmanuel Vadot				qcom,pre-scaling = <1 1>;
107c66ec88fSEmmanuel Vadot				label = "die_temp";
108c66ec88fSEmmanuel Vadot			};
109c66ec88fSEmmanuel Vadot		};
110c66ec88fSEmmanuel Vadot
1115def4c47SEmmanuel Vadot		pm8150_adc_tm: adc-tm@3500 {
1125def4c47SEmmanuel Vadot			compatible = "qcom,spmi-adc-tm5";
1135def4c47SEmmanuel Vadot			reg = <0x3500>;
1145def4c47SEmmanuel Vadot			interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
1155def4c47SEmmanuel Vadot			#thermal-sensor-cells = <1>;
1165def4c47SEmmanuel Vadot			#address-cells = <1>;
1175def4c47SEmmanuel Vadot			#size-cells = <0>;
1185def4c47SEmmanuel Vadot			status = "disabled";
1195def4c47SEmmanuel Vadot		};
1205def4c47SEmmanuel Vadot
1212eb4d8dcSEmmanuel Vadot		rtc@6000 {
122c66ec88fSEmmanuel Vadot			compatible = "qcom,pm8941-rtc";
123cb7aa33aSEmmanuel Vadot			reg = <0x6000>, <0x6100>;
124c66ec88fSEmmanuel Vadot			reg-names = "rtc", "alarm";
125c66ec88fSEmmanuel Vadot			interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
126c66ec88fSEmmanuel Vadot		};
127c66ec88fSEmmanuel Vadot
128c66ec88fSEmmanuel Vadot		pm8150_gpios: gpio@c000 {
129b97ee269SEmmanuel Vadot			compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
130c66ec88fSEmmanuel Vadot			reg = <0xc000>;
131c66ec88fSEmmanuel Vadot			gpio-controller;
132b97ee269SEmmanuel Vadot			gpio-ranges = <&pm8150_gpios 0 0 10>;
133c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
134c66ec88fSEmmanuel Vadot			interrupt-controller;
135c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
136c66ec88fSEmmanuel Vadot		};
137c66ec88fSEmmanuel Vadot	};
138c66ec88fSEmmanuel Vadot
139c66ec88fSEmmanuel Vadot	pmic@1 {
140c66ec88fSEmmanuel Vadot		compatible = "qcom,pm8150", "qcom,spmi-pmic";
141c66ec88fSEmmanuel Vadot		reg = <0x1 SPMI_USID>;
142c66ec88fSEmmanuel Vadot		#address-cells = <1>;
143c66ec88fSEmmanuel Vadot		#size-cells = <0>;
144c66ec88fSEmmanuel Vadot	};
145c66ec88fSEmmanuel Vadot};
146