Linux Audio

Check our new training course

Loading...
v5.14.15
  1// SPDX-License-Identifier: GPL-2.0-only
  2/*
  3 * Device tree for LEGO MINDSTORMS EV3
  4 *
  5 * Copyright (C) 2017 David Lechner <david@lechnology.com>
 
 
 
 
  6 */
  7
  8/dts-v1/;
  9#include <dt-bindings/gpio/gpio.h>
 10#include <dt-bindings/input/linux-event-codes.h>
 11#include <dt-bindings/pwm/pwm.h>
 12
 13#include "da850.dtsi"
 14
 15/ {
 16	compatible = "lego,ev3", "ti,da850";
 17	model = "LEGO MINDSTORMS EV3";
 18
 19	aliases {
 20		serial1 = &serial1;
 21	};
 22
 23	memory@c0000000 {
 24		device_type = "memory";
 25		reg = <0xc0000000 0x04000000>;
 26	};
 27
 28	/*
 29	 * The buttons on the EV3 are mapped to keyboard keys.
 30	 */
 31	gpio_keys {
 32		compatible = "gpio-keys";
 
 
 33		label = "EV3 Brick Buttons";
 34		pinctrl-names = "default";
 35		pinctrl-0 = <&button_bias>;
 36
 37		center {
 38			label = "Center";
 39			linux,code = <KEY_ENTER>;
 40			gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
 41		};
 42
 43		left {
 44			label = "Left";
 45			linux,code = <KEY_LEFT>;
 46			gpios = <&gpio 102 GPIO_ACTIVE_HIGH>;
 47		};
 48
 49		back {
 50			label = "Back";
 51			linux,code = <KEY_BACKSPACE>;
 52			gpios = <&gpio 106 GPIO_ACTIVE_HIGH>;
 53		};
 54
 55		right {
 56			label = "Right";
 57			linux,code = <KEY_RIGHT>;
 58			gpios = <&gpio 124 GPIO_ACTIVE_HIGH>;
 59		};
 60
 61		down {
 62			label = "Down";
 63			linux,code = <KEY_DOWN>;
 64			gpios = <&gpio 126 GPIO_ACTIVE_HIGH>;
 65		};
 66
 67		up {
 68			label = "Up";
 69			linux,code = <KEY_UP>;
 70			gpios = <&gpio 127 GPIO_ACTIVE_HIGH>;
 71		};
 72	};
 73
 74	/*
 75	 * The EV3 has two built-in bi-color LEDs behind the buttons.
 76	 */
 77	leds {
 78		compatible = "gpio-leds";
 
 
 79
 80		left_green {
 81			label = "led0:green:brick-status";
 82			/* GP6[13] */
 83			gpios = <&gpio 103 GPIO_ACTIVE_HIGH>;
 84			linux,default-trigger = "default-on";
 85		};
 86
 87		right_red {
 88			label = "led1:red:brick-status";
 89			/* GP6[7] */
 90			gpios = <&gpio 108 GPIO_ACTIVE_HIGH>;
 91			linux,default-trigger = "default-on";
 92		};
 93
 94		left_red {
 95			label = "led0:red:brick-status";
 96			/* GP6[12] */
 97			gpios = <&gpio 109 GPIO_ACTIVE_HIGH>;
 98			linux,default-trigger = "default-on";
 99		};
100
101		right_green {
102			label = "led1:green:brick-status";
103			/* GP6[14] */
104			gpios = <&gpio 110 GPIO_ACTIVE_HIGH>;
105			linux,default-trigger = "default-on";
106		};
107	};
108
109	/*
110	 * The EV3 is powered down by turning off the main 5V supply.
111	 */
112	gpio-poweroff {
113		compatible = "gpio-poweroff";
114		gpios = <&gpio 107 GPIO_ACTIVE_LOW>;
 
 
115	};
116
117	sound {
118		compatible = "pwm-beeper";
119		pinctrl-names = "default";
120		pinctrl-0 = <&ehrpwm0b_pins>;
121		pwms = <&ehrpwm0 1 1000000 0>;
122		amp-supply = <&amp>;
123	};
124
125	cvdd: regulator0 {
126		compatible = "regulator-fixed";
127		regulator-name = "cvdd";
128		regulator-min-microvolt = <1200000>;
129		regulator-max-microvolt = <1200000>;
130		regulator-always-on;
131		regulator-boot-on;
132	};
133
134	/*
135	 * This is a 5V current limiting regulator that is shared by USB,
136	 * the sensor (input) ports, the motor (output) ports and the A/DC.
137	 */
138	vcc5v: regulator1 {
 
 
139		compatible = "regulator-fixed";
140		regulator-name = "vcc5v";
141		regulator-min-microvolt = <5000000>;
142		regulator-max-microvolt = <5000000>;
143		gpio = <&gpio 101 0>;
144		over-current-gpios = <&gpio 99 GPIO_ACTIVE_LOW>;
145		enable-active-high;
146		regulator-boot-on;
147	};
148
149	/*
150	 * This is a simple voltage divider on VCC5V to provide a 2.5V
151	 * reference signal to the ADC.
152	 */
153	adc_ref: regulator2 {
154		compatible = "regulator-fixed";
155		regulator-name = "adc ref";
156		regulator-min-microvolt = <2500000>;
157		regulator-max-microvolt = <2500000>;
158		regulator-boot-on;
159		vin-supply = <&vcc5v>;
160	};
161
162	/*
163	 * This is the amplifier for the speaker.
164	 */
165	amp: regulator3 {
 
 
166		compatible = "regulator-fixed";
167		regulator-name = "amp";
168		gpio = <&gpio 111 GPIO_ACTIVE_HIGH>;
169		enable-active-high;
170	};
171
172	/*
173	 * The EV3 can use 6-AA batteries or a rechargeable Li-ion battery pack.
174	 */
175	battery {
 
 
176		compatible = "lego,ev3-battery";
177		io-channels = <&adc 4>, <&adc 3>;
178		io-channel-names = "voltage", "current";
179		rechargeable-gpios = <&gpio 136 GPIO_ACTIVE_LOW>;
180	};
181
182	bt_slow_clk: bt-clock {
183		pinctrl-names = "default";
184		pinctrl-0 = <&ecap2_pins>, <&bt_clock_bias>;
185		compatible = "pwm-clock";
186		#clock-cells = <0>;
187		clock-frequency = <32768>;
188		pwms = <&ecap2 0 30518 0>;
189	};
190
191	/* ARM local RAM */
192	memory@ffff0000 {
193		compatible = "syscon", "simple-mfd";
194		reg = <0xffff0000 0x2000>; /* 8k */
195
196		/*
197		 * The I2C bootloader looks for this magic value to either
198		 * boot normally or boot into a firmware update mode.
199		 */
200		reboot-mode {
201			compatible = "syscon-reboot-mode";
202			offset = <0x1ffc>;
203			mode-normal = <0x00000000>;
204			mode-loader = <0x5555aaaa>;
205		};
206	};
207};
208
209&ref_clk {
210	clock-frequency = <24000000>;
211};
212
213&cpu {
214	cpu-supply = <&cvdd>;
215};
 
 
 
