Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.9.4.
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Samsung's Exynos3250 based ARTIK5 module device tree source
  4 *
  5 * Copyright (c) 2016 Samsung Electronics Co., Ltd.
  6 *		http://www.samsung.com
  7 *
  8 * Device tree source file for Samsung's ARTIK5 module which is based on
  9 * Samsung Exynos3250 SoC.
 10 */
 11
 12#include "exynos3250.dtsi"
 13#include <dt-bindings/clock/samsung,s2mps11.h>
 14#include <dt-bindings/gpio/gpio.h>
 15#include <dt-bindings/interrupt-controller/irq.h>
 16
 17/ {
 18	compatible = "samsung,artik5", "samsung,exynos3250", "samsung,exynos3";
 19
 20	chosen {
 21		stdout-path = &serial_2;
 22	};
 23
 24	memory@40000000 {
 25		device_type = "memory";
 26		reg = <0x40000000 0x1ff00000>;
 27	};
 28
 29	firmware@205f000 {
 30		compatible = "samsung,secure-firmware";
 31		reg = <0x0205f000 0x1000>;
 32	};
 33
 34	thermal-zones {
 35		cpu_thermal: cpu-thermal {
 36			cooling-maps {
 37				map0 {
 38					/* Corresponds to 500MHz */
 39					cooling-device = <&cpu0 5 5>;
 40				};
 41				map1 {
 42					/* Corresponds to 200MHz */
 43					cooling-device = <&cpu0 8 8>;
 44				};
 45			};
 46		};
 47	};
 48};
 49
 50&adc {
 51	vdd-supply = <&ldo7_reg>;
 52	assigned-clocks = <&cmu CLK_SCLK_TSADC>;
 53	assigned-clock-rates = <6000000>;
 54};
 55
 56&cpu0 {
 57	cpu0-supply = <&buck2_reg>;
 58};
 59
 60&i2c_0 {
 61	#address-cells = <1>;
 62	#size-cells = <0>;
 63	samsung,i2c-sda-delay = <100>;
 64	samsung,i2c-slave-addr = <0x10>;
 65	samsung,i2c-max-bus-freq = <100000>;
 66	status = "okay";
 67
 68	s2mps14_pmic@66 {
 69		compatible = "samsung,s2mps14-pmic";
 70		interrupt-parent = <&gpx3>;
 71		interrupts = <5 IRQ_TYPE_NONE>;
 72		reg = <0x66>;
 73
 74		s2mps14_osc: clocks {
 75			compatible = "samsung,s2mps14-clk";
 76			#clock-cells = <1>;
 77			clock-output-names = "s2mps14_ap", "unused",
 78				"s2mps14_bt";
 79		};
 80
 81		regulators {
 82			ldo1_reg: LDO1 {
 83				/* VDD_ALIVE15x */
 84				regulator-name = "VLDO1_1.0V";
 85				regulator-min-microvolt = <1000000>;
 86				regulator-max-microvolt = <1000000>;
 87				regulator-always-on;
 88			};
 89
 90			ldo2_reg: LDO2 {
 91				/* VDDQM176 ~ VDDQM185 */
 92				regulator-name = "VLDO2_1.2V";
 93				regulator-min-microvolt = <1200000>;
 94				regulator-max-microvolt = <1200000>;
 95				regulator-always-on;
 96			};
 97
 98			ldo3_reg: LDO3 {
 99				/*
100				 * VDD1_E106 ~ VDD1_E111
101				 * DVDD_RTC_AP, DVDD_MMC2_AP
102				 */
103				regulator-name = "VLDO3_1.8V";
104				regulator-min-microvolt = <1800000>;
105				regulator-max-microvolt = <1800000>;
106				regulator-always-on;
107			};
108
109			ldo4_reg: LDO4 {
110				/*  AVDD_PLL1120 ~ AVDD_PLL11201 */
111				regulator-name = "VLDO4_1.8V";
112				regulator-min-microvolt = <1800000>;
113				regulator-max-microvolt = <1800000>;
114				regulator-always-on;
115			};
116
117			ldo5_reg: LDO5 {
118				/* VDDI_PLL_ISO141 ~ VDDI_PLL_ISO142 */
119				regulator-name = "VLDO5_1.0V";
120				regulator-min-microvolt = <1000000>;
121				regulator-max-microvolt = <1000000>;
122				regulator-always-on;
123			};
124
125			ldo6_reg: LDO6 {
126				/* VDD_USB, VDD10_HSIC */
127				regulator-name = "VLDO6_1.0V";
128				regulator-min-microvolt = <1000000>;
129				regulator-max-microvolt = <1000000>;
130				regulator-always-on;
131			};
132
133			ldo7_reg: LDO7 {
134				/*
135				 * VDD18P, AVDD18_TS, AVDD18_HSIC, AVDD_PLL2,
136				 * AVDD_ADC, AVDD_ABB_0, M4S_VDD18
137				 */
138				regulator-name = "VLDO7_1.8V";
139				regulator-min-microvolt = <1800000>;
140				regulator-max-microvolt = <1800000>;
141				regulator-always-on;
142			};
143
144			ldo8_reg: LDO8 {
145				/* AVDD33_UOTG */
146				regulator-name = "VLDO8_3.0V";
147				regulator-min-microvolt = <3000000>;
148				regulator-max-microvolt = <3000000>;
149				regulator-always-on;
150			};
151
152			ldo9_reg: LDO9 {
153				/* VDDQ_E86 ~ VDDQ_E105*/
154				regulator-name = "VLDO9_1.2V";
155				regulator-min-microvolt = <1200000>;
156				regulator-max-microvolt = <1200000>;
157				regulator-always-on;
158			};
159
160			ldo10_reg: LDO10 {
161				regulator-name = "VLDO10_1.0V";
162				regulator-min-microvolt = <1000000>;
163				regulator-max-microvolt = <1000000>;
164			};
165
166			ldo11_reg: LDO11 {
167				/* VDD74 ~ VDD75 */
168				regulator-name = "VLDO11_1.8V";
169				regulator-min-microvolt = <1800000>;
170				regulator-max-microvolt = <1800000>;
171				samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
172			};
173
174			ldo12_reg: LDO12 {
175				/* VDD72 ~ VDD73 */
176				regulator-name = "VLDO12_2.8V";
177				regulator-min-microvolt = <2800000>;
178				regulator-max-microvolt = <2800000>;
179				samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
180			};
181
182			ldo13_reg: LDO13 {
183				regulator-name = "VLDO13_2.8V";
184				regulator-min-microvolt = <2800000>;
185				regulator-max-microvolt = <2800000>;
186			};
187
188			ldo14_reg: LDO14 {
189				regulator-name = "VLDO14_2.7V";
190				regulator-min-microvolt = <2700000>;
191				regulator-max-microvolt = <2700000>;
192			};
193
194			ldo15_reg: LDO15 {
195				regulator-name = "VLDO_3.3V";
196				regulator-min-microvolt = <3300000>;
197				regulator-max-microvolt = <3300000>;
198			};
199
200			ldo16_reg: LDO16 {
201				regulator-name = "VLDO16_3.3V";
202				regulator-min-microvolt = <3300000>;
203				regulator-max-microvolt = <3300000>;
204			};
205
206			ldo17_reg: LDO17 {
207				regulator-name = "VLDO17_3.0V";
208				regulator-min-microvolt = <3000000>;
209				regulator-max-microvolt = <3000000>;
210			};
211
212			ldo18_reg: LDO18 {
213				/* DVDD_MMC2_AP */
214				regulator-name = "VLDO18_2.8V";
215				regulator-min-microvolt = <2800000>;
216				regulator-max-microvolt = <2800000>;
217			};
218
219			ldo19_reg: LDO19 {
220				regulator-name = "VLDO19_1.8V";
221				regulator-min-microvolt = <1800000>;
222				regulator-max-microvolt = <1800000>;
223			};
224
225			ldo20_reg: LDO20 {
226				regulator-name = "VLDO20_1.8V";
227				regulator-min-microvolt = <1800000>;
228				regulator-max-microvolt = <1800000>;
229			};
230
231			ldo21_reg: LDO21 {
232				regulator-name = "VLDO21_1.25V";
233				regulator-min-microvolt = <1250000>;
234				regulator-max-microvolt = <1250000>;
235			};
236
237			ldo22_reg: LDO22 {
238				regulator-name = "VLDO22_1.2V";
239				regulator-min-microvolt = <1200000>;
240				regulator-max-microvolt = <1200000>;
241			};
242
243			ldo23_reg: LDO23 {
244				/* Xi2c3_SDA/SCL, Xi2c7_SDA/SCL, WLAN_SDIO */
245				regulator-name = "VLDO23_1.8V";
246				regulator-min-microvolt = <1800000>;
247				regulator-max-microvolt = <1800000>;
248				regulator-always-on;
249			};
250
251			ldo24_reg: LDO24 {
252				regulator-name = "VLDO24_3.0V";
253				regulator-min-microvolt = <3000000>;
254				regulator-max-microvolt = <3000000>;
255			};
256
257			ldo25_reg: LDO25 {
258				regulator-name = "VLDO25_3.0V";
259				regulator-min-microvolt = <3000000>;
260				regulator-max-microvolt = <3000000>;
261			};
262
263			buck1_reg: BUCK1 {
264				/* VDD_MIF */
265				regulator-name = "VBUCK1_1.0V";
266				regulator-min-microvolt = <800000>;
267				regulator-max-microvolt = <1000000>;
268				regulator-always-on;
269			};
270
271			buck2_reg: BUCK2 {
272				/* VDD_CPU */
273				regulator-name = "VBUCK2_1.2V";
274				regulator-min-microvolt = <850000>;
275				regulator-max-microvolt = <1200000>;
276				regulator-always-on;
277			};
278
279			buck3_reg: BUCK3 {
280				/* VDD_G3D */
281				regulator-name = "VBUCK3_1.0V";
282				regulator-min-microvolt = <850000>;
283				regulator-max-microvolt = <1000000>;
284				regulator-always-on;
285			};
286
287			buck4_reg: BUCK4 {
288				regulator-name = "VBUCK4_1.95V";
289				regulator-min-microvolt = <1950000>;
290				regulator-max-microvolt = <1950000>;
291				regulator-always-on;
292			};
293
294			buck5_reg: BUCK5 {
295				regulator-name = "VBUCK5_1.35V";
296				regulator-min-microvolt = <1350000>;
297				regulator-max-microvolt = <1350000>;
298				regulator-always-on;
299			};
300		};
301	};
302};
303
304&mshc_0 {
305	non-removable;
306	cap-mmc-highspeed;
307	card-detect-delay = <200>;
308	vmmc-supply = <&ldo12_reg>;
309	clock-frequency = <100000000>;
310	max-frequency = <100000000>;
311	samsung,dw-mshc-ciu-div = <1>;
312	samsung,dw-mshc-sdr-timing = <0 1>;
313	samsung,dw-mshc-ddr-timing = <1 2>;
314	pinctrl-names = "default";
315	pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
316	bus-width = <8>;
317	status = "okay";
318};
319
320&mshc_1 {
321	cap-sd-highspeed;
322	cap-sdio-irq;
323	disable-wp;
324	non-removable;
325	keep-power-in-suspend;
326	fifo-depth = <0x40>;
327	vqmmc-supply = <&ldo11_reg>;
328	/*
329	 * Voltage negotiation is broken for the SDIO periph so we
330	 * can't actually set the voltage here.
331	 * vmmc-supply = <&ldo23_reg>;
332	 */
333	card-detect-delay = <500>;
334	clock-frequency = <100000000>;
335	max-frequency = <100000000>;
336	samsung,dw-mshc-ciu-div = <3>;
337	samsung,dw-mshc-sdr-timing = <0 1>;
338	samsung,dw-mshc-ddr-timing = <1 2>;
339	pinctrl-names = "default";
340	pinctrl-0 = <&sd1_cmd &sd1_clk &sd1_bus1 &sd1_bus4 &wlanen>;
341	bus-width = <4>;
342	status = "okay";
343};
344
345&pinctrl_1 {
346	wlanen: wlanen {
347		samsung,pins = "gpx2-3";
348		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
349		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
350		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>;
351		samsung,pin-val = <1>;
352	};
353};
354
355&rtc {
356	clocks = <&cmu CLK_RTC>, <&s2mps14_osc S2MPS11_CLK_AP>;
357	clock-names = "rtc", "rtc_src";
358	status = "okay";
359};
360
361&tmu {
362	status = "okay";
363};
364
365&xusbxti {
366	clock-frequency = <24000000>;
367};