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