216
217/* since we have a fixed regulator, we can't run at these points */
218&opp_100 {
219	status = "disabled";
220};
 
 
 
 
 
 
 
 
221
222&opp_200 {
223	status = "disabled";
224};
 
 
 
 
 
225
226/*
227 * The SoC is actually the 456MHz version, but because of the fixed regulator
228 * This is the fastest we can go.
229 */
230&opp_375 {
231	status = "okay";
232};
233
234&pmx_core {
235	status = "okay";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
236
237	ev3_lcd_pins: pinmux_lcd {
238		pinctrl-single,bits = <
239			/* SIMO, CLK */
240			0x14 0x00100100 0x00f00f00
 
 
241		>;
242	};
243};
244
245&pinconf {
246	status = "okay";
247
248	/* Buttons have external pulldown resistors */
249	button_bias: button-bias-groups {
250		disable {
251			groups = "cp5", "cp24", "cp25", "cp28";
252			bias-disable;
253		};
254	};
255
256	bt_clock_bias: bt-clock-bias-groups {
257		disable {
258			groups = "cp2";
259			bias-disable;
260		};
261	};
262
263	bt_pic_bias: bt-pic-bias-groups {
264		disable {
265			groups = "cp20";
266			bias-disable;
267		};
268	};
269};
270
271/* Input port 1 */
272&serial1 {
273	status = "okay";
274	pinctrl-names = "default";
275	pinctrl-0 = <&serial1_rxtx_pins>;
276};
277
278&serial2 {
279	pinctrl-names = "default";
280	pinctrl-0 = <&serial2_rxtx_pins>, <&serial2_rtscts_pins>, <&bt_pic_bias>;
281	status = "okay";
282
283	bluetooth {
284		compatible = "ti,cc2560";
285		clocks = <&bt_slow_clk>;
286		clock-names = "ext_clock";
287		enable-gpios = <&gpio 73 GPIO_ACTIVE_HIGH>;
288		max-speed = <2000000>;
289		nvmem-cells = <&bdaddr>;
290		nvmem-cell-names = "bd-address";
291	};
292};
293
294&rtc0 {
295	status = "okay";
296};
297
298&i2c0 {
299	status = "okay";
300	clock-frequency = <400000>;
301	pinctrl-names = "default";
302	pinctrl-0 = <&i2c0_pins>;
303
304	/*
305	 * EEPROM contains the first stage bootloader, HW ID and Bluetooth MAC.
306	 */
307	eeprom@50 {
308		compatible = "microchip,24c128", "atmel,24c128";
309		pagesize = <64>;
310		read-only;
311		reg = <0x50>;
312		#address-cells = <1>;
313		#size-cells = <1>;
314
315		bdaddr: bdaddr@3f06 {
316			reg = <0x3f06 0x06>;
317		};
318	};
319};
320
321&wdt {
322	status = "okay";
323};
324
325&mmc0 {
326	status = "okay";
327	max-frequency = <50000000>;
328	bus-width = <4>;
329	cd-gpios = <&gpio 94 GPIO_ACTIVE_LOW>;
330	pinctrl-names = "default";
331	pinctrl-0 = <&mmc0_pins>;
332};
333
334&spi0 {
335	status = "okay";
336	pinctrl-names = "default";
337	pinctrl-0 = <&spi0_pins>, <&spi0_cs0_pin>, <&spi0_cs3_pin>;
338
339	flash@0 {
340		compatible = "n25q128a13", "jedec,spi-nor";
341		reg = <0>;
342		spi-max-frequency = <50000000>;
343		ti,spi-wdelay = <8>;
344
345		/* Partitions are based on the official firmware from LEGO */
346		partitions {
347			compatible = "fixed-partitions";
348			#address-cells = <1>;
349			#size-cells = <1>;
350
351			partition@0 {
352				label = "U-Boot";
353				reg = <0 0x40000>;
354			};
355
356			partition@40000 {
357				label = "U-Boot Env";
358				reg = <0x40000 0x10000>;
359			};
360
361			partition@50000 {
362				label = "Kernel";
363				reg = <0x50000 0x200000>;
364			};
365
366			partition@250000 {
367				label = "Filesystem";
368				reg = <0x250000 0xa50000>;
369			};
370
371			partition@cb0000 {
372				label = "Storage";
373				reg = <0xcb0000 0x2f0000>;
374			};
375		};
376	};
377
378	adc: adc@3 {
379		compatible = "ti,ads7957";
380		reg = <3>;
381		#io-channel-cells = <1>;
382		spi-max-frequency = <1000000>;
383		ti,spi-wdelay = <63>;
384		vref-supply = <&adc_ref>;
385	};
386};
387
388&spi1 {
389	status = "okay";
390	pinctrl-0 = <&ev3_lcd_pins>;
391	pinctrl-names = "default";
392	cs-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
393
394	display@0{
395		compatible = "lego,ev3-lcd";
396		reg = <0>;
397		spi-max-frequency = <10000000>;
398		a0-gpios = <&gpio 43 GPIO_ACTIVE_HIGH>;
399		reset-gpios = <&gpio 80 GPIO_ACTIVE_HIGH>;
400	};
401};
402
403&ecap2 {
404	status = "okay";
405};
406
407&ehrpwm0 {
408	status = "okay";
409};
410
411&gpio {
412	status = "okay";
413
414	/* Don't pull down battery voltage adc io channel */
415	batt_volt_en {
416		gpio-hog;
417		gpios = <6 GPIO_ACTIVE_HIGH>;
418		output-high;
419	};
420
421	/* Don't impede Bluetooth clock signal */
422	bt_clock_en {
423		gpio-hog;
424		gpios = <5 GPIO_ACTIVE_HIGH>;
425		input;
426	};
427
428	/*
429	 * There is a PIC microcontroller for interfacing with an Apple MFi
430	 * chip. This interferes with normal Bluetooth operation, so we need
431	 * to make sure it is turned off. Note: The publicly available
432	 * schematics from LEGO don't show that these pins are connected to
433	 * anything, but they are present in the source code from LEGO.
434	 */
435
436	bt_pic_en {
437		gpio-hog;
438		gpios = <51 GPIO_ACTIVE_HIGH>;
439		output-low;
440	};
441
442	bt_pic_rst {
443		gpio-hog;
444		gpios = <78 GPIO_ACTIVE_HIGH>;
445		output-high;
446	};
447
448	bt_pic_cts {
449		gpio-hog;
450		gpios = <87 GPIO_ACTIVE_HIGH>;
451		input;
452	};
453};
454
455&usb_phy {
456	status = "okay";
457};
458
459&usb0 {
460	status = "okay";
461};
462
463&usb1 {
464	status = "okay";
465	vbus-supply = <&vcc5v>;
466};
v4.17
 
  1/*
  2 * Device tree for LEGO MINDSTORMS EV3
  3 *
  4 * Copyright (C) 2017 David Lechner <david@lechnology.com>
  5 *
  6 * This program is free software; you can redistribute  it and/or modify it
  7 * under  the terms of  the GNU General  Public License as published by the
  8 * Free Software Foundation, version 2.
  9 */
 10
 11/dts-v1/;
 12#include <dt-bindings/gpio/gpio.h>
 13#include <dt-bindings/input/linux-event-codes.h>
 14#include <dt-bindings/pwm/pwm.h>
 15
 16#include "da850.dtsi"
 17
 18/ {
 19	compatible = "lego,ev3", "ti,da850";
 20	model = "LEGO MINDSTORMS EV3";
 21
 22	aliases {
 23		serial1 = &serial1;
 24	};
 25
 26	memory@c0000000 {
 27		device_type = "memory";
 28		reg = <0xc0000000 0x04000000>;
 29	};
 30
 31	/*
 32	 * The buttons on the EV3 are mapped to keyboard keys.
 33	 */
 34	gpio_keys {
 35		compatible = "gpio-keys";
 36		#address-cells = <1>;
 37		#size-cells = <0>;
 38		label = "EV3 Brick Buttons";
 39		pinctrl-names = "default";
 40		pinctrl-0 = <&button_pins>, <&button_bias>;
 41
 42		center {
 43			label = "Center";
 44			linux,code = <KEY_ENTER>;
 45			gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
 46		};
 47
 48		left {
 49			label = "Left";
 50			linux,code = <KEY_LEFT>;
 51			gpios = <&gpio 102 GPIO_ACTIVE_HIGH>;
 52		};
 53
 54		back {
 55			label = "Back";
 56			linux,code = <KEY_BACKSPACE>;
 57			gpios = <&gpio 106 GPIO_ACTIVE_HIGH>;
 58		};
 59
 60		right {
 61			label = "Right";
 62			linux,code = <KEY_RIGHT>;
 63			gpios = <&gpio 124 GPIO_ACTIVE_HIGH>;
 64		};
 65
 66		down {
 67			label = "Down";
 68			linux,code = <KEY_DOWN>;
 69			gpios = <&gpio 126 GPIO_ACTIVE_HIGH>;
 70		};
 71
 72		up {
 73			label = "Up";
 74			linux,code = <KEY_UP>;
 75			gpios = <&gpio 127 GPIO_ACTIVE_HIGH>;
 76		};
 77	};
 78
 79	/*
 80	 * The EV3 has two built-in bi-color LEDs behind the buttons.
 81	 */
 82	leds {
 83		compatible = "gpio-leds";
 84		pinctrl-names = "default";
 85		pinctrl-0 = <&led_pins>;
 86
 87		left_green {
 88			label = "led0:green:brick-status";
 89			/* GP6[13] */
 90			gpios = <&gpio 103 GPIO_ACTIVE_HIGH>;
 91			linux,default-trigger = "default-on";
 92		};
 93
 94		right_red {
 95			label = "led1:red:brick-status";
 96			/* GP6[7] */
 97			gpios = <&gpio 108 GPIO_ACTIVE_HIGH>;
 98			linux,default-trigger = "default-on";
 99		};
100
101		left_red {
102			label = "led0:red:brick-status";
103			/* GP6[12] */
104			gpios = <&gpio 109 GPIO_ACTIVE_HIGH>;
105			linux,default-trigger = "default-on";
106		};
107
108		right_green {
109			label = "led1:green:brick-status";
110			/* GP6[14] */
111			gpios = <&gpio 110 GPIO_ACTIVE_HIGH>;
112			linux,default-trigger = "default-on";
113		};
114	};
115
116	/*
117	 * The EV3 is powered down by turning off the main 5V supply.
118	 */
119	gpio-poweroff {
120		compatible = "gpio-poweroff";
121		gpios = <&gpio 107 GPIO_ACTIVE_LOW>;
122		pinctrl-names = "default";
123		pinctrl-0 = <&system_power_pin>;
124	};
125
126	sound {
127		compatible = "pwm-beeper";
128		pinctrl-names = "default";
129		pinctrl-0 = <&ehrpwm0b_pins>;
130		pwms = <&ehrpwm0 1 1000000 0>;
131		amp-supply = <&amp>;
132	};
133
 
 
 
 
 
 
 
 
 
134	/*
135	 * This is a 5V current limiting regulator that is shared by USB,
136	 * the sensor (input) ports, the motor (output) ports and the A/DC.
137	 */
138	vcc5v: regulator1 {
139		pinctrl-names = "default";
140		pinctrl-0 = <&vcc5v_pins>;
141		compatible = "regulator-fixed";
142		regulator-name = "vcc5v";
143		regulator-min-microvolt = <5000000>;
144		regulator-max-microvolt = <5000000>;
145		gpio = <&gpio 101 0>;
146		over-current-gpios = <&gpio 99 GPIO_ACTIVE_LOW>;
147		enable-active-high;
148		regulator-boot-on;
149	};
150
151	/*
152	 * This is a simple voltage divider on VCC5V to provide a 2.5V
153	 * reference signal to the ADC.
154	 */
155	adc_ref: regulator2 {
156		compatible = "regulator-fixed";
157		regulator-name = "adc ref";
158		regulator-min-microvolt = <2500000>;
159		regulator-max-microvolt = <2500000>;
160		regulator-boot-on;
161		vin-supply = <&vcc5v>;
162	};
163
164	/*
165	 * This is the amplifier for the speaker.
166	 */
167	amp: regulator3 {
168		pinctrl-names = "default";
169		pinctrl-0 = <&amp_pins>;
170		compatible = "regulator-fixed";
171		regulator-name = "amp";
172		gpio = <&gpio 111 GPIO_ACTIVE_HIGH>;
173		enable-active-high;
174	};
175
176	/*
177	 * The EV3 can use 6-AA batteries or a rechargeable Li-ion battery pack.
178	 */
179	battery {
180		pinctrl-names = "default";
181		pinctrl-0 = <&battery_pins>;
182		compatible = "lego,ev3-battery";
183		io-channels = <&adc 4>, <&adc 3>;
184		io-channel-names = "voltage", "current";
185		rechargeable-gpios = <&gpio 136 GPIO_ACTIVE_LOW>;
186	};
187
 
 
 
 
 
 
 
 
 
188	/* ARM local RAM */
189	memory@ffff0000 {
190		compatible = "syscon", "simple-mfd";
191		reg = <0xffff0000 0x2000>; /* 8k */
192
193		/*
194		 * The I2C bootloader looks for this magic value to either
195		 * boot normally or boot into a firmware update mode.
196		 */
197		reboot-mode {
198			compatible = "syscon-reboot-mode";
199			offset = <0x1ffc>;
200			mode-normal = <0x00000000>;
201			mode-loader = <0x5555aaaa>;
202		};
203	};
204};
205
206&pmx_core {
207	status = "okay";
 
208
209	mmc0_cd_pin: pinmux_mmc0_cd {
210		pinctrl-single,bits = <
211			/* GP5[14] */
212			0x2C 0x00000080 0x000000f0
213		>;
214	};
215
216	button_pins: pinmux_button_pins {
217		pinctrl-single,bits = <
218			/* GP1[13] */
219			0x8 0x00000800 0x00000f00
220			/* GP6[10] */
221			0x34 0x00800000 0x00f00000
222			/* GP6[6] */
223			0x38 0x00000080 0x000000f0
224			/* GP7[12], GP7[14], GP7[15] */
225			0x40 0x00808800 0x00f0ff00
226		>;
227	};
228
229	led_pins: pinmux_led_pins {
230		pinctrl-single,bits = <
231			/* GP6[12], GP6[13], GP6[14] */
232			0x34 0x00008880 0x0000fff0
233			/* GP6[7] */
234			0x38 0x00000008 0x0000000f
235		>;
236	};
237
238	system_power_pin: pinmux_system_power {
239		pinctrl-single,bits = <
240			/* GP6[11] */
241			0x34 0x00080000 0x000f0000
242		>;
243	};
 
244
245	vcc5v_pins: pinmux_vcc5v {
246		pinctrl-single,bits = <
247			/* GP6[5] */
248			0x40 0x00000080 0x000000f0
249			/* GP6[3] */
250			0x4c 0x00008000 0x0000f000
251		>;
252	};
253
254	amp_pins: pinmux_amp_pins {
255		pinctrl-single,bits = <
256			/* GP6[15] */
257			0x34 0x00000008 0x0000000f
258		>;
259	};
260
261	battery_pins: pinmux_battery_pins {
262		pinctrl-single,bits = <
263			/* GP0[6] */
264			0x04 0x00000080 0x000000f0
265			/* GP8[8] */
266			0x4c 0x00000080 0x000000f0
267		>;
268	};
269
270	ev3_lcd_pins: pinmux_lcd {
271		pinctrl-single,bits = <
272			/* SIMO, GP2[11], GP2[12], CLK */
273			0x14 0x00188100 0x00ffff00
274			/* GP5[0] */
275			0x30 0x80000000 0xf0000000
276		>;
277	};
278};
279
280&pinconf {
281	status = "okay";
282
283	/* Buttons have external pulldown resistors */
284	button_bias: button-bias-groups {
285		disable {
286			groups = "cp5", "cp24", "cp25", "cp28";
287			bias-disable;
288		};
289	};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
290};
291
292/* Input port 1 */
293&serial1 {
294	status = "okay";
295	pinctrl-names = "default";
296	pinctrl-0 = <&serial1_rxtx_pins>;
297};
298
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
299&rtc0 {
300	status = "okay";
301};
302
303&i2c0 {
304	status = "okay";
305	clock-frequency = <400000>;
306	pinctrl-names = "default";
307	pinctrl-0 = <&i2c0_pins>;
308
309	/*
310	 * EEPROM contains the first stage bootloader, HW ID and Bluetooth MAC.
311	 */
312	eeprom@50 {
313		compatible = "microchip,24c128", "atmel,24c128";
314		pagesize = <64>;
315		read-only;
316		reg = <0x50>;
 
 
 
 
 
 
317	};
318};
319
320&wdt {
321	status = "okay";
322};
323
324&mmc0 {
325	status = "okay";
326	max-frequency = <50000000>;
327	bus-width = <4>;
328	cd-gpios = <&gpio 94 GPIO_ACTIVE_LOW>;
329	pinctrl-names = "default";
330	pinctrl-0 = <&mmc0_pins>, <&mmc0_cd_pin>;
331};
332
333&spi0 {
334	status = "okay";
335	pinctrl-names = "default";
336	pinctrl-0 = <&spi0_pins>, <&spi0_cs0_pin>, <&spi0_cs3_pin>;
337
338	flash@0 {
339		compatible = "n25q128a13", "jedec,spi-nor";
340		reg = <0>;
341		spi-max-frequency = <50000000>;
342		ti,spi-wdelay = <8>;
343
344		/* Partitions are based on the official firmware from LEGO */
345		partitions {
346			compatible = "fixed-partitions";
347			#address-cells = <1>;
348			#size-cells = <1>;
349
350			partition@0 {
351				label = "U-Boot";
352				reg = <0 0x40000>;
353			};
354
355			partition@40000 {
356				label = "U-Boot Env";
357				reg = <0x40000 0x10000>;
358			};
359
360			partition@50000 {
361				label = "Kernel";
362				reg = <0x50000 0x200000>;
363			};
364
365			partition@250000 {
366				label = "Filesystem";
367				reg = <0x250000 0xa50000>;
368			};
369
370			partition@cb0000 {
371				label = "Storage";
372				reg = <0xcb0000 0x2f0000>;
373			};
374		};
375	};
376
377	adc: adc@3 {
378		compatible = "ti,ads7957";
379		reg = <3>;
380		#io-channel-cells = <1>;
381		spi-max-frequency = <10000000>;
 
382		vref-supply = <&adc_ref>;
383	};
384};
385
386&spi1 {
387	status = "okay";
388	pinctrl-0 = <&ev3_lcd_pins>;
389	pinctrl-names = "default";
390	cs-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
391
392	display@0{
393		compatible = "lego,ev3-lcd";
394		reg = <0>;
395		spi-max-frequency = <10000000>;
396		a0-gpios = <&gpio 43 GPIO_ACTIVE_HIGH>;
397		reset-gpios = <&gpio 80 GPIO_ACTIVE_HIGH>;
398	};
399};
400
 
 
 
 
401&ehrpwm0 {
402	status = "okay";
403};
404
405&gpio {
406	status = "okay";
407
408	/* Don't pull down battery voltage adc io channel */
409	batt_volt_en {
410		gpio-hog;
411		gpios = <6 GPIO_ACTIVE_HIGH>;
412		output-high;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
413	};
414};
415
416&usb_phy {
417	status = "okay";
418};
419
420&usb0 {
421	status = "okay";
422};
423
424&usb1 {
425	status = "okay";
426	vbus-supply = <&vcc5v>;
427};