ramips: add support for TP-Link RE200 v1
[oweals/openwrt.git] / target / linux / ramips / dts / mt7620a_sanlinking_d240.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 = "sanlinking,d240", "ralink,mt7620a-soc";
43         model = "Sanlinking Technologies D240";
44
45         aliases {
46                 led-boot = &led_power;
47                 led-failsafe = &led_power;
48                 led-running = &led_power;
49                 led-upgrade = &led_power;
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_mpcie2 {
61                         gpio-export,name = "power_mpcie2";
62                         gpio-export,output = <1>;
63                         gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
64                 };
65
66                 power_mpcie1 {
67                         gpio-export,name = "power_mpcie1";
68                         gpio-export,output = <1>;
69                         gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
70                 };
71         };
72
73         leds {
74                 compatible = "gpio-leds";
75
76                 led_power: power {
77                         label = "d240:blue:power";
78                         gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
79                 };
80
81                 usb {
82                         label = "d240:blue:usb";
83                         gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
84                         trigger-sources = <&ohci_port1>, <&ehci_port1>;
85                         linux,default-trigger = "usbport";
86                 };
87
88                 air {
89                         label = "d240:blue:wifi";
90                         gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
91                 };
92         };
93
94         keys {
95                 compatible = "gpio-keys";
96
97                 reset {
98                         label = "reset";
99                         gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
100                         linux,code = <KEY_RESTART>;
101                 };
102         };
103 };
104
105 &gpio1 {
106         status = "okay";
107 };
108
109 &gpio2 {
110         status = "okay";
111 };
112
113 &gpio3 {
114         status = "okay";
115 };
116
117 &spi0 {
118         status = "okay";
119
120         en25q128@0 {
121                 compatible = "jedec,spi-nor";
122                 reg = <0>;
123                 spi-max-frequency = <10000000>;
124
125                 partitions {
126                         compatible = "fixed-partitions";
127                         #address-cells = <1>;
128                         #size-cells = <1>;
129
130                         partition@0 {
131                                 label = "u-boot";
132                                 reg = <0x0 0x30000>;
133                                 read-only;
134                         };
135
136                         partition@30000 {
137                                 label = "u-boot-env";
138                                 reg = <0x30000 0x10000>;
139                                 read-only;
140                         };
141
142                         factory: partition@40000 {
143                                 label = "factory";
144                                 reg = <0x40000 0x10000>;
145                                 read-only;
146                         };
147
148                         partition@50000 {
149                                 compatible = "denx,uimage";
150                                 label = "firmware";
151                                 reg = <0x50000 0xfb0000>;
152                         };
153                 };
154         };
155 };
156
157 &sdhci {
158         status = "okay";
159         /* the pins function is already set during pinmux driver load */
160         /delete-property/ pinctrl-0;
161 };
162
163 &ehci {
164         status = "okay";
165 };
166
167 &ohci {
168         status = "okay";
169 };
170
171 &ethernet {
172         mtd-mac-address = <&factory 0x4>;
173         mediatek,portmap = "wllll";
174 };
175
176 &wmac {
177         ralink,mtd-eeprom = <&factory 0>;
178 };
179
180 &state_default {
181         default {
182                 ralink,group = "i2c", "uartf", "wled", "spi refclk", "pa";
183                 ralink,function = "gpio";
184         };
185
186         /*
187          * The sd function of the nd_sd group configures two of the
188          * groups pins as gpios. The pins are used as PCIe reset/power.
189          * Due to the driver load order, the pins are configured way to
190          * late if triggered by the sd-card driver.
191          * To not introduce another kind of driver load order
192          * dependency and configure the pins as early as possible,
193          * means during pinmux driver load.
194          */
195         gpio_sd {
196                 ralink,group = "nd_sd";
197                 ralink,function = "sd";
198         };
199 };
200
201 &pcie {
202         status = "okay";
203 };