Merge branch 'v4.9-shared/soc-hdr' into v4.9-armsoc/dts32
[cascardo/linux.git] / arch / arm / boot / dts / kirkwood-b3.dts
1 /*
2  * Device Tree file for Excito Bubba B3
3  *
4  * Copyright (C) 2013, Andrew Lunn <andrew@lunn.ch>
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version
9  * 2 of the License, or (at your option) any later version.
10  *
11  * Note: This requires a new'ish version of u-boot, which disables the
12  * L2 cache. If your B3 silently fails to boot, u-boot is probably too
13  * old. Either upgrade, or consider the following email:
14  *
15  * http://lists.debian.org/debian-arm/2012/08/msg00128.html
16  */
17
18 /dts-v1/;
19
20 #include "kirkwood.dtsi"
21 #include "kirkwood-6281.dtsi"
22
23 / {
24         model = "Excito B3";
25         compatible = "excito,b3", "marvell,kirkwood-88f6281", "marvell,kirkwood";
26         memory { /* 512 MB */
27                 device_type = "memory";
28                 reg = <0x00000000 0x20000000>;
29         };
30
31         chosen {
32                 bootargs = "console=ttyS0,115200n8 earlyprintk";
33                 stdout-path = &uart0;
34         };
35
36         ocp@f1000000 {
37                 pinctrl: pin-controller@10000 {
38                         pmx_button_power: pmx-button-power {
39                                 marvell,pins = "mpp39";
40                                 marvell,function = "gpio";
41                         };
42                         pmx_led_green: pmx-led-green {
43                                 marvell,pins = "mpp38";
44                                 marvell,function = "gpio";
45                         };
46                         pmx_led_red: pmx-led-red {
47                                 marvell,pins = "mpp41";
48                                 marvell,function = "gpio";
49                         };
50                         pmx_led_blue: pmx-led-blue {
51                                 marvell,pins = "mpp42";
52                                 marvell,function = "gpio";
53                         };
54                         pmx_beeper: pmx-beeper {
55                                 marvell,pins = "mpp40";
56                                 marvell,function = "gpio";
57                         };
58                 };
59
60                 spi@10600 {
61                         status = "okay";
62
63                         m25p16@0 {
64                                 #address-cells = <1>;
65                                 #size-cells = <1>;
66                                 compatible = "st,m25p16", "jedec,spi-nor";
67                                 reg = <0>;
68                                 spi-max-frequency = <40000000>;
69                                 mode = <0>;
70
71                                 partition@0 {
72                                         reg = <0x0 0xc0000>;
73                                         label = "u-boot";
74                                 };
75
76                                 partition@c0000 {
77                                         reg = <0xc0000 0x20000>;
78                                         label = "u-boot env";
79                                 };
80
81                                 partition@e0000 {
82                                         reg = <0xe0000 0x120000>;
83                                         label = "data";
84                                 };
85                         };
86                 };
87
88                 i2c@11000 {
89                         status = "okay";
90                         /*
91                          * There is something on the bus at address 0x64.
92                          * Not yet identified what it is, maybe the eeprom
93                          * for the Atheros WiFi chip?
94                          */
95                 };
96
97
98                 serial@12000 {
99                         /* Internal on test pins, 3.3v TTL
100                          * UART0_RX = Testpoint 65
101                          * UART0_TX = Testpoint 66
102                          * See the Excito Wiki for more details.
103                          */
104                         status = "okay";
105                 };
106
107                 sata@80000 {
108                         /* One internal, the second as eSATA */
109                         status = "okay";
110                         nr-ports = <2>;
111                 };
112         };
113
114         gpio-leds {
115                 /*
116                  * There is one LED "port" on the front and the colours
117                  * mix together giving some interesting combinations.
118                  */
119                 compatible = "gpio-leds";
120                 pinctrl-0 = < &pmx_led_green &pmx_led_red
121                               &pmx_led_blue >;
122                 pinctrl-names = "default";
123
124                 programming_led {
125                         label = "bubba3:green:programming";
126                         gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
127                         default-state = "off";
128                 };
129
130                 error_led {
131                         label = "bubba3:red:error";
132                         gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
133                 };
134
135                 active_led {
136                         label = "bubba3:blue:active";
137                         gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
138                 };
139         };
140
141         gpio-keys {
142                 compatible = "gpio-keys";
143                 pinctrl-0 = <&pmx_button_power>;
144                 pinctrl-names = "default";
145
146                 power-button {
147                         /* On the back */
148                         label = "Power Button";
149                         linux,code = <KEY_POWER>;
150                         gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
151                 };
152         };
153
154         beeper: beeper {
155                 /* 4KHz Piezoelectric buzzer */
156                 compatible = "gpio-beeper";
157                 pinctrl-0 = <&pmx_beeper>;
158                 pinctrl-names = "default";
159                 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
160         };
161 };
162
163 &mdio {
164         status = "okay";
165
166         ethphy0: ethernet-phy@8 {
167                 device_type = "ethernet-phy";
168                 reg = <8>;
169         };
170
171         ethphy1: ethernet-phy@24 {
172                 device_type = "ethernet-phy";
173                 reg = <24>;
174         };
175 };
176
177 &eth0 {
178         status = "okay";
179         ethernet0-port@0 {
180                 phy-handle = <&ethphy0>;
181         };
182 };
183
184 &eth1 {
185         status = "okay";
186         ethernet1-port@0 {
187                 phy-handle = <&ethphy1>;
188         };
189 };
190
191 /* Wifi model has Atheros chipset on pcie port */
192 &pciec {
193         status = "okay";
194 };
195
196 &pcie0 {
197         status = "okay";
198 };