diff --git a/util/sconfig/sconfig.y b/util/sconfig/sconfig.y
index 161cf81..57e939d 100755
--- a/util/sconfig/sconfig.y
+++ b/util/sconfig/sconfig.y
@@ -9,6 +9,7 @@
 
 static struct bus *cur_parent;
 static struct chip_instance *cur_chip_instance;
+static struct fw_config_field *cur_field;
 
 %}
 %union {
@@ -18,13 +19,13 @@
 	int number;
 }
 
-%token CHIP DEVICE REGISTER BOOL 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 LPC ESPI
+%token CHIP DEVICE REGISTER BOOL 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 LPC ESPI FW_CONFIG_TABLE FW_CONFIG_FIELD FW_CONFIG_OPTION FW_CONFIG_PROBE
 %%
-devtree: { cur_parent = root_parent; } chip;
+devtree: { cur_parent = root_parent; } | devtree chip | devtree fw_config_table;
 
 chipchildren: chipchildren device | chipchildren chip | chipchildren registers | /* empty */ ;
 
-devicechildren: devicechildren device | devicechildren chip | devicechildren resource | devicechildren subsystemid | devicechildren ioapic_irq | devicechildren smbios_slot_desc | devicechildren registers | /* empty */ ;
+devicechildren: devicechildren device | devicechildren chip | devicechildren resource | devicechildren subsystemid | devicechildren ioapic_irq | devicechildren smbios_slot_desc | devicechildren registers | devicechildren fw_config_probe | /* empty */ ;
 
 chip: CHIP STRING /* == path */ {
 	$<chip_instance>$ = new_chip_instance($<string>2);
@@ -69,4 +70,38 @@
 smbios_slot_desc: SLOT_DESC STRING STRING
 	{ add_slot_desc(cur_parent, $<string>2, $<string>3, NULL, NULL); };
 
+/* fw_config: firmware configuration table */
+fw_config_table: FW_CONFIG_TABLE fw_config_table_children END { };
+
+/* fw_config -> field */
+fw_config_table_children: fw_config_table_children fw_config_field | /* empty */ ;
+
+/* field -> option */
+fw_config_field_children: fw_config_field_children fw_config_option | /* empty */ ;
+
+/* field <start-bit> <end-bit> */
+fw_config_field: FW_CONFIG_FIELD STRING NUMBER /* == start bit */ NUMBER /* == end bit */ {
+	cur_field = new_fw_config_field($<string>2, strtoul($<string>3, NULL, 0), strtoul($<string>4, NULL, 0));
+}
+	fw_config_field_children END { };
+
+/* field <bit> (for single-bit fields) */
+fw_config_field: FW_CONFIG_FIELD STRING NUMBER /* == bit */ {
+	cur_field = new_fw_config_field($<string>2, strtoul($<string>3, NULL, 0), strtoul($<string>3, NULL, 0));
+}
+	fw_config_field_children END { };
+
+/* field (for adding options to an existing field) */
+fw_config_field: FW_CONFIG_FIELD STRING {
+	cur_field = get_fw_config_field($<string>2);
+}
+	fw_config_field_children END { };
+
+/* option <value> */
+fw_config_option: FW_CONFIG_OPTION STRING NUMBER /* == field value */
+	{ add_fw_config_option(cur_field, $<string>2, strtoul($<string>3, NULL, 0)); };
+
+/* probe <field> <option> */
+fw_config_probe: FW_CONFIG_PROBE STRING /* == field */ STRING /* == option */
+	{ add_fw_config_probe(cur_parent, $<string>2, $<string>3); }
 %%
