xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/pm6150.dtsi (revision 79ac3c12a714bcd3f2354c52d948aed9575c46d6)
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&spmi_bus {
11	pm6150_lsid0: pmic@0 {
12		compatible = "qcom,pm6150", "qcom,spmi-pmic";
13		reg = <0x0 SPMI_USID>;
14		#address-cells = <1>;
15		#size-cells = <0>;
16
17		pm6150_pon: pon@800 {
18			compatible = "qcom,pm8998-pon";
19			reg = <0x800>;
20			mode-bootloader = <0x2>;
21			mode-recovery = <0x1>;
22
23			pm6150_pwrkey: pwrkey {
24				compatible = "qcom,pm8941-pwrkey";
25				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
26				debounce = <15625>;
27				bias-pull-up;
28				linux,code = <KEY_POWER>;
29			};
30		};
31
32		pm6150_temp: temp-alarm@2400 {
33			compatible = "qcom,spmi-temp-alarm";
34			reg = <0x2400>;
35			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
36			io-channels = <&pm6150_adc ADC5_DIE_TEMP>;
37			io-channel-names = "thermal";
38			#thermal-sensor-cells = <0>;
39		};
40
41		pm6150_adc: adc@3100 {
42			compatible = "qcom,spmi-adc5";
43			reg = <0x3100>;
44			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
45			#address-cells = <1>;
46			#size-cells = <0>;
47			#io-channel-cells = <1>;
48
49			adc-chan@6 {
50				reg = <ADC5_DIE_TEMP>;
51				label = "die_temp";
52			};
53		};
54
55		pm6150_gpio: gpios@c000 {
56			compatible = "qcom,pm6150-gpio", "qcom,spmi-gpio";
57			reg = <0xc000>;
58			gpio-controller;
59			gpio-ranges = <&pm6150_gpio 0 0 10>;
60			#gpio-cells = <2>;
61			interrupt-controller;
62			#interrupt-cells = <2>;
63		};
64	};
65
66	pm6150_lsid1: pmic@1 {
67		compatible = "qcom,pm6150", "qcom,spmi-pmic";
68		reg = <0x1 SPMI_USID>;
69		#address-cells = <1>;
70		#size-cells = <0>;
71	};
72};
73