63cb88b8f1bf821daa937bf4effe43a04a3c2743
[openwrt/staging/lynxis.git] / target / linux / apm821xx / dts / meraki-mr24.dts
1 /*
2 * Device Tree Source for Meraki MR24 (Ikarem)
3 *
4 * Copyright (C) 2016 Chris Blake <chrisrblake93@gmail.com>
5 *
6 * Based on Cisco Meraki GPL Release r23-20150601 MR24 DTS
7 *
8 * This file is licensed under the terms of the GNU General Public
9 * License version 2. This program is licensed "as is" without
10 * any warranty of any kind, whether express or implied.
11 */
12
13 /dts-v1/;
14
15 #include "apm82181.dtsi"
16
17 / {
18 model = "Meraki MR24 Access Point";
19 compatible = "meraki,mr24", "meraki,ikarem", "apm,bluestone";
20
21 aliases {
22 serial0 = &UART1;
23 led-boot = &status;
24 led-failsafe = &failsafe;
25 led-running = &status;
26 led-upgrade = &status;
27 };
28
29 chosen {
30 stdout-path = "/plb/opb/serial@ef600400";
31 };
32 };
33
34
35 &CRYPTO {
36 status = "okay";
37 };
38
39 &PKA {
40 status = "okay";
41 };
42
43 &TRNG {
44 status = "okay";
45 };
46
47 &EBC0 {
48 /* Ikarem has 32MB of NAND */
49 ndfc@1,0 {
50 status = "okay";
51 /* 32 MiB NAND Flash */
52 nand {
53 #address-cells = <1>;
54 #size-cells = <1>;
55
56 partition@0 {
57 label = "u-boot";
58 reg = <0x00000000 0x00170000>;
59 read-only;
60 };
61
62 partition@170000 {
63 label = "oops";
64 reg = <0x00170000 0x00010000>;
65 };
66
67 partition@180000 {
68 label = "ubi";
69 reg = <0x00180000 0x01e80000>;
70 };
71 };
72 };
73 };
74
75 &UART1 {
76 status = "okay";
77 };
78
79 &GPIO0 {
80 status = "okay";
81 };
82
83 &IIC0 {
84 status = "okay";
85 /* Boot ROM is at 0x52-0x53, do not touch */
86 /* Unknown chip at 0x6e, not sure what it is */
87 };
88
89 &EMAC0 {
90 status = "okay";
91
92 phy-mode = "rgmii-id";
93 phy-map = <0x2>;
94 phy-address = <0x1>;
95 phy-handle = <&phy>;
96
97 mdio {
98 phy: phy@1 {
99 compatible = "ethernet-phy-ieee802.3-c22";
100 reg = <1>;
101 };
102 };
103 };
104
105 &POB0 {
106 gpio-leds {
107 compatible = "gpio-leds";
108
109 status: power-green {
110 label = "mr24:green:power";
111 gpios = <&GPIO0 18 GPIO_ACTIVE_LOW>;
112 };
113
114 failsafe: power-orange {
115 label = "mr24:orange:power";
116 gpios = <&GPIO0 19 GPIO_ACTIVE_LOW>;
117 };
118
119 lan {
120 label = "mr24:green:wan";
121 gpios = <&GPIO0 17 GPIO_ACTIVE_LOW>;
122 };
123
124 ssi-0 {
125 label = "mr24:green:wifi1";
126 gpios = <&GPIO0 23 GPIO_ACTIVE_LOW>;
127 };
128
129 ssi-1 {
130 label = "mr24:green:wifi2";
131 gpios = <&GPIO0 22 GPIO_ACTIVE_LOW>;
132 };
133
134 ssi-2 {
135 label = "mr24:green:wifi3";
136 gpios = <&GPIO0 21 GPIO_ACTIVE_LOW>;
137 };
138
139 ssi-3 {
140 label = "mr24:green:wifi4";
141 gpios = <&GPIO0 20 GPIO_ACTIVE_LOW>;
142 };
143 };
144
145 gpio_keys_polled {
146 compatible = "gpio-keys-polled";
147 #address-cells = <1>;
148 #size-cells = <0>;
149 poll-interval = <60>; /* 3 * 20 = 60ms */
150 autorepeat;
151
152 button@1 {
153 label = "Reset button";
154 linux,code = <KEY_RESTART>;
155 gpios = <&GPIO0 16 GPIO_ACTIVE_LOW>;
156 };
157 };
158 };
159
160 &PCIE0 {
161 status = "okay";
162 };
163
164 &MSI {
165 status = "okay";
166 };