162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Samsung's S3C6410 based Mini6410 board device tree source
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Device tree source file for FriendlyARM Mini6410 board which is based on
862306a36Sopenharmony_ci * Samsung's S3C6410 SoC.
962306a36Sopenharmony_ci */
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci/dts-v1/;
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1462306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h>
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#include "s3c6410.dtsi"
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci/ {
1962306a36Sopenharmony_ci	model = "FriendlyARM Mini6410 board based on S3C6410";
2062306a36Sopenharmony_ci	compatible = "friendlyarm,mini6410", "samsung,s3c6410";
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	memory@50000000 {
2362306a36Sopenharmony_ci		device_type = "memory";
2462306a36Sopenharmony_ci		reg = <0x50000000 0x10000000>;
2562306a36Sopenharmony_ci	};
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	chosen {
2862306a36Sopenharmony_ci		bootargs = "console=ttySAC0,115200n8 earlyprintk rootwait root=/dev/mmcblk0p1";
2962306a36Sopenharmony_ci	};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	fin_pll: oscillator-0 {
3262306a36Sopenharmony_ci		compatible = "fixed-clock";
3362306a36Sopenharmony_ci		clock-frequency = <12000000>;
3462306a36Sopenharmony_ci		clock-output-names = "fin_pll";
3562306a36Sopenharmony_ci		#clock-cells = <0>;
3662306a36Sopenharmony_ci	};
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	xusbxti: oscillator-1 {
3962306a36Sopenharmony_ci		compatible = "fixed-clock";
4062306a36Sopenharmony_ci		clock-output-names = "xusbxti";
4162306a36Sopenharmony_ci		clock-frequency = <48000000>;
4262306a36Sopenharmony_ci		#clock-cells = <0>;
4362306a36Sopenharmony_ci	};
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci	srom-cs1-bus@18000000 {
4662306a36Sopenharmony_ci		compatible = "simple-bus";
4762306a36Sopenharmony_ci		#address-cells = <1>;
4862306a36Sopenharmony_ci		#size-cells = <1>;
4962306a36Sopenharmony_ci		reg = <0x18000000 0x8000000>;
5062306a36Sopenharmony_ci		ranges;
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci		ethernet@18000000 {
5362306a36Sopenharmony_ci			compatible = "davicom,dm9000";
5462306a36Sopenharmony_ci			reg = <0x18000000 0x2>, <0x18000004 0x2>;
5562306a36Sopenharmony_ci			interrupt-parent = <&gpn>;
5662306a36Sopenharmony_ci			interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
5762306a36Sopenharmony_ci			davicom,no-eeprom;
5862306a36Sopenharmony_ci		};
5962306a36Sopenharmony_ci	};
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci	gpio-keys {
6262306a36Sopenharmony_ci		compatible = "gpio-keys";
6362306a36Sopenharmony_ci		pinctrl-names = "default";
6462306a36Sopenharmony_ci		pinctrl-0 = <&gpio_keys>;
6562306a36Sopenharmony_ci		autorepeat;
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci		button-k1 {
6862306a36Sopenharmony_ci			label = "K1";
6962306a36Sopenharmony_ci			gpios = <&gpn 0 GPIO_ACTIVE_LOW>;
7062306a36Sopenharmony_ci			linux,code = <2>;
7162306a36Sopenharmony_ci			debounce-interval = <20>;
7262306a36Sopenharmony_ci		};
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci		button-k2 {
7562306a36Sopenharmony_ci			label = "K2";
7662306a36Sopenharmony_ci			gpios = <&gpn 1 GPIO_ACTIVE_LOW>;
7762306a36Sopenharmony_ci			linux,code = <3>;
7862306a36Sopenharmony_ci			debounce-interval = <20>;
7962306a36Sopenharmony_ci		};
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci		button-k3 {
8262306a36Sopenharmony_ci			label = "K3";
8362306a36Sopenharmony_ci			gpios = <&gpn 2 GPIO_ACTIVE_LOW>;
8462306a36Sopenharmony_ci			linux,code = <4>;
8562306a36Sopenharmony_ci			debounce-interval = <20>;
8662306a36Sopenharmony_ci		};
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci		button-k4 {
8962306a36Sopenharmony_ci			label = "K4";
9062306a36Sopenharmony_ci			gpios = <&gpn 3 GPIO_ACTIVE_LOW>;
9162306a36Sopenharmony_ci			linux,code = <5>;
9262306a36Sopenharmony_ci			debounce-interval = <20>;
9362306a36Sopenharmony_ci		};
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci		button-k5 {
9662306a36Sopenharmony_ci			label = "K5";
9762306a36Sopenharmony_ci			gpios = <&gpn 4 GPIO_ACTIVE_LOW>;
9862306a36Sopenharmony_ci			linux,code = <6>;
9962306a36Sopenharmony_ci			debounce-interval = <20>;
10062306a36Sopenharmony_ci		};
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci		button-k6 {
10362306a36Sopenharmony_ci			label = "K6";
10462306a36Sopenharmony_ci			gpios = <&gpn 5 GPIO_ACTIVE_LOW>;
10562306a36Sopenharmony_ci			linux,code = <7>;
10662306a36Sopenharmony_ci			debounce-interval = <20>;
10762306a36Sopenharmony_ci		};
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci		button-k7 {
11062306a36Sopenharmony_ci			label = "K7";
11162306a36Sopenharmony_ci			gpios = <&gpl 11 GPIO_ACTIVE_LOW>;
11262306a36Sopenharmony_ci			linux,code = <8>;
11362306a36Sopenharmony_ci			debounce-interval = <20>;
11462306a36Sopenharmony_ci		};
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci		button-k8 {
11762306a36Sopenharmony_ci			label = "K8";
11862306a36Sopenharmony_ci			gpios = <&gpl 12 GPIO_ACTIVE_LOW>;
11962306a36Sopenharmony_ci			linux,code = <9>;
12062306a36Sopenharmony_ci			debounce-interval = <20>;
12162306a36Sopenharmony_ci		};
12262306a36Sopenharmony_ci	};
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci	leds {
12562306a36Sopenharmony_ci		compatible = "gpio-leds";
12662306a36Sopenharmony_ci		pinctrl-names = "default";
12762306a36Sopenharmony_ci		pinctrl-0 = <&gpio_leds>;
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci		led-1 {
13062306a36Sopenharmony_ci			label = "LED1";
13162306a36Sopenharmony_ci			gpios = <&gpk 4 GPIO_ACTIVE_LOW>;
13262306a36Sopenharmony_ci			linux,default-trigger = "heartbeat";
13362306a36Sopenharmony_ci		};
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci		led-2 {
13662306a36Sopenharmony_ci			label = "LED2";
13762306a36Sopenharmony_ci			gpios = <&gpk 5 GPIO_ACTIVE_LOW>;
13862306a36Sopenharmony_ci			linux,default-trigger = "mmc0";
13962306a36Sopenharmony_ci		};
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci		led-3 {
14262306a36Sopenharmony_ci			label = "LED3";
14362306a36Sopenharmony_ci			gpios = <&gpk 6 GPIO_ACTIVE_LOW>;
14462306a36Sopenharmony_ci		};
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ci		led-4 {
14762306a36Sopenharmony_ci			label = "LED4";
14862306a36Sopenharmony_ci			gpios = <&gpk 7 GPIO_ACTIVE_LOW>;
14962306a36Sopenharmony_ci		};
15062306a36Sopenharmony_ci	};
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci	buzzer {
15362306a36Sopenharmony_ci		compatible = "pwm-beeper";
15462306a36Sopenharmony_ci		pwms = <&pwm 0 1000000 0>;
15562306a36Sopenharmony_ci		pinctrl-names = "default";
15662306a36Sopenharmony_ci		pinctrl-0 = <&pwm0_out>;
15762306a36Sopenharmony_ci	};
15862306a36Sopenharmony_ci};
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci&clocks {
16162306a36Sopenharmony_ci	clocks = <&fin_pll>;
16262306a36Sopenharmony_ci};
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci&sdhci0 {
16562306a36Sopenharmony_ci	pinctrl-names = "default";
16662306a36Sopenharmony_ci	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
16762306a36Sopenharmony_ci	bus-width = <4>;
16862306a36Sopenharmony_ci	status = "okay";
16962306a36Sopenharmony_ci};
17062306a36Sopenharmony_ci
17162306a36Sopenharmony_ci&uart0 {
17262306a36Sopenharmony_ci	pinctrl-names = "default";
17362306a36Sopenharmony_ci	pinctrl-0 = <&uart0_data>;
17462306a36Sopenharmony_ci	status = "okay";
17562306a36Sopenharmony_ci};
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci&uart1 {
17862306a36Sopenharmony_ci	pinctrl-names = "default";
17962306a36Sopenharmony_ci	pinctrl-0 = <&uart1_data>, <&uart1_fctl>;
18062306a36Sopenharmony_ci	status = "okay";
18162306a36Sopenharmony_ci};
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ci&uart2 {
18462306a36Sopenharmony_ci	pinctrl-names = "default";
18562306a36Sopenharmony_ci	pinctrl-0 = <&uart2_data>;
18662306a36Sopenharmony_ci	status = "okay";
18762306a36Sopenharmony_ci};
18862306a36Sopenharmony_ci
18962306a36Sopenharmony_ci&uart3 {
19062306a36Sopenharmony_ci	pinctrl-names = "default";
19162306a36Sopenharmony_ci	pinctrl-0 = <&uart3_data>;
19262306a36Sopenharmony_ci	status = "okay";
19362306a36Sopenharmony_ci};
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_ci&pinctrl0 {
19662306a36Sopenharmony_ci	gpio_leds: gpio-leds-pins {
19762306a36Sopenharmony_ci		samsung,pins = "gpk-4", "gpk-5", "gpk-6", "gpk-7";
19862306a36Sopenharmony_ci		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
19962306a36Sopenharmony_ci	};
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ci	gpio_keys: gpio-keys-pins {
20262306a36Sopenharmony_ci		samsung,pins = "gpn-0", "gpn-1", "gpn-2", "gpn-3",
20362306a36Sopenharmony_ci				"gpn-4", "gpn-5", "gpl-11", "gpl-12";
20462306a36Sopenharmony_ci		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
20562306a36Sopenharmony_ci	};
20662306a36Sopenharmony_ci};
20762306a36Sopenharmony_ci
20862306a36Sopenharmony_ci&i2c0 {
20962306a36Sopenharmony_ci	pinctrl-names = "default";
21062306a36Sopenharmony_ci	pinctrl-0 = <&i2c0_bus>;
21162306a36Sopenharmony_ci	status = "okay";
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci	eeprom@50 {
21462306a36Sopenharmony_ci		compatible = "atmel,24c08";
21562306a36Sopenharmony_ci		reg = <0x50>;
21662306a36Sopenharmony_ci		pagesize = <16>;
21762306a36Sopenharmony_ci	};
21862306a36Sopenharmony_ci};
219