blob: 90669cde45e94f8e79906d3021c02b416d747887 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Marek Vasut952caa22015-06-21 17:28:53 +02002/*
Simon Goldschmidtc402e812018-11-02 11:54:52 +01003 * Copyright (C) 2013 Steffen Trumtrar <s.trumtrar@pengutronix.de>
Marek Vasut952caa22015-06-21 17:28:53 +02004 */
5
6#include "socfpga_cyclone5.dtsi"
7
8/ {
9 model = "Terasic SoCkit";
Simon Goldschmidtc402e812018-11-02 11:54:52 +010010 compatible = "terasic,socfpga-cyclone5-sockit", "altr,socfpga-cyclone5", "altr,socfpga";
Marek Vasut952caa22015-06-21 17:28:53 +020011
12 chosen {
Simon Goldschmidtc402e812018-11-02 11:54:52 +010013 bootargs = "earlyprintk";
Simon Goldschmidt79a436d2018-08-13 21:34:33 +020014 stdout-path = "serial0:115200n8";
Marek Vasut952caa22015-06-21 17:28:53 +020015 };
16
Simon Goldschmidtc402e812018-11-02 11:54:52 +010017 memory@0 {
Marek Vasut952caa22015-06-21 17:28:53 +020018 name = "memory";
19 device_type = "memory";
20 reg = <0x0 0x40000000>; /* 1GB */
21 };
22
Simon Goldschmidtc402e812018-11-02 11:54:52 +010023 aliases {
24 /* this allow the ethaddr uboot environmnet variable contents
25 * to be added to the gmac1 device tree blob.
26 */
27 ethernet0 = &gmac1;
28 };
29
30 leds {
31 compatible = "gpio-leds";
32
33 hps_led0 {
34 label = "hps:blue:led0";
35 gpios = <&portb 24 0>; /* HPS_GPIO53 */
36 linux,default-trigger = "heartbeat";
37 };
38
39 hps_led1 {
40 label = "hps:blue:led1";
41 gpios = <&portb 25 0>; /* HPS_GPIO54 */
42 linux,default-trigger = "heartbeat";
43 };
44
45 hps_led2 {
46 label = "hps:blue:led2";
47 gpios = <&portb 26 0>; /* HPS_GPIO55 */
48 linux,default-trigger = "heartbeat";
49 };
50
51 hps_led3 {
52 label = "hps:blue:led3";
53 gpios = <&portb 27 0>; /* HPS_GPIO56 */
54 linux,default-trigger = "heartbeat";
55 };
56 };
57
58 gpio-keys {
59 compatible = "gpio-keys";
60
61 hps_sw0 {
62 label = "hps_sw0";
63 gpios = <&portc 20 0>; /* HPS_GPI7 */
64 linux,input-type = <5>; /* EV_SW */
65 linux,code = <0x0>; /* SW_LID */
66 };
67
68 hps_sw1 {
69 label = "hps_sw1";
70 gpios = <&portc 19 0>; /* HPS_GPI6 */
71 linux,input-type = <5>; /* EV_SW */
72 linux,code = <0x5>; /* SW_DOCK */
73 };
74
75 hps_sw2 {
76 label = "hps_sw2";
77 gpios = <&portc 18 0>; /* HPS_GPI5 */
78 linux,input-type = <5>; /* EV_SW */
79 linux,code = <0xa>; /* SW_KEYPAD_SLIDE */
80 };
81
82 hps_sw3 {
83 label = "hps_sw3";
84 gpios = <&portc 17 0>; /* HPS_GPI4 */
85 linux,input-type = <5>; /* EV_SW */
86 linux,code = <0xc>; /* SW_ROTATE_LOCK */
87 };
88
89 hps_hkey0 {
90 label = "hps_hkey0";
91 gpios = <&portc 21 1>; /* HPS_GPI8 */
92 linux,code = <187>; /* KEY_F17 */
93 };
94
95 hps_hkey1 {
96 label = "hps_hkey1";
97 gpios = <&portc 22 1>; /* HPS_GPI9 */
98 linux,code = <188>; /* KEY_F18 */
99 };
100
101 hps_hkey2 {
102 label = "hps_hkey2";
103 gpios = <&portc 23 1>; /* HPS_GPI10 */
104 linux,code = <189>; /* KEY_F19 */
105 };
106
107 hps_hkey3 {
108 label = "hps_hkey3";
109 gpios = <&portc 24 1>; /* HPS_GPI11 */
110 linux,code = <190>; /* KEY_F20 */
111 };
112 };
113
114 regulator_3_3v: vcc3p3-regulator {
115 compatible = "regulator-fixed";
116 regulator-name = "VCC3P3";
117 regulator-min-microvolt = <3300000>;
118 regulator-max-microvolt = <3300000>;
Marek Vasut952caa22015-06-21 17:28:53 +0200119 };
120};
121
122&gmac1 {
123 status = "okay";
124 phy-mode = "rgmii";
125
126 rxd0-skew-ps = <0>;
127 rxd1-skew-ps = <0>;
128 rxd2-skew-ps = <0>;
129 rxd3-skew-ps = <0>;
130 txen-skew-ps = <0>;
James Byrne83f71ef2019-03-04 17:40:33 +0000131 txc-skew-ps = <1560>;
Marek Vasut952caa22015-06-21 17:28:53 +0200132 rxdv-skew-ps = <0>;
James Byrne83f71ef2019-03-04 17:40:33 +0000133 rxc-skew-ps = <1200>;
Marek Vasut952caa22015-06-21 17:28:53 +0200134};
135
Simon Goldschmidtc402e812018-11-02 11:54:52 +0100136&gpio0 { /* GPIO 0..29 */
Marek Vasut952caa22015-06-21 17:28:53 +0200137 status = "okay";
138};
139
Simon Goldschmidtc402e812018-11-02 11:54:52 +0100140&gpio1 { /* GPIO 30..57 */
Marek Vasut952caa22015-06-21 17:28:53 +0200141 status = "okay";
142};
143
Simon Goldschmidtc402e812018-11-02 11:54:52 +0100144&gpio2 { /* GPIO 58..66 (HLGPI 0..13 at offset 13) */
Marek Vasut952caa22015-06-21 17:28:53 +0200145 status = "okay";
146};
147
Simon Goldschmidtc402e812018-11-02 11:54:52 +0100148&i2c1 {
Marek Vasut952caa22015-06-21 17:28:53 +0200149 status = "okay";
150
Simon Goldschmidtc402e812018-11-02 11:54:52 +0100151 accel1: accelerometer@53 {
152 compatible = "adi,adxl345";
153 reg = <0x53>;
154
155 interrupt-parent = <&portc>;
156 interrupts = <3 2>;
Marek Vasut952caa22015-06-21 17:28:53 +0200157 };
158};
159
160&mmc0 {
Simon Goldschmidtc402e812018-11-02 11:54:52 +0100161 vmmc-supply = <&regulator_3_3v>;
162 vqmmc-supply = <&regulator_3_3v>;
Marek Vasut952caa22015-06-21 17:28:53 +0200163 status = "okay";
Marek Vasut952caa22015-06-21 17:28:53 +0200164};
165
166&qspi {
167 status = "okay";
Marek Vasut952caa22015-06-21 17:28:53 +0200168
Simon Goldschmidtc402e812018-11-02 11:54:52 +0100169 flash: flash@0 {
Marek Vasut952caa22015-06-21 17:28:53 +0200170 #address-cells = <1>;
171 #size-cells = <1>;
Simon Goldschmidtc402e812018-11-02 11:54:52 +0100172 compatible = "n25q00";
173 reg = <0>;
174 spi-max-frequency = <100000000>;
175
Marek Vasut952caa22015-06-21 17:28:53 +0200176 m25p,fast-read;
Simon Goldschmidtc402e812018-11-02 11:54:52 +0100177 cdns,page-size = <256>;
178 cdns,block-size = <16>;
179 cdns,read-delay = <4>;
Jason Rush6e62b172018-01-23 17:13:10 -0600180 cdns,tshsl-ns = <50>;
181 cdns,tsd2d-ns = <50>;
182 cdns,tchsh-ns = <4>;
183 cdns,tslch-ns = <4>;
Marek Vasut952caa22015-06-21 17:28:53 +0200184 };
185};
Marek Vasut225217d2015-12-05 19:24:22 +0100186
187&usb1 {
188 status = "okay";
189};