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