coreboot-kgpe-d16/util
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
..
abuild abuild: Allow building with any toolchain 2017-09-06 04:31:30 +00:00
acpi
amdfwtool util/amdfwtool/amdfwtool.c: Check fstat return 2018-02-22 09:59:40 +00:00
amdtools Use more secure HTTPS URLs for coreboot sites 2017-06-07 12:04:50 +02:00
archive archive: build archive tool with HOSTCC 2016-03-08 17:40:05 +01:00
arm_boot_tools/mksunxiboot
autoport util/autoport: Improve `readme.me` 2018-04-29 16:46:04 +00:00
bimgtool codebase: Change makefile $(shell pwd) commands to $(CURDIR) 2016-03-11 18:48:06 +01:00
bincfg util/bincfg: don't use fp shared variable 2018-01-23 05:21:48 +00:00
board_status board_status: Remove sudo when checking for cbmem with command 2018-05-03 15:07:34 +00:00
broadcom util/broadcom/secimage: Add distclean target 2018-02-10 23:49:58 +00:00
cbfstool cbfs: Rename CBFS_TYPE_PAYLOAD to CBFS_TYPE_SELF 2018-05-04 10:30:24 +00:00
cbmem util/cbmem: Re-order regex for "cbmem -1" 2018-02-19 22:00:16 +00:00
checklist util/checklist: Place tables in proper boot order 2016-08-03 18:01:32 +02:00
chromeos util/chromeos: Make scripts executable 2016-07-30 19:34:20 +02:00
crossgcc buildgcc: Add missing '\' 2018-04-28 07:16:58 +00:00
docker util/docker: Add docker container that builds the sphinx documentation 2018-04-27 20:01:54 +00:00
dtd_parser
ectool ectool: Add an option to get and use EC ports from /proc/ioports 2018-04-19 16:30:23 +00:00
exynos
futility util/futility/Makefile: Update clean target 2017-03-29 05:16:49 +02:00
fuzz-tests
genbuild_h util/genbuild_h: Add gitfile support 2018-01-23 05:33:02 +00:00
genprof
gitconfig util/gitconfig: Replace printf with heredoc 2018-01-23 05:22:40 +00:00
ifdfake util/ifdfake: Add number of regions 2016-12-15 23:47:09 +01:00
ifdtool ifdtool: Add a list of known platforms that support IFD_VERSION_2 2018-05-04 01:15:52 +00:00
intelmetool util/intelmetool: Be explicit about *kernel* cmdline arguments 2018-04-28 15:28:52 +00:00
inteltool inteltool: Add some Skylake desktop ids 2018-03-27 15:42:14 +00:00
intelvbttool intelvbttool: cope with errors in open() 2016-07-31 19:23:29 +02:00
ipqheader util/*: Fix final newlines in scripts 2018-01-23 05:17:44 +00:00
k8resdump util/*: don't strip executables 2017-10-29 08:48:56 +00:00
kbc1126 kbc1126_ec_dump: fix some errors 2017-08-18 15:32:08 +00:00
kconfig Kconfig: Change symbol override from warning to notice 2016-12-12 17:53:32 +01:00
lint util/lint: Ignore whitespace, newlines, and licenses in vbt files 2018-05-09 16:19:36 +00:00
marvell util/marvell: Add Marvell doimage utility and dependency in relevant Makefile 2016-02-11 14:16:08 +01:00
me_cleaner util/me_cleaner: Update to v1.2 2018-04-06 06:54:14 +00:00
mma mma: update mma setup script for v2.1018 2017-04-24 19:11:34 +02:00
msrtool util/msrtool: Exit program after displaying the help message 2017-08-22 10:10:49 +00:00
mtkheader
nvidia util/nvidia/cbootimage: Update to upstream master 2017-04-24 19:19:39 +02:00
nvramtool cbfs: Rename CBFS_TYPE_PAYLOAD to CBFS_TYPE_SELF 2018-05-04 10:30:24 +00:00
optionlist util: change coreboot to lowercase 2017-06-27 18:26:01 +00:00
post util: Add a very simple utility to test POST cards. 2016-02-26 07:00:33 +01:00
qualcomm/scripts/cmm util/qualcomm: Add T32 debug scripts 2018-04-27 09:21:11 +00:00
release util/release/genrelnotes: Add "sifive" search pattern 2018-05-05 15:24:45 +00:00
riscv src/sifive: Add the SiFive Freedom Unleashed 540 SoC 2018-04-26 11:52:37 +00:00
rockchip rockchip: update make_idb.py 2016-03-16 15:24:10 +01:00
romcc smbus: Fix a typo ("Set the device I'm talking too") 2017-09-27 16:38:18 +00:00
sconfig devicetree: Add USB device type 2018-05-11 08:59:51 +00:00
scripts util/scripts: Add script to alphabetize MAINTAINERS file 2018-04-16 22:25:31 +00:00
showdevicetree sconfig: Add a new mmio resource type 2018-01-25 16:50:17 +00:00
spkmodem_recv
superiotool Use git HTTP URLs without `/p` in it 2018-04-17 10:38:06 +00:00
testing util/broadcom/secimage: Add HMAC test 2018-02-06 16:14:33 +00:00
uio_usbdebug
vgabios util/vgabios: Don't call redefined printk in printk 2017-07-21 15:45:41 +00:00
viatool Use more secure HTTPS URLs for coreboot sites 2017-06-07 12:04:50 +02:00
x86 util/x86/x86_page_tables: add command line to generated files 2018-04-27 03:25:28 +00:00
xcompile util/xcompile: prefer riscv64 over riscv 2018-05-09 10:00:32 +00:00