xref: /freebsd-src/sys/contrib/device-tree/src/arm/intel/socfpga/socfpga_arria10_socdk.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright (C) 2015 Altera Corporation <www.altera.com>
4*f126890aSEmmanuel Vadot */
5*f126890aSEmmanuel Vadot#include "socfpga_arria10.dtsi"
6*f126890aSEmmanuel Vadot
7*f126890aSEmmanuel Vadot/ {
8*f126890aSEmmanuel Vadot	model = "Altera SOCFPGA Arria 10";
9*f126890aSEmmanuel Vadot	compatible = "altr,socfpga-arria10-socdk", "altr,socfpga-arria10", "altr,socfpga";
10*f126890aSEmmanuel Vadot
11*f126890aSEmmanuel Vadot	aliases {
12*f126890aSEmmanuel Vadot		ethernet0 = &gmac0;
13*f126890aSEmmanuel Vadot		serial0 = &uart1;
14*f126890aSEmmanuel Vadot	};
15*f126890aSEmmanuel Vadot
16*f126890aSEmmanuel Vadot	chosen {
17*f126890aSEmmanuel Vadot		bootargs = "earlyprintk";
18*f126890aSEmmanuel Vadot		stdout-path = "serial0:115200n8";
19*f126890aSEmmanuel Vadot	};
20*f126890aSEmmanuel Vadot
21*f126890aSEmmanuel Vadot	memory@0 {
22*f126890aSEmmanuel Vadot		name = "memory";
23*f126890aSEmmanuel Vadot		device_type = "memory";
24*f126890aSEmmanuel Vadot		reg = <0x0 0x40000000>; /* 1GB */
25*f126890aSEmmanuel Vadot	};
26*f126890aSEmmanuel Vadot
27*f126890aSEmmanuel Vadot	a10leds {
28*f126890aSEmmanuel Vadot		compatible = "gpio-leds";
29*f126890aSEmmanuel Vadot
30*f126890aSEmmanuel Vadot		a10sr_led0 {
31*f126890aSEmmanuel Vadot			label = "a10sr-led0";
32*f126890aSEmmanuel Vadot			gpios = <&a10sr_gpio 0 1>;
33*f126890aSEmmanuel Vadot		};
34*f126890aSEmmanuel Vadot
35*f126890aSEmmanuel Vadot		a10sr_led1 {
36*f126890aSEmmanuel Vadot			label = "a10sr-led1";
37*f126890aSEmmanuel Vadot			gpios = <&a10sr_gpio 1 1>;
38*f126890aSEmmanuel Vadot		};
39*f126890aSEmmanuel Vadot
40*f126890aSEmmanuel Vadot		a10sr_led2 {
41*f126890aSEmmanuel Vadot			label = "a10sr-led2";
42*f126890aSEmmanuel Vadot			gpios = <&a10sr_gpio 2 1>;
43*f126890aSEmmanuel Vadot		};
44*f126890aSEmmanuel Vadot
45*f126890aSEmmanuel Vadot		a10sr_led3 {
46*f126890aSEmmanuel Vadot			label = "a10sr-led3";
47*f126890aSEmmanuel Vadot			gpios = <&a10sr_gpio 3 1>;
48*f126890aSEmmanuel Vadot		};
49*f126890aSEmmanuel Vadot	};
50*f126890aSEmmanuel Vadot
51*f126890aSEmmanuel Vadot	ref_033v: 033-v-ref {
52*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
53*f126890aSEmmanuel Vadot		regulator-name = "0.33V";
54*f126890aSEmmanuel Vadot		regulator-min-microvolt = <330000>;
55*f126890aSEmmanuel Vadot		regulator-max-microvolt = <330000>;
56*f126890aSEmmanuel Vadot	};
57*f126890aSEmmanuel Vadot
58*f126890aSEmmanuel Vadot	soc {
59*f126890aSEmmanuel Vadot		clkmgr@ffd04000 {
60*f126890aSEmmanuel Vadot			clocks {
61*f126890aSEmmanuel Vadot				osc1 {
62*f126890aSEmmanuel Vadot					clock-frequency = <25000000>;
63*f126890aSEmmanuel Vadot				};
64*f126890aSEmmanuel Vadot			};
65*f126890aSEmmanuel Vadot		};
66*f126890aSEmmanuel Vadot	};
67*f126890aSEmmanuel Vadot};
68*f126890aSEmmanuel Vadot
69*f126890aSEmmanuel Vadot&gmac0 {
70*f126890aSEmmanuel Vadot	phy-mode = "rgmii";
71*f126890aSEmmanuel Vadot	phy-addr = <0xffffffff>; /* probe for phy addr */
72*f126890aSEmmanuel Vadot
73*f126890aSEmmanuel Vadot	/*
74*f126890aSEmmanuel Vadot	 * These skews assume the user's FPGA design is adding 600ps of delay
75*f126890aSEmmanuel Vadot	 * for TX_CLK on Arria 10.
76*f126890aSEmmanuel Vadot	 *
77*f126890aSEmmanuel Vadot	 * All skews are offset since hardware skew values for the ksz9031
78*f126890aSEmmanuel Vadot	 * range from a negative skew to a positive skew.
79*f126890aSEmmanuel Vadot	 * See the micrel-ksz90x1.txt Documentation file for details.
80*f126890aSEmmanuel Vadot	 */
81*f126890aSEmmanuel Vadot	txd0-skew-ps = <0>; /* -420ps */
82*f126890aSEmmanuel Vadot	txd1-skew-ps = <0>; /* -420ps */
83*f126890aSEmmanuel Vadot	txd2-skew-ps = <0>; /* -420ps */
84*f126890aSEmmanuel Vadot	txd3-skew-ps = <0>; /* -420ps */
85*f126890aSEmmanuel Vadot	rxd0-skew-ps = <420>; /* 0ps */
86*f126890aSEmmanuel Vadot	rxd1-skew-ps = <420>; /* 0ps */
87*f126890aSEmmanuel Vadot	rxd2-skew-ps = <420>; /* 0ps */
88*f126890aSEmmanuel Vadot	rxd3-skew-ps = <420>; /* 0ps */
89*f126890aSEmmanuel Vadot	txen-skew-ps = <0>; /* -420ps */
90*f126890aSEmmanuel Vadot	txc-skew-ps = <1860>; /* 960ps */
91*f126890aSEmmanuel Vadot	rxdv-skew-ps = <420>; /* 0ps */
92*f126890aSEmmanuel Vadot	rxc-skew-ps = <1680>; /* 780ps */
93*f126890aSEmmanuel Vadot	max-frame-size = <3800>;
94*f126890aSEmmanuel Vadot	status = "okay";
95*f126890aSEmmanuel Vadot};
96*f126890aSEmmanuel Vadot
97*f126890aSEmmanuel Vadot&gpio1 {
98*f126890aSEmmanuel Vadot	status = "okay";
99*f126890aSEmmanuel Vadot};
100*f126890aSEmmanuel Vadot
101*f126890aSEmmanuel Vadot&spi1 {
102*f126890aSEmmanuel Vadot	status = "okay";
103*f126890aSEmmanuel Vadot
104*f126890aSEmmanuel Vadot	resource-manager@0 {
105*f126890aSEmmanuel Vadot		compatible = "altr,a10sr";
106*f126890aSEmmanuel Vadot		reg = <0>;
107*f126890aSEmmanuel Vadot		spi-max-frequency = <100000>;
108*f126890aSEmmanuel Vadot		/* low-level active IRQ at GPIO1_5 */
109*f126890aSEmmanuel Vadot		interrupt-parent = <&portb>;
110*f126890aSEmmanuel Vadot		interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
111*f126890aSEmmanuel Vadot		interrupt-controller;
112*f126890aSEmmanuel Vadot		#interrupt-cells = <2>;
113*f126890aSEmmanuel Vadot
114*f126890aSEmmanuel Vadot		a10sr_gpio: gpio-controller {
115*f126890aSEmmanuel Vadot			compatible = "altr,a10sr-gpio";
116*f126890aSEmmanuel Vadot			gpio-controller;
117*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
118*f126890aSEmmanuel Vadot		};
119*f126890aSEmmanuel Vadot
120*f126890aSEmmanuel Vadot		a10sr_rst: reset-controller {
121*f126890aSEmmanuel Vadot			compatible = "altr,a10sr-reset";
122*f126890aSEmmanuel Vadot			#reset-cells = <1>;
123*f126890aSEmmanuel Vadot		};
124*f126890aSEmmanuel Vadot	};
125*f126890aSEmmanuel Vadot};
126*f126890aSEmmanuel Vadot
127*f126890aSEmmanuel Vadot&i2c1 {
128*f126890aSEmmanuel Vadot	status = "okay";
129*f126890aSEmmanuel Vadot
130*f126890aSEmmanuel Vadot	/*
131*f126890aSEmmanuel Vadot	 * adjust the falling times to decrease the i2c frequency to 50Khz
132*f126890aSEmmanuel Vadot	 * because the LCD module does not work at the standard 100Khz
133*f126890aSEmmanuel Vadot	 */
134*f126890aSEmmanuel Vadot	clock-frequency = <100000>;
135*f126890aSEmmanuel Vadot	i2c-sda-falling-time-ns = <6000>;
136*f126890aSEmmanuel Vadot	i2c-scl-falling-time-ns = <6000>;
137*f126890aSEmmanuel Vadot
138*f126890aSEmmanuel Vadot	adc@14 {
139*f126890aSEmmanuel Vadot		compatible = "lltc,ltc2497";
140*f126890aSEmmanuel Vadot		reg = <0x14>;
141*f126890aSEmmanuel Vadot		vref-supply = <&ref_033v>;
142*f126890aSEmmanuel Vadot	};
143*f126890aSEmmanuel Vadot
144*f126890aSEmmanuel Vadot	adc@16 {
145*f126890aSEmmanuel Vadot		compatible = "lltc,ltc2497";
146*f126890aSEmmanuel Vadot		reg = <0x16>;
147*f126890aSEmmanuel Vadot		vref-supply = <&ref_033v>;
148*f126890aSEmmanuel Vadot	};
149*f126890aSEmmanuel Vadot
150*f126890aSEmmanuel Vadot	eeprom@51 {
151*f126890aSEmmanuel Vadot		compatible = "atmel,24c32";
152*f126890aSEmmanuel Vadot		reg = <0x51>;
153*f126890aSEmmanuel Vadot		pagesize = <32>;
154*f126890aSEmmanuel Vadot	};
155*f126890aSEmmanuel Vadot
156*f126890aSEmmanuel Vadot	rtc@68 {
157*f126890aSEmmanuel Vadot		compatible = "dallas,ds1339";
158*f126890aSEmmanuel Vadot		reg = <0x68>;
159*f126890aSEmmanuel Vadot	};
160*f126890aSEmmanuel Vadot
161*f126890aSEmmanuel Vadot	ltc@5c {
162*f126890aSEmmanuel Vadot		compatible = "ltc2977";
163*f126890aSEmmanuel Vadot		reg = <0x5c>;
164*f126890aSEmmanuel Vadot	};
165*f126890aSEmmanuel Vadot
166*f126890aSEmmanuel Vadot	temp@4c {
167*f126890aSEmmanuel Vadot		compatible = "maxim,max1619";
168*f126890aSEmmanuel Vadot		reg = <0x4c>;
169*f126890aSEmmanuel Vadot	};
170*f126890aSEmmanuel Vadot};
171*f126890aSEmmanuel Vadot
172*f126890aSEmmanuel Vadot&uart1 {
173*f126890aSEmmanuel Vadot	status = "okay";
174*f126890aSEmmanuel Vadot};
175*f126890aSEmmanuel Vadot
176*f126890aSEmmanuel Vadot&usb0 {
177*f126890aSEmmanuel Vadot	status = "okay";
178*f126890aSEmmanuel Vadot	disable-over-current;
179*f126890aSEmmanuel Vadot};
180*f126890aSEmmanuel Vadot
181*f126890aSEmmanuel Vadot&watchdog1 {
182*f126890aSEmmanuel Vadot	status = "okay";
183*f126890aSEmmanuel Vadot};
184