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	clocks {
32		compatible = "simple-bus";
33		#address-cells = <1>;
34		#size-cells = <0>;
35
36		fin_pll: oscillator@0 {
37			compatible = "fixed-clock";
38			reg = <0>;
39			clock-frequency = <12000000>;
40			clock-output-names = "fin_pll";
41			#clock-cells = <0>;
42		};
43
44		xusbxti: oscillator@1 {
45			compatible = "fixed-clock";
46			reg = <1>;
47			clock-output-names = "xusbxti";
48			clock-frequency = <48000000>;
49			#clock-cells = <0>;
50		};
51	};
52
53	srom-cs1@18000000 {
54		compatible = "simple-bus";
55		#address-cells = <1>;
56		#size-cells = <1>;
57		reg = <0x18000000 0x8000000>;
58		ranges;
59
60		ethernet@18000000 {
61			compatible = "davicom,dm9000";
62			reg = <0x18000000 0x2 0x18000004 0x2>;
63			interrupt-parent = <&gpn>;
64			interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
65			davicom,no-eeprom;
66		};
67	};
68
69	gpio-keys {
70		compatible = "gpio-keys";
71		pinctrl-names = "default";
72		pinctrl-0 = <&gpio_keys>;
73		autorepeat;
74
75		button-k1 {
76			label = "K1";
77			gpios = <&gpn 0 GPIO_ACTIVE_LOW>;
78			linux,code = <2>;
79			debounce-interval = <20>;
80		};
81
82		button-k2 {
83			label = "K2";
84			gpios = <&gpn 1 GPIO_ACTIVE_LOW>;
85			linux,code = <3>;
86			debounce-interval = <20>;
87		};
88
89		button-k3 {
90			label = "K3";
91			gpios = <&gpn 2 GPIO_ACTIVE_LOW>;
92			linux,code = <4>;
93			debounce-interval = <20>;
94		};
95
96		button-k4 {
97			label = "K4";
98			gpios = <&gpn 3 GPIO_ACTIVE_LOW>;
99			linux,code = <5>;
100			debounce-interval = <20>;
101		};
102
103		button-k5 {
104			label = "K5";
105			gpios = <&gpn 4 GPIO_ACTIVE_LOW>;
106			linux,code = <6>;
107			debounce-interval = <20>;
108		};
109
110		button-k6 {
111			label = "K6";
112			gpios = <&gpn 5 GPIO_ACTIVE_LOW>;
113			linux,code = <7>;
114			debounce-interval = <20>;
115		};
116
117		button-k7 {
118			label = "K7";
119			gpios = <&gpl 11 GPIO_ACTIVE_LOW>;
120			linux,code = <8>;
121			debounce-interval = <20>;
122		};
123
124		button-k8 {
125			label = "K8";
126			gpios = <&gpl 12 GPIO_ACTIVE_LOW>;
127			linux,code = <9>;
128			debounce-interval = <20>;
129		};
130	};
131
132	leds {
133		compatible = "gpio-leds";
134		pinctrl-names = "default";
135		pinctrl-0 = <&gpio_leds>;
136
137		led-1 {
138			label = "LED1";
139			gpios = <&gpk 4 GPIO_ACTIVE_LOW>;
140			linux,default-trigger = "heartbeat";
141		};
142
143		led-2 {
144			label = "LED2";
145			gpios = <&gpk 5 GPIO_ACTIVE_LOW>;
146			linux,default-trigger = "mmc0";
147		};
148
149		led-3 {
150			label = "LED3";
151			gpios = <&gpk 6 GPIO_ACTIVE_LOW>;
152		};
153
154		led-4 {
155			label = "LED4";
156			gpios = <&gpk 7 GPIO_ACTIVE_LOW>;
157		};
158	};
159
160	buzzer {
161		compatible = "pwm-beeper";
162		pwms = <&pwm 0 1000000 0>;
163		pinctrl-names = "default";
164		pinctrl-0 = <&pwm0_out>;
165	};
166};
167
168&sdhci0 {
169	pinctrl-names = "default";
170	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
171	bus-width = <4>;
172	status = "okay";
173};
174
175&uart0 {
176	pinctrl-names = "default";
177	pinctrl-0 = <&uart0_data>;
178	status = "okay";
179};
180
181&uart1 {
182	pinctrl-names = "default";
183	pinctrl-0 = <&uart1_data>, <&uart1_fctl>;
184	status = "okay";
185};
186
187&uart2 {
188	pinctrl-names = "default";
189	pinctrl-0 = <&uart2_data>;
190	status = "okay";
191};
192
193&uart3 {
194	pinctrl-names = "default";
195	pinctrl-0 = <&uart3_data>;
196	status = "okay";
197};
198
199&pinctrl0 {
200	gpio_leds: gpio-leds {
201		samsung,pins = "gpk-4", "gpk-5", "gpk-6", "gpk-7";
202		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
203	};
204
205	gpio_keys: gpio-keys {
206		samsung,pins = "gpn-0", "gpn-1", "gpn-2", "gpn-3",
207				"gpn-4", "gpn-5", "gpl-11", "gpl-12";
208		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
209	};
210};
211
212&i2c0 {
213	pinctrl-names = "default";
214	pinctrl-0 = <&i2c0_bus>;
215	status = "okay";
216
217	eeprom@50 {
218		compatible = "atmel,24c08";
219		reg = <0x50>;
220		pagesize = <16>;
221	};
222};
223