ramips: fix D240 mini-PCIe power control GPIOs
[openwrt/openwrt.git] / target / linux / ramips / dts / 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 chosen {
46 bootargs = "console=ttyS0,115200";
47 };
48
49 gpio-export {
50 compatible = "gpio-export";
51 #size-cells = <0>;
52
53 power_mpcie2 {
54 gpio-export,name = "power_mpcie2";
55 gpio-export,output = <1>;
56 gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
57 };
58
59 power_mpcie1 {
60 gpio-export,name = "power_mpcie1";
61 gpio-export,output = <1>;
62 gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
63 };
64
65 };
66
67 gpio-leds {
68 compatible = "gpio-leds";
69
70 power {
71 label = "d240:blue:power";
72 gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
73 };
74
75 usb {
76 label = "d240:blue:usb";
77 gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
78 };
79
80 air {
81 label = "d240:blue:wifi";
82 gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
83 };
84 };
85
86 gpio-keys-polled {
87 compatible = "gpio-keys-polled";
88 #address-cells = <1>;
89 #size-cells = <0>;
90 poll-interval = <20>;
91
92 reset {
93 label = "reset";
94 gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
95 linux,code = <KEY_RESTART>;
96 };
97 };
98 };
99
100 &gpio1 {
101 status = "okay";
102 };
103
104 &gpio2 {
105 status = "okay";
106 };
107
108 &gpio3 {
109 status = "okay";
110 };
111
112 &spi0 {
113 status = "okay";
114
115 en25q128@0 {
116 #address-cells = <1>;
117 #size-cells = <1>;
118 compatible = "jedec,spi-nor";
119 reg = <0>;
120 spi-max-frequency = <10000000>;
121
122 partition@0 {
123 label = "u-boot";
124 reg = <0x0 0x30000>;
125 read-only;
126 };
127
128 partition@30000 {
129 label = "u-boot-env";
130 reg = <0x30000 0x10000>;
131 read-only;
132 };
133
134 factory: partition@40000 {
135 label = "factory";
136 reg = <0x40000 0x10000>;
137 read-only;
138 };
139
140 partition@50000 {
141 label = "firmware";
142 reg = <0x50000 0xfb0000>;
143 };
144 };
145 };
146
147 &sdhci {
148 status = "okay";
149 };
150
151 &ehci {
152 status = "okay";
153 };
154
155 &ohci {
156 status = "okay";
157 };
158
159 &ethernet {
160 mtd-mac-address = <&factory 0x4>;
161 mediatek,portmap = "wllll";
162 };
163
164 &wmac {
165 ralink,mtd-eeprom = <&factory 0>;
166 };
167
168 &pinctrl {
169 state_default: pinctrl0 {
170 default {
171 ralink,group = "i2c", "uartf", "wled", "spi refclk", "pa", "nd_sd";
172 ralink,function = "gpio";
173 };
174 };
175 };
176
177 &pcie {
178 status = "okay";
179 };