GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / socfpga_cyclone5_sockit.dts
1 /*
2  *  Copyright (C) 2013 Steffen Trumtrar <s.trumtrar@pengutronix.de>
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
18 #include "socfpga_cyclone5.dtsi"
19
20 / {
21         model = "Terasic SoCkit";
22         compatible = "terasic,socfpga-cyclone5-sockit", "altr,socfpga-cyclone5", "altr,socfpga";
23
24         chosen {
25                 bootargs = "earlyprintk";
26                 stdout-path = "serial0:115200n8";
27         };
28
29         memory@0 {
30                 name = "memory";
31                 device_type = "memory";
32                 reg = <0x0 0x40000000>; /* 1GB */
33         };
34
35         aliases {
36                 /* this allow the ethaddr uboot environmnet variable contents
37                  * to be added to the gmac1 device tree blob.
38                  */
39                 ethernet0 = &gmac1;
40         };
41
42         leds {
43                 compatible = "gpio-leds";
44
45                 hps_led0 {
46                         label = "hps:blue:led0";
47                         gpios = <&portb 24 0>;  /* HPS_GPIO53 */
48                         linux,default-trigger = "heartbeat";
49                 };
50
51                 hps_led1 {
52                         label = "hps:blue:led1";
53                         gpios = <&portb 25 0>;  /* HPS_GPIO54 */
54                         linux,default-trigger = "heartbeat";
55                 };
56
57                 hps_led2 {
58                         label = "hps:blue:led2";
59                         gpios = <&portb 26 0>;  /* HPS_GPIO55 */
60                         linux,default-trigger = "heartbeat";
61                 };
62
63                 hps_led3 {
64                         label = "hps:blue:led3";
65                         gpios = <&portb 27 0>;  /* HPS_GPIO56 */
66                         linux,default-trigger = "heartbeat";
67                 };
68         };
69
70         gpio-keys {
71                 compatible = "gpio-keys";
72
73                 hps_sw0 {
74                         label = "hps_sw0";
75                         gpios = <&portc 20 0>;  /* HPS_GPI7 */
76                         linux,input-type = <5>; /* EV_SW */
77                         linux,code = <0x0>;     /* SW_LID */
78                 };
79
80                 hps_sw1 {
81                         label = "hps_sw1";
82                         gpios = <&portc 19 0>;  /* HPS_GPI6 */
83                         linux,input-type = <5>; /* EV_SW */
84                         linux,code = <0x5>;     /* SW_DOCK */
85                 };
86
87                 hps_sw2 {
88                         label = "hps_sw2";
89                         gpios = <&portc 18 0>;  /* HPS_GPI5 */
90                         linux,input-type = <5>; /* EV_SW */
91                         linux,code = <0xa>;     /* SW_KEYPAD_SLIDE */
92                 };
93
94                 hps_sw3 {
95                         label = "hps_sw3";
96                         gpios = <&portc 17 0>;  /* HPS_GPI4 */
97                         linux,input-type = <5>; /* EV_SW */
98                         linux,code = <0xc>;     /* SW_ROTATE_LOCK */
99                 };
100
101                 hps_hkey0 {
102                         label = "hps_hkey0";
103                         gpios = <&portc 21 1>;  /* HPS_GPI8 */
104                         linux,code = <187>;     /* KEY_F17 */
105                 };
106
107                 hps_hkey1 {
108                         label = "hps_hkey1";
109                         gpios = <&portc 22 1>;  /* HPS_GPI9 */
110                         linux,code = <188>;     /* KEY_F18 */
111                 };
112
113                 hps_hkey2 {
114                         label = "hps_hkey2";
115                         gpios = <&portc 23 1>;  /* HPS_GPI10 */
116                         linux,code = <189>;     /* KEY_F19 */
117                 };
118
119                 hps_hkey3 {
120                         label = "hps_hkey3";
121                         gpios = <&portc 24 1>;  /* HPS_GPI11 */
122                         linux,code = <190>;     /* KEY_F20 */
123                 };
124         };
125
126         regulator_3_3v: vcc3p3-regulator {
127                 compatible = "regulator-fixed";
128                 regulator-name = "VCC3P3";
129                 regulator-min-microvolt = <3300000>;
130                 regulator-max-microvolt = <3300000>;
131         };
132 };
133
134 &gmac1 {
135         status = "okay";
136         phy-mode = "rgmii";
137
138         rxd0-skew-ps = <0>;
139         rxd1-skew-ps = <0>;
140         rxd2-skew-ps = <0>;
141         rxd3-skew-ps = <0>;
142         txen-skew-ps = <0>;
143         txc-skew-ps = <2600>;
144         rxdv-skew-ps = <0>;
145         rxc-skew-ps = <2000>;
146 };
147
148 &gpio0 {        /* GPIO 0..29 */
149         status = "okay";
150 };
151
152 &gpio1 {        /* GPIO 30..57 */
153         status = "okay";
154 };
155
156 &gpio2 {        /* GPIO 58..66 (HLGPI 0..13 at offset 13) */
157         status = "okay";
158 };
159
160 &i2c1 {
161         status = "okay";
162
163         accel1: accelerometer@53 {
164                 compatible = "adi,adxl345";
165                 reg = <0x53>;
166
167                 interrupt-parent = <&portc>;
168                 interrupts = <3 2>;
169         };
170 };
171
172 &mmc0 {
173         vmmc-supply = <&regulator_3_3v>;
174         vqmmc-supply = <&regulator_3_3v>;
175         status = "okay";
176 };
177
178 &qspi {
179         status = "okay";
180
181         flash: flash@0 {
182                 #address-cells = <1>;
183                 #size-cells = <1>;
184                 compatible = "micron,mt25qu02g", "jedec,spi-nor";
185                 reg = <0>;
186                 spi-max-frequency = <100000000>;
187
188                 m25p,fast-read;
189                 cdns,page-size = <256>;
190                 cdns,block-size = <16>;
191                 cdns,read-delay = <4>;
192                 cdns,tshsl-ns = <50>;
193                 cdns,tsd2d-ns = <50>;
194                 cdns,tchsh-ns = <4>;
195                 cdns,tslch-ns = <4>;
196         };
197 };
198
199 &usb1 {
200         status = "okay";
201 };