coreboot-kgpe-d16/src/include
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
..
boot coreboot_tables: specify clear interface for lb_framebuffer() 2017-05-18 15:42:23 +02:00
console src/device: Fix discarded-qualifiers compilation issue 2018-05-02 08:06:06 +00:00
cpu cpu/x86/mp: remove unused functions and limit API exposure 2018-05-04 14:17:07 +00:00
device devicetree: Add USB device type 2018-05-11 08:59:51 +00:00
pc80 Port cmos.default handling to C environment bootblock 2017-07-26 19:30:01 +00:00
smp arch/x86: Clean up CONFIG_SMP and MAX_CPUS test 2017-08-19 15:30:51 +00:00
superio
sys src/include: Add guards on all header files 2017-08-01 23:04:15 +00:00
adainit.h
assert.h assert: Add new dead_code() macro to assert dead code paths 2017-07-16 23:56:34 +00:00
b64_decode.h
base3.h
bcd.h
boardid.h boardid: Add helpers to read sku_id strapping into coreboot tables 2017-12-07 01:19:32 +00:00
boot_device.h
bootblock_common.h src/include: Move storage class to beginning of declaration 2017-03-13 17:19:45 +01:00
bootmem.h bootmem: Keep OS memory map separate from the start 2018-05-10 01:24:40 +00:00
bootmode.h vboot: Remove get_sw_write_protect_state callback 2017-07-18 23:24:01 +00:00
bootstate.h Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
cbfs.h cbfs: Add cbfs_boot_load_file() 2018-04-17 10:46:13 +00:00
cbmem.h lib/cbmem: provide optional cbmem top initialization hook 2017-08-04 04:29:57 +00:00
compiler.h compiler.h: add __weak macro 2018-04-24 14:37:59 +00:00
delay.h src/include: Fix unsigned warnings 2017-03-09 17:16:09 +01:00
device_tree.h lib/devicetree: Integrate flattened devicetree support 2018-04-30 09:33:32 +00:00
dimm_info_util.h src/lib/dimm_info_util.c: Add methods to convert from SMBIOS to SPD 2018-04-11 14:41:59 +00:00
edid.h lib/edid: Split out fill_lb_framebuffer() 2017-05-30 18:32:44 +02:00
elog.h elog: Support logging S0ix sleep/wake info in elog 2017-10-19 00:42:49 +00:00
endian.h
fallback.h pc80: Move set_boot_successful() 2016-12-13 19:15:22 +01:00
fmap.h
gic.h
gpio.h lib/gpio: constify array inputs 2017-10-20 22:49:27 +00:00
halt.h
imd.h
inttypes.h
ip_checksum.h src/include: Wrap lines at 80 columns 2017-03-13 17:23:37 +01:00
kconfig.h
lib.h
list.h lib/devicetree: Integrate flattened devicetree support 2018-04-30 09:33:32 +00:00
main_decl.h
memlayout.h vboot: Move remaining features out of vendorcode/google/chromeos 2017-03-28 22:18:13 +02:00
memory_info.h include/memory_info.h: Change part number field from 19 bytes to 21 2018-04-24 17:12:40 +00:00
memrange.h lib/memrange: Introduce method to clone memrange 2018-04-11 15:11:04 +00:00
mrc_cache.h drivers/mrc_cache: Add missing include file to mrc_cache.h 2017-12-18 16:07:09 +00:00
nhlt.h lib/nhlt: add support for passing subsystem_id to endpoint's structure 2018-05-09 10:06:04 +00:00
option.h src/include: add IS_ENABLED() around Kconfig symbol references 2017-07-13 23:55:05 +00:00
program_loading.h
random.h arch/x86: add functions to generate random numbers 2017-02-20 04:46:10 +01:00
reg_script.h Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
region_file.h
reset.h Consolidate reset API, add generic reset_prepare mechanism 2017-06-13 20:53:09 +02:00
rmodule.h src/include: Remove space after function name 2017-03-13 17:19:16 +01:00
romstage_handoff.h
rtc.h src/include: Open brace on same line as enum or struct 2017-03-12 15:46:23 +01:00
rules.h arch/x86: add ENV_CACHE_AS_RAM 2018-04-24 14:40:16 +00:00
sar.h chromeos: Implement locating and decoding wifi sar data from VPD 2017-01-09 18:16:10 +01:00
sdram_mode.h src/include: Remove spaces before tabs 2017-03-12 15:45:37 +01:00
smbios.h smbios: Extend Baseboard (or Module) Information (type2) 2018-03-07 21:12:47 +00:00
spd.h src/lib/dimm_info_util.c: Add methods to convert from SMBIOS to SPD 2018-04-11 14:41:59 +00:00
spd_bin.h lib/spd_bin: Use proper I2C addresses 2017-06-29 15:41:02 +00:00
spd_ddr2.h src/include: Add guards on all header files 2017-08-01 23:04:15 +00:00
spi-generic.h drivers/spi: reduce confusion in the API 2018-04-23 20:58:58 +00:00
spi_bitbang.h spi: Add helper functions for bit-banging 2018-04-03 00:34:52 +00:00
spi_flash.h drivers/spi: reduce confusion in the API 2018-04-23 20:58:58 +00:00
stage_cache.h lib/stage_cache: Add save/get raw storage 2018-02-07 16:22:40 +00:00
stddef.h src/include: add IS_ENABLED() around Kconfig symbol references 2017-07-13 23:55:05 +00:00
stdlib.h src/include: Add space after comma 2017-03-09 17:19:16 +01:00
string.h console: Expose vsnprintf 2018-04-09 08:18:16 +00:00
swab.h src/include: Remove unnecessary typecast 2017-03-13 17:20:15 +01:00
symbols.h arch/x86: add support for cache-as-ram paging 2018-04-25 15:32:56 +00:00
thread.h src/include: add IS_ENABLED() around Kconfig symbol references 2017-07-13 23:55:05 +00:00
timer.h include/timer.h: add NSECS_PER_SEC macro 2017-11-19 01:50:13 +00:00
timestamp.h src: Fix all Siemens copyrights 2017-11-07 12:33:51 +00:00
trace.h src/include: add IS_ENABLED() around Kconfig symbol references 2017-07-13 23:55:05 +00:00
types.h Reinvent I2C ops 2017-08-18 15:33:45 +00:00
vbe.h Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
version.h
watchdog.h src/include: add IS_ENABLED() around Kconfig symbol references 2017-07-13 23:55:05 +00:00
wrdd.h