xref: /freebsd-src/sys/contrib/device-tree/src/arm/qcom/qcom-pm8226.dtsi (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause
2f126890aSEmmanuel Vadot#include <dt-bindings/iio/qcom,spmi-vadc.h>
3f126890aSEmmanuel Vadot#include <dt-bindings/input/linux-event-codes.h>
4f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
5f126890aSEmmanuel Vadot#include <dt-bindings/spmi/spmi.h>
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadot/ {
8f126890aSEmmanuel Vadot	thermal-zones {
9f126890aSEmmanuel Vadot		pm8226-thermal {
10f126890aSEmmanuel Vadot			polling-delay-passive = <100>;
11f126890aSEmmanuel Vadot			polling-delay = <0>;
12f126890aSEmmanuel Vadot			thermal-sensors = <&pm8226_temp>;
13f126890aSEmmanuel Vadot
14f126890aSEmmanuel Vadot			trips {
15f126890aSEmmanuel Vadot				trip0 {
16f126890aSEmmanuel Vadot					temperature = <105000>;
17f126890aSEmmanuel Vadot					hysteresis = <2000>;
18f126890aSEmmanuel Vadot					type = "passive";
19f126890aSEmmanuel Vadot				};
20f126890aSEmmanuel Vadot
21f126890aSEmmanuel Vadot				trip1 {
22f126890aSEmmanuel Vadot					temperature = <125000>;
23f126890aSEmmanuel Vadot					hysteresis = <2000>;
24f126890aSEmmanuel Vadot					type = "hot";
25f126890aSEmmanuel Vadot				};
26f126890aSEmmanuel Vadot
27f126890aSEmmanuel Vadot				crit {
28f126890aSEmmanuel Vadot					temperature = <145000>;
29f126890aSEmmanuel Vadot					hysteresis = <2000>;
30f126890aSEmmanuel Vadot					type = "critical";
31f126890aSEmmanuel Vadot				};
32f126890aSEmmanuel Vadot			};
33f126890aSEmmanuel Vadot		};
34f126890aSEmmanuel Vadot	};
35f126890aSEmmanuel Vadot};
36f126890aSEmmanuel Vadot
37f126890aSEmmanuel Vadot&spmi_bus {
38f126890aSEmmanuel Vadot	pm8226_0: pm8226@0 {
39f126890aSEmmanuel Vadot		compatible = "qcom,pm8226", "qcom,spmi-pmic";
40f126890aSEmmanuel Vadot		reg = <0x0 SPMI_USID>;
41f126890aSEmmanuel Vadot		#address-cells = <1>;
42f126890aSEmmanuel Vadot		#size-cells = <0>;
43f126890aSEmmanuel Vadot
44f126890aSEmmanuel Vadot		pon@800 {
45f126890aSEmmanuel Vadot			compatible = "qcom,pm8916-pon";
46f126890aSEmmanuel Vadot			reg = <0x800>;
47f126890aSEmmanuel Vadot
48f126890aSEmmanuel Vadot			pwrkey {
49f126890aSEmmanuel Vadot				compatible = "qcom,pm8941-pwrkey";
50f126890aSEmmanuel Vadot				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
51f126890aSEmmanuel Vadot				debounce = <15625>;
52f126890aSEmmanuel Vadot				bias-pull-up;
53f126890aSEmmanuel Vadot				linux,code = <KEY_POWER>;
54f126890aSEmmanuel Vadot			};
55f126890aSEmmanuel Vadot
56f126890aSEmmanuel Vadot			pm8226_resin: resin {
57f126890aSEmmanuel Vadot				compatible = "qcom,pm8941-resin";
58f126890aSEmmanuel Vadot				interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
59f126890aSEmmanuel Vadot				debounce = <15625>;
60f126890aSEmmanuel Vadot				bias-pull-up;
61f126890aSEmmanuel Vadot				status = "disabled";
62f126890aSEmmanuel Vadot			};
63f126890aSEmmanuel Vadot		};
64f126890aSEmmanuel Vadot
65f126890aSEmmanuel Vadot		smbb: charger@1000 {
66f126890aSEmmanuel Vadot			compatible = "qcom,pm8226-charger";
67f126890aSEmmanuel Vadot			reg = <0x1000>;
68f126890aSEmmanuel Vadot			interrupts = <0x0 0x10 7 IRQ_TYPE_EDGE_BOTH>,
69f126890aSEmmanuel Vadot				     <0x0 0x10 5 IRQ_TYPE_EDGE_BOTH>,
70f126890aSEmmanuel Vadot				     <0x0 0x10 4 IRQ_TYPE_EDGE_BOTH>,
71f126890aSEmmanuel Vadot				     <0x0 0x12 1 IRQ_TYPE_EDGE_BOTH>,
72f126890aSEmmanuel Vadot				     <0x0 0x12 0 IRQ_TYPE_EDGE_BOTH>,
73f126890aSEmmanuel Vadot				     <0x0 0x13 2 IRQ_TYPE_EDGE_BOTH>,
74f126890aSEmmanuel Vadot				     <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>,
75f126890aSEmmanuel Vadot				     <0x0 0x14 1 IRQ_TYPE_EDGE_BOTH>;
76f126890aSEmmanuel Vadot			interrupt-names = "chg-done",
77f126890aSEmmanuel Vadot					  "chg-fast",
78f126890aSEmmanuel Vadot					  "chg-trkl",
79f126890aSEmmanuel Vadot					  "bat-temp-ok",
80f126890aSEmmanuel Vadot					  "bat-present",
81f126890aSEmmanuel Vadot					  "chg-gone",
82f126890aSEmmanuel Vadot					  "usb-valid",
83f126890aSEmmanuel Vadot					  "dc-valid";
84f126890aSEmmanuel Vadot
85f126890aSEmmanuel Vadot			chg_otg: otg-vbus { };
86f126890aSEmmanuel Vadot		};
87f126890aSEmmanuel Vadot
88f126890aSEmmanuel Vadot		pm8226_temp: temp-alarm@2400 {
89f126890aSEmmanuel Vadot			compatible = "qcom,spmi-temp-alarm";
90f126890aSEmmanuel Vadot			reg = <0x2400>;
91f126890aSEmmanuel Vadot			interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
92f126890aSEmmanuel Vadot			io-channels = <&pm8226_vadc VADC_DIE_TEMP>;
93f126890aSEmmanuel Vadot			io-channel-names = "thermal";
94f126890aSEmmanuel Vadot			#thermal-sensor-cells = <0>;
95f126890aSEmmanuel Vadot		};
96f126890aSEmmanuel Vadot
97f126890aSEmmanuel Vadot		pm8226_vadc: adc@3100 {
98f126890aSEmmanuel Vadot			compatible = "qcom,spmi-vadc";
99f126890aSEmmanuel Vadot			reg = <0x3100>;
100f126890aSEmmanuel Vadot			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
101f126890aSEmmanuel Vadot			#address-cells = <1>;
102f126890aSEmmanuel Vadot			#size-cells = <0>;
103f126890aSEmmanuel Vadot			#io-channel-cells = <1>;
104f126890aSEmmanuel Vadot
105*aa1a8ff2SEmmanuel Vadot			channel@7 {
106f126890aSEmmanuel Vadot				reg = <VADC_VSYS>;
107f126890aSEmmanuel Vadot				qcom,pre-scaling = <1 3>;
108f126890aSEmmanuel Vadot				label = "vph_pwr";
109f126890aSEmmanuel Vadot			};
110*aa1a8ff2SEmmanuel Vadot			channel@8 {
111f126890aSEmmanuel Vadot				reg = <VADC_DIE_TEMP>;
112f126890aSEmmanuel Vadot				label = "die_temp";
113f126890aSEmmanuel Vadot			};
114*aa1a8ff2SEmmanuel Vadot			channel@9 {
115f126890aSEmmanuel Vadot				reg = <VADC_REF_625MV>;
116f126890aSEmmanuel Vadot				label = "ref_625mv";
117f126890aSEmmanuel Vadot			};
118*aa1a8ff2SEmmanuel Vadot			channel@a {
119f126890aSEmmanuel Vadot				reg = <VADC_REF_1250MV>;
120f126890aSEmmanuel Vadot				label = "ref_1250mv";
121f126890aSEmmanuel Vadot			};
122*aa1a8ff2SEmmanuel Vadot			channel@e {
123f126890aSEmmanuel Vadot				reg = <VADC_GND_REF>;
124f126890aSEmmanuel Vadot			};
125*aa1a8ff2SEmmanuel Vadot			channel@f {
126f126890aSEmmanuel Vadot				reg = <VADC_VDD_VADC>;
127f126890aSEmmanuel Vadot			};
128f126890aSEmmanuel Vadot		};
129f126890aSEmmanuel Vadot
130f126890aSEmmanuel Vadot		pm8226_iadc: adc@3600 {
131f126890aSEmmanuel Vadot			compatible = "qcom,pm8226-iadc", "qcom,spmi-iadc";
132f126890aSEmmanuel Vadot			reg = <0x3600>;
133f126890aSEmmanuel Vadot			interrupts = <0x0 0x36 0x0 IRQ_TYPE_EDGE_RISING>;
134f126890aSEmmanuel Vadot		};
135f126890aSEmmanuel Vadot
136f126890aSEmmanuel Vadot		rtc@6000 {
137f126890aSEmmanuel Vadot			compatible = "qcom,pm8941-rtc";
138f126890aSEmmanuel Vadot			reg = <0x6000>, <0x6100>;
139f126890aSEmmanuel Vadot			reg-names = "rtc", "alarm";
140f126890aSEmmanuel Vadot			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
141f126890aSEmmanuel Vadot		};
142f126890aSEmmanuel Vadot
143f126890aSEmmanuel Vadot		pm8226_mpps: mpps@a000 {
144f126890aSEmmanuel Vadot			compatible = "qcom,pm8226-mpp", "qcom,spmi-mpp";
145f126890aSEmmanuel Vadot			reg = <0xa000>;
146f126890aSEmmanuel Vadot			gpio-controller;
147f126890aSEmmanuel Vadot			#gpio-cells = <2>;
148f126890aSEmmanuel Vadot			gpio-ranges = <&pm8226_mpps 0 0 8>;
149f126890aSEmmanuel Vadot			interrupt-controller;
150f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
151f126890aSEmmanuel Vadot		};
152f126890aSEmmanuel Vadot
153f126890aSEmmanuel Vadot		pm8226_gpios: gpio@c000 {
154f126890aSEmmanuel Vadot			compatible = "qcom,pm8226-gpio", "qcom,spmi-gpio";
155f126890aSEmmanuel Vadot			reg = <0xc000>;
156f126890aSEmmanuel Vadot			gpio-controller;
157f126890aSEmmanuel Vadot			#gpio-cells = <2>;
158f126890aSEmmanuel Vadot			gpio-ranges = <&pm8226_gpios 0 0 8>;
159f126890aSEmmanuel Vadot			interrupt-controller;
160f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
161f126890aSEmmanuel Vadot		};
162f126890aSEmmanuel Vadot	};
163f126890aSEmmanuel Vadot
164f126890aSEmmanuel Vadot	pm8226_1: pm8226@1 {
165f126890aSEmmanuel Vadot		compatible = "qcom,pm8226", "qcom,spmi-pmic";
166f126890aSEmmanuel Vadot		reg = <0x1 SPMI_USID>;
167f126890aSEmmanuel Vadot		#address-cells = <1>;
168f126890aSEmmanuel Vadot		#size-cells = <0>;
169f126890aSEmmanuel Vadot
170f126890aSEmmanuel Vadot		pm8226_spmi_regulators: regulators {
171f126890aSEmmanuel Vadot			compatible = "qcom,pm8226-regulators";
172f126890aSEmmanuel Vadot		};
173f126890aSEmmanuel Vadot
174f126890aSEmmanuel Vadot		pm8226_vib: vibrator@c000 {
175f126890aSEmmanuel Vadot			compatible = "qcom,pm8916-vib";
176f126890aSEmmanuel Vadot			reg = <0xc000>;
177f126890aSEmmanuel Vadot			status = "disabled";
178f126890aSEmmanuel Vadot		};
179f126890aSEmmanuel Vadot	};
180f126890aSEmmanuel Vadot};
181