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