diff options
author | Duncan Laurie <dlaurie@google.com> | 2018-05-07 14:18:13 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2018-05-11 08:59:51 +0000 |
commit | bae9f85ddbd2e62af1b47169cbfeb10b06d45e04 (patch) | |
tree | 7d02393aa9a757ffaaf33fd4ffc841ddc239e4a7 /util/sconfig/sconfig.tab.c_shipped | |
parent | 57df0888169a2622e37dfad3694e3de544b8b6fb (diff) |
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>
Diffstat (limited to 'util/sconfig/sconfig.tab.c_shipped')
-rw-r--r-- | util/sconfig/sconfig.tab.c_shipped | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/util/sconfig/sconfig.tab.c_shipped b/util/sconfig/sconfig.tab.c_shipped index 4c8b8fffc1..1832f35bf3 100644 --- a/util/sconfig/sconfig.tab.c_shipped +++ b/util/sconfig/sconfig.tab.c_shipped @@ -151,7 +151,8 @@ extern int yydebug; PCIINT = 283, GENERIC = 284, SPI = 285, - MMIO = 286 + USB = 286, + MMIO = 287 }; #endif @@ -428,7 +429,7 @@ union yyalloc #define YYLAST 39 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 32 +#define YYNTOKENS 33 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 13 /* YYNRULES -- Number of rules. */ @@ -439,7 +440,7 @@ union yyalloc /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 286 +#define YYMAXUTOK 287 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -476,7 +477,7 @@ static const yytype_uint8 yytranslate[] = 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31 + 25, 26, 27, 28, 29, 30, 31, 32 }; #if YYDEBUG @@ -498,7 +499,7 @@ static const char *const yytname[] = "BUS", "RESOURCE", "END", "EQUALS", "HEX", "STRING", "PCI", "PNP", "I2C", "APIC", "CPU_CLUSTER", "CPU", "DOMAIN", "IRQ", "DRQ", "IO", "NUMBER", "SUBSYSTEMID", "INHERIT", "IOAPIC_IRQ", "IOAPIC", "PCIINT", "GENERIC", - "SPI", "MMIO", "$accept", "devtree", "$@1", "chipchildren", + "SPI", "USB", "MMIO", "$accept", "devtree", "$@1", "chipchildren", "devicechildren", "chip", "@2", "device", "@3", "resource", "registers", "subsystemid", "ioapic_irq", YY_NULLPTR }; @@ -512,7 +513,7 @@ static const yytype_uint16 yytoknum[] = 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286 + 285, 286, 287 }; # endif @@ -586,19 +587,19 @@ static const yytype_int8 yycheck[] = symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 33, 34, 0, 3, 37, 12, 38, 35, 4, - 5, 9, 37, 39, 42, 7, 12, 23, 10, 6, - 12, 40, 36, 8, 9, 24, 26, 37, 39, 41, - 43, 44, 23, 23, 23, 10, 23, 28, 23, 25, + 0, 34, 35, 0, 3, 38, 12, 39, 36, 4, + 5, 9, 38, 40, 43, 7, 12, 23, 10, 6, + 12, 41, 37, 8, 9, 24, 26, 38, 40, 42, + 44, 45, 23, 23, 23, 10, 23, 28, 23, 25, 23 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 32, 34, 33, 35, 35, 35, 35, 36, 36, - 36, 36, 36, 36, 38, 37, 40, 39, 41, 42, - 43, 43, 44 + 0, 33, 35, 34, 36, 36, 36, 36, 37, 37, + 37, 37, 37, 37, 39, 38, 41, 40, 42, 43, + 44, 44, 45 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ |