coreboot/src
Duncan Laurie bae9f85ddb devicetree: Add USB device type
This commit adds support for describing USB ports in devicetree.cb.
It allows a USB port location to be described in the tree with
configuration information, and ACPI code to be generated that
provides this information to the OS.

A new scan_usb_bus() is added that will scan bridges for devices so
a tree of ports and hubs can be created.

The device address is computed with a 'port type' and a 'port id'
which is flexible for SOC to handle depending on their specific USB
setup and allows USB2 and USB3 ports to be described separately.

For example a board may have devices on two ports, one with a USB2
device and one with a USB3 device, both of which are connected to an
xHCI controller with a root hub:

     xHCI
       |
    RootHub
    |     |
USB2[0]  USB3[2]

device pci 14.0 on
  chip drivers/usb/acpi
    register "name" = ""Root Hub""
    device usb 0.0 on
      chip drivers/usb/acpi
        register "name" = ""USB 2.0 Port 0""
        device usb 2.0 on end
      end
      chip drivers/usb/acpi
        register "name" = ""USB 3.0 Port 2""
        device usb 3.2 on end
      end
    end
  end
end

Change-Id: I64e6eba503cdab49be393465b535e139a8c90ef4
Signed-off-by: Duncan Laurie <dlaurie@google.com>
Reviewed-on: https://review.coreboot.org/26169
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
2018-05-11 08:59:51 +00:00
..
acpi arch/x86: Add common AMD ACPI hardware definitions 2017-11-10 19:15:38 +00:00
arch arch/x86/acpi_device: Add macros to define gpio with wake flag 2018-05-08 03:04:50 +00:00
commonlib cbfs: Rename CBFS_TYPE_PAYLOAD to CBFS_TYPE_SELF 2018-05-04 10:30:24 +00:00
console console: Skip non-BSP printk() earlier 2018-05-09 05:21:21 +00:00
cpu cpu/amd/quadcore: Get rid of device_t 2018-05-09 13:15:53 +00:00
device devicetree: Add USB device type 2018-05-11 08:59:51 +00:00
drivers drivers/intel/gma, soc/intel/common: improve cooperation 2018-05-09 13:48:07 +00:00
ec ec/google/chromeec: add config for wake event types 2018-05-08 14:16:15 +00:00
include devicetree: Add USB device type 2018-05-11 08:59:51 +00:00
lib bootmem: Keep OS memory map separate from the start 2018-05-10 01:24:40 +00:00
mainboard mb/google/poppy/variants/atlas: add SPD for new samsung 4GB memory 2018-05-11 08:57:50 +00:00
northbridge {device,drivers,lib,mb,nb}: Use only one space after 'if' 2018-05-09 13:11:04 +00:00
security security/vboot: make vboot starts in bootblock depend on c env 2018-05-03 04:40:33 +00:00
soc drivers/intel/gma, soc/intel/common: improve cooperation 2018-05-09 13:48:07 +00:00
southbridge src/southbridge: Serialize methods with named objects inside 2018-05-09 10:14:27 +00:00
superio superio/ite/common: Add options to enable beeps 2018-05-04 10:28:30 +00:00
vendorcode AGESA f14: Remove OPTION_DDR2 2018-05-10 17:54:39 +00:00
Kconfig Timestamps: Add option to print timestamps to debug console 2018-03-09 17:16:21 +00:00