xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/s3c6410-mini6410.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Samsung's S3C6410 based Mini6410 board device tree source
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
6*4882a593Smuzhiyun *
7*4882a593Smuzhiyun * Device tree source file for FriendlyARM Mini6410 board which is based on
8*4882a593Smuzhiyun * Samsung's S3C6410 SoC.
9*4882a593Smuzhiyun */
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/dts-v1/;
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
14*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun#include "s3c6410.dtsi"
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun/ {
19*4882a593Smuzhiyun	model = "FriendlyARM Mini6410 board based on S3C6410";
20*4882a593Smuzhiyun	compatible = "friendlyarm,mini6410", "samsung,s3c6410";
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun	memory@50000000 {
23*4882a593Smuzhiyun		device_type = "memory";
24*4882a593Smuzhiyun		reg = <0x50000000 0x10000000>;
25*4882a593Smuzhiyun	};
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun	chosen {
28*4882a593Smuzhiyun		bootargs = "console=ttySAC0,115200n8 earlyprintk rootwait root=/dev/mmcblk0p1";
29*4882a593Smuzhiyun	};
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun	fin_pll: oscillator-0 {
32*4882a593Smuzhiyun		compatible = "fixed-clock";
33*4882a593Smuzhiyun		clock-frequency = <12000000>;
34*4882a593Smuzhiyun		clock-output-names = "fin_pll";
35*4882a593Smuzhiyun		#clock-cells = <0>;
36*4882a593Smuzhiyun	};
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun	xusbxti: oscillator-1 {
39*4882a593Smuzhiyun		compatible = "fixed-clock";
40*4882a593Smuzhiyun		clock-output-names = "xusbxti";
41*4882a593Smuzhiyun		clock-frequency = <48000000>;
42*4882a593Smuzhiyun		#clock-cells = <0>;
43*4882a593Smuzhiyun	};
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun	srom-cs1-bus@18000000 {
46*4882a593Smuzhiyun		compatible = "simple-bus";
47*4882a593Smuzhiyun		#address-cells = <1>;
48*4882a593Smuzhiyun		#size-cells = <1>;
49*4882a593Smuzhiyun		reg = <0x18000000 0x8000000>;
50*4882a593Smuzhiyun		ranges;
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun		ethernet@18000000 {
53*4882a593Smuzhiyun			compatible = "davicom,dm9000";
54*4882a593Smuzhiyun			reg = <0x18000000 0x2 0x18000004 0x2>;
55*4882a593Smuzhiyun			interrupt-parent = <&gpn>;
56*4882a593Smuzhiyun			interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
57*4882a593Smuzhiyun			davicom,no-eeprom;
58*4882a593Smuzhiyun		};
59*4882a593Smuzhiyun	};
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun	gpio-keys {
62*4882a593Smuzhiyun		compatible = "gpio-keys";
63*4882a593Smuzhiyun		pinctrl-names = "default";
64*4882a593Smuzhiyun		pinctrl-0 = <&gpio_keys>;
65*4882a593Smuzhiyun		autorepeat;
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun		button-k1 {
68*4882a593Smuzhiyun			label = "K1";
69*4882a593Smuzhiyun			gpios = <&gpn 0 GPIO_ACTIVE_LOW>;
70*4882a593Smuzhiyun			linux,code = <2>;
71*4882a593Smuzhiyun			debounce-interval = <20>;
72*4882a593Smuzhiyun		};
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun		button-k2 {
75*4882a593Smuzhiyun			label = "K2";
76*4882a593Smuzhiyun			gpios = <&gpn 1 GPIO_ACTIVE_LOW>;
77*4882a593Smuzhiyun			linux,code = <3>;
78*4882a593Smuzhiyun			debounce-interval = <20>;
79*4882a593Smuzhiyun		};
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun		button-k3 {
82*4882a593Smuzhiyun			label = "K3";
83*4882a593Smuzhiyun			gpios = <&gpn 2 GPIO_ACTIVE_LOW>;
84*4882a593Smuzhiyun			linux,code = <4>;
85*4882a593Smuzhiyun			debounce-interval = <20>;
86*4882a593Smuzhiyun		};
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun		button-k4 {
89*4882a593Smuzhiyun			label = "K4";
90*4882a593Smuzhiyun			gpios = <&gpn 3 GPIO_ACTIVE_LOW>;
91*4882a593Smuzhiyun			linux,code = <5>;
92*4882a593Smuzhiyun			debounce-interval = <20>;
93*4882a593Smuzhiyun		};
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun		button-k5 {
96*4882a593Smuzhiyun			label = "K5";
97*4882a593Smuzhiyun			gpios = <&gpn 4 GPIO_ACTIVE_LOW>;
98*4882a593Smuzhiyun			linux,code = <6>;
99*4882a593Smuzhiyun			debounce-interval = <20>;
100*4882a593Smuzhiyun		};
101*4882a593Smuzhiyun
102*4882a593Smuzhiyun		button-k6 {
103*4882a593Smuzhiyun			label = "K6";
104*4882a593Smuzhiyun			gpios = <&gpn 5 GPIO_ACTIVE_LOW>;
105*4882a593Smuzhiyun			linux,code = <7>;
106*4882a593Smuzhiyun			debounce-interval = <20>;
107*4882a593Smuzhiyun		};
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun		button-k7 {
110*4882a593Smuzhiyun			label = "K7";
111*4882a593Smuzhiyun			gpios = <&gpl 11 GPIO_ACTIVE_LOW>;
112*4882a593Smuzhiyun			linux,code = <8>;
113*4882a593Smuzhiyun			debounce-interval = <20>;
114*4882a593Smuzhiyun		};
115*4882a593Smuzhiyun
116*4882a593Smuzhiyun		button-k8 {
117*4882a593Smuzhiyun			label = "K8";
118*4882a593Smuzhiyun			gpios = <&gpl 12 GPIO_ACTIVE_LOW>;
119*4882a593Smuzhiyun			linux,code = <9>;
120*4882a593Smuzhiyun			debounce-interval = <20>;
121*4882a593Smuzhiyun		};
122*4882a593Smuzhiyun	};
123*4882a593Smuzhiyun
124*4882a593Smuzhiyun	leds {
125*4882a593Smuzhiyun		compatible = "gpio-leds";
126*4882a593Smuzhiyun		pinctrl-names = "default";
127*4882a593Smuzhiyun		pinctrl-0 = <&gpio_leds>;
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun		led-1 {
130*4882a593Smuzhiyun			label = "LED1";
131*4882a593Smuzhiyun			gpios = <&gpk 4 GPIO_ACTIVE_LOW>;
132*4882a593Smuzhiyun			linux,default-trigger = "heartbeat";
133*4882a593Smuzhiyun		};
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun		led-2 {
136*4882a593Smuzhiyun			label = "LED2";
137*4882a593Smuzhiyun			gpios = <&gpk 5 GPIO_ACTIVE_LOW>;
138*4882a593Smuzhiyun			linux,default-trigger = "mmc0";
139*4882a593Smuzhiyun		};
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun		led-3 {
142*4882a593Smuzhiyun			label = "LED3";
143*4882a593Smuzhiyun			gpios = <&gpk 6 GPIO_ACTIVE_LOW>;
144*4882a593Smuzhiyun		};
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun		led-4 {
147*4882a593Smuzhiyun			label = "LED4";
148*4882a593Smuzhiyun			gpios = <&gpk 7 GPIO_ACTIVE_LOW>;
149*4882a593Smuzhiyun		};
150*4882a593Smuzhiyun	};
151*4882a593Smuzhiyun
152*4882a593Smuzhiyun	buzzer {
153*4882a593Smuzhiyun		compatible = "pwm-beeper";
154*4882a593Smuzhiyun		pwms = <&pwm 0 1000000 0>;
155*4882a593Smuzhiyun		pinctrl-names = "default";
156*4882a593Smuzhiyun		pinctrl-0 = <&pwm0_out>;
157*4882a593Smuzhiyun	};
158*4882a593Smuzhiyun};
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun&clocks {
161*4882a593Smuzhiyun	clocks = <&fin_pll>;
162*4882a593Smuzhiyun};
163*4882a593Smuzhiyun
164*4882a593Smuzhiyun&sdhci0 {
165*4882a593Smuzhiyun	pinctrl-names = "default";
166*4882a593Smuzhiyun	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
167*4882a593Smuzhiyun	bus-width = <4>;
168*4882a593Smuzhiyun	status = "okay";
169*4882a593Smuzhiyun};
170*4882a593Smuzhiyun
171*4882a593Smuzhiyun&uart0 {
172*4882a593Smuzhiyun	pinctrl-names = "default";
173*4882a593Smuzhiyun	pinctrl-0 = <&uart0_data>;
174*4882a593Smuzhiyun	status = "okay";
175*4882a593Smuzhiyun};
176*4882a593Smuzhiyun
177*4882a593Smuzhiyun&uart1 {
178*4882a593Smuzhiyun	pinctrl-names = "default";
179*4882a593Smuzhiyun	pinctrl-0 = <&uart1_data>, <&uart1_fctl>;
180*4882a593Smuzhiyun	status = "okay";
181*4882a593Smuzhiyun};
182*4882a593Smuzhiyun
183*4882a593Smuzhiyun&uart2 {
184*4882a593Smuzhiyun	pinctrl-names = "default";
185*4882a593Smuzhiyun	pinctrl-0 = <&uart2_data>;
186*4882a593Smuzhiyun	status = "okay";
187*4882a593Smuzhiyun};
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun&uart3 {
190*4882a593Smuzhiyun	pinctrl-names = "default";
191*4882a593Smuzhiyun	pinctrl-0 = <&uart3_data>;
192*4882a593Smuzhiyun	status = "okay";
193*4882a593Smuzhiyun};
194*4882a593Smuzhiyun
195*4882a593Smuzhiyun&pinctrl0 {
196*4882a593Smuzhiyun	gpio_leds: gpio-leds {
197*4882a593Smuzhiyun		samsung,pins = "gpk-4", "gpk-5", "gpk-6", "gpk-7";
198*4882a593Smuzhiyun		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
199*4882a593Smuzhiyun	};
200*4882a593Smuzhiyun
201*4882a593Smuzhiyun	gpio_keys: gpio-keys {
202*4882a593Smuzhiyun		samsung,pins = "gpn-0", "gpn-1", "gpn-2", "gpn-3",
203*4882a593Smuzhiyun				"gpn-4", "gpn-5", "gpl-11", "gpl-12";
204*4882a593Smuzhiyun		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
205*4882a593Smuzhiyun	};
206*4882a593Smuzhiyun};
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun&i2c0 {
209*4882a593Smuzhiyun	pinctrl-names = "default";
210*4882a593Smuzhiyun	pinctrl-0 = <&i2c0_bus>;
211*4882a593Smuzhiyun	status = "okay";
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun	eeprom@50 {
214*4882a593Smuzhiyun		compatible = "atmel,24c08";
215*4882a593Smuzhiyun		reg = <0x50>;
216*4882a593Smuzhiyun		pagesize = <16>;
217*4882a593Smuzhiyun	};
218*4882a593Smuzhiyun};
219