coreboot-kgpe-d16/src/include/device
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
..
dram device/dram/ddr3: improve XMP support 2018-04-16 08:46:23 +00:00
azalia.h src/include: Remove use of binary constants 2017-03-13 17:22:59 +01:00
azalia_device.h src/include: Wrap lines at 80 columns 2017-03-13 17:23:37 +01:00
cardbus.h
device.h devicetree: Add USB device type 2018-05-11 08:59:51 +00:00
drm_dp_helper.h
early_smbus.h intel/common/smbus: increase spd read performance 2017-10-31 15:49:55 +00:00
hypertransport.h
hypertransport_def.h src/include: Wrap lines at 80 columns 2017-03-13 17:23:37 +01:00
i2c.h include/device: Split i2c.h into three 2017-08-18 15:33:29 +00:00
i2c_bus.h device/i2c_bus: allow i2c_bus and i2c_simple to coexist 2018-01-24 05:02:50 +00:00
i2c_simple.h include/device: Split i2c.h into three 2017-08-18 15:33:29 +00:00
path.h devicetree: Add USB device type 2018-05-11 08:59:51 +00:00
pci.h pci: Fix function prototype 2018-05-03 15:18:47 +00:00
pci_def.h src/device: Update LTR configuration scheme 2017-10-13 15:21:48 +00:00
pci_ehci.h usbdebug: Refactor early enable 2017-08-07 12:35:42 +00:00
pci_ids.h soc/intel: Add KBL-R pci id support 2018-05-05 03:03:53 +00:00
pci_ops.h pci: Fix MMCONF_SUPPORT on non x86 2018-05-02 06:54:22 +00:00
pci_rom.h device/pci_rom: Write _ROM method for VGA devices 2018-01-31 08:36:52 +00:00
pciexp.h device/pciexp_device: Set values numerically instead of as bitmask 2017-12-08 11:38:05 +00:00
pcix.h
pnp.h device/pnp: remove struct io_info 2017-06-13 15:21:58 +02:00
pnp_def.h
resource.h lib: provide clearer devicetree semantics 2017-04-25 18:14:38 +02:00
smbus.h device/i2c_bus: allow i2c_bus and i2c_simple to coexist 2018-01-24 05:02:50 +00:00
smbus_def.h Reinvent I2C ops 2017-08-18 15:33:45 +00:00
spi.h device: Add a new "SPI" device type 2017-02-16 08:41:28 +01:00