sconfig: Add a new mmio resource type
Add support for a mmio resource in the devicetree to allow
memory-mapped IO addresses to be assigned to given values.
AMD platforms perform a significant amount of configuration through
these MMIO addresses, including I2C bus configuration.
BUG=b:72121803
Change-Id: I5608721c22c1b229f527815b5f17fff3a080c3c8
Signed-off-by: Justin TerAvest <teravest@chromium.org>
Reviewed-on: https://review.coreboot.org/23319
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
diff --git a/util/sconfig/sconfig.tab.c_shipped b/util/sconfig/sconfig.tab.c_shipped
index 116f41f..4c8b8ff 100644
--- a/util/sconfig/sconfig.tab.c_shipped
+++ b/util/sconfig/sconfig.tab.c_shipped
@@ -108,8 +108,8 @@
/* In a future release of Bison, this section will be replaced
by #include "sconfig.tab.h_shipped". */
-#ifndef YY_YY_SCONFIG_TAB_H_SHIPPED_INCLUDED
-# define YY_YY_SCONFIG_TAB_H_SHIPPED_INCLUDED
+#ifndef YY_YY_UTIL_SCONFIG_SCONFIG_TAB_H_SHIPPED_INCLUDED
+# define YY_YY_UTIL_SCONFIG_SCONFIG_TAB_H_SHIPPED_INCLUDED
/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -150,7 +150,8 @@
IOAPIC = 282,
PCIINT = 283,
GENERIC = 284,
- SPI = 285
+ SPI = 285,
+ MMIO = 286
};
#endif
@@ -178,7 +179,7 @@
int yyparse (void);
-#endif /* !YY_YY_SCONFIG_TAB_H_SHIPPED_INCLUDED */
+#endif /* !YY_YY_UTIL_SCONFIG_SCONFIG_TAB_H_SHIPPED_INCLUDED */
/* Copy the second part of user declarations. */
@@ -427,7 +428,7 @@
#define YYLAST 39
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 31
+#define YYNTOKENS 32
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 13
/* YYNRULES -- Number of rules. */
@@ -438,7 +439,7 @@
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 285
+#define YYMAXUTOK 286
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -475,7 +476,7 @@
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
+ 25, 26, 27, 28, 29, 30, 31
};
#if YYDEBUG
@@ -497,9 +498,9 @@
"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", "$accept", "devtree", "$@1", "chipchildren", "devicechildren",
- "chip", "@2", "device", "@3", "resource", "registers", "subsystemid",
- "ioapic_irq", YY_NULLPTR
+ "SPI", "MMIO", "$accept", "devtree", "$@1", "chipchildren",
+ "devicechildren", "chip", "@2", "device", "@3", "resource", "registers",
+ "subsystemid", "ioapic_irq", YY_NULLPTR
};
#endif
@@ -511,7 +512,7 @@
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
+ 285, 286
};
# endif
@@ -585,19 +586,19 @@
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 32, 33, 0, 3, 36, 12, 37, 34, 4,
- 5, 9, 36, 38, 41, 7, 12, 23, 10, 6,
- 12, 39, 35, 8, 9, 24, 26, 36, 38, 40,
- 42, 43, 23, 23, 23, 10, 23, 28, 23, 25,
+ 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,
23
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 31, 33, 32, 34, 34, 34, 34, 35, 35,
- 35, 35, 35, 35, 37, 36, 39, 38, 40, 41,
- 42, 42, 43
+ 0, 32, 34, 33, 35, 35, 35, 35, 36, 36,
+ 36, 36, 36, 36, 38, 37, 40, 39, 41, 42,
+ 43, 43, 44
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */