ramips: clean and improve MAC address setup in 02_network
[oweals/openwrt.git] / target / linux / ramips / dts / mt7620a_hnet_c108.dts
1 /*
2  *  BSD LICENSE
3  *
4  *  Copyright(c) 2017 Kristian Evensen <kristian.evensen@gmail.com>.
5  *  All rights reserved.
6  *
7  *  Redistribution and use in source and binary forms, with or without
8  *  modification, are permitted provided that the following conditions
9  *  are met:
10  *
11  *    * Redistributions of source code must retain the above copyright
12  *      notice, this list of conditions and the following disclaimer.
13  *    * Redistributions in binary form must reproduce the above copyright
14  *      notice, this list of conditions and the following disclaimer in
15  *      the documentation and/or other materials provided with the
16  *      distribution.
17  *    * Neither the name of Broadcom Corporation nor the names of its
18  *      contributors may be used to endorse or promote products derived
19  *      from this software without specific prior written permission.
20  *
21  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32  */
33
34 /dts-v1/;
35
36 #include "mt7620a.dtsi"
37
38 #include <dt-bindings/gpio/gpio.h>
39 #include <dt-bindings/input/input.h>
40
41 / {
42         compatible = "hnet,c108", "ralink,mt7620a-soc";
43         model = "HNET C108";
44
45         aliases {
46                 led-boot = &led_lan_green;
47                 led-failsafe = &led_lan_green;
48                 led-running = &led_lan_green;
49                 led-upgrade = &led_lan_green;
50         };
51
52         chosen {
53                 bootargs = "console=ttyS0,115200";
54         };
55
56         gpio-export {
57                 compatible = "gpio-export";
58                 #size-cells = <0>;
59
60                 power_modem {
61                         gpio-export,name = "power_modem";
62                         gpio-export,output = <1>;
63                         gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
64                 };
65         };
66
67         leds {
68                 compatible = "gpio-leds";
69
70                 sdcard {
71                         label = "c108:green:sdcard";
72                         gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
73                 };
74
75                 modem_green {
76                         label = "c108:green:modem";
77                         gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
78                 };
79
80                 modem_red {
81                         label = "c108:red:modem";
82                         gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
83                 };
84
85                 lan_red {
86                         label = "c108:red:lan";
87                         gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
88                 };
89
90                 led_lan_green: lan_green {
91                         label = "c108:green:lan";
92                         gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;
93                 };
94         };
95
96         keys {
97                 compatible = "gpio-keys-polled";
98                 poll-interval = <20>;
99
100                 reset {
101                         label = "reset";
102                         gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
103                         linux,code = <KEY_RESTART>;
104                 };
105         };
106 };
107
108 &gpio1 {
109         status = "okay";
110 };
111
112 &gpio2 {
113         status = "okay";
114 };
115
116 &spi0 {
117         status = "okay";
118
119         en25q128@0 {
120                 compatible = "jedec,spi-nor";
121                 reg = <0>;
122                 spi-max-frequency = <10000000>;
123
124                 partitions {
125                         compatible = "fixed-partitions";
126                         #address-cells = <1>;
127                         #size-cells = <1>;
128
129                         partition@0 {
130                                 label = "u-boot";
131                                 reg = <0x0 0x30000>;
132                                 read-only;
133                         };
134
135                         partition@30000 {
136                                 label = "u-boot-env";
137                                 reg = <0x30000 0x10000>;
138                                 read-only;
139                         };
140
141                         factory: partition@40000 {
142                                 label = "factory";
143                                 reg = <0x40000 0x10000>;
144                                 read-only;
145                         };
146
147                         partition@50000 {
148                                 compatible = "denx,uimage";
149                                 label = "firmware";
150                                 reg = <0x50000 0xfb0000>;
151                         };
152                 };
153         };
154 };
155
156 &sdhci {
157         status = "okay";
158 };
159
160 &ehci {
161         status = "okay";
162 };
163
164 &ohci {
165         status = "okay";
166 };
167
168 &ethernet {
169         mtd-mac-address = <&factory 0x28>;
170 };
171
172 &wmac {
173         ralink,mtd-eeprom = <&factory 0>;
174 };
175
176 &pinctrl {
177         state_default: pinctrl0 {
178                 default {
179                         ralink,group = "i2c", "uartf", "spi refclk", "ephy";
180                         ralink,function = "gpio";
181                 };
182         };
183 };
184
185 &pcie {
186         status = "okay";
187 };