1/*
2 * Copyright Altera Corporation (C) 2015. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms and conditions of the GNU General Public License,
6 * version 2, as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
11 * more details.
12 *
13 * You should have received a copy of the GNU General Public License along with
14 * this program.  If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "socfpga_stratix10.dtsi"
18
19/ {
20	model = "SoCFPGA Stratix 10 SoCDK";
21
22	aliases {
23		serial0 = &uart0;
24		ethernet0 = &gmac0;
25		ethernet1 = &gmac1;
26		ethernet2 = &gmac2;
27	};
28
29	chosen {
30		stdout-path = "serial0:115200n8";
31	};
32
33	leds {
34		compatible = "gpio-leds";
35		hps0 {
36			label = "hps_led0";
37			gpios = <&portb 20 GPIO_ACTIVE_HIGH>;
38		};
39
40		hps1 {
41			label = "hps_led1";
42			gpios = <&portb 19 GPIO_ACTIVE_HIGH>;
43		};
44
45		hps2 {
46			label = "hps_led2";
47			gpios = <&portb 21 GPIO_ACTIVE_HIGH>;
48		};
49	};
50
51	memory {
52		device_type = "memory";
53		/* We expect the bootloader to fill in the reg */
54		reg = <0 0 0 0>;
55	};
56
57	ref_033v: 033-v-ref {
58		compatible = "regulator-fixed";
59		regulator-name = "0.33V";
60		regulator-min-microvolt = <330000>;
61		regulator-max-microvolt = <330000>;
62	};
63
64	soc {
65		clocks {
66			osc1 {
67				clock-frequency = <25000000>;
68			};
69		};
70	};
71};
72
73&gpio1 {
74	status = "okay";
75};
76
77&gmac0 {
78	status = "okay";
79	phy-mode = "rgmii";
80	phy-handle = <&phy0>;
81
82	max-frame-size = <9000>;
83
84	mdio0 {
85		#address-cells = <1>;
86		#size-cells = <0>;
87		compatible = "snps,dwmac-mdio";
88		phy0: ethernet-phy@0 {
89			reg = <4>;
90
91			txd0-skew-ps = <0>; /* -420ps */
92			txd1-skew-ps = <0>; /* -420ps */
93			txd2-skew-ps = <0>; /* -420ps */
94			txd3-skew-ps = <0>; /* -420ps */
95			rxd0-skew-ps = <420>; /* 0ps */
96			rxd1-skew-ps = <420>; /* 0ps */
97			rxd2-skew-ps = <420>; /* 0ps */
98			rxd3-skew-ps = <420>; /* 0ps */
99			txen-skew-ps = <0>; /* -420ps */
100			txc-skew-ps = <900>; /* 0ps */
101			rxdv-skew-ps = <420>; /* 0ps */
102			rxc-skew-ps = <1680>; /* 780ps */
103		};
104	};
105};
106
107&mmc {
108	status = "okay";
109	cap-sd-highspeed;
110	broken-cd;
111	bus-width = <4>;
112};
113
114&uart0 {
115	status = "okay";
116};
117
118&usb0 {
119	status = "okay";
120	disable-over-current;
121};
122
123&watchdog0 {
124	status = "okay";
125};
126
127&i2c1 {
128	status = "okay";
129	clock-frequency = <100000>;
130	i2c-sda-falling-time-ns = <890>;  /* hcnt */
131	i2c-sdl-falling-time-ns = <890>;  /* lcnt */
132
133	adc@14 {
134		compatible = "lltc,ltc2497";
135		reg = <0x14>;
136		vref-supply = <&ref_033v>;
137	};
138
139	temp@4c {
140		compatible = "maxim,max1619";
141		reg = <0x4c>;
142	};
143
144	eeprom@51 {
145		compatible = "atmel,24c32";
146		reg = <0x51>;
147		pagesize = <32>;
148	};
149
150	rtc@68 {
151		compatible = "dallas,ds1339";
152		reg = <0x68>;
153	};
154};
155
156&qspi {
157	flash@0 {
158		#address-cells = <1>;
159		#size-cells = <1>;
160		compatible = "n25q00a";
161		reg = <0>;
162		spi-max-frequency = <50000000>;
163
164		m25p,fast-read;
165		cdns,page-size = <256>;
166		cdns,block-size = <16>;
167		cdns,read-delay = <1>;
168		cdns,tshsl-ns = <50>;
169		cdns,tsd2d-ns = <50>;
170		cdns,tchsh-ns = <4>;
171		cdns,tslch-ns = <4>;
172
173		partitions {
174			compatible = "fixed-partitions";
175			#address-cells = <1>;
176			#size-cells = <1>;
177
178			qspi_boot: partition@0 {
179				label = "Boot and fpga data";
180				reg = <0x0 0x4000000>;
181			};
182
183			qspi_rootfs: partition@4000000 {
184				label = "Root Filesystem - JFFS2";
185				reg = <0x4000000 0x4000000>;
186			};
187		};
188	};
189};
190