util/sconfig: Add LPC and ESPI buses

Picasso has an LPC and eSPI bridge on the same PCI DEVFN. They can both
be active at the same time. This adds a way to specify which devices
belong on which bus.

i.e.,
device pci 14.3 on  # - D14F3 bridge
	device espi 0 on
		chip ec/google/chromeec
			device pnp 0c09.0 on end
		end
	end
	device lpc 0 on
	end
end

BUG=b:154445472
TEST=Built trembyle and saw static.c contained the espi bus.

Signed-off-by: Raul E Rangel <rrangel@chromium.org>
Change-Id: I0c2f40813c05680f72e5f30cbb13617e8f994841
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41099
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Raul E Rangel
2020-05-06 11:47:04 -06:00
committed by Patrick Georgi
parent 5819eab5a6
commit 3f3f53cd5e
9 changed files with 200 additions and 147 deletions

View File

@@ -158,7 +158,9 @@ extern int yydebug;
GENERIC = 287,
SPI = 288,
USB = 289,
MMIO = 290
MMIO = 290,
LPC = 291,
ESPI = 292
};
#endif
@@ -493,7 +495,7 @@ union yyalloc
#define YYLAST 45
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 36
#define YYNTOKENS 38
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 15
/* YYNRULES -- Number of rules. */
@@ -502,7 +504,7 @@ union yyalloc
#define YYNSTATES 50
#define YYUNDEFTOK 2
#define YYMAXUTOK 290
#define YYMAXUTOK 292
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -543,7 +545,7 @@ static const yytype_int8 yytranslate[] =
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, 32, 33, 34,
35
35, 36, 37
};
#if YYDEBUG
@@ -565,10 +567,10 @@ static const char *const yytname[] =
"STATUS", "MANDATORY", "BUS", "RESOURCE", "END", "EQUALS", "HEX",
"STRING", "PCI", "PNP", "I2C", "APIC", "CPU_CLUSTER", "CPU", "DOMAIN",
"IRQ", "DRQ", "SLOT_DESC", "IO", "NUMBER", "SUBSYSTEMID", "INHERIT",
"IOAPIC_IRQ", "IOAPIC", "PCIINT", "GENERIC", "SPI", "USB", "MMIO",
"$accept", "devtree", "$@1", "chipchildren", "devicechildren", "chip",
"@2", "device", "@3", "status", "resource", "registers", "subsystemid",
"ioapic_irq", "smbios_slot_desc", YY_NULLPTR
"IOAPIC_IRQ", "IOAPIC", "PCIINT", "GENERIC", "SPI", "USB", "MMIO", "LPC",
"ESPI", "$accept", "devtree", "$@1", "chipchildren", "devicechildren",
"chip", "@2", "device", "@3", "status", "resource", "registers",
"subsystemid", "ioapic_irq", "smbios_slot_desc", YY_NULLPTR
};
#endif
@@ -580,7 +582,7 @@ static const yytype_int16 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, 287, 288, 289, 290
285, 286, 287, 288, 289, 290, 291, 292
};
# endif
@@ -656,19 +658,19 @@ static const yytype_int8 yycheck[] =
symbol of state STATE-NUM. */
static const yytype_int8 yystos[] =
{
0, 37, 38, 0, 3, 41, 14, 42, 39, 4,
5, 11, 41, 43, 47, 9, 14, 26, 12, 6,
7, 45, 14, 44, 40, 10, 11, 24, 27, 29,
41, 43, 46, 47, 48, 49, 50, 26, 14, 26,
0, 39, 40, 0, 3, 43, 14, 44, 41, 4,
5, 11, 43, 45, 49, 9, 14, 26, 12, 6,
7, 47, 14, 46, 42, 10, 11, 24, 27, 29,
43, 45, 48, 49, 50, 51, 52, 26, 14, 26,
26, 12, 14, 26, 31, 26, 14, 28, 26, 14
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_int8 yyr1[] =
{
0, 36, 38, 37, 39, 39, 39, 39, 40, 40,
40, 40, 40, 40, 40, 40, 42, 41, 44, 43,
45, 45, 46, 47, 48, 48, 49, 50, 50, 50
0, 38, 40, 39, 41, 41, 41, 41, 42, 42,
42, 42, 42, 42, 42, 42, 44, 43, 46, 45,
47, 47, 48, 49, 50, 50, 51, 52, 52, 52
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */