162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Samsung's S5PV210 SoC device tree source
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Mateusz Krawczuk <m.krawczuk@partner.samsung.com>
862306a36Sopenharmony_ci * Tomasz Figa <t.figa@samsung.com>
962306a36Sopenharmony_ci *
1062306a36Sopenharmony_ci * Board device tree source for YIC System SMDV210 board.
1162306a36Sopenharmony_ci *
1262306a36Sopenharmony_ci * NOTE: This file is completely based on original board file for mach-smdkv210
1362306a36Sopenharmony_ci * available in Linux 3.15 and intends to provide equivalent level of hardware
1462306a36Sopenharmony_ci * support. Due to lack of hardware, _no_ testing has been performed.
1562306a36Sopenharmony_ci */
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci/dts-v1/;
1862306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h>
1962306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
2062306a36Sopenharmony_ci#include "s5pv210.dtsi"
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci/ {
2362306a36Sopenharmony_ci	model = "YIC System SMDKV210 based on S5PV210";
2462306a36Sopenharmony_ci	compatible = "yic,smdkv210", "samsung,s5pv210";
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci	chosen {
2762306a36Sopenharmony_ci		bootargs = "console=ttySAC0,115200n8 root=/dev/mmcblk0p1 rw rootwait ignore_loglevel earlyprintk";
2862306a36Sopenharmony_ci	};
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	memory@20000000 {
3162306a36Sopenharmony_ci		device_type = "memory";
3262306a36Sopenharmony_ci		reg = <0x20000000 0x40000000>;
3362306a36Sopenharmony_ci	};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci	pmic_ap_clk: clock-0 {
3662306a36Sopenharmony_ci		/* Workaround for missing PMIC and its clock */
3762306a36Sopenharmony_ci		compatible = "fixed-clock";
3862306a36Sopenharmony_ci		#clock-cells = <0>;
3962306a36Sopenharmony_ci		clock-frequency = <32768>;
4062306a36Sopenharmony_ci	};
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci	ethernet@a8000000 {
4362306a36Sopenharmony_ci		compatible = "davicom,dm9000";
4462306a36Sopenharmony_ci		reg = <0xa8000000 0x2>, <0xa8000002 0x2>;
4562306a36Sopenharmony_ci		interrupt-parent = <&gph1>;
4662306a36Sopenharmony_ci		interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
4762306a36Sopenharmony_ci		local-mac-address = [00 00 de ad be ef];
4862306a36Sopenharmony_ci		davicom,no-eeprom;
4962306a36Sopenharmony_ci	};
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci	backlight {
5262306a36Sopenharmony_ci		compatible = "pwm-backlight";
5362306a36Sopenharmony_ci		pwms = <&pwm 3 5000000 0>;
5462306a36Sopenharmony_ci		brightness-levels = <0 4 8 16 32 64 128 255>;
5562306a36Sopenharmony_ci		default-brightness-level = <6>;
5662306a36Sopenharmony_ci		pinctrl-names = "default";
5762306a36Sopenharmony_ci		pinctrl-0 = <&pwm3_out>;
5862306a36Sopenharmony_ci		power-supply = <&dc5v_reg>;
5962306a36Sopenharmony_ci	};
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci	dc5v_reg: regulator-0 {
6262306a36Sopenharmony_ci		compatible = "regulator-fixed";
6362306a36Sopenharmony_ci		regulator-name = "DC5V";
6462306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
6562306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
6662306a36Sopenharmony_ci	};
6762306a36Sopenharmony_ci};
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci&xusbxti {
7062306a36Sopenharmony_ci	clock-frequency = <24000000>;
7162306a36Sopenharmony_ci};
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci&keypad {
7462306a36Sopenharmony_ci	linux,input-no-autorepeat;
7562306a36Sopenharmony_ci	wakeup-source;
7662306a36Sopenharmony_ci	samsung,keypad-num-rows = <8>;
7762306a36Sopenharmony_ci	samsung,keypad-num-columns = <8>;
7862306a36Sopenharmony_ci	pinctrl-names = "default";
7962306a36Sopenharmony_ci	pinctrl-0 = <&keypad_row0>, <&keypad_row1>, <&keypad_row2>,
8062306a36Sopenharmony_ci			<&keypad_row3>, <&keypad_row4>, <&keypad_row5>,
8162306a36Sopenharmony_ci			<&keypad_row6>, <&keypad_row7>,
8262306a36Sopenharmony_ci			<&keypad_col0>, <&keypad_col1>, <&keypad_col2>,
8362306a36Sopenharmony_ci			<&keypad_col3>, <&keypad_col4>, <&keypad_col5>,
8462306a36Sopenharmony_ci			<&keypad_col6>, <&keypad_col7>;
8562306a36Sopenharmony_ci	status = "okay";
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci	key-1 {
8862306a36Sopenharmony_ci		keypad,row = <0>;
8962306a36Sopenharmony_ci		keypad,column = <3>;
9062306a36Sopenharmony_ci		linux,code = <KEY_1>;
9162306a36Sopenharmony_ci	};
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci	key-2 {
9462306a36Sopenharmony_ci		keypad,row = <0>;
9562306a36Sopenharmony_ci		keypad,column = <4>;
9662306a36Sopenharmony_ci		linux,code = <KEY_2>;
9762306a36Sopenharmony_ci	};
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci	key-3 {
10062306a36Sopenharmony_ci		keypad,row = <0>;
10162306a36Sopenharmony_ci		keypad,column = <5>;
10262306a36Sopenharmony_ci		linux,code = <KEY_3>;
10362306a36Sopenharmony_ci	};
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ci	key-4 {
10662306a36Sopenharmony_ci		keypad,row = <0>;
10762306a36Sopenharmony_ci		keypad,column = <6>;
10862306a36Sopenharmony_ci		linux,code = <KEY_4>;
10962306a36Sopenharmony_ci	};
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci	key-5 {
11262306a36Sopenharmony_ci		keypad,row = <0
11362306a36Sopenharmony_ci		>;
11462306a36Sopenharmony_ci		keypad,column = <7>;
11562306a36Sopenharmony_ci		linux,code = <KEY_5>;
11662306a36Sopenharmony_ci	};
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci	key-6 {
11962306a36Sopenharmony_ci		keypad,row = <1>;
12062306a36Sopenharmony_ci		keypad,column = <3>;
12162306a36Sopenharmony_ci		linux,code = <KEY_A>;
12262306a36Sopenharmony_ci	};
12362306a36Sopenharmony_ci	key-7 {
12462306a36Sopenharmony_ci		keypad,row = <1>;
12562306a36Sopenharmony_ci		keypad,column = <4>;
12662306a36Sopenharmony_ci		linux,code = <KEY_B>;
12762306a36Sopenharmony_ci	};
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci	key-8 {
13062306a36Sopenharmony_ci		keypad,row = <1>;
13162306a36Sopenharmony_ci		keypad,column = <5>;
13262306a36Sopenharmony_ci		linux,code = <KEY_C>;
13362306a36Sopenharmony_ci	};
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci	key-9 {
13662306a36Sopenharmony_ci		keypad,row = <1>;
13762306a36Sopenharmony_ci		keypad,column = <6>;
13862306a36Sopenharmony_ci		linux,code = <KEY_D>;
13962306a36Sopenharmony_ci	};
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci	key-10 {
14262306a36Sopenharmony_ci		keypad,row = <1>;
14362306a36Sopenharmony_ci		keypad,column = <7>;
14462306a36Sopenharmony_ci		linux,code = <KEY_E>;
14562306a36Sopenharmony_ci	};
14662306a36Sopenharmony_ci};
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci&uart0 {
14962306a36Sopenharmony_ci	status = "okay";
15062306a36Sopenharmony_ci};
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci&uart1 {
15362306a36Sopenharmony_ci	status = "okay";
15462306a36Sopenharmony_ci};
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci&uart2 {
15762306a36Sopenharmony_ci	status = "okay";
15862306a36Sopenharmony_ci};
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci&uart3 {
16162306a36Sopenharmony_ci	status = "okay";
16262306a36Sopenharmony_ci};
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci&rtc {
16562306a36Sopenharmony_ci	status = "okay";
16662306a36Sopenharmony_ci	clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>;
16762306a36Sopenharmony_ci	clock-names = "rtc", "rtc_src";
16862306a36Sopenharmony_ci};
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ci&sdhci0 {
17162306a36Sopenharmony_ci	bus-width = <4>;
17262306a36Sopenharmony_ci	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus1 &sd0_bus4>;
17362306a36Sopenharmony_ci	pinctrl-names = "default";
17462306a36Sopenharmony_ci	status = "okay";
17562306a36Sopenharmony_ci};
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci&sdhci1 {
17862306a36Sopenharmony_ci	bus-width = <4>;
17962306a36Sopenharmony_ci	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_cd &sd1_bus1 &sd1_bus4>;
18062306a36Sopenharmony_ci	pinctrl-names = "default";
18162306a36Sopenharmony_ci	status = "okay";
18262306a36Sopenharmony_ci};
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ci&sdhci2 {
18562306a36Sopenharmony_ci	bus-width = <4>;
18662306a36Sopenharmony_ci	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
18762306a36Sopenharmony_ci	pinctrl-names = "default";
18862306a36Sopenharmony_ci	status = "okay";
18962306a36Sopenharmony_ci};
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ci&sdhci3 {
19262306a36Sopenharmony_ci	bus-width = <4>;
19362306a36Sopenharmony_ci	pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_cd &sd3_bus1 &sd3_bus4>;
19462306a36Sopenharmony_ci	pinctrl-names = "default";
19562306a36Sopenharmony_ci	status = "okay";
19662306a36Sopenharmony_ci};
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_ci&hsotg {
19962306a36Sopenharmony_ci	dr_mode = "peripheral";
20062306a36Sopenharmony_ci	status = "okay";
20162306a36Sopenharmony_ci};
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ci&usbphy {
20462306a36Sopenharmony_ci	status = "okay";
20562306a36Sopenharmony_ci};
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_ci&fimd {
20862306a36Sopenharmony_ci	pinctrl-0 = <&lcd_clk &lcd_data24>;
20962306a36Sopenharmony_ci	pinctrl-names = "default";
21062306a36Sopenharmony_ci	status = "okay";
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci	display-timings {
21362306a36Sopenharmony_ci		native-mode = <&timing0>;
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_ci		timing0: timing {
21662306a36Sopenharmony_ci			/* 800x480@60Hz */
21762306a36Sopenharmony_ci			clock-frequency = <24373920>;
21862306a36Sopenharmony_ci			hactive = <800>;
21962306a36Sopenharmony_ci			vactive = <480>;
22062306a36Sopenharmony_ci			hfront-porch = <8>;
22162306a36Sopenharmony_ci			hback-porch = <13>;
22262306a36Sopenharmony_ci			hsync-len = <3>;
22362306a36Sopenharmony_ci			vback-porch = <7>;
22462306a36Sopenharmony_ci			vfront-porch = <5>;
22562306a36Sopenharmony_ci			vsync-len = <1>;
22662306a36Sopenharmony_ci			hsync-active = <0>;
22762306a36Sopenharmony_ci			vsync-active = <0>;
22862306a36Sopenharmony_ci			de-active = <1>;
22962306a36Sopenharmony_ci			pixelclk-active = <1>;
23062306a36Sopenharmony_ci		};
23162306a36Sopenharmony_ci	};
23262306a36Sopenharmony_ci};
23362306a36Sopenharmony_ci
23462306a36Sopenharmony_ci&pwm {
23562306a36Sopenharmony_ci	samsung,pwm-outputs = <3>;
23662306a36Sopenharmony_ci};
23762306a36Sopenharmony_ci
23862306a36Sopenharmony_ci&i2c0 {
23962306a36Sopenharmony_ci	status = "okay";
24062306a36Sopenharmony_ci
24162306a36Sopenharmony_ci	audio-codec@1b {
24262306a36Sopenharmony_ci		compatible = "wlf,wm8580";
24362306a36Sopenharmony_ci		reg = <0x1b>;
24462306a36Sopenharmony_ci	};
24562306a36Sopenharmony_ci
24662306a36Sopenharmony_ci	eeprom@50 {
24762306a36Sopenharmony_ci		compatible = "atmel,24c08";
24862306a36Sopenharmony_ci		reg = <0x50>;
24962306a36Sopenharmony_ci	};
25062306a36Sopenharmony_ci};
25162306a36Sopenharmony_ci
25262306a36Sopenharmony_ci&i2s0 {
25362306a36Sopenharmony_ci	status = "okay";
25462306a36Sopenharmony_ci};
255