Linux Audio

Check our new training course

Loading...
v6.2
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Samsung's S5PV210 SoC device tree source
  4 *
  5 * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.
  6 *
  7 * Mateusz Krawczuk <m.krawczuk@partner.samsung.com>
  8 * Tomasz Figa <t.figa@samsung.com>
  9 *
 10 * Samsung's S5PV210 SoC device nodes are listed in this file. S5PV210
 11 * based board files can include this file and provide values for board specfic
 12 * bindings.
 13 *
 14 * Note: This file does not include device nodes for all the controllers in
 15 * S5PV210 SoC. As device tree coverage for S5PV210 increases, additional
 16 * nodes can be added to this file.
 17 */
 18
 19#include <dt-bindings/clock/s5pv210.h>
 20#include <dt-bindings/clock/s5pv210-audss.h>
 21
 22/ {
 23	#address-cells = <1>;
 24	#size-cells = <1>;
 25
 26	aliases {
 27		csis0 = &csis0;
 28		dmc0 = &dmc0;
 29		dmc1 = &dmc1;
 30		fimc0 = &fimc0;
 31		fimc1 = &fimc1;
 32		fimc2 = &fimc2;
 33		i2c0 = &i2c0;
 34		i2c1 = &i2c1;
 35		i2c2 = &i2c2;
 36		i2s0 = &i2s0;
 37		i2s1 = &i2s1;
 38		i2s2 = &i2s2;
 39		pinctrl0 = &pinctrl0;
 40		spi0 = &spi0;
 41		spi1 = &spi1;
 42	};
 43
 44	cpus {
 45		#address-cells = <1>;
 46		#size-cells = <0>;
 47
 48		cpu@0 {
 49			device_type = "cpu";
 50			compatible = "arm,cortex-a8";
 51			reg = <0>;
 52		};
 53	};
 54
 55	xxti: oscillator-0 {
 56		compatible = "fixed-clock";
 57		clock-frequency = <0>;
 58		clock-output-names = "xxti";
 59		#clock-cells = <0>;
 60	};
 61
 62	xusbxti: oscillator-1 {
 63		compatible = "fixed-clock";
 64		clock-frequency = <0>;
 65		clock-output-names = "xusbxti";
 66		#clock-cells = <0>;
 67	};
 68
 69	soc {
 70		compatible = "simple-bus";
 71		#address-cells = <1>;
 72		#size-cells = <1>;
 73		ranges;
 74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 75		onenand: onenand@b0600000 {
 76			compatible = "samsung,s5pv210-onenand";
 77			reg = <0xb0600000 0x2000>,
 78				<0xb0000000 0x20000>,
 79				<0xb0040000 0x20000>;
 80			interrupt-parent = <&vic1>;
 81			interrupts = <31>;
 82			clocks = <&clocks CLK_NANDXL>, <&clocks DOUT_FLASH>;
 83			clock-names = "bus", "onenand";
 84			#address-cells = <1>;
 85			#size-cells = <1>;
 86			status = "disabled";
 87		};
 88
 89		chipid@e0000000 {
 90			compatible = "samsung,s5pv210-chipid";
 91			reg = <0xe0000000 0x1000>;
 92		};
 93
 94		clocks: clock-controller@e0100000 {
 95			compatible = "samsung,s5pv210-clock";
 96			reg = <0xe0100000 0x10000>;
 97			clock-names = "xxti", "xusbxti";
 98			clocks = <&xxti>, <&xusbxti>;
 99			#clock-cells = <1>;
100		};
 
 
101
102		pmu_syscon: syscon@e0108000 {
103			compatible = "samsung-s5pv210-pmu", "syscon";
104			reg = <0xe0108000 0x8000>;
 
105		};
106
107		pinctrl0: pinctrl@e0200000 {
108			compatible = "samsung,s5pv210-pinctrl";
109			reg = <0xe0200000 0x1000>;
110			interrupt-parent = <&vic0>;
111			interrupts = <30>;
112
113			wakeup-interrupt-controller {
114				compatible = "samsung,s5pv210-wakeup-eint";
115				interrupts = <16>;
116				interrupt-parent = <&vic0>;
117			};
118		};
119
120		pdma0: dma-controller@e0900000 {
121			compatible = "arm,pl330", "arm,primecell";
122			reg = <0xe0900000 0x1000>;
123			interrupt-parent = <&vic0>;
124			interrupts = <19>;
125			clocks = <&clocks CLK_PDMA0>;
126			clock-names = "apb_pclk";
127			#dma-cells = <1>;
128		};
129
130		pdma1: dma-controller@e0a00000 {
131			compatible = "arm,pl330", "arm,primecell";
132			reg = <0xe0a00000 0x1000>;
133			interrupt-parent = <&vic0>;
134			interrupts = <20>;
135			clocks = <&clocks CLK_PDMA1>;
136			clock-names = "apb_pclk";
137			#dma-cells = <1>;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138		};
139
140		adc: adc@e1700000 {
141			compatible = "samsung,s5pv210-adc";
142			reg = <0xe1700000 0x1000>;
143			interrupt-parent = <&vic2>;
144			interrupts = <23>, <24>;
145			clocks = <&clocks CLK_TSADC>;
146			clock-names = "adc";
147			#io-channel-cells = <1>;
 
148			status = "disabled";
149		};
150
151		spi0: spi@e1300000 {
152			compatible = "samsung,s5pv210-spi";
153			reg = <0xe1300000 0x1000>;
154			interrupt-parent = <&vic1>;
155			interrupts = <15>;
156			dmas = <&pdma0 7>, <&pdma0 6>;
157			dma-names = "tx", "rx";
158			clocks = <&clocks SCLK_SPI0>, <&clocks CLK_SPI0>;
159			clock-names = "spi", "spi_busclk0";
160			pinctrl-names = "default";
161			pinctrl-0 = <&spi0_bus>;
162			#address-cells = <1>;
163			#size-cells = <0>;
164			status = "disabled";
165		};
166
167		spi1: spi@e1400000 {
168			compatible = "samsung,s5pv210-spi";
169			reg = <0xe1400000 0x1000>;
170			interrupt-parent = <&vic1>;
171			interrupts = <16>;
172			dmas = <&pdma1 7>, <&pdma1 6>;
173			dma-names = "tx", "rx";
174			clocks = <&clocks SCLK_SPI1>, <&clocks CLK_SPI1>;
175			clock-names = "spi", "spi_busclk0";
176			pinctrl-names = "default";
177			pinctrl-0 = <&spi1_bus>;
178			#address-cells = <1>;
179			#size-cells = <0>;
180			status = "disabled";
181		};
182
183		keypad: keypad@e1600000 {
184			compatible = "samsung,s5pv210-keypad";
185			reg = <0xe1600000 0x1000>;
186			interrupt-parent = <&vic2>;
187			interrupts = <25>;
188			clocks = <&clocks CLK_KEYIF>;
189			clock-names = "keypad";
190			status = "disabled";
191		};
192
193		i2c0: i2c@e1800000 {
194			compatible = "samsung,s3c2440-i2c";
195			reg = <0xe1800000 0x1000>;
196			interrupt-parent = <&vic1>;
197			interrupts = <14>;
198			clocks = <&clocks CLK_I2C0>;
199			clock-names = "i2c";
200			pinctrl-names = "default";
201			pinctrl-0 = <&i2c0_bus>;
202			#address-cells = <1>;
203			#size-cells = <0>;
204			status = "disabled";
205		};
206
207		i2c2: i2c@e1a00000 {
208			compatible = "samsung,s3c2440-i2c";
209			reg = <0xe1a00000 0x1000>;
210			interrupt-parent = <&vic1>;
211			interrupts = <19>;
212			clocks = <&clocks CLK_I2C2>;
213			clock-names = "i2c";
214			pinctrl-0 = <&i2c2_bus>;
215			pinctrl-names = "default";
216			#address-cells = <1>;
217			#size-cells = <0>;
218			status = "disabled";
219		};
220
221		clk_audss: clock-controller@eee10000 {
222			compatible = "samsung,s5pv210-audss-clock";
223			reg = <0xeee10000 0x1000>;
224			clock-names = "hclk", "xxti",
225				      "fout_epll",
226				      "sclk_audio0";
227			clocks = <&clocks DOUT_HCLKP>, <&xxti>,
228				 <&clocks FOUT_EPLL>,
229				 <&clocks SCLK_AUDIO0>;
230			#clock-cells = <1>;
231		};
232
233		i2s0: i2s@eee30000 {
234			compatible = "samsung,s5pv210-i2s";
235			reg = <0xeee30000 0x1000>;
236			interrupt-parent = <&vic2>;
237			interrupts = <16>;
238			dma-names = "tx", "rx", "tx-sec";
239			dmas = <&pdma1 10>, <&pdma1 9>, <&pdma1 11>;
240			clock-names = "iis",
241				      "i2s_opclk0",
242				      "i2s_opclk1";
243			clocks = <&clk_audss CLK_I2S>,
244				 <&clk_audss CLK_I2S>,
245				 <&clk_audss CLK_DOUT_AUD_BUS>;
246			samsung,idma-addr = <0xc0010000>;
247			pinctrl-names = "default";
248			pinctrl-0 = <&i2s0_bus>;
249			#sound-dai-cells = <0>;
250			status = "disabled";
 
 
 
 
 
 
 
 
 
 
 
 
 
251		};
252
253		i2s1: i2s@e2100000 {
254			compatible = "samsung,s3c6410-i2s";
255			reg = <0xe2100000 0x1000>;
256			interrupt-parent = <&vic2>;
257			interrupts = <17>;
258			dma-names = "tx", "rx";
259			dmas = <&pdma1 13>, <&pdma1 12>;
260			clock-names = "iis", "i2s_opclk0";
261			clocks = <&clocks CLK_I2S1>, <&clocks SCLK_AUDIO1>;
262			pinctrl-names = "default";
263			pinctrl-0 = <&i2s1_bus>;
264			#sound-dai-cells = <0>;
265			status = "disabled";
266		};
267
268		i2s2: i2s@e2a00000 {
269			compatible = "samsung,s3c6410-i2s";
270			reg = <0xe2a00000 0x1000>;
271			interrupt-parent = <&vic2>;
272			interrupts = <18>;
273			dma-names = "tx", "rx";
274			dmas = <&pdma1 15>, <&pdma1 14>;
275			clock-names = "iis", "i2s_opclk0";
276			clocks = <&clocks CLK_I2S2>, <&clocks SCLK_AUDIO2>;
277			pinctrl-names = "default";
278			pinctrl-0 = <&i2s2_bus>;
279			#sound-dai-cells = <0>;
280			status = "disabled";
281		};
282
283		pwm: pwm@e2500000 {
284			compatible = "samsung,s5pc100-pwm";
285			reg = <0xe2500000 0x1000>;
286			interrupt-parent = <&vic0>;
287			interrupts = <21>, <22>, <23>, <24>, <25>;
288			clock-names = "timers";
289			clocks = <&clocks CLK_PWM>;
290			#pwm-cells = <3>;
291		};
292
293		watchdog: watchdog@e2700000 {
294			compatible = "samsung,s3c6410-wdt";
295			reg = <0xe2700000 0x1000>;
296			interrupt-parent = <&vic0>;
297			interrupts = <26>;
298			clock-names = "watchdog";
299			clocks = <&clocks CLK_WDT>;
300		};
301
302		rtc: rtc@e2800000 {
303			compatible = "samsung,s3c6410-rtc";
304			reg = <0xe2800000 0x100>;
305			interrupt-parent = <&vic0>;
306			interrupts = <28>, <29>;
307			clocks = <&clocks CLK_RTC>;
308			clock-names = "rtc";
309			status = "disabled";
310		};
311
312		uart0: serial@e2900000 {
313			compatible = "samsung,s5pv210-uart";
314			reg = <0xe2900000 0x400>;
315			interrupt-parent = <&vic1>;
316			interrupts = <10>;
317			clock-names = "uart", "clk_uart_baud0",
318					"clk_uart_baud1";
319			clocks = <&clocks CLK_UART0>, <&clocks CLK_UART0>,
320					<&clocks SCLK_UART0>;
321			status = "disabled";
322		};
323
324		uart1: serial@e2900400 {
325			compatible = "samsung,s5pv210-uart";
326			reg = <0xe2900400 0x400>;
327			interrupt-parent = <&vic1>;
328			interrupts = <11>;
329			clock-names = "uart", "clk_uart_baud0",
330					"clk_uart_baud1";
331			clocks = <&clocks CLK_UART1>, <&clocks CLK_UART1>,
332					<&clocks SCLK_UART1>;
333			status = "disabled";
334		};
335
336		uart2: serial@e2900800 {
337			compatible = "samsung,s5pv210-uart";
338			reg = <0xe2900800 0x400>;
339			interrupt-parent = <&vic1>;
340			interrupts = <12>;
341			clock-names = "uart", "clk_uart_baud0",
342					"clk_uart_baud1";
343			clocks = <&clocks CLK_UART2>, <&clocks CLK_UART2>,
344					<&clocks SCLK_UART2>;
345			status = "disabled";
346		};
347
348		uart3: serial@e2900c00 {
349			compatible = "samsung,s5pv210-uart";
350			reg = <0xe2900c00 0x400>;
351			interrupt-parent = <&vic1>;
352			interrupts = <13>;
353			clock-names = "uart", "clk_uart_baud0",
354					"clk_uart_baud1";
355			clocks = <&clocks CLK_UART3>, <&clocks CLK_UART3>,
356					<&clocks SCLK_UART3>;
357			status = "disabled";
358		};
359
360		sdhci0: mmc@eb000000 {
361			compatible = "samsung,s3c6410-sdhci";
362			reg = <0xeb000000 0x100000>;
363			interrupt-parent = <&vic1>;
364			interrupts = <26>;
365			clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
366			clocks = <&clocks CLK_HSMMC0>, <&clocks CLK_HSMMC0>,
367					<&clocks SCLK_MMC0>;
368			status = "disabled";
369		};
370
371		sdhci1: mmc@eb100000 {
372			compatible = "samsung,s3c6410-sdhci";
373			reg = <0xeb100000 0x100000>;
374			interrupt-parent = <&vic1>;
375			interrupts = <27>;
376			clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
377			clocks = <&clocks CLK_HSMMC1>, <&clocks CLK_HSMMC1>,
378					<&clocks SCLK_MMC1>;
379			status = "disabled";
380		};
381
382		sdhci2: mmc@eb200000 {
383			compatible = "samsung,s3c6410-sdhci";
384			reg = <0xeb200000 0x100000>;
385			interrupt-parent = <&vic1>;
386			interrupts = <28>;
387			clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
388			clocks = <&clocks CLK_HSMMC2>, <&clocks CLK_HSMMC2>,
389					<&clocks SCLK_MMC2>;
390			status = "disabled";
391		};
392
393		sdhci3: mmc@eb300000 {
394			compatible = "samsung,s3c6410-sdhci";
395			reg = <0xeb300000 0x100000>;
396			interrupt-parent = <&vic3>;
397			interrupts = <2>;
398			clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.3";
399			clocks = <&clocks CLK_HSMMC3>, <&clocks CLK_HSMMC3>,
400					<&clocks SCLK_MMC3>;
401			status = "disabled";
402		};
403
404		hsotg: hsotg@ec000000 {
405			compatible = "samsung,s3c6400-hsotg";
406			reg = <0xec000000 0x20000>;
407			interrupt-parent = <&vic1>;
408			interrupts = <24>;
409			clocks = <&clocks CLK_USB_OTG>;
410			clock-names = "otg";
411			phy-names = "usb2-phy";
412			phys = <&usbphy 0>;
413			status = "disabled";
414		};
415
416		usbphy: usbphy@ec100000 {
417			compatible = "samsung,s5pv210-usb2-phy";
418			reg = <0xec100000 0x100>;
419			samsung,pmureg-phandle = <&pmu_syscon>;
420			clocks = <&clocks CLK_USB_OTG>, <&xusbxti>;
421			clock-names = "phy", "ref";
422			#phy-cells = <1>;
423			status = "disabled";
424		};
425
426		ehci: usb@ec200000 {
427			compatible = "samsung,exynos4210-ehci";
428			reg = <0xec200000 0x100>;
429			interrupts = <23>;
430			interrupt-parent = <&vic1>;
431			clocks = <&clocks CLK_USB_HOST>;
432			clock-names = "usbhost";
433			phys = <&usbphy 1>;
434			phy-names = "host";
435			status = "disabled";
 
 
 
 
 
436		};
437
438		ohci: usb@ec300000 {
439			compatible = "samsung,exynos4210-ohci";
440			reg = <0xec300000 0x100>;
441			interrupts = <23>;
442			interrupt-parent = <&vic1>;
443			clocks = <&clocks CLK_USB_HOST>;
444			clock-names = "usbhost";
445			phys = <&usbphy 1>;
446			phy-names = "host";
447			status = "disabled";
 
 
 
 
 
448		};
449
450		mfc: codec@f1700000 {
451			compatible = "samsung,mfc-v5";
452			reg = <0xf1700000 0x10000>;
453			interrupt-parent = <&vic2>;
454			interrupts = <14>;
455			clocks = <&clocks DOUT_MFC>, <&clocks CLK_MFC>;
456			clock-names = "sclk_mfc", "mfc";
457		};
458
459		vic0: interrupt-controller@f2000000 {
460			compatible = "arm,pl192-vic";
461			interrupt-controller;
462			reg = <0xf2000000 0x1000>;
463			#interrupt-cells = <1>;
464		};
465
466		vic1: interrupt-controller@f2100000 {
467			compatible = "arm,pl192-vic";
468			interrupt-controller;
469			reg = <0xf2100000 0x1000>;
470			#interrupt-cells = <1>;
471		};
472
473		vic2: interrupt-controller@f2200000 {
474			compatible = "arm,pl192-vic";
475			interrupt-controller;
476			reg = <0xf2200000 0x1000>;
477			#interrupt-cells = <1>;
478		};
479
480		vic3: interrupt-controller@f2300000 {
481			compatible = "arm,pl192-vic";
482			interrupt-controller;
483			reg = <0xf2300000 0x1000>;
484			#interrupt-cells = <1>;
485		};
486
487		fimd: fimd@f8000000 {
488			compatible = "samsung,s5pv210-fimd";
489			interrupt-parent = <&vic2>;
490			reg = <0xf8000000 0x20000>;
491			interrupt-names = "fifo", "vsync", "lcd_sys";
492			interrupts = <0>, <1>, <2>;
493			clocks = <&clocks SCLK_FIMD>, <&clocks CLK_FIMD>;
494			clock-names = "sclk_fimd", "fimd";
495			status = "disabled";
496		};
497
498		dmc0: dmc@f0000000 {
499			compatible = "samsung,s5pv210-dmc";
500			reg = <0xf0000000 0x1000>;
501		};
502
503		dmc1: dmc@f1400000 {
504			compatible = "samsung,s5pv210-dmc";
505			reg = <0xf1400000 0x1000>;
506		};
507
508		g2d: g2d@fa000000 {
509			compatible = "samsung,s5pv210-g2d";
510			reg = <0xfa000000 0x1000>;
511			interrupt-parent = <&vic2>;
512			interrupts = <9>;
513			clocks = <&clocks DOUT_G2D>, <&clocks CLK_G2D>;
514			clock-names = "sclk_fimg2d", "fimg2d";
515		};
516
517		mdma1: dma-controller@fa200000 {
518			compatible = "arm,pl330", "arm,primecell";
519			reg = <0xfa200000 0x1000>;
520			interrupt-parent = <&vic0>;
521			interrupts = <18>;
522			clocks = <&clocks CLK_MDMA>;
523			clock-names = "apb_pclk";
524			#dma-cells = <1>;
 
 
525		};
526
527		rotator: rotator@fa300000 {
528			compatible = "samsung,s5pv210-rotator";
529			reg = <0xfa300000 0x1000>;
530			interrupt-parent = <&vic2>;
531			interrupts = <4>;
532			clocks = <&clocks CLK_ROTATOR>;
533			clock-names = "rotator";
534		};
535
536		i2c1: i2c@fab00000 {
537			compatible = "samsung,s3c2440-i2c";
538			reg = <0xfab00000 0x1000>;
539			interrupt-parent = <&vic2>;
540			interrupts = <13>;
541			clocks = <&clocks CLK_I2C1>;
542			clock-names = "i2c";
543			pinctrl-names = "default";
544			pinctrl-0 = <&i2c1_bus>;
545			#address-cells = <1>;
546			#size-cells = <0>;
547			status = "disabled";
548		};
549
550		camera: camera {
551			compatible = "samsung,fimc", "simple-bus";
552			pinctrl-names = "default";
553			pinctrl-0 = <>;
554			clocks = <&clocks SCLK_CAM0>, <&clocks SCLK_CAM1>;
555			clock-names = "sclk_cam0", "sclk_cam1";
556			#address-cells = <1>;
557			#size-cells = <1>;
558			#clock-cells = <1>;
559			clock-output-names = "cam_a_clkout", "cam_b_clkout";
560			ranges;
561
562			csis0: csis@fa600000 {
563				compatible = "samsung,s5pv210-csis";
564				reg = <0xfa600000 0x4000>;
565				interrupt-parent = <&vic2>;
566				interrupts = <29>;
567				clocks = <&clocks CLK_CSIS>,
568						<&clocks SCLK_CSIS>;
569				clock-names = "clk_csis",
570						"sclk_csis";
571				bus-width = <4>;
572				status = "disabled";
573				#address-cells = <1>;
574				#size-cells = <0>;
575			};
576
577			fimc0: fimc@fb200000 {
578				compatible = "samsung,s5pv210-fimc";
579				reg = <0xfb200000 0x1000>;
580				interrupts = <5>;
581				interrupt-parent = <&vic2>;
582				clocks = <&clocks CLK_FIMC0>,
583						<&clocks SCLK_FIMC0>;
584				clock-names = "fimc",
585						"sclk_fimc";
586				samsung,pix-limits = <4224 8192 1920 4224>;
587				samsung,min-pix-alignment = <16 8>;
588				samsung,cam-if;
589			};
590
591			fimc1: fimc@fb300000 {
592				compatible = "samsung,s5pv210-fimc";
593				reg = <0xfb300000 0x1000>;
594				interrupt-parent = <&vic2>;
595				interrupts = <6>;
596				clocks = <&clocks CLK_FIMC1>,
597						<&clocks SCLK_FIMC1>;
598				clock-names = "fimc",
599						"sclk_fimc";
600				samsung,pix-limits = <4224 8192 1920 4224>;
601				samsung,min-pix-alignment = <1 1>;
602				samsung,mainscaler-ext;
603				samsung,cam-if;
604				samsung,lcd-wb;
605			};
606
607			fimc2: fimc@fb400000 {
608				compatible = "samsung,s5pv210-fimc";
609				reg = <0xfb400000 0x1000>;
610				interrupt-parent = <&vic2>;
611				interrupts = <7>;
612				clocks = <&clocks CLK_FIMC2>,
613						<&clocks SCLK_FIMC2>;
614				clock-names = "fimc",
615						"sclk_fimc";
616				samsung,pix-limits = <1920 8192 1280 1920>;
617				samsung,min-pix-alignment = <16 8>;
618				samsung,rotators = <0>;
619				samsung,cam-if;
620			};
621		};
622
623		jpeg_codec: jpeg-codec@fb600000 {
624			compatible = "samsung,s5pv210-jpeg";
625			reg = <0xfb600000 0x1000>;
626			interrupt-parent = <&vic2>;
627			interrupts = <8>;
628			clocks = <&clocks CLK_JPEG>;
629			clock-names = "jpeg";
630		};
631	};
632};
633
634#include "s5pv210-pinctrl.dtsi"
v5.9
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Samsung's S5PV210 SoC device tree source
  4 *
  5 * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.
  6 *
  7 * Mateusz Krawczuk <m.krawczuk@partner.samsung.com>
  8 * Tomasz Figa <t.figa@samsung.com>
  9 *
 10 * Samsung's S5PV210 SoC device nodes are listed in this file. S5PV210
 11 * based board files can include this file and provide values for board specfic
 12 * bindings.
 13 *
 14 * Note: This file does not include device nodes for all the controllers in
 15 * S5PV210 SoC. As device tree coverage for S5PV210 increases, additional
 16 * nodes can be added to this file.
 17 */
 18
 19#include <dt-bindings/clock/s5pv210.h>
 20#include <dt-bindings/clock/s5pv210-audss.h>
 21
 22/ {
 23	#address-cells = <1>;
 24	#size-cells = <1>;
 25
 26	aliases {
 27		csis0 = &csis0;
 28		dmc0 = &dmc0;
 29		dmc1 = &dmc1;
 30		fimc0 = &fimc0;
 31		fimc1 = &fimc1;
 32		fimc2 = &fimc2;
 33		i2c0 = &i2c0;
 34		i2c1 = &i2c1;
 35		i2c2 = &i2c2;
 36		i2s0 = &i2s0;
 37		i2s1 = &i2s1;
 38		i2s2 = &i2s2;
 39		pinctrl0 = &pinctrl0;
 40		spi0 = &spi0;
 41		spi1 = &spi1;
 42	};
 43
 44	cpus {
 45		#address-cells = <1>;
 46		#size-cells = <0>;
 47
 48		cpu@0 {
 49			device_type = "cpu";
 50			compatible = "arm,cortex-a8";
 51			reg = <0>;
 52		};
 53	};
 54
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 55	soc {
 56		compatible = "simple-bus";
 57		#address-cells = <1>;
 58		#size-cells = <1>;
 59		ranges;
 60
 61		external-clocks {
 62			compatible = "simple-bus";
 63			#address-cells = <1>;
 64			#size-cells = <0>;
 65
 66			xxti: oscillator@0 {
 67				compatible = "fixed-clock";
 68				reg = <0>;
 69				clock-frequency = <0>;
 70				clock-output-names = "xxti";
 71				#clock-cells = <0>;
 72			};
 73
 74			xusbxti: oscillator@1 {
 75				compatible = "fixed-clock";
 76				reg = <1>;
 77				clock-frequency = <0>;
 78				clock-output-names = "xusbxti";
 79				#clock-cells = <0>;
 80			};
 81		};
 82
 83		onenand: onenand@b0600000 {
 84			compatible = "samsung,s5pv210-onenand";
 85			reg = <0xb0600000 0x2000>,
 86				<0xb0000000 0x20000>,
 87				<0xb0040000 0x20000>;
 88			interrupt-parent = <&vic1>;
 89			interrupts = <31>;
 90			clocks = <&clocks CLK_NANDXL>, <&clocks DOUT_FLASH>;
 91			clock-names = "bus", "onenand";
 92			#address-cells = <1>;
 93			#size-cells = <1>;
 94			status = "disabled";
 95		};
 96
 97		chipid@e0000000 {
 98			compatible = "samsung,s5pv210-chipid";
 99			reg = <0xe0000000 0x1000>;
100		};
101
102		clocks: clock-controller@e0100000 {
103			compatible = "samsung,s5pv210-clock", "simple-bus";
104			reg = <0xe0100000 0x10000>;
105			clock-names = "xxti", "xusbxti";
106			clocks = <&xxti>, <&xusbxti>;
107			#clock-cells = <1>;
108			#address-cells = <1>;
109			#size-cells = <1>;
110			ranges;
111
112			pmu_syscon: syscon@e0108000 {
113				compatible = "samsung-s5pv210-pmu", "syscon";
114				reg = <0xe0108000 0x8000>;
115			};
116		};
117
118		pinctrl0: pinctrl@e0200000 {
119			compatible = "samsung,s5pv210-pinctrl";
120			reg = <0xe0200000 0x1000>;
121			interrupt-parent = <&vic0>;
122			interrupts = <30>;
123
124			wakeup-interrupt-controller {
125				compatible = "samsung,s5pv210-wakeup-eint";
126				interrupts = <16>;
127				interrupt-parent = <&vic0>;
128			};
129		};
130
131		amba {
132			#address-cells = <1>;
133			#size-cells = <1>;
134			compatible = "simple-bus";
135			ranges;
 
 
 
 
136
137			pdma0: dma@e0900000 {
138				compatible = "arm,pl330", "arm,primecell";
139				reg = <0xe0900000 0x1000>;
140				interrupt-parent = <&vic0>;
141				interrupts = <19>;
142				clocks = <&clocks CLK_PDMA0>;
143				clock-names = "apb_pclk";
144				#dma-cells = <1>;
145				#dma-channels = <8>;
146				#dma-requests = <32>;
147			};
148
149			pdma1: dma@e0a00000 {
150				compatible = "arm,pl330", "arm,primecell";
151				reg = <0xe0a00000 0x1000>;
152				interrupt-parent = <&vic0>;
153				interrupts = <20>;
154				clocks = <&clocks CLK_PDMA1>;
155				clock-names = "apb_pclk";
156				#dma-cells = <1>;
157				#dma-channels = <8>;
158				#dma-requests = <32>;
159			};
160		};
161
162		adc: adc@e1700000 {
163			compatible = "samsung,s5pv210-adc";
164			reg = <0xe1700000 0x1000>;
165			interrupt-parent = <&vic2>;
166			interrupts = <23>, <24>;
167			clocks = <&clocks CLK_TSADC>;
168			clock-names = "adc";
169			#io-channel-cells = <1>;
170			io-channel-ranges;
171			status = "disabled";
172		};
173
174		spi0: spi@e1300000 {
175			compatible = "samsung,s5pv210-spi";
176			reg = <0xe1300000 0x1000>;
177			interrupt-parent = <&vic1>;
178			interrupts = <15>;
179			dmas = <&pdma0 7>, <&pdma0 6>;
180			dma-names = "tx", "rx";
181			clocks = <&clocks SCLK_SPI0>, <&clocks CLK_SPI0>;
182			clock-names = "spi", "spi_busclk0";
183			pinctrl-names = "default";
184			pinctrl-0 = <&spi0_bus>;
185			#address-cells = <1>;
186			#size-cells = <0>;
187			status = "disabled";
188		};
189
190		spi1: spi@e1400000 {
191			compatible = "samsung,s5pv210-spi";
192			reg = <0xe1400000 0x1000>;
193			interrupt-parent = <&vic1>;
194			interrupts = <16>;
195			dmas = <&pdma1 7>, <&pdma1 6>;
196			dma-names = "tx", "rx";
197			clocks = <&clocks SCLK_SPI1>, <&clocks CLK_SPI1>;
198			clock-names = "spi", "spi_busclk0";
199			pinctrl-names = "default";
200			pinctrl-0 = <&spi1_bus>;
201			#address-cells = <1>;
202			#size-cells = <0>;
203			status = "disabled";
204		};
205
206		keypad: keypad@e1600000 {
207			compatible = "samsung,s5pv210-keypad";
208			reg = <0xe1600000 0x1000>;
209			interrupt-parent = <&vic2>;
210			interrupts = <25>;
211			clocks = <&clocks CLK_KEYIF>;
212			clock-names = "keypad";
213			status = "disabled";
214		};
215
216		i2c0: i2c@e1800000 {
217			compatible = "samsung,s3c2440-i2c";
218			reg = <0xe1800000 0x1000>;
219			interrupt-parent = <&vic1>;
220			interrupts = <14>;
221			clocks = <&clocks CLK_I2C0>;
222			clock-names = "i2c";
223			pinctrl-names = "default";
224			pinctrl-0 = <&i2c0_bus>;
225			#address-cells = <1>;
226			#size-cells = <0>;
227			status = "disabled";
228		};
229
230		i2c2: i2c@e1a00000 {
231			compatible = "samsung,s3c2440-i2c";
232			reg = <0xe1a00000 0x1000>;
233			interrupt-parent = <&vic1>;
234			interrupts = <19>;
235			clocks = <&clocks CLK_I2C2>;
236			clock-names = "i2c";
237			pinctrl-0 = <&i2c2_bus>;
238			pinctrl-names = "default";
239			#address-cells = <1>;
240			#size-cells = <0>;
241			status = "disabled";
242		};
243
244		audio-subsystem {
245			compatible = "samsung,s5pv210-audss", "simple-bus";
246			#address-cells = <1>;
247			#size-cells = <1>;
248			ranges;
 
 
 
 
 
 
249
250			clk_audss: clock-controller@eee10000 {
251				compatible = "samsung,s5pv210-audss-clock";
252				reg = <0xeee10000 0x1000>;
253				clock-names = "hclk", "xxti",
254						"fout_epll",
255						"sclk_audio0";
256				clocks = <&clocks DOUT_HCLKP>, <&xxti>,
257						<&clocks FOUT_EPLL>,
258						<&clocks SCLK_AUDIO0>;
259				#clock-cells = <1>;
260			};
261
262			i2s0: i2s@eee30000 {
263				compatible = "samsung,s5pv210-i2s";
264				reg = <0xeee30000 0x1000>;
265				interrupt-parent = <&vic2>;
266				interrupts = <16>;
267				dma-names = "rx", "tx", "tx-sec";
268				dmas = <&pdma1 9>, <&pdma1 10>, <&pdma1 11>;
269				clock-names = "iis",
270						"i2s_opclk0",
271						"i2s_opclk1";
272				clocks = <&clk_audss CLK_I2S>,
273						<&clk_audss CLK_I2S>,
274						<&clk_audss CLK_DOUT_AUD_BUS>;
275				samsung,idma-addr = <0xc0010000>;
276				pinctrl-names = "default";
277				pinctrl-0 = <&i2s0_bus>;
278				#sound-dai-cells = <0>;
279				status = "disabled";
280			};
281		};
282
283		i2s1: i2s@e2100000 {
284			compatible = "samsung,s3c6410-i2s";
285			reg = <0xe2100000 0x1000>;
286			interrupt-parent = <&vic2>;
287			interrupts = <17>;
288			dma-names = "rx", "tx";
289			dmas = <&pdma1 12>, <&pdma1 13>;
290			clock-names = "iis", "i2s_opclk0";
291			clocks = <&clocks CLK_I2S1>, <&clocks SCLK_AUDIO1>;
292			pinctrl-names = "default";
293			pinctrl-0 = <&i2s1_bus>;
294			#sound-dai-cells = <0>;
295			status = "disabled";
296		};
297
298		i2s2: i2s@e2a00000 {
299			compatible = "samsung,s3c6410-i2s";
300			reg = <0xe2a00000 0x1000>;
301			interrupt-parent = <&vic2>;
302			interrupts = <18>;
303			dma-names = "rx", "tx";
304			dmas = <&pdma1 14>, <&pdma1 15>;
305			clock-names = "iis", "i2s_opclk0";
306			clocks = <&clocks CLK_I2S2>, <&clocks SCLK_AUDIO2>;
307			pinctrl-names = "default";
308			pinctrl-0 = <&i2s2_bus>;
309			#sound-dai-cells = <0>;
310			status = "disabled";
311		};
312
313		pwm: pwm@e2500000 {
314			compatible = "samsung,s5pc100-pwm";
315			reg = <0xe2500000 0x1000>;
316			interrupt-parent = <&vic0>;
317			interrupts = <21>, <22>, <23>, <24>, <25>;
318			clock-names = "timers";
319			clocks = <&clocks CLK_PWM>;
320			#pwm-cells = <3>;
321		};
322
323		watchdog: watchdog@e2700000 {
324			compatible = "samsung,s3c6410-wdt";
325			reg = <0xe2700000 0x1000>;
326			interrupt-parent = <&vic0>;
327			interrupts = <26>;
328			clock-names = "watchdog";
329			clocks = <&clocks CLK_WDT>;
330		};
331
332		rtc: rtc@e2800000 {
333			compatible = "samsung,s3c6410-rtc";
334			reg = <0xe2800000 0x100>;
335			interrupt-parent = <&vic0>;
336			interrupts = <28>, <29>;
337			clocks = <&clocks CLK_RTC>;
338			clock-names = "rtc";
339			status = "disabled";
340		};
341
342		uart0: serial@e2900000 {
343			compatible = "samsung,s5pv210-uart";
344			reg = <0xe2900000 0x400>;
345			interrupt-parent = <&vic1>;
346			interrupts = <10>;
347			clock-names = "uart", "clk_uart_baud0",
348					"clk_uart_baud1";
349			clocks = <&clocks CLK_UART0>, <&clocks CLK_UART0>,
350					<&clocks SCLK_UART0>;
351			status = "disabled";
352		};
353
354		uart1: serial@e2900400 {
355			compatible = "samsung,s5pv210-uart";
356			reg = <0xe2900400 0x400>;
357			interrupt-parent = <&vic1>;
358			interrupts = <11>;
359			clock-names = "uart", "clk_uart_baud0",
360					"clk_uart_baud1";
361			clocks = <&clocks CLK_UART1>, <&clocks CLK_UART1>,
362					<&clocks SCLK_UART1>;
363			status = "disabled";
364		};
365
366		uart2: serial@e2900800 {
367			compatible = "samsung,s5pv210-uart";
368			reg = <0xe2900800 0x400>;
369			interrupt-parent = <&vic1>;
370			interrupts = <12>;
371			clock-names = "uart", "clk_uart_baud0",
372					"clk_uart_baud1";
373			clocks = <&clocks CLK_UART2>, <&clocks CLK_UART2>,
374					<&clocks SCLK_UART2>;
375			status = "disabled";
376		};
377
378		uart3: serial@e2900c00 {
379			compatible = "samsung,s5pv210-uart";
380			reg = <0xe2900c00 0x400>;
381			interrupt-parent = <&vic1>;
382			interrupts = <13>;
383			clock-names = "uart", "clk_uart_baud0",
384					"clk_uart_baud1";
385			clocks = <&clocks CLK_UART3>, <&clocks CLK_UART3>,
386					<&clocks SCLK_UART3>;
387			status = "disabled";
388		};
389
390		sdhci0: sdhci@eb000000 {
391			compatible = "samsung,s3c6410-sdhci";
392			reg = <0xeb000000 0x100000>;
393			interrupt-parent = <&vic1>;
394			interrupts = <26>;
395			clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
396			clocks = <&clocks CLK_HSMMC0>, <&clocks CLK_HSMMC0>,
397					<&clocks SCLK_MMC0>;
398			status = "disabled";
399		};
400
401		sdhci1: sdhci@eb100000 {
402			compatible = "samsung,s3c6410-sdhci";
403			reg = <0xeb100000 0x100000>;
404			interrupt-parent = <&vic1>;
405			interrupts = <27>;
406			clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
407			clocks = <&clocks CLK_HSMMC1>, <&clocks CLK_HSMMC1>,
408					<&clocks SCLK_MMC1>;
409			status = "disabled";
410		};
411
412		sdhci2: sdhci@eb200000 {
413			compatible = "samsung,s3c6410-sdhci";
414			reg = <0xeb200000 0x100000>;
415			interrupt-parent = <&vic1>;
416			interrupts = <28>;
417			clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
418			clocks = <&clocks CLK_HSMMC2>, <&clocks CLK_HSMMC2>,
419					<&clocks SCLK_MMC2>;
420			status = "disabled";
421		};
422
423		sdhci3: sdhci@eb300000 {
424			compatible = "samsung,s3c6410-sdhci";
425			reg = <0xeb300000 0x100000>;
426			interrupt-parent = <&vic3>;
427			interrupts = <2>;
428			clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.3";
429			clocks = <&clocks CLK_HSMMC3>, <&clocks CLK_HSMMC3>,
430					<&clocks SCLK_MMC3>;
431			status = "disabled";
432		};
433
434		hsotg: hsotg@ec000000 {
435			compatible = "samsung,s3c6400-hsotg";
436			reg = <0xec000000 0x20000>;
437			interrupt-parent = <&vic1>;
438			interrupts = <24>;
439			clocks = <&clocks CLK_USB_OTG>;
440			clock-names = "otg";
441			phy-names = "usb2-phy";
442			phys = <&usbphy 0>;
443			status = "disabled";
444		};
445
446		usbphy: usbphy@ec100000 {
447			compatible = "samsung,s5pv210-usb2-phy";
448			reg = <0xec100000 0x100>;
449			samsung,pmureg-phandle = <&pmu_syscon>;
450			clocks = <&clocks CLK_USB_OTG>, <&xusbxti>;
451			clock-names = "phy", "ref";
452			#phy-cells = <1>;
453			status = "disabled";
454		};
455
456		ehci: ehci@ec200000 {
457			compatible = "samsung,exynos4210-ehci";
458			reg = <0xec200000 0x100>;
459			interrupts = <23>;
460			interrupt-parent = <&vic1>;
461			clocks = <&clocks CLK_USB_HOST>;
462			clock-names = "usbhost";
463			#address-cells = <1>;
464			#size-cells = <0>;
465			status = "disabled";
466
467			port@0 {
468				reg = <0>;
469				phys = <&usbphy 1>;
470			};
471		};
472
473		ohci: ohci@ec300000 {
474			compatible = "samsung,exynos4210-ohci";
475			reg = <0xec300000 0x100>;
476			interrupts = <23>;
477			interrupt-parent = <&vic1>;
478			clocks = <&clocks CLK_USB_HOST>;
479			clock-names = "usbhost";
480			#address-cells = <1>;
481			#size-cells = <0>;
482			status = "disabled";
483
484			port@0 {
485				reg = <0>;
486				phys = <&usbphy 1>;
487			};
488		};
489
490		mfc: codec@f1700000 {
491			compatible = "samsung,mfc-v5";
492			reg = <0xf1700000 0x10000>;
493			interrupt-parent = <&vic2>;
494			interrupts = <14>;
495			clocks = <&clocks DOUT_MFC>, <&clocks CLK_MFC>;
496			clock-names = "sclk_mfc", "mfc";
497		};
498
499		vic0: interrupt-controller@f2000000 {
500			compatible = "arm,pl192-vic";
501			interrupt-controller;
502			reg = <0xf2000000 0x1000>;
503			#interrupt-cells = <1>;
504		};
505
506		vic1: interrupt-controller@f2100000 {
507			compatible = "arm,pl192-vic";
508			interrupt-controller;
509			reg = <0xf2100000 0x1000>;
510			#interrupt-cells = <1>;
511		};
512
513		vic2: interrupt-controller@f2200000 {
514			compatible = "arm,pl192-vic";
515			interrupt-controller;
516			reg = <0xf2200000 0x1000>;
517			#interrupt-cells = <1>;
518		};
519
520		vic3: interrupt-controller@f2300000 {
521			compatible = "arm,pl192-vic";
522			interrupt-controller;
523			reg = <0xf2300000 0x1000>;
524			#interrupt-cells = <1>;
525		};
526
527		fimd: fimd@f8000000 {
528			compatible = "samsung,s5pv210-fimd";
529			interrupt-parent = <&vic2>;
530			reg = <0xf8000000 0x20000>;
531			interrupt-names = "fifo", "vsync", "lcd_sys";
532			interrupts = <0>, <1>, <2>;
533			clocks = <&clocks SCLK_FIMD>, <&clocks CLK_FIMD>;
534			clock-names = "sclk_fimd", "fimd";
535			status = "disabled";
536		};
537
538		dmc0: dmc@f0000000 {
539			compatible = "samsung,s5pv210-dmc";
540			reg = <0xf0000000 0x1000>;
541		};
542
543		dmc1: dmc@f1400000 {
544			compatible = "samsung,s5pv210-dmc";
545			reg = <0xf1400000 0x1000>;
546		};
547
548		g2d: g2d@fa000000 {
549			compatible = "samsung,s5pv210-g2d";
550			reg = <0xfa000000 0x1000>;
551			interrupt-parent = <&vic2>;
552			interrupts = <9>;
553			clocks = <&clocks DOUT_G2D>, <&clocks CLK_G2D>;
554			clock-names = "sclk_fimg2d", "fimg2d";
555		};
556
557		mdma1: mdma@fa200000 {
558			compatible = "arm,pl330", "arm,primecell";
559			reg = <0xfa200000 0x1000>;
560			interrupt-parent = <&vic0>;
561			interrupts = <18>;
562			clocks = <&clocks CLK_MDMA>;
563			clock-names = "apb_pclk";
564			#dma-cells = <1>;
565			#dma-channels = <8>;
566			#dma-requests = <1>;
567		};
568
569		rotator: rotator@fa300000 {
570			compatible = "samsung,s5pv210-rotator";
571			reg = <0xfa300000 0x1000>;
572			interrupt-parent = <&vic2>;
573			interrupts = <4>;
574			clocks = <&clocks CLK_ROTATOR>;
575			clock-names = "rotator";
576		};
577
578		i2c1: i2c@fab00000 {
579			compatible = "samsung,s3c2440-i2c";
580			reg = <0xfab00000 0x1000>;
581			interrupt-parent = <&vic2>;
582			interrupts = <13>;
583			clocks = <&clocks CLK_I2C1>;
584			clock-names = "i2c";
585			pinctrl-names = "default";
586			pinctrl-0 = <&i2c1_bus>;
587			#address-cells = <1>;
588			#size-cells = <0>;
589			status = "disabled";
590		};
591
592		camera: camera {
593			compatible = "samsung,fimc", "simple-bus";
594			pinctrl-names = "default";
595			pinctrl-0 = <>;
596			clocks = <&clocks SCLK_CAM0>, <&clocks SCLK_CAM1>;
597			clock-names = "sclk_cam0", "sclk_cam1";
598			#address-cells = <1>;
599			#size-cells = <1>;
600			#clock-cells = <1>;
601			clock-output-names = "cam_a_clkout", "cam_b_clkout";
602			ranges;
603
604			csis0: csis@fa600000 {
605				compatible = "samsung,s5pv210-csis";
606				reg = <0xfa600000 0x4000>;
607				interrupt-parent = <&vic2>;
608				interrupts = <29>;
609				clocks = <&clocks CLK_CSIS>,
610						<&clocks SCLK_CSIS>;
611				clock-names = "clk_csis",
612						"sclk_csis";
613				bus-width = <4>;
614				status = "disabled";
615				#address-cells = <1>;
616				#size-cells = <0>;
617			};
618
619			fimc0: fimc@fb200000 {
620				compatible = "samsung,s5pv210-fimc";
621				reg = <0xfb200000 0x1000>;
622				interrupts = <5>;
623				interrupt-parent = <&vic2>;
624				clocks = <&clocks CLK_FIMC0>,
625						<&clocks SCLK_FIMC0>;
626				clock-names = "fimc",
627						"sclk_fimc";
628				samsung,pix-limits = <4224 8192 1920 4224>;
629				samsung,min-pix-alignment = <16 8>;
630				samsung,cam-if;
631			};
632
633			fimc1: fimc@fb300000 {
634				compatible = "samsung,s5pv210-fimc";
635				reg = <0xfb300000 0x1000>;
636				interrupt-parent = <&vic2>;
637				interrupts = <6>;
638				clocks = <&clocks CLK_FIMC1>,
639						<&clocks SCLK_FIMC1>;
640				clock-names = "fimc",
641						"sclk_fimc";
642				samsung,pix-limits = <4224 8192 1920 4224>;
643				samsung,min-pix-alignment = <1 1>;
644				samsung,mainscaler-ext;
645				samsung,cam-if;
646				samsung,lcd-wb;
647			};
648
649			fimc2: fimc@fb400000 {
650				compatible = "samsung,s5pv210-fimc";
651				reg = <0xfb400000 0x1000>;
652				interrupt-parent = <&vic2>;
653				interrupts = <7>;
654				clocks = <&clocks CLK_FIMC2>,
655						<&clocks SCLK_FIMC2>;
656				clock-names = "fimc",
657						"sclk_fimc";
658				samsung,pix-limits = <1920 8192 1280 1920>;
659				samsung,min-pix-alignment = <16 8>;
660				samsung,rotators = <0>;
661				samsung,cam-if;
662			};
663		};
664
665		jpeg_codec: jpeg-codec@fb600000 {
666			compatible = "samsung,s5pv210-jpeg";
667			reg = <0xfb600000 0x1000>;
668			interrupt-parent = <&vic2>;
669			interrupts = <8>;
670			clocks = <&clocks CLK_JPEG>;
671			clock-names = "jpeg";
672		};
673	};
674};
675
676#include "s5pv210-pinctrl.dtsi"