1*cc21ed62SMarek Vasut/*
2*cc21ed62SMarek Vasut * Copyright (C) 2015 Altera Corporation <www.altera.com>
3*cc21ed62SMarek Vasut *
4*cc21ed62SMarek Vasut * This program is free software; you can redistribute it and/or modify
5*cc21ed62SMarek Vasut * it under the terms of the GNU General Public License as published by
6*cc21ed62SMarek Vasut * the Free Software Foundation; either version 2 of the License, or
7*cc21ed62SMarek Vasut * (at your option) any later version.
8*cc21ed62SMarek Vasut *
9*cc21ed62SMarek Vasut * This program is distributed in the hope that it will be useful,
10*cc21ed62SMarek Vasut * but WITHOUT ANY WARRANTY; without even the implied warranty of
11*cc21ed62SMarek Vasut * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12*cc21ed62SMarek Vasut * GNU General Public License for more details.
13*cc21ed62SMarek Vasut *
14*cc21ed62SMarek Vasut * You should have received a copy of the GNU General Public License
15*cc21ed62SMarek Vasut * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16*cc21ed62SMarek Vasut */
17*cc21ed62SMarek Vasut#include "socfpga_arria10_socdk_sdmmc_handoff.dtsi"
18*cc21ed62SMarek Vasut
19*cc21ed62SMarek Vasut/ {
20*cc21ed62SMarek Vasut	model = "Altera SOCFPGA Arria 10";
21*cc21ed62SMarek Vasut	compatible = "altr,socfpga-arria10", "altr,socfpga";
22*cc21ed62SMarek Vasut
23*cc21ed62SMarek Vasut	aliases {
24*cc21ed62SMarek Vasut		ethernet0 = &gmac0;
25*cc21ed62SMarek Vasut		serial0 = &uart1;
26*cc21ed62SMarek Vasut	};
27*cc21ed62SMarek Vasut
28*cc21ed62SMarek Vasut	chosen {
29*cc21ed62SMarek Vasut		bootargs = "earlyprintk";
30*cc21ed62SMarek Vasut		stdout-path = "serial0:115200n8";
31*cc21ed62SMarek Vasut	};
32*cc21ed62SMarek Vasut
33*cc21ed62SMarek Vasut	memory@0 {
34*cc21ed62SMarek Vasut		name = "memory";
35*cc21ed62SMarek Vasut		device_type = "memory";
36*cc21ed62SMarek Vasut		reg = <0x0 0x40000000>; /* 1GB */
37*cc21ed62SMarek Vasut	};
38*cc21ed62SMarek Vasut
39*cc21ed62SMarek Vasut	a10leds {
40*cc21ed62SMarek Vasut		compatible = "gpio-leds";
41*cc21ed62SMarek Vasut
42*cc21ed62SMarek Vasut		a10sr_led0 {
43*cc21ed62SMarek Vasut			label = "a10sr-led0";
44*cc21ed62SMarek Vasut			gpios = <&a10sr_gpio 0 1>;
45*cc21ed62SMarek Vasut		};
46*cc21ed62SMarek Vasut
47*cc21ed62SMarek Vasut		a10sr_led1 {
48*cc21ed62SMarek Vasut			label = "a10sr-led1";
49*cc21ed62SMarek Vasut			gpios = <&a10sr_gpio 1 1>;
50*cc21ed62SMarek Vasut		};
51*cc21ed62SMarek Vasut
52*cc21ed62SMarek Vasut		a10sr_led2 {
53*cc21ed62SMarek Vasut			label = "a10sr-led2";
54*cc21ed62SMarek Vasut			gpios = <&a10sr_gpio 2 1>;
55*cc21ed62SMarek Vasut		};
56*cc21ed62SMarek Vasut
57*cc21ed62SMarek Vasut		a10sr_led3 {
58*cc21ed62SMarek Vasut			label = "a10sr-led3";
59*cc21ed62SMarek Vasut			gpios = <&a10sr_gpio 3 1>;
60*cc21ed62SMarek Vasut		};
61*cc21ed62SMarek Vasut	};
62*cc21ed62SMarek Vasut
63*cc21ed62SMarek Vasut	soc {
64*cc21ed62SMarek Vasut		u-boot,dm-pre-reloc;
65*cc21ed62SMarek Vasut	};
66*cc21ed62SMarek Vasut};
67*cc21ed62SMarek Vasut
68*cc21ed62SMarek Vasut&gmac0 {
69*cc21ed62SMarek Vasut	phy-mode = "rgmii";
70*cc21ed62SMarek Vasut	phy-addr = <0xffffffff>; /* probe for phy addr */
71*cc21ed62SMarek Vasut
72*cc21ed62SMarek Vasut	/*
73*cc21ed62SMarek Vasut	 * These skews assume the user's FPGA design is adding 600ps of delay
74*cc21ed62SMarek Vasut	 * for TX_CLK on Arria 10.
75*cc21ed62SMarek Vasut	 *
76*cc21ed62SMarek Vasut	 * All skews are offset since hardware skew values for the ksz9031
77*cc21ed62SMarek Vasut	 * range from a negative skew to a positive skew.
78*cc21ed62SMarek Vasut	 * See the micrel-ksz90x1.txt Documentation file for details.
79*cc21ed62SMarek Vasut	 */
80*cc21ed62SMarek Vasut	txd0-skew-ps = <0>; /* -420ps */
81*cc21ed62SMarek Vasut	txd1-skew-ps = <0>; /* -420ps */
82*cc21ed62SMarek Vasut	txd2-skew-ps = <0>; /* -420ps */
83*cc21ed62SMarek Vasut	txd3-skew-ps = <0>; /* -420ps */
84*cc21ed62SMarek Vasut	rxd0-skew-ps = <420>; /* 0ps */
85*cc21ed62SMarek Vasut	rxd1-skew-ps = <420>; /* 0ps */
86*cc21ed62SMarek Vasut	rxd2-skew-ps = <420>; /* 0ps */
87*cc21ed62SMarek Vasut	rxd3-skew-ps = <420>; /* 0ps */
88*cc21ed62SMarek Vasut	txen-skew-ps = <0>; /* -420ps */
89*cc21ed62SMarek Vasut	txc-skew-ps = <1860>; /* 960ps */
90*cc21ed62SMarek Vasut	rxdv-skew-ps = <420>; /* 0ps */
91*cc21ed62SMarek Vasut	rxc-skew-ps = <1680>; /* 780ps */
92*cc21ed62SMarek Vasut	max-frame-size = <3800>;
93*cc21ed62SMarek Vasut	status = "okay";
94*cc21ed62SMarek Vasut};
95*cc21ed62SMarek Vasut
96*cc21ed62SMarek Vasut&gpio1 {
97*cc21ed62SMarek Vasut	status = "okay";
98*cc21ed62SMarek Vasut};
99*cc21ed62SMarek Vasut
100*cc21ed62SMarek Vasut&spi1 {
101*cc21ed62SMarek Vasut	status = "okay";
102*cc21ed62SMarek Vasut
103*cc21ed62SMarek Vasut	resource-manager@0 {
104*cc21ed62SMarek Vasut		compatible = "altr,a10sr";
105*cc21ed62SMarek Vasut		reg = <0>;
106*cc21ed62SMarek Vasut		spi-max-frequency = <100000>;
107*cc21ed62SMarek Vasut		/* low-level active IRQ at GPIO1_5 */
108*cc21ed62SMarek Vasut		interrupt-parent = <&portb>;
109*cc21ed62SMarek Vasut		interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
110*cc21ed62SMarek Vasut		interrupt-controller;
111*cc21ed62SMarek Vasut		#interrupt-cells = <2>;
112*cc21ed62SMarek Vasut
113*cc21ed62SMarek Vasut		a10sr_gpio: gpio-controller {
114*cc21ed62SMarek Vasut			compatible = "altr,a10sr-gpio";
115*cc21ed62SMarek Vasut			gpio-controller;
116*cc21ed62SMarek Vasut			#gpio-cells = <2>;
117*cc21ed62SMarek Vasut		};
118*cc21ed62SMarek Vasut
119*cc21ed62SMarek Vasut		a10sr_rst: reset-controller {
120*cc21ed62SMarek Vasut			compatible = "altr,a10sr-reset";
121*cc21ed62SMarek Vasut			#reset-cells = <1>;
122*cc21ed62SMarek Vasut		};
123*cc21ed62SMarek Vasut	};
124*cc21ed62SMarek Vasut};
125*cc21ed62SMarek Vasut
126*cc21ed62SMarek Vasut&i2c1 {
127*cc21ed62SMarek Vasut	status = "okay";
128*cc21ed62SMarek Vasut
129*cc21ed62SMarek Vasut	/*
130*cc21ed62SMarek Vasut	 * adjust the falling times to decrease the i2c frequency to 50Khz
131*cc21ed62SMarek Vasut	 * because the LCD module does not work at the standard 100Khz
132*cc21ed62SMarek Vasut	 */
133*cc21ed62SMarek Vasut	clock-frequency = <100000>;
134*cc21ed62SMarek Vasut	i2c-sda-falling-time-ns = <6000>;
135*cc21ed62SMarek Vasut	i2c-scl-falling-time-ns = <6000>;
136*cc21ed62SMarek Vasut
137*cc21ed62SMarek Vasut	eeprom@51 {
138*cc21ed62SMarek Vasut		compatible = "atmel,24c32";
139*cc21ed62SMarek Vasut		reg = <0x51>;
140*cc21ed62SMarek Vasut		pagesize = <32>;
141*cc21ed62SMarek Vasut	};
142*cc21ed62SMarek Vasut
143*cc21ed62SMarek Vasut	rtc@68 {
144*cc21ed62SMarek Vasut		compatible = "dallas,ds1339";
145*cc21ed62SMarek Vasut		reg = <0x68>;
146*cc21ed62SMarek Vasut	};
147*cc21ed62SMarek Vasut
148*cc21ed62SMarek Vasut	ltc@5c {
149*cc21ed62SMarek Vasut		compatible = "ltc2977";
150*cc21ed62SMarek Vasut		reg = <0x5c>;
151*cc21ed62SMarek Vasut	};
152*cc21ed62SMarek Vasut};
153*cc21ed62SMarek Vasut
154*cc21ed62SMarek Vasut&uart1 {
155*cc21ed62SMarek Vasut	clock-frequency = <50000000>;
156*cc21ed62SMarek Vasut	u-boot,dm-pre-reloc;
157*cc21ed62SMarek Vasut	status = "okay";
158*cc21ed62SMarek Vasut};
159*cc21ed62SMarek Vasut
160*cc21ed62SMarek Vasut&usb0 {
161*cc21ed62SMarek Vasut	status = "okay";
162*cc21ed62SMarek Vasut	disable-over-current;
163*cc21ed62SMarek Vasut};
164*cc21ed62SMarek Vasut
165*cc21ed62SMarek Vasut&watchdog1 {
166*cc21ed62SMarek Vasut	status = "okay";
167*cc21ed62SMarek Vasut};
168