1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright 2012 ST-Ericsson AB
4 */
5
6#include <dt-bindings/interrupt-controller/irq.h>
7#include <dt-bindings/leds/common.h>
8#include "ste-href-family-pinctrl.dtsi"
9
10/ {
11	memory {
12		device_type = "memory";
13		reg = <0x00000000 0x20000000>;
14	};
15
16	battery: battery {
17		compatible = "simple-battery";
18		battery-type = "lithium-ion-polymer";
19	};
20
21	thermal-zones {
22		battery-thermal {
23			/* This zone will be polled by the battery temperature code */
24			polling-delay = <0>;
25			polling-delay-passive = <0>;
26			thermal-sensors = <&bat_therm>;
27
28			trips {
29				battery-crit-hi {
30					temperature = <70000>;
31					hysteresis = <2000>;
32					type = "critical";
33				};
34			};
35		};
36	};
37
38	bat_therm: thermistor {
39		compatible = "murata,ncp18wb473";
40		io-channels = <&gpadc 0x02>; /* BatTemp */
41		pullup-uv = <1800000>;
42		pullup-ohm = <230000>;
43		pulldown-ohm = <0>;
44		#thermal-sensor-cells = <0>;
45	};
46
47	soc {
48		serial@80120000 {
49			pinctrl-names = "default", "sleep";
50			pinctrl-0 = <&u0_a_1_default>;
51			pinctrl-1 = <&u0_a_1_sleep>;
52			status = "okay";
53		};
54
55		/* This UART is unused and thus left disabled */
56		serial@80121000 {
57			pinctrl-names = "default", "sleep";
58			pinctrl-0 = <&u1rxtx_a_1_default>;
59			pinctrl-1 = <&u1rxtx_a_1_sleep>;
60		};
61
62		serial@80007000 {
63			pinctrl-names = "default", "sleep";
64			pinctrl-0 = <&u2rxtx_c_1_default>;
65			pinctrl-1 = <&u2rxtx_c_1_sleep>;
66			status = "okay";
67		};
68
69		i2c@80004000 {
70			pinctrl-names = "default","sleep";
71			pinctrl-0 = <&i2c0_a_1_default>;
72			pinctrl-1 = <&i2c0_a_1_sleep>;
73			status = "okay";
74		};
75
76		i2c@80122000 {
77			pinctrl-names = "default","sleep";
78			pinctrl-0 = <&i2c1_b_2_default>;
79			pinctrl-1 = <&i2c1_b_2_sleep>;
80			status = "okay";
81		};
82
83		i2c@80128000 {
84			pinctrl-names = "default","sleep";
85			pinctrl-0 = <&i2c2_b_2_default>;
86			pinctrl-1 = <&i2c2_b_2_sleep>;
87			status = "okay";
88			lp5521@33 {
89				compatible = "national,lp5521";
90				reg = <0x33>;
91				label = "lp5521_pri";
92				clock-mode = /bits/ 8 <2>;
93				#address-cells = <1>;
94				#size-cells = <0>;
95				led@0 {
96					reg = <0>;
97					led-cur = /bits/ 8 <0x2f>;
98					max-cur = /bits/ 8 <0x5f>;
99					color = <LED_COLOR_ID_BLUE>;
100					linux,default-trigger = "heartbeat";
101				};
102				led@1 {
103					reg = <1>;
104					led-cur = /bits/ 8 <0x2f>;
105					max-cur = /bits/ 8 <0x5f>;
106					color = <LED_COLOR_ID_BLUE>;
107				};
108				led@2 {
109					reg = <2>;
110					led-cur = /bits/ 8 <0x2f>;
111					max-cur = /bits/ 8 <0x5f>;
112					color = <LED_COLOR_ID_BLUE>;
113				};
114			};
115			lp5521@34 {
116				compatible = "national,lp5521";
117				reg = <0x34>;
118				label = "lp5521_sec";
119				clock-mode = /bits/ 8 <2>;
120				#address-cells = <1>;
121				#size-cells = <0>;
122				led@0 {
123					reg = <0>;
124					led-cur = /bits/ 8 <0x2f>;
125					max-cur = /bits/ 8 <0x5f>;
126					color = <LED_COLOR_ID_BLUE>;
127				};
128				led@1 {
129					reg = <1>;
130					led-cur = /bits/ 8 <0x2f>;
131					max-cur = /bits/ 8 <0x5f>;
132					color = <LED_COLOR_ID_BLUE>;
133				};
134				led@2 {
135					reg = <2>;
136					led-cur = /bits/ 8 <0x2f>;
137					max-cur = /bits/ 8 <0x5f>;
138					color = <LED_COLOR_ID_BLUE>;
139				};
140			};
141			bh1780@29 {
142				compatible = "rohm,bh1780gli";
143				reg = <0x29>;
144			};
145		};
146
147		i2c@80110000 {
148			pinctrl-names = "default","sleep";
149			pinctrl-0 = <&i2c3_c_2_default>;
150			pinctrl-1 = <&i2c3_c_2_sleep>;
151			status = "okay";
152		};
153
154		// External Micro SD slot
155		mmc@80126000 {
156			arm,primecell-periphid = <0x10480180>;
157			max-frequency = <100000000>;
158			bus-width = <4>;
159			cap-sd-highspeed;
160			cap-mmc-highspeed;
161			sd-uhs-sdr12;
162			sd-uhs-sdr25;
163			full-pwr-cycle;
164			st,sig-dir-dat0;
165			st,sig-dir-dat2;
166			st,sig-dir-cmd;
167			st,sig-pin-fbclk;
168			vmmc-supply = <&ab8500_ldo_aux3_reg>;
169			vqmmc-supply = <&vmmci>;
170			pinctrl-names = "default", "sleep";
171			pinctrl-0 = <&mc0_a_1_default &sdi0_default_mode>;
172			pinctrl-1 = <&mc0_a_1_sleep>;
173
174			status = "okay";
175		};
176
177		// WLAN SDIO channel
178		mmc@80118000 {
179			arm,primecell-periphid = <0x10480180>;
180			max-frequency = <100000000>;
181			bus-width = <4>;
182			non-removable;
183			pinctrl-names = "default", "sleep";
184			pinctrl-0 = <&mc1_a_1_default>;
185			pinctrl-1 = <&mc1_a_1_sleep>;
186
187			status = "okay";
188		};
189
190		// PoP:ed eMMC
191		mmc@80005000 {
192			arm,primecell-periphid = <0x10480180>;
193			max-frequency = <100000000>;
194			bus-width = <8>;
195			cap-mmc-highspeed;
196			non-removable;
197			no-sdio;
198			no-sd;
199			vmmc-supply = <&db8500_vsmps2_reg>;
200			pinctrl-names = "default", "sleep";
201			pinctrl-0 = <&mc2_a_1_default>;
202			pinctrl-1 = <&mc2_a_1_sleep>;
203
204			status = "okay";
205		};
206
207		// On-board eMMC
208		mmc@80114000 {
209			arm,primecell-periphid = <0x10480180>;
210		        max-frequency = <100000000>;
211			bus-width = <8>;
212			cap-mmc-highspeed;
213			non-removable;
214			no-sdio;
215			no-sd;
216			vmmc-supply = <&ab8500_ldo_aux2_reg>;
217			pinctrl-names = "default", "sleep";
218			pinctrl-0 = <&mc4_a_1_default>;
219			pinctrl-1 = <&mc4_a_1_sleep>;
220
221			status = "okay";
222		};
223
224		msp0: msp@80123000 {
225			pinctrl-names = "default";
226			pinctrl-0 = <&msp0txrxtfstck_a_1_default>;
227			status = "okay";
228		};
229
230		msp1: msp@80124000 {
231			pinctrl-names = "default";
232			pinctrl-0 = <&msp1txrx_a_1_default>;
233			status = "okay";
234		};
235
236		msp2: msp@80117000 {
237			pinctrl-names = "default";
238			pinctrl-0 = <&msp2_a_1_default>;
239		};
240
241		msp3: msp@80125000 {
242			status = "okay";
243		};
244
245		prcmu@80157000 {
246			ab8500 {
247				gpio {
248				};
249
250				phy {
251					pinctrl-names = "default", "sleep";
252					pinctrl-0 = <&usb_a_1_default>;
253					pinctrl-1 = <&usb_a_1_sleep>;
254				};
255
256				regulator {
257					ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
258						regulator-name = "V-DISPLAY";
259					};
260
261					ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
262						regulator-name = "V-eMMC1";
263					};
264
265					ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
266						regulator-name = "V-MMC-SD";
267					};
268
269					ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
270						regulator-name = "V-INTCORE";
271					};
272
273					ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
274						regulator-name = "V-TVOUT";
275					};
276
277					ab8500_ldo_audio_reg: ab8500_ldo_audio {
278						regulator-name = "V-AUD";
279					};
280
281					ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
282						regulator-name = "V-AMIC1";
283					};
284
285					ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
286						regulator-name = "V-AMIC2";
287					};
288
289					ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
290						regulator-name = "V-DMIC";
291					};
292
293					ab8500_ldo_ana_reg: ab8500_ldo_ana {
294						regulator-name = "V-CSI/DSI";
295					};
296				};
297			};
298		};
299
300		pinctrl {
301			sdi0 {
302				sdi0_default_mode: sdi0_default {
303					/* Some boards set additional settings here */
304				};
305			};
306		};
307
308		mcde@a0350000 {
309			pinctrl-names = "default", "sleep";
310			pinctrl-0 = <&lcd_default_mode>;
311			pinctrl-1 = <&lcd_sleep_mode>;
312		};
313	};
314};
315