summaryrefslogtreecommitdiff
path: root/src/mainboard/facebook/monolith/mainboard.c
diff options
context:
space:
mode:
authorWim Vervoorn <wvervoorn@eltan.com>2019-12-05 13:45:41 +0100
committerPatrick Georgi <pgeorgi@google.com>2019-12-06 15:15:08 +0000
commit7c04acff8a58b7350fc669e2a0a71f3a308f8c09 (patch)
treec8c2f384f9a6b02e698ead2f2a78fb60a6cda48d /src/mainboard/facebook/monolith/mainboard.c
parentcbc878d2a20549030deaecdecc37ff5b9dcb3272 (diff)
downloadcoreboot-7c04acff8a58b7350fc669e2a0a71f3a308f8c09.tar.xz
mb/facebook/monolith: Add Facebook Monolith
The board is booting Linux and has been briefly tested. SeaBIOS, TianoCore payload and Linux as payload all seem to work fine. BUG=N/A TEST=tested on Facebook Monolith Change-Id: I65a2e03334af65cfb3f825d43fa0daa6e6c75913 Signed-off-by: Wim Vervoorn <wvervoorn@eltan.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/37516 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Frans Hendriks <fhendriks@eltan.com>
Diffstat (limited to 'src/mainboard/facebook/monolith/mainboard.c')
-rw-r--r--src/mainboard/facebook/monolith/mainboard.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/mainboard/facebook/monolith/mainboard.c b/src/mainboard/facebook/monolith/mainboard.c
new file mode 100644
index 0000000000..3d6532e2d8
--- /dev/null
+++ b/src/mainboard/facebook/monolith/mainboard.c
@@ -0,0 +1,50 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2009 coresystems GmbH
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2016 Intel Corporation.
+ * Copyright (C) 2018-2019 Eltan B.V.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <device/device.h>
+
+/*
+ * Declare the resources we are using
+ */
+static void mainboard_reserve_resources(struct device *dev)
+{
+ unsigned int idx = 0;
+ struct resource *res;
+
+ /*
+ * CPLD: Reserve the IRQ here all others are within the default LPC
+ * range 0 to 1000h
+ */
+ res = new_resource(dev, idx++);
+ res->base = 0x7;
+ res->size = 0x1;
+ res->flags = IORESOURCE_IRQ | IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
+}
+
+/*
+ * mainboard_enable is executed as first thing after
+ * enumerate_buses().
+ */
+static void mainboard_enable(struct device *dev)
+{
+ mainboard_reserve_resources(dev);
+}
+
+struct chip_operations mainboard_ops = {
+ .enable_dev = mainboard_enable,
+};