xref: /OK3568_Linux_fs/kernel/scripts/dtc/include-prefixes/arm/ste-ab8505.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-or-later
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright 2012 Linaro Ltd
4*4882a593Smuzhiyun */
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun#include <dt-bindings/clock/ste-ab8500.h>
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun/ {
9*4882a593Smuzhiyun	/* Essential housekeeping hardware monitors */
10*4882a593Smuzhiyun	iio-hwmon {
11*4882a593Smuzhiyun		compatible = "iio-hwmon";
12*4882a593Smuzhiyun		io-channels = <&gpadc 0x02>, /* Battery temperature */
13*4882a593Smuzhiyun			      <&gpadc 0x08>, /* Main battery voltage */
14*4882a593Smuzhiyun			      <&gpadc 0x09>, /* VBUS */
15*4882a593Smuzhiyun			      <&gpadc 0x0b>, /* Charger current */
16*4882a593Smuzhiyun			      <&gpadc 0x0c>; /* Backup battery voltage */
17*4882a593Smuzhiyun	};
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun	soc {
20*4882a593Smuzhiyun		prcmu@80157000 {
21*4882a593Smuzhiyun			ab8505 {
22*4882a593Smuzhiyun				compatible = "stericsson,ab8505";
23*4882a593Smuzhiyun				interrupt-parent = <&intc>;
24*4882a593Smuzhiyun				interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
25*4882a593Smuzhiyun				interrupt-controller;
26*4882a593Smuzhiyun				#interrupt-cells = <2>;
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun				ab8500_clock: clock-controller {
29*4882a593Smuzhiyun					compatible = "stericsson,ab8500-clk";
30*4882a593Smuzhiyun					#clock-cells = <1>;
31*4882a593Smuzhiyun				};
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun				ab8505_gpio: ab8505-gpiocontroller {
34*4882a593Smuzhiyun					compatible = "stericsson,ab8505-gpio";
35*4882a593Smuzhiyun					gpio-controller;
36*4882a593Smuzhiyun					#gpio-cells = <2>;
37*4882a593Smuzhiyun				};
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun				ab8500-rtc {
40*4882a593Smuzhiyun					compatible = "stericsson,ab8500-rtc";
41*4882a593Smuzhiyun					interrupts = <17 IRQ_TYPE_LEVEL_HIGH>,
42*4882a593Smuzhiyun						     <18 IRQ_TYPE_LEVEL_HIGH>;
43*4882a593Smuzhiyun					interrupt-names = "60S", "ALARM";
44*4882a593Smuzhiyun				};
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun				gpadc: ab8500-gpadc {
47*4882a593Smuzhiyun					compatible = "stericsson,ab8500-gpadc";
48*4882a593Smuzhiyun					interrupts = <32 IRQ_TYPE_LEVEL_HIGH
49*4882a593Smuzhiyun						      39 IRQ_TYPE_LEVEL_HIGH>;
50*4882a593Smuzhiyun					interrupt-names = "HW_CONV_END", "SW_CONV_END";
51*4882a593Smuzhiyun					vddadc-supply = <&ab8500_ldo_adc_reg>;
52*4882a593Smuzhiyun					#address-cells = <1>;
53*4882a593Smuzhiyun					#size-cells = <0>;
54*4882a593Smuzhiyun					#io-channel-cells = <1>;
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun					/* GPADC channels */
57*4882a593Smuzhiyun					bat_ctrl: channel@01 {
58*4882a593Smuzhiyun						reg = <0x01>;
59*4882a593Smuzhiyun					};
60*4882a593Smuzhiyun					btemp_ball: channel@02 {
61*4882a593Smuzhiyun						reg = <0x02>;
62*4882a593Smuzhiyun					};
63*4882a593Smuzhiyun					acc_detect1: channel@04 {
64*4882a593Smuzhiyun						reg = <0x04>;
65*4882a593Smuzhiyun					};
66*4882a593Smuzhiyun					acc_detect2: channel@05 {
67*4882a593Smuzhiyun						reg = <0x05>;
68*4882a593Smuzhiyun					};
69*4882a593Smuzhiyun					adc_aux1: channel@06 {
70*4882a593Smuzhiyun						reg = <0x06>;
71*4882a593Smuzhiyun					};
72*4882a593Smuzhiyun					adc_aux2: channel@07 {
73*4882a593Smuzhiyun						reg = <0x07>;
74*4882a593Smuzhiyun					};
75*4882a593Smuzhiyun					main_batt_v: channel@08 {
76*4882a593Smuzhiyun						reg = <0x08>;
77*4882a593Smuzhiyun					};
78*4882a593Smuzhiyun					vbus_v: channel@09 {
79*4882a593Smuzhiyun						reg = <0x09>;
80*4882a593Smuzhiyun					};
81*4882a593Smuzhiyun					charger_c: channel@0b {
82*4882a593Smuzhiyun						reg = <0x0b>;
83*4882a593Smuzhiyun					};
84*4882a593Smuzhiyun					bk_bat_v: channel@0c {
85*4882a593Smuzhiyun						reg = <0x0c>;
86*4882a593Smuzhiyun					};
87*4882a593Smuzhiyun					usb_id: channel@0e {
88*4882a593Smuzhiyun						reg = <0x0e>;
89*4882a593Smuzhiyun					};
90*4882a593Smuzhiyun				};
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun				ab8500_battery: ab8500_battery {
93*4882a593Smuzhiyun					status = "disabled";
94*4882a593Smuzhiyun					thermistor-on-batctrl;
95*4882a593Smuzhiyun				};
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun				ab8500_fg {
98*4882a593Smuzhiyun					status = "disabled";
99*4882a593Smuzhiyun					compatible = "stericsson,ab8500-fg";
100*4882a593Smuzhiyun					battery = <&ab8500_battery>;
101*4882a593Smuzhiyun					io-channels = <&gpadc 0x08>;
102*4882a593Smuzhiyun					io-channel-name = "main_bat_v";
103*4882a593Smuzhiyun				};
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun				ab8500_btemp {
106*4882a593Smuzhiyun					status = "disabled";
107*4882a593Smuzhiyun					compatible = "stericsson,ab8500-btemp";
108*4882a593Smuzhiyun					battery = <&ab8500_battery>;
109*4882a593Smuzhiyun					io-channels = <&gpadc 0x02>,
110*4882a593Smuzhiyun						      <&gpadc 0x01>;
111*4882a593Smuzhiyun					io-channel-name = "btemp_ball",
112*4882a593Smuzhiyun							  "bat_ctrl";
113*4882a593Smuzhiyun				};
114*4882a593Smuzhiyun
115*4882a593Smuzhiyun				ab8500_charger {
116*4882a593Smuzhiyun					status = "disabled";
117*4882a593Smuzhiyun					compatible = "stericsson,ab8500-charger";
118*4882a593Smuzhiyun					battery = <&ab8500_battery>;
119*4882a593Smuzhiyun					vddadc-supply = <&ab8500_ldo_adc_reg>;
120*4882a593Smuzhiyun					io-channels = <&gpadc 0x09>,
121*4882a593Smuzhiyun						      <&gpadc 0x0b>;
122*4882a593Smuzhiyun					io-channel-name = "vbus_v",
123*4882a593Smuzhiyun							  "usb_charger_c";
124*4882a593Smuzhiyun				};
125*4882a593Smuzhiyun
126*4882a593Smuzhiyun				ab8500_chargalg {
127*4882a593Smuzhiyun					status = "disabled";
128*4882a593Smuzhiyun					compatible = "stericsson,ab8500-chargalg";
129*4882a593Smuzhiyun					battery = <&ab8500_battery>;
130*4882a593Smuzhiyun				};
131*4882a593Smuzhiyun
132*4882a593Smuzhiyun				ab8500_usb: ab8500_usb {
133*4882a593Smuzhiyun					compatible = "stericsson,ab8500-usb";
134*4882a593Smuzhiyun					interrupts = <90 IRQ_TYPE_LEVEL_HIGH>,
135*4882a593Smuzhiyun						     <96 IRQ_TYPE_LEVEL_HIGH>,
136*4882a593Smuzhiyun						     <14 IRQ_TYPE_LEVEL_HIGH>,
137*4882a593Smuzhiyun						     <15 IRQ_TYPE_LEVEL_HIGH>,
138*4882a593Smuzhiyun						     <79 IRQ_TYPE_LEVEL_HIGH>,
139*4882a593Smuzhiyun						     <74 IRQ_TYPE_LEVEL_HIGH>,
140*4882a593Smuzhiyun						     <75 IRQ_TYPE_LEVEL_HIGH>;
141*4882a593Smuzhiyun					interrupt-names = "ID_WAKEUP_R",
142*4882a593Smuzhiyun							  "ID_WAKEUP_F",
143*4882a593Smuzhiyun							  "VBUS_DET_F",
144*4882a593Smuzhiyun							  "VBUS_DET_R",
145*4882a593Smuzhiyun							  "USB_LINK_STATUS",
146*4882a593Smuzhiyun							  "USB_ADP_PROBE_PLUG",
147*4882a593Smuzhiyun							  "USB_ADP_PROBE_UNPLUG";
148*4882a593Smuzhiyun					vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
149*4882a593Smuzhiyun					v-ape-supply = <&db8500_vape_reg>;
150*4882a593Smuzhiyun					musb_1v8-supply = <&db8500_vsmps2_reg>;
151*4882a593Smuzhiyun					clocks = <&prcmu_clk PRCMU_SYSCLK>;
152*4882a593Smuzhiyun					clock-names = "sysclk";
153*4882a593Smuzhiyun				};
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun				ab8500-ponkey {
156*4882a593Smuzhiyun					compatible = "stericsson,ab8500-poweron-key";
157*4882a593Smuzhiyun					interrupts = <6 IRQ_TYPE_LEVEL_HIGH>,
158*4882a593Smuzhiyun						     <7 IRQ_TYPE_LEVEL_HIGH>;
159*4882a593Smuzhiyun					interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
160*4882a593Smuzhiyun				};
161*4882a593Smuzhiyun
162*4882a593Smuzhiyun				ab8500-sysctrl {
163*4882a593Smuzhiyun					compatible = "stericsson,ab8500-sysctrl";
164*4882a593Smuzhiyun				};
165*4882a593Smuzhiyun
166*4882a593Smuzhiyun				ab8500-pwm {
167*4882a593Smuzhiyun					compatible = "stericsson,ab8500-pwm";
168*4882a593Smuzhiyun					clocks = <&ab8500_clock AB8500_SYSCLK_INT>;
169*4882a593Smuzhiyun					clock-names = "intclk";
170*4882a593Smuzhiyun				};
171*4882a593Smuzhiyun
172*4882a593Smuzhiyun				ab8500-debugfs {
173*4882a593Smuzhiyun					compatible = "stericsson,ab8500-debug";
174*4882a593Smuzhiyun				};
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun				codec: ab8500-codec {
177*4882a593Smuzhiyun					compatible = "stericsson,ab8500-codec";
178*4882a593Smuzhiyun
179*4882a593Smuzhiyun					V-AUD-supply = <&ab8500_ldo_audio_reg>;
180*4882a593Smuzhiyun					V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>;
181*4882a593Smuzhiyun					V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>;
182*4882a593Smuzhiyun
183*4882a593Smuzhiyun					clocks = <&ab8500_clock AB8500_SYSCLK_AUDIO>;
184*4882a593Smuzhiyun					clock-names = "audioclk";
185*4882a593Smuzhiyun
186*4882a593Smuzhiyun					stericsson,earpeice-cmv = <950>; /* Units in mV. */
187*4882a593Smuzhiyun				};
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun				ab8505-regulators {
190*4882a593Smuzhiyun					compatible = "stericsson,ab8505-regulator";
191*4882a593Smuzhiyun
192*4882a593Smuzhiyun					ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
193*4882a593Smuzhiyun						regulator-min-microvolt = <2800000>;
194*4882a593Smuzhiyun						regulator-max-microvolt = <3300000>;
195*4882a593Smuzhiyun					};
196*4882a593Smuzhiyun
197*4882a593Smuzhiyun					ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
198*4882a593Smuzhiyun						regulator-min-microvolt = <1100000>;
199*4882a593Smuzhiyun						regulator-max-microvolt = <3300000>;
200*4882a593Smuzhiyun					};
201*4882a593Smuzhiyun
202*4882a593Smuzhiyun					ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
203*4882a593Smuzhiyun						regulator-min-microvolt = <1100000>;
204*4882a593Smuzhiyun						regulator-max-microvolt = <3300000>;
205*4882a593Smuzhiyun					};
206*4882a593Smuzhiyun
207*4882a593Smuzhiyun					ab8500_ldo_aux4_reg: ab8500_ldo_aux4 {
208*4882a593Smuzhiyun						regulator-min-microvolt = <1100000>;
209*4882a593Smuzhiyun						regulator-max-microvolt = <3300000>;
210*4882a593Smuzhiyun					};
211*4882a593Smuzhiyun
212*4882a593Smuzhiyun					ab8500_ldo_aux5_reg: ab8500_ldo_aux5 {
213*4882a593Smuzhiyun						regulator-min-microvolt = <1050000>;
214*4882a593Smuzhiyun						regulator-max-microvolt = <2790000>;
215*4882a593Smuzhiyun					};
216*4882a593Smuzhiyun
217*4882a593Smuzhiyun					ab8500_ldo_aux6_reg: ab8500_ldo_aux6 {
218*4882a593Smuzhiyun						regulator-min-microvolt = <1050000>;
219*4882a593Smuzhiyun						regulator-max-microvolt = <2790000>;
220*4882a593Smuzhiyun					};
221*4882a593Smuzhiyun
222*4882a593Smuzhiyun					// supply for v-intcore12; VINTCORE12 LDO
223*4882a593Smuzhiyun					ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
224*4882a593Smuzhiyun						regulator-min-microvolt = <1250000>;
225*4882a593Smuzhiyun						regulator-max-microvolt = <1350000>;
226*4882a593Smuzhiyun					};
227*4882a593Smuzhiyun
228*4882a593Smuzhiyun					// supply for gpadc; ADC LDO
229*4882a593Smuzhiyun					ab8500_ldo_adc_reg: ab8500_ldo_adc {
230*4882a593Smuzhiyun					};
231*4882a593Smuzhiyun
232*4882a593Smuzhiyun					// supply for ab8500-vaudio; VAUDIO LDO
233*4882a593Smuzhiyun					ab8500_ldo_audio_reg: ab8500_ldo_audio {
234*4882a593Smuzhiyun					};
235*4882a593Smuzhiyun
236*4882a593Smuzhiyun					// supply for v-anamic1 VAMIC1 LDO
237*4882a593Smuzhiyun					ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
238*4882a593Smuzhiyun					};
239*4882a593Smuzhiyun
240*4882a593Smuzhiyun					// supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
241*4882a593Smuzhiyun					ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
242*4882a593Smuzhiyun					};
243*4882a593Smuzhiyun
244*4882a593Smuzhiyun					// supply for v-aux8; VAUX8 LDO
245*4882a593Smuzhiyun					ab8500_ldo_aux8_reg: ab8500_ldo_aux8 {
246*4882a593Smuzhiyun					};
247*4882a593Smuzhiyun
248*4882a593Smuzhiyun					// supply for U8500 CSI/DSI; VANA LDO
249*4882a593Smuzhiyun					ab8500_ldo_ana_reg: ab8500_ldo_ana {
250*4882a593Smuzhiyun					};
251*4882a593Smuzhiyun				};
252*4882a593Smuzhiyun			};
253*4882a593Smuzhiyun		};
254*4882a593Smuzhiyun
255*4882a593Smuzhiyun		sound {
256*4882a593Smuzhiyun			stericsson,audio-codec = <&codec>;
257*4882a593Smuzhiyun			clocks = <&prcmu_clk PRCMU_SYSCLK>, <&ab8500_clock AB8500_SYSCLK_ULP>, <&ab8500_clock AB8500_SYSCLK_INT>;
258*4882a593Smuzhiyun			clock-names = "sysclk", "ulpclk", "intclk";
259*4882a593Smuzhiyun		};
260*4882a593Smuzhiyun
261*4882a593Smuzhiyun		mcde@a0350000 {
262*4882a593Smuzhiyun			vana-supply = <&ab8500_ldo_ana_reg>;
263*4882a593Smuzhiyun
264*4882a593Smuzhiyun			dsi-controller@a0351000 {
265*4882a593Smuzhiyun				vana-supply = <&ab8500_ldo_ana_reg>;
266*4882a593Smuzhiyun			};
267*4882a593Smuzhiyun			dsi-controller@a0352000 {
268*4882a593Smuzhiyun				vana-supply = <&ab8500_ldo_ana_reg>;
269*4882a593Smuzhiyun			};
270*4882a593Smuzhiyun			dsi-controller@a0353000 {
271*4882a593Smuzhiyun				vana-supply = <&ab8500_ldo_ana_reg>;
272*4882a593Smuzhiyun			};
273*4882a593Smuzhiyun		};
274*4882a593Smuzhiyun	};
275*4882a593Smuzhiyun};
276