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