xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/pm6150.dtsi (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1a727ec12SKiran Gunda// SPDX-License-Identifier: BSD-3-Clause
25d9bf210SKonrad Dybcio/*
35d9bf210SKonrad Dybcio * Copyright (c) 2019, The Linux Foundation. All rights reserved.
45d9bf210SKonrad Dybcio */
5a727ec12SKiran Gunda
6a727ec12SKiran Gunda#include <dt-bindings/iio/qcom,spmi-vadc.h>
7a727ec12SKiran Gunda#include <dt-bindings/input/linux-event-codes.h>
8a727ec12SKiran Gunda#include <dt-bindings/interrupt-controller/irq.h>
9a727ec12SKiran Gunda#include <dt-bindings/spmi/spmi.h>
10a727ec12SKiran Gunda#include <dt-bindings/thermal/thermal.h>
11a727ec12SKiran Gunda
12eb59cd3eSMatthias Kaehlcke/ {
13eb59cd3eSMatthias Kaehlcke	thermal-zones {
14eb59cd3eSMatthias Kaehlcke		pm6150_thermal: pm6150-thermal {
15eb59cd3eSMatthias Kaehlcke			polling-delay-passive = <100>;
167cd2d908SKonrad Dybcio
17eb59cd3eSMatthias Kaehlcke			thermal-sensors = <&pm6150_temp>;
18eb59cd3eSMatthias Kaehlcke
19eb59cd3eSMatthias Kaehlcke			trips {
20eb59cd3eSMatthias Kaehlcke				pm6150_trip0: trip0 {
21eb59cd3eSMatthias Kaehlcke					temperature = <95000>;
22eb59cd3eSMatthias Kaehlcke					hysteresis = <0>;
23eb59cd3eSMatthias Kaehlcke					type = "passive";
24eb59cd3eSMatthias Kaehlcke				};
25eb59cd3eSMatthias Kaehlcke
26eb59cd3eSMatthias Kaehlcke				pm6150_crit: crit {
27eb59cd3eSMatthias Kaehlcke					temperature = <115000>;
28eb59cd3eSMatthias Kaehlcke					hysteresis = <0>;
29eb59cd3eSMatthias Kaehlcke					type = "critical";
30eb59cd3eSMatthias Kaehlcke				};
31eb59cd3eSMatthias Kaehlcke			};
32eb59cd3eSMatthias Kaehlcke		};
33eb59cd3eSMatthias Kaehlcke	};
34eb59cd3eSMatthias Kaehlcke};
35eb59cd3eSMatthias Kaehlcke
36a727ec12SKiran Gunda&spmi_bus {
37a727ec12SKiran Gunda	pm6150_lsid0: pmic@0 {
38a727ec12SKiran Gunda		compatible = "qcom,pm6150", "qcom,spmi-pmic";
39a727ec12SKiran Gunda		reg = <0x0 SPMI_USID>;
40a727ec12SKiran Gunda		#address-cells = <1>;
41a727ec12SKiran Gunda		#size-cells = <0>;
42a727ec12SKiran Gunda
43a727ec12SKiran Gunda		pm6150_pon: pon@800 {
44a727ec12SKiran Gunda			compatible = "qcom,pm8998-pon";
45a727ec12SKiran Gunda			reg = <0x800>;
46a727ec12SKiran Gunda			mode-bootloader = <0x2>;
47a727ec12SKiran Gunda			mode-recovery = <0x1>;
48a727ec12SKiran Gunda
49f855a922SStephen Boyd			pm6150_pwrkey: pwrkey {
50a727ec12SKiran Gunda				compatible = "qcom,pm8941-pwrkey";
51a727ec12SKiran Gunda				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
52a727ec12SKiran Gunda				debounce = <15625>;
53a727ec12SKiran Gunda				bias-pull-up;
54a727ec12SKiran Gunda				linux,code = <KEY_POWER>;
55a727ec12SKiran Gunda			};
56ec053ec9SDavid Wronek
57ec053ec9SDavid Wronek			pm6150_resin: resin {
58ec053ec9SDavid Wronek				compatible = "qcom,pm8941-resin";
59ec053ec9SDavid Wronek				interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
60ec053ec9SDavid Wronek				debounce = <15625>;
61ec053ec9SDavid Wronek				bias-pull-up;
62ec053ec9SDavid Wronek				status = "disabled";
63ec053ec9SDavid Wronek			};
64a727ec12SKiran Gunda		};
65a727ec12SKiran Gunda
66f81c2f01SDanila Tikhonov		pm6150_vbus: usb-vbus-regulator@1100 {
670ea3e1d6SKrzysztof Kozlowski			compatible = "qcom,pm6150-vbus-reg",
680ea3e1d6SKrzysztof Kozlowski				     "qcom,pm8150b-vbus-reg";
69f81c2f01SDanila Tikhonov			reg = <0x1100>;
70f81c2f01SDanila Tikhonov			status = "disabled";
71f81c2f01SDanila Tikhonov		};
72f81c2f01SDanila Tikhonov
73f81c2f01SDanila Tikhonov		pm6150_typec: typec@1500 {
745582e357SKrzysztof Kozlowski			compatible = "qcom,pm6150-typec",
755582e357SKrzysztof Kozlowski				     "qcom,pm8150b-typec";
76f81c2f01SDanila Tikhonov			reg = <0x1500>, <0x1700>;
77f81c2f01SDanila Tikhonov			interrupts = <0x0 0x15 0x00 IRQ_TYPE_EDGE_RISING>,
78f81c2f01SDanila Tikhonov				     <0x0 0x15 0x01 IRQ_TYPE_EDGE_BOTH>,
79f81c2f01SDanila Tikhonov				     <0x0 0x15 0x02 IRQ_TYPE_EDGE_RISING>,
80f81c2f01SDanila Tikhonov				     <0x0 0x15 0x03 IRQ_TYPE_EDGE_BOTH>,
81f81c2f01SDanila Tikhonov				     <0x0 0x15 0x04 IRQ_TYPE_EDGE_RISING>,
82f81c2f01SDanila Tikhonov				     <0x0 0x15 0x05 IRQ_TYPE_EDGE_RISING>,
83f81c2f01SDanila Tikhonov				     <0x0 0x15 0x06 IRQ_TYPE_EDGE_BOTH>,
84f81c2f01SDanila Tikhonov				     <0x0 0x15 0x07 IRQ_TYPE_EDGE_RISING>,
85f81c2f01SDanila Tikhonov				     <0x0 0x17 0x00 IRQ_TYPE_EDGE_RISING>,
86f81c2f01SDanila Tikhonov				     <0x0 0x17 0x01 IRQ_TYPE_EDGE_RISING>,
87f81c2f01SDanila Tikhonov				     <0x0 0x17 0x02 IRQ_TYPE_EDGE_RISING>,
88f81c2f01SDanila Tikhonov				     <0x0 0x17 0x03 IRQ_TYPE_EDGE_RISING>,
89f81c2f01SDanila Tikhonov				     <0x0 0x17 0x04 IRQ_TYPE_EDGE_RISING>,
90f81c2f01SDanila Tikhonov				     <0x0 0x17 0x05 IRQ_TYPE_EDGE_RISING>,
91f81c2f01SDanila Tikhonov				     <0x0 0x17 0x06 IRQ_TYPE_EDGE_RISING>,
92f81c2f01SDanila Tikhonov				     <0x0 0x17 0x07 IRQ_TYPE_EDGE_RISING>;
93f81c2f01SDanila Tikhonov			interrupt-names = "or-rid-detect-change",
94f81c2f01SDanila Tikhonov					  "vpd-detect",
95f81c2f01SDanila Tikhonov					  "cc-state-change",
96f81c2f01SDanila Tikhonov					  "vconn-oc",
97f81c2f01SDanila Tikhonov					  "vbus-change",
98f81c2f01SDanila Tikhonov					  "attach-detach",
99f81c2f01SDanila Tikhonov					  "legacy-cable-detect",
100f81c2f01SDanila Tikhonov					  "try-snk-src-detect",
101f81c2f01SDanila Tikhonov					  "sig-tx",
102f81c2f01SDanila Tikhonov					  "sig-rx",
103f81c2f01SDanila Tikhonov					  "msg-tx",
104f81c2f01SDanila Tikhonov					  "msg-rx",
105f81c2f01SDanila Tikhonov					  "msg-tx-failed",
106f81c2f01SDanila Tikhonov					  "msg-tx-discarded",
107f81c2f01SDanila Tikhonov					  "msg-rx-discarded",
108f81c2f01SDanila Tikhonov					  "fr-swap";
109f81c2f01SDanila Tikhonov			status = "disabled";
110f81c2f01SDanila Tikhonov		};
111f81c2f01SDanila Tikhonov
112a727ec12SKiran Gunda		pm6150_temp: temp-alarm@2400 {
113a727ec12SKiran Gunda			compatible = "qcom,spmi-temp-alarm";
114a727ec12SKiran Gunda			reg = <0x2400>;
115a727ec12SKiran Gunda			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
116a727ec12SKiran Gunda			io-channels = <&pm6150_adc ADC5_DIE_TEMP>;
117a727ec12SKiran Gunda			io-channel-names = "thermal";
118a727ec12SKiran Gunda			#thermal-sensor-cells = <0>;
119a727ec12SKiran Gunda		};
120a727ec12SKiran Gunda
121a727ec12SKiran Gunda		pm6150_adc: adc@3100 {
122a727ec12SKiran Gunda			compatible = "qcom,spmi-adc5";
123a727ec12SKiran Gunda			reg = <0x3100>;
124a727ec12SKiran Gunda			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
125a727ec12SKiran Gunda			#address-cells = <1>;
126a727ec12SKiran Gunda			#size-cells = <0>;
127a727ec12SKiran Gunda			#io-channel-cells = <1>;
128a727ec12SKiran Gunda
12941c18552SMarijn Suijten			channel@6 {
130a727ec12SKiran Gunda				reg = <ADC5_DIE_TEMP>;
131a727ec12SKiran Gunda				label = "die_temp";
132a727ec12SKiran Gunda			};
133a727ec12SKiran Gunda		};
134a727ec12SKiran Gunda
1357ee3eae8SJishnu Prakash		pm6150_adc_tm: adc-tm@3500 {
1367ee3eae8SJishnu Prakash			compatible = "qcom,spmi-adc-tm5";
1377ee3eae8SJishnu Prakash			reg = <0x3500>;
1387ee3eae8SJishnu Prakash			interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
1397ee3eae8SJishnu Prakash			#thermal-sensor-cells = <1>;
1407ee3eae8SJishnu Prakash			#address-cells = <1>;
1417ee3eae8SJishnu Prakash			#size-cells = <0>;
1427ee3eae8SJishnu Prakash			status = "disabled";
1437ee3eae8SJishnu Prakash		};
1447ee3eae8SJishnu Prakash
145ec053ec9SDavid Wronek		pm6150_rtc: rtc@6000 {
146ec053ec9SDavid Wronek			compatible = "qcom,pm8941-rtc";
147ec053ec9SDavid Wronek			reg = <0x6000>, <0x6100>;
148ec053ec9SDavid Wronek			reg-names = "rtc", "alarm";
149ec053ec9SDavid Wronek			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
150ec053ec9SDavid Wronek			status = "disabled";
151ec053ec9SDavid Wronek		};
152ec053ec9SDavid Wronek
153ea25d61bSMarijn Suijten		pm6150_gpios: gpio@c000 {
154a727ec12SKiran Gunda			compatible = "qcom,pm6150-gpio", "qcom,spmi-gpio";
155a727ec12SKiran Gunda			reg = <0xc000>;
156a727ec12SKiran Gunda			gpio-controller;
157ea25d61bSMarijn Suijten			gpio-ranges = <&pm6150_gpios 0 0 10>;
158a727ec12SKiran Gunda			#gpio-cells = <2>;
159a727ec12SKiran Gunda			interrupt-controller;
160a727ec12SKiran Gunda			#interrupt-cells = <2>;
161a727ec12SKiran Gunda		};
162a727ec12SKiran Gunda	};
163a727ec12SKiran Gunda
164a727ec12SKiran Gunda	pm6150_lsid1: pmic@1 {
165a727ec12SKiran Gunda		compatible = "qcom,pm6150", "qcom,spmi-pmic";
166a727ec12SKiran Gunda		reg = <0x1 SPMI_USID>;
167a727ec12SKiran Gunda		#address-cells = <1>;
168a727ec12SKiran Gunda		#size-cells = <0>;
169*e3e169cdSJens Reidel
170*e3e169cdSJens Reidel		pm6150_vib: vibrator@5300 {
171*e3e169cdSJens Reidel			compatible = "qcom,pm6150-vib", "qcom,pmi632-vib";
172*e3e169cdSJens Reidel			reg = <0x5300>;
173*e3e169cdSJens Reidel			status = "disabled";
174*e3e169cdSJens Reidel		};
175a727ec12SKiran Gunda	};
176a727ec12SKiran Gunda};
177