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