blob: 6e5578d7bd3c015193fe1837a756f97a854ef934 [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 */
Marek Vasutc3247462019-03-06 19:47:22 +010017
18#include "socfpga_arria10.dtsi"
Marek Vasut03f80b12018-04-23 01:37:57 +020019
20/ {
21 model = "Altera SOCFPGA Arria 10";
22 compatible = "altr,socfpga-arria10", "altr,socfpga";
23
24 aliases {
25 ethernet0 = &gmac0;
26 serial0 = &uart1;
Marek Vasutd41a4662018-08-13 20:40:54 +020027 i2c0 = &i2c1;
Marek Vasut03f80b12018-04-23 01:37:57 +020028 };
29
30 chosen {
31 bootargs = "earlyprintk";
32 stdout-path = "serial0:115200n8";
33 };
34
35 memory@0 {
36 name = "memory";
37 device_type = "memory";
38 reg = <0x0 0x40000000>; /* 1GB */
Marek Vasuta77d9f82018-05-29 18:02:22 +020039 u-boot,dm-pre-reloc;
Marek Vasut03f80b12018-04-23 01:37:57 +020040 };
41
42 a10leds {
43 compatible = "gpio-leds";
44
45 a10sr_led0 {
46 label = "a10sr-led0";
47 gpios = <&a10sr_gpio 0 1>;
48 };
49
50 a10sr_led1 {
51 label = "a10sr-led1";
52 gpios = <&a10sr_gpio 1 1>;
53 };
54
55 a10sr_led2 {
56 label = "a10sr-led2";
57 gpios = <&a10sr_gpio 2 1>;
58 };
59
60 a10sr_led3 {
61 label = "a10sr-led3";
62 gpios = <&a10sr_gpio 3 1>;
63 };
64 };
65
66 soc {
67 u-boot,dm-pre-reloc;
68 };
69};
70
71&gmac0 {
72 phy-mode = "rgmii";
73 phy-addr = <0xffffffff>; /* probe for phy addr */
74
75 /*
76 * These skews assume the user's FPGA design is adding 600ps of delay
77 * for TX_CLK on Arria 10.
78 *
79 * All skews are offset since hardware skew values for the ksz9031
80 * range from a negative skew to a positive skew.
81 * See the micrel-ksz90x1.txt Documentation file for details.
82 */
83 txd0-skew-ps = <0>; /* -420ps */
84 txd1-skew-ps = <0>; /* -420ps */
85 txd2-skew-ps = <0>; /* -420ps */
86 txd3-skew-ps = <0>; /* -420ps */
87 rxd0-skew-ps = <420>; /* 0ps */
88 rxd1-skew-ps = <420>; /* 0ps */
89 rxd2-skew-ps = <420>; /* 0ps */
90 rxd3-skew-ps = <420>; /* 0ps */
91 txen-skew-ps = <0>; /* -420ps */
92 txc-skew-ps = <1860>; /* 960ps */
93 rxdv-skew-ps = <420>; /* 0ps */
94 rxc-skew-ps = <1680>; /* 780ps */
95 max-frame-size = <3800>;
96 status = "okay";
97};
98
99&gpio1 {
100 status = "okay";
101};
102
103&spi1 {
104 status = "okay";
105
106 resource-manager@0 {
107 compatible = "altr,a10sr";
108 reg = <0>;
109 spi-max-frequency = <100000>;
110 /* low-level active IRQ at GPIO1_5 */
111 interrupt-parent = <&portb>;
112 interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
113 interrupt-controller;
114 #interrupt-cells = <2>;
115
116 a10sr_gpio: gpio-controller {
117 compatible = "altr,a10sr-gpio";
118 gpio-controller;
119 #gpio-cells = <2>;
120 };
121
122 a10sr_rst: reset-controller {
123 compatible = "altr,a10sr-reset";
124 #reset-cells = <1>;
125 };
126 };
127};
128
129&i2c1 {
130 status = "okay";
131
132 /*
133 * adjust the falling times to decrease the i2c frequency to 50Khz
134 * because the LCD module does not work at the standard 100Khz
135 */
136 clock-frequency = <100000>;
137 i2c-sda-falling-time-ns = <6000>;
138 i2c-scl-falling-time-ns = <6000>;
139
140 eeprom@51 {
141 compatible = "atmel,24c32";
142 reg = <0x51>;
143 pagesize = <32>;
144 };
145
146 rtc@68 {
147 compatible = "dallas,ds1339";
148 reg = <0x68>;
149 };
150
151 ltc@5c {
152 compatible = "ltc2977";
153 reg = <0x5c>;
154 };
155};
156
157&uart1 {
Marek Vasut03f80b12018-04-23 01:37:57 +0200158 u-boot,dm-pre-reloc;
159 status = "okay";
160};
161
162&usb0 {
163 status = "okay";
164 disable-over-current;
165};
166
167&watchdog1 {
168 status = "okay";
169};
Marek Vasutc2b21442018-08-06 22:07:40 +0200170
171/* Clock available early */
Marek Vasutc2b21442018-08-06 22:07:40 +0200172&main_periph_ref_clk {
173 u-boot,dm-pre-reloc;
174};
175
Marek Vasutc2b21442018-08-06 22:07:40 +0200176&l4_mp_clk {
177 u-boot,dm-pre-reloc;
178};
179
180&l4_sp_clk {
181 u-boot,dm-pre-reloc;
182};