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	mbus {
37		pcie-controller {
38			status = "okay";
39
40			/* Wifi model has Atheros chipset on pcie port */
41			pcie@1,0 {
42				status = "okay";
43			};
44		};
45	};
46
47	ocp@f1000000 {
48		pinctrl: pin-controller@10000 {
49			pmx_button_power: pmx-button-power {
50				marvell,pins = "mpp39";
51				marvell,function = "gpio";
52			};
53			pmx_led_green: pmx-led-green {
54				marvell,pins = "mpp38";
55				marvell,function = "gpio";
56			};
57			pmx_led_red: pmx-led-red {
58				marvell,pins = "mpp41";
59				marvell,function = "gpio";
60			};
61			pmx_led_blue: pmx-led-blue {
62				marvell,pins = "mpp42";
63				marvell,function = "gpio";
64			};
65			pmx_beeper: pmx-beeper {
66				marvell,pins = "mpp40";
67				marvell,function = "gpio";
68			};
69		};
70
71		spi@10600 {
72			status = "okay";
73
74			m25p16@0 {
75				#address-cells = <1>;
76				#size-cells = <1>;
77				compatible = "st,m25p16";
78				reg = <0>;
79				spi-max-frequency = <40000000>;
80				mode = <0>;
81
82				partition@0 {
83					reg = <0x0 0xc0000>;
84					label = "u-boot";
85				};
86
87				partition@c0000 {
88					reg = <0xc0000 0x20000>;
89					label = "u-boot env";
90				};
91
92				partition@e0000 {
93					reg = <0xe0000 0x120000>;
94					label = "data";
95				};
96			};
97		};
98
99		i2c@11000 {
100			status = "okay";
101			/*
102			 * There is something on the bus at address 0x64.
103			 * Not yet identified what it is, maybe the eeprom
104			 * for the Atheros WiFi chip?
105			 */
106		};
107
108
109		serial@12000 {
110			/* Internal on test pins, 3.3v TTL
111		 	 * UART0_RX = Testpoint 65
112			 * UART0_TX = Testpoint 66
113			 * See the Excito Wiki for more details.
114		 	 */
115			status = "okay";
116		};
117
118		sata@80000 {
119			/* One internal, the second as eSATA */
120			status = "okay";
121			nr-ports = <2>;
122		};
123	};
124
125	gpio-leds {
126		/*
127		 * There is one LED "port" on the front and the colours
128		 * mix together giving some interesting combinations.
129		 */
130		compatible = "gpio-leds";
131		pinctrl-0 = < &pmx_led_green &pmx_led_red
132			      &pmx_led_blue >;
133		pinctrl-names = "default";
134
135		programming_led {
136			label = "bubba3:green:programming";
137			gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
138			default-state = "off";
139		};
140
141		error_led {
142			label = "bubba3:red:error";
143			gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
144		};
145
146		active_led {
147			label = "bubba3:blue:active";
148			gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
149		};
150	};
151
152	gpio-keys {
153		compatible = "gpio-keys";
154		pinctrl-0 = <&pmx_button_power>;
155		pinctrl-names = "default";
156
157		power-button {
158			/* On the back */
159			label = "Power Button";
160			linux,code = <KEY_POWER>;
161			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
162		};
163	};
164
165	beeper: beeper {
166		/* 4KHz Piezoelectric buzzer */
167		compatible = "gpio-beeper";
168		pinctrl-0 = <&pmx_beeper>;
169		pinctrl-names = "default";
170		gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
171	};
172};
173
174&mdio {
175	status = "okay";
176
177	ethphy0: ethernet-phy@8 {
178		device_type = "ethernet-phy";
179		reg = <8>;
180	};
181
182	ethphy1: ethernet-phy@24 {
183		device_type = "ethernet-phy";
184		reg = <24>;
185	};
186};
187
188&eth0 {
189	status = "okay";
190	ethernet0-port@0 {
191		phy-handle = <&ethphy0>;
192	};
193};
194
195&eth1 {
196	status = "okay";
197	ethernet1-port@0 {
198		phy-handle = <&ethphy1>;
199	};
200};
201
202