summaryrefslogtreecommitdiff
path: root/arch/x86/cpu/coreboot/tables.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/cpu/coreboot/tables.c')
-rw-r--r--arch/x86/cpu/coreboot/tables.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/x86/cpu/coreboot/tables.c b/arch/x86/cpu/coreboot/tables.c
index e693f4457d..2cb4a426ab 100644
--- a/arch/x86/cpu/coreboot/tables.c
+++ b/arch/x86/cpu/coreboot/tables.c
@@ -28,6 +28,7 @@
* SUCH DAMAGE.
*/
+#include <common.h>
#include <asm/ic/coreboot/ipchecksum.h>
#include <asm/ic/coreboot/sysinfo.h>
#include <asm/ic/coreboot/tables.h>
@@ -116,6 +117,11 @@ static void cb_parse_gpios(unsigned char *ptr, struct sysinfo_t *info)
info->gpios[i] = gpios->gpios[i];
}
+static void cb_parse_fdt(unsigned char *ptr, struct sysinfo_t *info)
+{
+ info->sys_fdt = (struct fdt_header *)(((struct cb_fdt *)ptr) + 1);
+}
+
static void cb_parse_framebuffer(unsigned char *ptr, struct sysinfo_t *info)
{
info->framebuffer = (struct cb_framebuffer *)ptr;
@@ -216,6 +222,10 @@ static int cb_parse_header(void *addr, int len, struct sysinfo_t *info)
break;
case CB_TAG_GPIO:
cb_parse_gpios(ptr, info);
+ break;
+ case CB_TAG_FDT:
+ cb_parse_fdt(ptr, info);
+ break;
}
ptr += rec->size;