summaryrefslogtreecommitdiff
path: root/src/mainboard/example
diff options
context:
space:
mode:
authorNico Huber <nico.h@gmx.de>2020-09-24 23:33:34 +0200
committerNico Huber <nico.h@gmx.de>2020-10-30 21:34:18 +0000
commit1fa72d5fe1d2ac41036c08355c760fb576899347 (patch)
treee6e135c24eae9b0a58417dc5e5099f72545f5488 /src/mainboard/example
parent8661fe220d92cedbb5eb7956d74b764670d354f3 (diff)
x86: Add a minimal example SoC along with a board
The min86 example SoC code along with the example mainboard should serve as a minimal example how a buildable x86 SoC code base can look like. This can serve, for instance, as a basis to add new SoCs to coreboot. Starting with a buildable commit should help with the review of the actual code, and also avoid any regressions when common coreboot code changes. As the example code itself is build-tested, it should advance with coreboot and can't rot like documentation might. It also serves as a check what APIs need to be implemented with the default Kconfig settings. Change-Id: Id76ab15fe77ae3e405c43f9c8677694f178be112 Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/45710 Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard/example')
-rw-r--r--src/mainboard/example/Kconfig15
-rw-r--r--src/mainboard/example/Kconfig.name2
-rw-r--r--src/mainboard/example/min86/Kconfig14
-rw-r--r--src/mainboard/example/min86/Kconfig.name11
-rw-r--r--src/mainboard/example/min86/board_info.txt1
-rw-r--r--src/mainboard/example/min86/devicetree.cb6
6 files changed, 49 insertions, 0 deletions
diff --git a/src/mainboard/example/Kconfig b/src/mainboard/example/Kconfig
new file mode 100644
index 0000000000..5afc8ee5a9
--- /dev/null
+++ b/src/mainboard/example/Kconfig
@@ -0,0 +1,15 @@
+if VENDOR_EXAMPLE
+
+choice
+ prompt "Mainboard model"
+
+source "src/mainboard/example/*/Kconfig.name"
+
+endchoice
+
+source "src/mainboard/example/*/Kconfig"
+
+config MAINBOARD_VENDOR
+ default "Example"
+
+endif # VENDOR_EXAMPLE
diff --git a/src/mainboard/example/Kconfig.name b/src/mainboard/example/Kconfig.name
new file mode 100644
index 0000000000..9ffc1738bc
--- /dev/null
+++ b/src/mainboard/example/Kconfig.name
@@ -0,0 +1,2 @@
+config VENDOR_EXAMPLE
+ bool "Example boards"
diff --git a/src/mainboard/example/min86/Kconfig b/src/mainboard/example/min86/Kconfig
new file mode 100644
index 0000000000..3a962e27f4
--- /dev/null
+++ b/src/mainboard/example/min86/Kconfig
@@ -0,0 +1,14 @@
+if BOARD_EXAMPLE_MIN86
+
+config BOARD_SPECIFIC_OPTIONS
+ def_bool y
+ select SOC_EXAMPLE_MIN86
+ select MISSING_BOARD_RESET
+
+config MAINBOARD_DIR
+ default "example/min86"
+
+config MAINBOARD_PART_NUMBER
+ default "Min86"
+
+endif
diff --git a/src/mainboard/example/min86/Kconfig.name b/src/mainboard/example/min86/Kconfig.name
new file mode 100644
index 0000000000..33131930f5
--- /dev/null
+++ b/src/mainboard/example/min86/Kconfig.name
@@ -0,0 +1,11 @@
+config BOARD_EXAMPLE_MIN86
+ bool "Minimal x86 fake board"
+ help
+ This example mainboard code along with the example/min86 SoC
+ should serve as a minimal example how a buildable x86 SoC code
+ base can look like.
+
+ This can serve, for instance, as a basis to add new SoCs to
+ coreboot. Starting with a buildable commit should help with
+ the review of the actual code, and also avoid any regressions
+ when common coreboot code changes.
diff --git a/src/mainboard/example/min86/board_info.txt b/src/mainboard/example/min86/board_info.txt
new file mode 100644
index 0000000000..c778859fab
--- /dev/null
+++ b/src/mainboard/example/min86/board_info.txt
@@ -0,0 +1 @@
+Category: misc
diff --git a/src/mainboard/example/min86/devicetree.cb b/src/mainboard/example/min86/devicetree.cb
new file mode 100644
index 0000000000..9af04c091a
--- /dev/null
+++ b/src/mainboard/example/min86/devicetree.cb
@@ -0,0 +1,6 @@
+chip soc/example/min86
+
+ device domain 0 on
+ end
+
+end