Linux Audio

Check our new training course

Loading...
Note: File does not exist in v4.6.
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * TOPEET's Exynos4412 based itop board device tree source
  4 *
  5 * Copyright (c) 2016 SUMOMO Computer Association
  6 *			https://www.sumomo.mobi
  7 *			Randy Li <ayaka@soulik.info>
  8 *
  9 * Device tree source file for TOPEET iTop Exynos 4412 SCP package core
 10 * board which is based on Samsung's Exynos4412 SoC.
 11 */
 12
 13#include <dt-bindings/clock/samsung,s2mps11.h>
 14#include <dt-bindings/gpio/gpio.h>
 15#include <dt-bindings/input/input.h>
 16#include "exynos4412.dtsi"
 17#include "exynos4412-ppmu-common.dtsi"
 18#include "exynos-mfc-reserved-memory.dtsi"
 19
 20/ {
 21	memory@40000000 {
 22		device_type = "memory";
 23		reg = <0x40000000 0x40000000>;
 24	};
 25
 26	firmware@203f000 {
 27		compatible = "samsung,secure-firmware";
 28		reg = <0x0203F000 0x1000>;
 29	};
 30
 31	fixed-rate-clocks {
 32		xxti {
 33			compatible = "samsung,clock-xxti";
 34			clock-frequency = <0>;
 35		};
 36
 37		xusbxti {
 38			compatible = "samsung,clock-xusbxti";
 39			clock-frequency = <24000000>;
 40		};
 41	};
 42
 43	thermal-zones {
 44		cpu_thermal: cpu-thermal {
 45			cooling-maps {
 46				map0 {
 47				     /* Corresponds to 800MHz at freq_table */
 48				     cooling-device = <&cpu0 7 7>;
 49				};
 50				map1 {
 51				     /* Corresponds to 200MHz at freq_table */
 52				     cooling-device = <&cpu0 13 13>;
 53			       };
 54		       };
 55		};
 56	};
 57
 58	usb-hub {
 59		compatible = "smsc,usb3503a";
 60		reset-gpios = <&gpm2 4 GPIO_ACTIVE_LOW>;
 61		connect-gpios = <&gpm3 3 GPIO_ACTIVE_HIGH>;
 62		intn-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
 63		pinctrl-names = "default";
 64		pinctrl-0 = <&hsic_reset>;
 65	};
 66};
 67
 68&bus_dmc {
 69	devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
 70	vdd-supply = <&buck1_reg>;
 71	status = "okay";
 72};
 73
 74&bus_acp {
 75	devfreq = <&bus_dmc>;
 76	status = "okay";
 77};
 78
 79&bus_c2c {
 80	devfreq = <&bus_dmc>;
 81	status = "okay";
 82};
 83
 84&bus_leftbus {
 85	devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
 86	vdd-supply = <&buck3_reg>;
 87	status = "okay";
 88};
 89
 90&bus_rightbus {
 91	devfreq = <&bus_leftbus>;
 92	status = "okay";
 93};
 94
 95&bus_fsys {
 96	devfreq = <&bus_leftbus>;
 97	status = "okay";
 98};
 99
100&bus_peri {
101	devfreq = <&bus_leftbus>;
102	status = "okay";
103};
104
105&bus_mfc {
106	devfreq = <&bus_leftbus>;
107	status = "okay";
108};
109
110&cpu0 {
111	cpu0-supply = <&buck2_reg>;
112};
113
114&hsotg {
115	vusb_d-supply = <&ldo15_reg>;
116	vusb_a-supply = <&ldo12_reg>;
117};
118
119&i2c_1 {
120	#address-cells = <1>;
121	#size-cells = <0>;
122	samsung,i2c-sda-delay = <100>;
123	samsung,i2c-max-bus-freq = <400000>;
124	pinctrl-0 = <&i2c1_bus>;
125	pinctrl-names = "default";
126	status = "okay";
127
128	s5m8767: s5m8767-pmic@66 {
129		compatible = "samsung,s5m8767-pmic";
130		reg = <0x66>;
131
132		s5m8767,pmic-buck-default-dvs-idx = <3>;
133
134		s5m8767,pmic-buck-dvs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>,
135						 <&gpb 6 GPIO_ACTIVE_HIGH>,
136						 <&gpb 7 GPIO_ACTIVE_HIGH>;
137
138		s5m8767,pmic-buck-ds-gpios = <&gpm3 5 GPIO_ACTIVE_HIGH>,
139						<&gpm3 6 GPIO_ACTIVE_HIGH>,
140						<&gpm3 7 GPIO_ACTIVE_HIGH>;
141
142		/* VDD_ARM */
143		s5m8767,pmic-buck2-dvs-voltage = <1356250>, <1300000>,
144						 <1243750>, <1118750>,
145						 <1068750>, <1012500>,
146						 <956250>, <900000>;
147		/* VDD_INT */
148		s5m8767,pmic-buck3-dvs-voltage = <1000000>, <1000000>,
149						 <925000>, <925000>,
150						 <887500>, <887500>,
151						 <850000>, <850000>;
152		/* VDD_G3D */
153		s5m8767,pmic-buck4-dvs-voltage = <1081250>, <1081250>,
154						 <1025000>, <950000>,
155						 <918750>, <900000>,
156						 <875000>, <831250>;
157
158		regulators {
159			ldo1_reg: LDO1 {
160				regulator-name = "VDD_ALIVE";
161				regulator-min-microvolt = <1100000>;
162				regulator-max-microvolt = <1100000>;
163				regulator-always-on;
164				regulator-boot-on;
165				op_mode = <1>; /* Normal Mode */
166			};
167
168			/* SCP uses 1.5v, POP uses 1.2v */
169			ldo2_reg: LDO2 {
170				regulator-name = "VDDQ_M12";
171				regulator-min-microvolt = <1500000>;
172				regulator-max-microvolt = <1500000>;
173				regulator-always-on;
174				regulator-boot-on;
175				op_mode = <1>; /* Normal Mode */
176			};
177
178			ldo3_reg: LDO3 {
179				regulator-name = "VDDIOAP_18";
180				regulator-min-microvolt = <1800000>;
181				regulator-max-microvolt = <1800000>;
182				regulator-always-on;
183				op_mode = <1>; /* Normal Mode */
184			};
185
186			ldo4_reg: LDO4 {
187				regulator-name = "VDDQ_PRE";
188				regulator-min-microvolt = <1800000>;
189				regulator-max-microvolt = <1800000>;
190				regulator-always-on;
191				op_mode = <1>; /* Normal Mode */
192			};
193
194			ldo5_reg: LDO5 {
195				regulator-name = "VDD_LDO5";
196				op_mode = <0>; /* Always off Mode */
197			};
198
199			ldo6_reg: LDO6 {
200				regulator-name = "VDD10_MPLL";
201				regulator-min-microvolt = <1000000>;
202				regulator-max-microvolt = <1000000>;
203				regulator-always-on;
204				op_mode = <1>; /* Normal Mode */
205			};
206
207			ldo7_reg: LDO7 {
208				regulator-name = "VDD10_XPLL";
209				regulator-min-microvolt = <1000000>;
210				regulator-max-microvolt = <1000000>;
211				regulator-always-on;
212				op_mode = <1>; /* Normal Mode */
213			};
214
215			ldo8_reg: LDO8 {
216				regulator-name = "VDD10_MIPI";
217				regulator-min-microvolt = <1000000>;
218				regulator-max-microvolt = <1000000>;
219				op_mode = <1>; /* Normal Mode */
220			};
221
222			ldo9_reg: LDO9 {
223				regulator-name = "VDD33_LCD";
224				regulator-min-microvolt = <3300000>;
225				regulator-max-microvolt = <3300000>;
226				op_mode = <1>; /* Normal Mode */
227			};
228
229			ldo10_reg: LDO10 {
230				regulator-name = "VDD18_MIPI";
231				regulator-min-microvolt = <1800000>;
232				regulator-max-microvolt = <1800000>;
233				op_mode = <1>; /* Normal Mode */
234			};
235
236			ldo11_reg: LDO11 {
237				regulator-name = "VDD18_ABB1";
238				regulator-min-microvolt = <1800000>;
239				regulator-max-microvolt = <1800000>;
240				regulator-always-on;
241				op_mode = <1>; /* Normal Mode */
242			};
243
244			ldo12_reg: LDO12 {
245				regulator-name = "VDD33_UOTG";
246				regulator-min-microvolt = <3300000>;
247				regulator-max-microvolt = <3300000>;
248				regulator-always-on;
249				op_mode = <1>; /* Normal Mode */
250			};
251
252			ldo13_reg: LDO13 {
253				regulator-name = "VDDIOPERI_18";
254				regulator-min-microvolt = <1800000>;
255				regulator-max-microvolt = <1800000>;
256				regulator-always-on;
257				op_mode = <1>; /* Normal Mode */
258			};
259
260			ldo14_reg: LDO14 {
261				regulator-name = "VDD18_ABB02";
262				regulator-min-microvolt = <1800000>;
263				regulator-max-microvolt = <1800000>;
264				regulator-always-on;
265				op_mode = <1>; /* Normal Mode */
266			};
267
268			ldo15_reg: LDO15 {
269				regulator-name = "VDD10_USH";
270				regulator-min-microvolt = <1000000>;
271				regulator-max-microvolt = <1000000>;
272				regulator-always-on;
273				op_mode = <1>; /* Normal Mode */
274			};
275
276			ldo16_reg: LDO16 {
277				regulator-name = "VDD18_HSIC";
278				regulator-min-microvolt = <1800000>;
279				regulator-max-microvolt = <1800000>;
280				regulator-always-on;
281				op_mode = <1>; /* Normal Mode */
282			};
283
284			ldo17_reg: LDO17 {
285				regulator-name = "VDDIOAP_MMC012_28";
286				regulator-min-microvolt = <2800000>;
287				regulator-max-microvolt = <2800000>;
288				op_mode = <1>; /* Normal Mode */
289			};
290
291			/* Used by HSIC */
292			ldo18_reg: LDO18 {
293				regulator-name = "VDDIOPERI_28";
294				regulator-min-microvolt = <3300000>;
295				regulator-max-microvolt = <3300000>;
296				regulator-always-on;
297				op_mode = <1>; /* Normal Mode */
298			};
299
300			ldo19_reg: LDO19 {
301				regulator-name = "VDD_LDO19";
302				op_mode = <0>; /* Always off Mode */
303			};
304
305			ldo20_reg: LDO20 {
306				regulator-name = "VDD28_CAM";
307				regulator-min-microvolt = <1800000>;
308				regulator-max-microvolt = <2800000>;
309				op_mode = <1>; /* Normal Mode */
310			};
311
312			ldo21_reg: LDO21 {
313				regulator-name = "VDD28_AF";
314				regulator-min-microvolt = <1800000>;
315				regulator-max-microvolt = <2800000>;
316				op_mode = <1>; /* Normal Mode */
317			};
318
319			ldo22_reg: LDO22 {
320				regulator-name = "VDDA28_2M";
321				regulator-min-microvolt = <2800000>;
322				regulator-max-microvolt = <2800000>;
323				op_mode = <1>; /* Normal Mode */
324			};
325
326			ldo23_reg: LDO23 {
327				regulator-name = "VDD28_TF";
328				regulator-min-microvolt = <2800000>;
329				regulator-max-microvolt = <2800000>;
330				op_mode = <1>; /* Normal Mode */
331			};
332
333			ldo24_reg: LDO24 {
334				regulator-name = "VDD33_A31";
335				regulator-min-microvolt = <3300000>;
336				regulator-max-microvolt = <3300000>;
337				op_mode = <1>; /* Normal Mode */
338			};
339
340			ldo25_reg: LDO25 {
341				regulator-name = "VDD18_CAM";
342				regulator-min-microvolt = <1800000>;
343				regulator-max-microvolt = <1800000>;
344				op_mode = <1>; /* Normal Mode */
345			};
346
347			ldo26_reg: LDO26 {
348				regulator-name = "VDD18_A31";
349				regulator-min-microvolt = <1800000>;
350				regulator-max-microvolt = <1800000>;
351				op_mode = <1>; /* Normal Mode */
352			};
353
354			ldo27_reg: LDO27 {
355				regulator-name = "GPS_1V8";
356				regulator-min-microvolt = <1800000>;
357				regulator-max-microvolt = <1800000>;
358				op_mode = <1>; /* Normal Mode */
359			};
360
361			ldo28_reg: LDO28 {
362				regulator-name = "DVDD12";
363				regulator-min-microvolt = <1200000>;
364				regulator-max-microvolt = <1200000>;
365				op_mode = <1>; /* Normal Mode */
366			};
367
368			buck1_reg: BUCK1 {
369				regulator-name = "vdd_mif";
370				regulator-min-microvolt = <850000>;
371				regulator-max-microvolt	= <1100000>;
372				regulator-always-on;
373				regulator-boot-on;
374				op_mode = <1>; /* Normal Mode */
375			};
376
377			buck2_reg: BUCK2 {
378				regulator-name = "vdd_arm";
379				regulator-min-microvolt = <850000>;
380				regulator-max-microvolt	= <1456250>;
381				regulator-always-on;
382				regulator-boot-on;
383				op_mode = <1>; /* Normal Mode */
384			};
385
386			buck3_reg: BUCK3 {
387				regulator-name = "vdd_int";
388				regulator-min-microvolt = <875000>;
389				regulator-max-microvolt	= <1200000>;
390				regulator-always-on;
391				regulator-boot-on;
392				op_mode = <1>; /* Normal Mode */
393			};
394
395			buck4_reg: BUCK4 {
396				regulator-name = "vdd_g3d";
397				regulator-min-microvolt = <750000>;
398				regulator-max-microvolt	= <1500000>;
399				regulator-always-on;
400				regulator-boot-on;
401				op_mode = <1>; /* Normal Mode */
402			};
403
404			buck5_reg: BUCK5 {
405				regulator-name = "vdd_m12";
406				regulator-min-microvolt = <750000>;
407				regulator-max-microvolt	= <1500000>;
408				regulator-always-on;
409				regulator-boot-on;
410				op_mode = <1>; /* Normal Mode */
411			};
412
413			buck6_reg: BUCK6 {
414				regulator-name = "vdd12_5m";
415				regulator-min-microvolt = <750000>;
416				regulator-max-microvolt	= <1500000>;
417				regulator-always-on;
418				regulator-boot-on;
419				op_mode = <1>; /* Normal Mode */
420			};
421
422			buck7_reg: BUCK7 {
423				regulator-name = "pvdd_buck7";
424				regulator-min-microvolt = <750000>;
425				regulator-max-microvolt	= <2000000>;
426				regulator-boot-on;
427				regulator-always-on;
428				op_mode = <1>; /* Normal Mode */
429			};
430
431			buck8_reg: BUCK8 {
432				regulator-name = "pvdd_buck8";
433				regulator-min-microvolt = <750000>;
434				regulator-max-microvolt	= <1500000>;
435				regulator-boot-on;
436				regulator-always-on;
437				op_mode = <1>; /* Normal Mode */
438			};
439
440			buck9_reg: BUCK9 {
441				regulator-name = "vddf28_emmc";
442				regulator-min-microvolt = <750000>;
443				regulator-max-microvolt	= <3000000>;
444				op_mode = <1>; /* Normal Mode */
445			};
446		};
447
448		s5m8767_osc: clocks {
449			#clock-cells = <1>;
450			clock-output-names = "s5m8767_ap",
451					"s5m8767_cp", "s5m8767_bt";
452		};
453
454	};
455};
456
457&mfc {
458	status = "okay";
459};
460
461&mshc_0 {
462	pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
463	pinctrl-names = "default";
464	status = "okay";
465	vmmc-supply = <&buck9_reg>;
466	broken-cd;
467	card-detect-delay = <200>;
468	samsung,dw-mshc-ciu-div = <3>;
469	samsung,dw-mshc-sdr-timing = <2 3>;
470	samsung,dw-mshc-ddr-timing = <1 2>;
471	bus-width = <8>;
472	cap-mmc-highspeed;
473};
474
475&pinctrl_1 {
476	hsic_reset: hsic-reset {
477		samsung,pins = "gpm2-4";
478		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
479		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
480		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
481	};
482};
483
484&rtc {
485	status = "okay";
486	clocks = <&clock CLK_RTC>, <&s5m8767_osc S2MPS11_CLK_AP>;
487	clock-names = "rtc", "rtc_src";
488};
489
490&tmu {
491	vtmu-supply = <&ldo16_reg>;
492	status = "okay";
493};