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