summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Roth <gaumless@gmail.com>2024-04-16 11:39:13 -0600
committerFelix Singer <service+coreboot-gerrit@felixsinger.de>2024-04-26 22:01:31 +0000
commitc96201acb1d16dea90d2f8477f694346e0829dd6 (patch)
tree9b60b8f7d5fdc11fc2622fc3084242f1f45a7a92 /src
parentacfdf0d43c502f4346fd614c4c60b6fd345faed7 (diff)
mb/framework: Push initial port of azalea (Framework 13 AMD 7040)
This is a minimal framework that allows the build to compile. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: Ief4b5c75471a2ef5bedaaee9b4737510c2826b6e Reviewed-on: https://review.coreboot.org/c/coreboot/+/81978 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/framework/Kconfig17
-rw-r--r--src/mainboard/framework/Kconfig.name4
-rw-r--r--src/mainboard/framework/azalea/Kconfig18
-rw-r--r--src/mainboard/framework/azalea/Kconfig.name4
-rw-r--r--src/mainboard/framework/azalea/Makefile.mk8
-rw-r--r--src/mainboard/framework/azalea/board_info.txt6
-rw-r--r--src/mainboard/framework/azalea/bootblock.c7
-rw-r--r--src/mainboard/framework/azalea/coreboot.fmd12
-rw-r--r--src/mainboard/framework/azalea/devicetree.cb8
-rw-r--r--src/mainboard/framework/azalea/dsdt.asl15
-rw-r--r--src/mainboard/framework/azalea/mainboard.c30
-rw-r--r--src/mainboard/framework/azalea/port_descriptors.c9
-rw-r--r--src/mainboard/framework/azalea/romstage.c1
-rw-r--r--src/mainboard/framework/azalea/smihandler.c1
14 files changed, 140 insertions, 0 deletions
diff --git a/src/mainboard/framework/Kconfig b/src/mainboard/framework/Kconfig
new file mode 100644
index 0000000000..980aa6d34f
--- /dev/null
+++ b/src/mainboard/framework/Kconfig
@@ -0,0 +1,17 @@
+## SPDX-License-Identifier: GPL-2.0-or-later
+
+if VENDOR_FRAMEWORK
+
+choice
+ prompt "Mainboard model"
+
+source "src/mainboard/framework/*/Kconfig.name"
+
+endchoice
+
+source "src/mainboard/framework/*/Kconfig"
+
+config MAINBOARD_VENDOR
+ default "Framework"
+
+endif # VENDOR_FRAMEWORK
diff --git a/src/mainboard/framework/Kconfig.name b/src/mainboard/framework/Kconfig.name
new file mode 100644
index 0000000000..e3bef34c7c
--- /dev/null
+++ b/src/mainboard/framework/Kconfig.name
@@ -0,0 +1,4 @@
+## SPDX-License-Identifier: GPL-2.0-or-later
+
+config VENDOR_FRAMEWORK
+ bool "Framework"
diff --git a/src/mainboard/framework/azalea/Kconfig b/src/mainboard/framework/azalea/Kconfig
new file mode 100644
index 0000000000..6badb0763f
--- /dev/null
+++ b/src/mainboard/framework/azalea/Kconfig
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+config BOARD_FRAMEWORK_AZALEA
+ select BOARD_ROMSIZE_KB_32768
+ select SOC_AMD_PHOENIX_FSP
+
+if BOARD_FRAMEWORK_AZALEA
+
+config MAINBOARD_DIR
+ default "framework/azalea"
+
+config MAINBOARD_PART_NUMBER
+ default "Azalea"
+
+config FMDFILE
+ default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/coreboot.fmd"
+
+endif
diff --git a/src/mainboard/framework/azalea/Kconfig.name b/src/mainboard/framework/azalea/Kconfig.name
new file mode 100644
index 0000000000..35ff54daba
--- /dev/null
+++ b/src/mainboard/framework/azalea/Kconfig.name
@@ -0,0 +1,4 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+config BOARD_FRAMEWORK_AZALEA
+ bool "Azalea (Framework 13 AMD 7040)"
diff --git a/src/mainboard/framework/azalea/Makefile.mk b/src/mainboard/framework/azalea/Makefile.mk
new file mode 100644
index 0000000000..248f9df256
--- /dev/null
+++ b/src/mainboard/framework/azalea/Makefile.mk
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+bootblock-y += bootblock.c
+
+romstage-y += port_descriptors.c
+
+ramstage-y += mainboard.c
+ramstage-y += port_descriptors.c
diff --git a/src/mainboard/framework/azalea/board_info.txt b/src/mainboard/framework/azalea/board_info.txt
new file mode 100644
index 0000000000..79159116db
--- /dev/null
+++ b/src/mainboard/framework/azalea/board_info.txt
@@ -0,0 +1,6 @@
+Vendor name: Framework
+Board name: Azalea (13" AMD Ryzen 7040)
+Category: laptop
+ROM protocol: SPI
+ROM socketed: n
+Flashrom support: n
diff --git a/src/mainboard/framework/azalea/bootblock.c b/src/mainboard/framework/azalea/bootblock.c
new file mode 100644
index 0000000000..ccd8ec1b40
--- /dev/null
+++ b/src/mainboard/framework/azalea/bootblock.c
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <bootblock_common.h>
+
+void bootblock_mainboard_early_init(void)
+{
+}
diff --git a/src/mainboard/framework/azalea/coreboot.fmd b/src/mainboard/framework/azalea/coreboot.fmd
new file mode 100644
index 0000000000..8f47443c1d
--- /dev/null
+++ b/src/mainboard/framework/azalea/coreboot.fmd
@@ -0,0 +1,12 @@
+FLASH@0xFF000000 32M {
+ BIOS_PAGE_1 16M {
+ FMAP 4K
+ COREBOOT(CBFS)
+ SMMSTORE(PRESERVE) 64K
+ RW_MRC_CACHE 256K
+ RECOVERY_MRC_CACHE(PRESERVE) 256K
+ }
+ BIOS_PAGE_2 16M {
+ UNUSED
+ }
+}
diff --git a/src/mainboard/framework/azalea/devicetree.cb b/src/mainboard/framework/azalea/devicetree.cb
new file mode 100644
index 0000000000..3c39d04322
--- /dev/null
+++ b/src/mainboard/framework/azalea/devicetree.cb
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+chip soc/amd/phoenix
+
+ device domain 0 on
+ end # domain
+
+end # chip soc/amd/phoenix
diff --git a/src/mainboard/framework/azalea/dsdt.asl b/src/mainboard/framework/azalea/dsdt.asl
new file mode 100644
index 0000000000..e6cfd62206
--- /dev/null
+++ b/src/mainboard/framework/azalea/dsdt.asl
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <acpi/acpi.h>
+
+DefinitionBlock (
+ "dsdt.aml",
+ "DSDT",
+ ACPI_DSDT_REV_2,
+ OEM_ID,
+ ACPI_TABLE_CREATOR,
+ 0x00010001 /* OEM Revision */
+)
+{
+ #include <acpi/dsdt_top.asl>
+}
diff --git a/src/mainboard/framework/azalea/mainboard.c b/src/mainboard/framework/azalea/mainboard.c
new file mode 100644
index 0000000000..77df1af022
--- /dev/null
+++ b/src/mainboard/framework/azalea/mainboard.c
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <amdblocks/amd_pci_util.h>
+#include <device/device.h>
+
+/*
+ * This controls the device -> IRQ routing.
+ *
+ */
+static const struct fch_irq_routing fch_irq_map[] = {
+};
+
+const struct fch_irq_routing *mb_get_fch_irq_mapping(size_t *length)
+{
+ *length = ARRAY_SIZE(fch_irq_map);
+ return fch_irq_map;
+}
+
+static void mainboard_init(void *chip_info)
+{
+}
+
+static void mainboard_enable(struct device *dev)
+{
+}
+
+struct chip_operations mainboard_ops = {
+ .init = mainboard_init,
+ .enable_dev = mainboard_enable,
+};
diff --git a/src/mainboard/framework/azalea/port_descriptors.c b/src/mainboard/framework/azalea/port_descriptors.c
new file mode 100644
index 0000000000..fe92ee3174
--- /dev/null
+++ b/src/mainboard/framework/azalea/port_descriptors.c
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <soc/platform_descriptors.h>
+
+void mainboard_get_dxio_ddi_descriptors(
+ const fsp_dxio_descriptor **dxio_descs, size_t *dxio_num,
+ const fsp_ddi_descriptor **ddi_descs, size_t *ddi_num)
+{
+}
diff --git a/src/mainboard/framework/azalea/romstage.c b/src/mainboard/framework/azalea/romstage.c
new file mode 100644
index 0000000000..73fa78ef14
--- /dev/null
+++ b/src/mainboard/framework/azalea/romstage.c
@@ -0,0 +1 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
diff --git a/src/mainboard/framework/azalea/smihandler.c b/src/mainboard/framework/azalea/smihandler.c
new file mode 100644
index 0000000000..73fa78ef14
--- /dev/null
+++ b/src/mainboard/framework/azalea/smihandler.c
@@ -0,0 +1 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */