Evgeny Zinoviev has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/32719
Change subject: drivers/apple: Add hybrid graphics driver
......................................................................
drivers/apple: Add hybrid graphics driver
Hybrid graphics driver for Apple MacBook Pro.
Change-Id: I22b66622cd2da0e9951ee726d650d204fbb8a5bc
Signed-off-by: Evgeny Zinoviev <me(a)ch1p.io>
---
A src/drivers/apple/hybrid_graphics/Kconfig
A src/drivers/apple/hybrid_graphics/Makefile.inc
A src/drivers/apple/hybrid_graphics/chip.h
A src/drivers/apple/hybrid_graphics/gmux.c
A src/drivers/apple/hybrid_graphics/gmux.h
A src/drivers/apple/hybrid_graphics/hybrid_graphics.c
A src/drivers/apple/hybrid_graphics/hybrid_graphics.h
A src/drivers/apple/hybrid_graphics/romstage.c
8 files changed, 417 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/19/32719/1
diff --git a/src/drivers/apple/hybrid_graphics/Kconfig b/src/drivers/apple/hybrid_graphics/Kconfig
new file mode 100644
index 0000000..252373f
--- /dev/null
+++ b/src/drivers/apple/hybrid_graphics/Kconfig
@@ -0,0 +1,3 @@
+config DRIVERS_APPLE_HYBRID_GRAPHICS
+ bool
+ default n
diff --git a/src/drivers/apple/hybrid_graphics/Makefile.inc b/src/drivers/apple/hybrid_graphics/Makefile.inc
new file mode 100644
index 0000000..ea45b45
--- /dev/null
+++ b/src/drivers/apple/hybrid_graphics/Makefile.inc
@@ -0,0 +1,15 @@
+#
+# This file is part of the coreboot project.
+#
+# 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.
+#
+
+romstage-$(CONFIG_DRIVERS_APPLE_HYBRID_GRAPHICS) += gmux.c romstage.c
+ramstage-$(CONFIG_DRIVERS_APPLE_HYBRID_GRAPHICS) += gmux.c hybrid_graphics.c
diff --git a/src/drivers/apple/hybrid_graphics/chip.h b/src/drivers/apple/hybrid_graphics/chip.h
new file mode 100644
index 0000000..39434f8
--- /dev/null
+++ b/src/drivers/apple/hybrid_graphics/chip.h
@@ -0,0 +1,30 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2019 Evgeny Zinoviev <me(a)ch1p.io>
+ *
+ * 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.
+ */
+
+#ifndef _APPLE_HYBRID_GRAPHICS_CHIP_H_
+#define _APPLE_HYBRID_GRAPHICS_CHIP_H_
+
+enum hybrid_graphics_req {
+ HYBRID_GRAPHICS_INTEGRATED = 0,
+ HYBRID_GRAPHICS_DISCRETE = 1
+};
+
+#define HYBRID_GRAPHICS_DEFAULT_GPU HYBRID_GRAPHICS_INTEGRATED
+
+struct drivers_apple_hybrid_graphics_config {
+ unsigned int gmux_indexed;
+};
+
+#endif /* _APPLE_HYBRID_GRAPHICS_CHIP_H_ */
diff --git a/src/drivers/apple/hybrid_graphics/gmux.c b/src/drivers/apple/hybrid_graphics/gmux.c
new file mode 100644
index 0000000..e1f763a
--- /dev/null
+++ b/src/drivers/apple/hybrid_graphics/gmux.c
@@ -0,0 +1,158 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) Canonical Ltd. <seth.forshee(a)canonical.com>
+ * Copyright (C) 2010-2012 Andreas Heider <andreas(a)meetr.de>
+ * Copyright (C) 2015 Lukas Wunner <lukas(a)wunner.de>
+ * Copyright (C) 2019 Evgeny Zinoviev <me(a)ch1p.io>
+ *
+ * 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 <delay.h>
+#include <arch/io.h>
+#include <device/device.h>
+#include "gmux.h"
+#include "chip.h"
+
+static int gmux_index_wait_ready(void)
+{
+ int i = 200;
+ u8 gwr = inb(GMUX_IOSTART + GMUX_PORT_WRITE);
+
+ while (i && (gwr & 0x01)) {
+ inb(GMUX_IOSTART + GMUX_PORT_READ);
+ gwr = inb(GMUX_IOSTART + GMUX_PORT_WRITE);
+ udelay(100);
+ i--;
+ }
+
+ return !!i;
+}
+
+static int gmux_index_wait_complete(void)
+{
+ int i = 200;
+ u8 gwr = inb(GMUX_IOSTART + GMUX_PORT_WRITE);
+
+ while (i && !(gwr & 0x01)) {
+ gwr = inb(GMUX_IOSTART + GMUX_PORT_WRITE);
+ udelay(100);
+ i--;
+ }
+
+ if (gwr & 0x01)
+ inb(GMUX_IOSTART + GMUX_PORT_READ);
+
+ return !!i;
+}
+
+u8 gmux_pio_read8(int port)
+{
+ return inb(GMUX_IOSTART + port);
+}
+
+u8 gmux_index_read8(int port)
+{
+ u8 val;
+
+ gmux_index_wait_ready();
+ outb((port & 0xff), GMUX_IOSTART + GMUX_PORT_READ);
+ gmux_index_wait_complete();
+ val = inb(GMUX_IOSTART + GMUX_PORT_VALUE);
+
+ return val;
+}
+
+void gmux_pio_write8(int port, u8 val)
+{
+ outb(val, GMUX_IOSTART + port);
+}
+
+
+void gmux_index_write8(int port, u8 val)
+{
+ outb(val, GMUX_IOSTART + GMUX_PORT_VALUE);
+ gmux_index_wait_ready();
+ outb(port & 0xff, GMUX_IOSTART + GMUX_PORT_WRITE);
+ gmux_index_wait_complete();
+}
+
+u32 gmux_pio_read32(int port)
+{
+ return inl(GMUX_IOSTART + port);
+}
+
+u32 gmux_index_read32(int port)
+{
+ u32 val;
+
+ gmux_index_wait_ready();
+ outb((port & 0xff), GMUX_IOSTART + GMUX_PORT_READ);
+ gmux_index_wait_complete();
+ val = inl(GMUX_IOSTART + GMUX_PORT_VALUE);
+
+ return val;
+}
+
+u8 gmux_read8(const struct device *dev, int port)
+{
+ const struct drivers_apple_hybrid_graphics_config *config = dev->chip_info;
+ if (config->gmux_indexed) {
+ return gmux_index_read8(port);
+ } else {
+ return gmux_pio_read8(port);
+ }
+}
+
+void gmux_write8(const struct device *dev, int port, u8 val)
+{
+ const struct drivers_apple_hybrid_graphics_config *config = dev->chip_info;
+ if (config->gmux_indexed) {
+ gmux_index_write8(port, val);
+ } else {
+ gmux_pio_write8(port, val);
+ }
+}
+
+u32 gmux_read32(const struct device *dev, int port)
+{
+ const struct drivers_apple_hybrid_graphics_config *config = dev->chip_info;
+ if (config->gmux_indexed) {
+ return gmux_index_read32(port);
+ } else {
+ return gmux_pio_read32(port);
+ }
+}
+
+void gmux_dgpu_power_enable(const struct device *dev, bool enable)
+{
+ if (enable) {
+ gmux_write8(dev, GMUX_PORT_DISCRETE_POWER, 1);
+ gmux_write8(dev, GMUX_PORT_DISCRETE_POWER, 3);
+ } else {
+ gmux_write8(dev, GMUX_PORT_DISCRETE_POWER, 1);
+ gmux_write8(dev, GMUX_PORT_DISCRETE_POWER, 0);
+ }
+}
+
+void gmux_switch(const struct device *dev, bool dgpu)
+{
+ if (dgpu) {
+ gmux_write8(dev, GMUX_PORT_SWITCH_DDC, 2);
+ gmux_write8(dev, GMUX_PORT_SWITCH_DISPLAY, 3);
+ } else {
+ gmux_write8(dev, GMUX_PORT_SWITCH_DDC, 1);
+ gmux_write8(dev, GMUX_PORT_SWITCH_DISPLAY, 2);
+ }
+}
+
+
diff --git a/src/drivers/apple/hybrid_graphics/gmux.h b/src/drivers/apple/hybrid_graphics/gmux.h
new file mode 100644
index 0000000..18f6722
--- /dev/null
+++ b/src/drivers/apple/hybrid_graphics/gmux.h
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) Canonical Ltd. <seth.forshee(a)canonical.com>
+ * Copyright (C) 2010-2012 Andreas Heider <andreas(a)meetr.de>
+ * Copyright (C) 2015 Lukas Wunner <lukas(a)wunner.de>
+ * Copyright (C) 2019 Evgeny Zinoviev <me(a)ch1p.io>
+ *
+ * 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.
+ */
+
+#ifndef EC_APPLE_GMUX_H
+#define EC_APPLE_GMUX_H
+
+#define GMUX_PORT_VERSION_MAJOR 0x04
+#define GMUX_PORT_VERSION_MINOR 0x05
+#define GMUX_PORT_VERSION_RELEASE 0x06
+
+#define GMUX_PORT_SWITCH_DISPLAY 0x10
+#define GMUX_PORT_SWITCH_DDC 0x28
+#define GMUX_PORT_DISCRETE_POWER 0x50
+#define GMUX_PORT_MAX_BRIGHTNESS 0x70
+#define GMUX_PORT_BRIGHTNESS 0x74
+#define GMUX_PORT_VALUE 0xc2
+#define GMUX_PORT_READ 0xd0
+#define GMUX_PORT_WRITE 0xd4
+
+#define GMUX_PORT_INTERRUPT_ENABLE 0x14
+#define GMUX_INTERRUPT_ENABLE 0xff
+#define GMUX_INTERRUPT_DISABLE 0x00
+
+#define GMUX_BRIGHTNESS_MASK 0x00ffffff
+#define GMUX_MAX_BRIGHTNESS GMUX_BRIGHTNESS_MASK
+
+#define GMUX_IOSTART 0x700
+
+u8 gmux_index_read8(int port);
+u8 gmux_pio_read8(int port);
+u8 gmux_read8(const struct device *dev, int port);
+
+void gmux_index_write8(int port, u8 val);
+void gmux_pio_write8(int port, u8 val);
+void gmux_write8(const struct device *dev, int port, u8 val);
+
+u32 gmux_index_read32(int port);
+u32 gmux_pio_read32(int port);
+u32 gmux_read32(const struct device *dev, int port);
+
+void gmux_switch(const struct device *dev, bool dgpu);
+void gmux_dgpu_power_enable(const struct device *dev, bool enable);
+
+#endif /* EC_APPLE_GMUX_H */
diff --git a/src/drivers/apple/hybrid_graphics/hybrid_graphics.c b/src/drivers/apple/hybrid_graphics/hybrid_graphics.c
new file mode 100644
index 0000000..804eb76
--- /dev/null
+++ b/src/drivers/apple/hybrid_graphics/hybrid_graphics.c
@@ -0,0 +1,64 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2019 Evgeny Zinoviev <me(a)ch1p.io>
+ *
+ * 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 <types.h>
+#include <option.h>
+#include <device/device.h>
+
+#include <southbridge/intel/common/gpio.h>
+#include <console/console.h>
+#include "chip.h"
+#include "gmux.h"
+
+static void enable_dev(struct device *dev)
+{
+ printk(BIOS_INFO, "Hybrid graphics enable_dev\n");
+
+ const struct drivers_lenovo_hybrid_graphics_config *config;
+ enum hybrid_graphics_req mode;
+ u8 ver_major, ver_minor, ver_release;
+ u32 version, max_brightness, brightness;
+
+ /* Don't confuse anyone else and disable the fake device */
+ dev->enabled = 0;
+
+ config = dev->chip_info;
+ if (!config) {
+ printk(BIOS_INFO, "Hybrid graphics: Not installed\n");
+ return;
+ }
+
+ version = gmux_index_read32(GMUX_PORT_VERSION_MAJOR);
+ ver_major = (version >> 24) & 0xff;
+ ver_minor = (version >> 16) & 0xff;
+ ver_release = (version >> 8) & 0xff;
+ max_brightness = gmux_index_read32(GMUX_PORT_MAX_BRIGHTNESS);
+ brightness = gmux_index_read32(GMUX_PORT_BRIGHTNESS) & GMUX_BRIGHTNESS_MASK;
+
+ printk(BIOS_INFO, "gmux version: %d.%d.%d\n",
+ ver_major, ver_minor, ver_release);
+ printk(BIOS_INFO, "gmux max brightness: %d\n", max_brightness);
+ printk(BIOS_INFO, "gmux brightness: %d\n", brightness);
+
+ mode = HYBRID_GRAPHICS_DEFAULT_GPU;
+ get_option(&mode, "hybrid_graphics_mode");
+
+ gmux_switch(dev, mode == HYBRID_GRAPHICS_DISCRETE);
+}
+
+struct chip_operations drivers_apple_hybrid_graphics_ops = {
+ CHIP_NAME("Apple hybrid graphics driver")
+ .enable_dev = enable_dev
+};
diff --git a/src/drivers/apple/hybrid_graphics/hybrid_graphics.h b/src/drivers/apple/hybrid_graphics/hybrid_graphics.h
new file mode 100644
index 0000000..782be44
--- /dev/null
+++ b/src/drivers/apple/hybrid_graphics/hybrid_graphics.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2019 Evgeny Zinoviev <me(a)ch1p.io>
+ *
+ * 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.
+ */
+
+#ifndef _DRIVERS_APPLE_HYBRID_GRAPHICS_H_
+#define _DRIVERS_APPLE_HYBRID_GRAPHICS_H_
+
+#define HYBRID_GRAPHICS_PORT 0xff
+#define HYBRID_GRAPHICS_DEVICE 0xf
+
+void early_hybrid_graphics(bool *enable_igd, bool *enable_peg);
+
+#endif /* _DRIVERS_APPLE_HYBRID_GRAPHICS_CHIP_H_ */
diff --git a/src/drivers/apple/hybrid_graphics/romstage.c b/src/drivers/apple/hybrid_graphics/romstage.c
new file mode 100644
index 0000000..9cd5098
--- /dev/null
+++ b/src/drivers/apple/hybrid_graphics/romstage.c
@@ -0,0 +1,63 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2017 Patrick Rudolph <siro(a)das-labor.org>
+ * Copyright (C) 2019 Evgeny Zinoviev <me(a)ch1p.io>
+ *
+ * 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 <types.h>
+#include <option.h>
+#include <device/device.h>
+#include <console/console.h>
+#include "hybrid_graphics.h"
+#include "chip.h"
+#include "gmux.h"
+
+void early_hybrid_graphics(bool *enable_igd, bool *enable_peg)
+{
+ const struct drivers_apple_hybrid_graphics_config *config;
+ const struct device *dev;
+
+ enum hybrid_graphics_req mode = HYBRID_GRAPHICS_DEFAULT_GPU;
+
+ printk(BIOS_INFO, "Hybrid graphics early_hybrid_graphics\n");
+
+ /* TODO: Use generic device instead of dummy PNP device */
+ dev = dev_find_slot_pnp(HYBRID_GRAPHICS_PORT, HYBRID_GRAPHICS_DEVICE);
+
+ if (!dev || !dev->chip_info) {
+ printk(BIOS_ERR, "Hybrid graphics: ERROR\n");
+ *enable_igd = true;
+ *enable_peg = false;
+ return;
+ }
+
+ config = dev->chip_info;
+
+ get_option(&mode, "hybrid_graphics_mode");
+
+ if (mode == HYBRID_GRAPHICS_DISCRETE) {
+ printk(BIOS_DEBUG, "Hybrid graphics:"
+ " Disabling integrated GPU.\n");
+
+ *enable_igd = false;
+ *enable_peg = true;
+ } else if (mode == HYBRID_GRAPHICS_INTEGRATED) {
+ printk(BIOS_DEBUG, "Hybrid graphics:"
+ " Disabling discrete GPU.\n");
+
+ *enable_igd = true;
+ *enable_peg = false;
+ }
+
+ gmux_dgpu_power_enable(dev, *enable_peg);
+}
--
To view, visit https://review.coreboot.org/c/coreboot/+/32719
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I22b66622cd2da0e9951ee726d650d204fbb8a5bc
Gerrit-Change-Number: 32719
Gerrit-PatchSet: 1
Gerrit-Owner: Evgeny Zinoviev <me(a)ch1p.com>
Gerrit-MessageType: newchange
Attention is currently required from: Sean Rhodes.
Matt DeVillier has posted comments on this change by Sean Rhodes. ( https://review.coreboot.org/c/coreboot/+/80706?usp=email )
Change subject: mb/starlabs/starlite_adl: Add Alder Lake N StarLite Mk V
......................................................................
Patch Set 6:
(1 comment)
File src/mainboard/starlabs/starlite_adl/board_info.txt:
https://review.coreboot.org/c/coreboot/+/80706/comment/c8812400_a78d09b6?us… :
PS5, Line 3: laptop
> I think laptop is the closest match out of: […]
ack. was thinking of SMBIOS types.
--
To view, visit https://review.coreboot.org/c/coreboot/+/80706?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I8724e578c21353032b844b20b868348580ff561b
Gerrit-Change-Number: 80706
Gerrit-PatchSet: 6
Gerrit-Owner: Sean Rhodes <sean(a)starlabs.systems>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Matt DeVillier <matt.devillier(a)gmail.com>
Gerrit-Attention: Sean Rhodes <sean(a)starlabs.systems>
Gerrit-Comment-Date: Sun, 30 Jun 2024 23:40:36 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Sean Rhodes <sean(a)starlabs.systems>
Comment-In-Reply-To: Matt DeVillier <matt.devillier(a)gmail.com>
Paul Menzel has posted comments on this change by Federico Amedeo Izzo. ( https://review.coreboot.org/c/coreboot/+/82010?usp=email )
Change subject: mb/aoostar: Add Alder Lake based AOOSTAR R1 (WTR_R1)
......................................................................
Patch Set 17:
(1 comment)
Patchset:
PS17:
> You both were right, disabling `CONFIG_CONSOLE_SERIAL` reduced the boot time to 1. […]
Thank you again for the logs and responding.
Memory training (without MRC cache or booting the first time with empty cache) takes the expected time (around 30 seconds):
aoostar/wtr_r1/24.05-388-g1f5a221a51/2024-06-29T22_51_16Z/coreboot_timestamps.txt
[…]
950:calling FspMemoryInit 168,130 (108,717)
951:returning from FspMemoryInit 31,738,002 (31,569,872)
[…]
90:starting to load payload 32,460,379 (392)
15:starting LZMA decompress (ignore for x86) 32,460,440 (60)
16:finished LZMA decompress (ignore for x86) 33,443,057 (982,617)
The long decompression time (above and below) is surprising to me though:
aoostar/wtr_r1/24.05-173-gbf1166e8a6/2024-06-07T06_16_41Z/coreboot_timestamps.txt
[…]
962:calling FspMultiPhaseSiInit 634,246 (0)
963:returning from FspMultiPhaseSiInit 1,108,438 (474,192)
[…]
90:starting to load payload 1,127,814 (363)
15:starting LZMA decompress (ignore for x86) 1,127,875 (60)
16:finished LZMA decompress (ignore for x86) 2,099,501 (971,625)
The payload is 1.3 MB in size and despite cbfstool claiming it’s not compressed, the config says it is (`CONFIG_COMPRESSED_PAYLOAD_LZMA=y`).
fallback/payload 0x1647c0 simple elf 1288296 none
--
To view, visit https://review.coreboot.org/c/coreboot/+/82010?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I9414eb742b6b90459e010b038c1994537e9801a5
Gerrit-Change-Number: 82010
Gerrit-PatchSet: 17
Gerrit-Owner: Federico Amedeo Izzo <federico(a)izzo.pro>
Gerrit-Reviewer: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Reviewer: Felix Held <felix-coreboot(a)felixheld.de>
Gerrit-Reviewer: Felix Singer <service+coreboot-gerrit(a)felixsinger.de>
Gerrit-Reviewer: Paul Menzel <paulepanter(a)mailbox.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: 9elements QA <hardwaretestrobot(a)gmail.com>
Gerrit-CC: Brandon Weeks <bweeks(a)google.com>
Gerrit-Comment-Date: Sun, 30 Jun 2024 22:31:01 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Paul Menzel <paulepanter(a)mailbox.org>
Comment-In-Reply-To: Federico Amedeo Izzo <federico(a)izzo.pro>
Comment-In-Reply-To: Angel Pons <th3fanbus(a)gmail.com>
Maximilian Brune has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/83285?usp=email )
Change subject: Add starfive visionfive2 mainboard
......................................................................
Add starfive visionfive2 mainboard
tested:
not working:
Signed-off-by: Maximilian Brune <maximilian.brune(a)9elements.com>
Change-Id: I212b7fad0c2dbbdd93a76b30409b0d6ca6066763
---
A src/mainboard/starfive/Kconfig
A src/mainboard/starfive/Kconfig.name
A src/mainboard/starfive/visionfive2/Kconfig
A src/mainboard/starfive/visionfive2/Kconfig.name
A src/mainboard/starfive/visionfive2/Makefile.inc
A src/mainboard/starfive/visionfive2/board_info.txt
A src/mainboard/starfive/visionfive2/bootblock.c
A src/mainboard/starfive/visionfive2/cbfs_spi.c
A src/mainboard/starfive/visionfive2/devicetree.cb
A src/mainboard/starfive/visionfive2/dts-old/include/gpio.h
A src/mainboard/starfive/visionfive2/dts-old/include/starfive,jh7110-clock.h
A src/mainboard/starfive/visionfive2/dts-old/include/starfive,jh7110-crg.h
A src/mainboard/starfive/visionfive2/dts-old/include/starfive,jh7110-pmu.h
A src/mainboard/starfive/visionfive2/dts-old/include/starfive,jh7110-reset.h
A src/mainboard/starfive/visionfive2/dts-old/include/thermal.h
A src/mainboard/starfive/visionfive2/dts-old/jh7110-pinfunc.h
A src/mainboard/starfive/visionfive2/dts-old/jh7110-starfive-visionfive-2-v1.2a.dts
A src/mainboard/starfive/visionfive2/dts-old/jh7110-starfive-visionfive-2-v1.3b.dts
A src/mainboard/starfive/visionfive2/dts-old/jh7110-starfive-visionfive-2.dtsi
A src/mainboard/starfive/visionfive2/dts-old/jh7110.dtsi
A src/mainboard/starfive/visionfive2/dts/dt-bindings/clock/starfive,jh7110-crg.h
A src/mainboard/starfive/visionfive2/dts/dt-bindings/gpio/gpio.h
A src/mainboard/starfive/visionfive2/dts/dt-bindings/power/starfive,jh7110-pmu.h
A src/mainboard/starfive/visionfive2/dts/dt-bindings/reset/starfive,jh7110-crg.h
A src/mainboard/starfive/visionfive2/dts/dt-bindings/thermal/thermal.h
A src/mainboard/starfive/visionfive2/dts/jh7110-pinfunc.h
A src/mainboard/starfive/visionfive2/dts/jh7110-starfive-visionfive-2-v1.3b.dts
A src/mainboard/starfive/visionfive2/dts/jh7110-starfive-visionfive-2.dtsi
A src/mainboard/starfive/visionfive2/dts/jh7110.dtsi
A src/mainboard/starfive/visionfive2/dts/move-dts.sh
A src/mainboard/starfive/visionfive2/fixup_fdt.c
A src/mainboard/starfive/visionfive2/mainboard.c
A src/mainboard/starfive/visionfive2/romstage.c
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-can-pdm-pwmdac.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-can-pdm-pwmdac.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-can-pdm-pwmdac.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-can-pdm-pwmdac.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-dvp-rgb2hdmi.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-dvp-rgb2hdmi.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-dvp-rgb2hdmi.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-dvp-rgb2hdmi.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-i2s-ac108.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-i2s-ac108.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-i2s-ac108.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-i2s-ac108.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-pcie-i2s-sd.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-pcie-i2s-sd.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-pcie-i2s-sd.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-pcie-i2s-sd.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-spi-uart2.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-spi-uart2.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-spi-uart2.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-spi-uart2.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-uart1-rgb2hdmi.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-uart1-rgb2hdmi.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-uart1-rgb2hdmi.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-uart1-rgb2hdmi.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-uart4-emmc-spdif.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-uart4-emmc-spdif.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-uart4-emmc-spdif.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-uart4-emmc-spdif.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-uart5-pwm-i2c-tdm.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-uart5-pwm-i2c-tdm.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-uart5-pwm-i2c-tdm.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-uart5-pwm-i2c-tdm.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-usbdevice.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-usbdevice.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-usbdevice.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb-usbdevice.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-evb.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-fpga.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-fpga.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-fpga.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-fpga.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-A10.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-A10.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-A10.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-A10.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-A11.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-A11.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-A11.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-A11.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-ac108.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-ac108.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-ac108.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-ac108.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-sof-wm8960.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-sof-wm8960.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-sof-wm8960.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-sof-wm8960.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-v1.3b.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-v1.3b.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-v1.3b.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-v1.3b.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-wm8960.dtb.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-wm8960.dtb.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-wm8960.dtb.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/.jh7110-starfive-visionfive-2-wm8960.dtb.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/Makefile
A src/mainboard/starfive/visionfive2/starfive-v6.6/dtbs-list
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-can.dtbo.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-can.dtbo.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-can.dtbo.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-can.dtbo.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-rgb2hdmi.dtbo.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-rgb2hdmi.dtbo.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-rgb2hdmi.dtbo.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-rgb2hdmi.dtbo.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-sdio.dtbo.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-sdio.dtbo.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-sdio.dtbo.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-sdio.dtbo.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-spi.dtbo.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-spi.dtbo.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-spi.dtbo.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-spi.dtbo.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-uart4-emmc.dtbo.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-uart4-emmc.dtbo.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-uart4-emmc.dtbo.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-uart4-emmc.dtbo.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-uart5-pwm.dtbo.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-uart5-pwm.dtbo.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-uart5-pwm.dtbo.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/.jh7110-evb-overlay-uart5-pwm.dtbo.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/Makefile
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/jh7110-evb-overlay-can.dtbo
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/jh7110-evb-overlay-can.dtso
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/jh7110-evb-overlay-rgb2hdmi.dtbo
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/jh7110-evb-overlay-rgb2hdmi.dtso
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/jh7110-evb-overlay-sdio.dtbo
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/jh7110-evb-overlay-sdio.dtso
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/jh7110-evb-overlay-spi.dtbo
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/jh7110-evb-overlay-spi.dtso
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/jh7110-evb-overlay-uart4-emmc.dtbo
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/jh7110-evb-overlay-uart4-emmc.dtso
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/jh7110-evb-overlay-uart5-pwm.dtbo
A src/mainboard/starfive/visionfive2/starfive-v6.6/evb-overlay/jh7110-evb-overlay-uart5-pwm.dtso
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7100-beaglev-starlight.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7100-common.dtsi
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7100-starfive-visionfive-v1.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7100.dtsi
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-clk.dtsi
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-can-pdm-pwmdac.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-can-pdm-pwmdac.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-dvp-rgb2hdmi.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-dvp-rgb2hdmi.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-i2s-ac108.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-i2s-ac108.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-pcie-i2s-sd.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-pcie-i2s-sd.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-pinctrl.dtsi
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-spi-uart2.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-spi-uart2.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-uart1-rgb2hdmi.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-uart1-rgb2hdmi.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-uart4-emmc-spdif.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-uart4-emmc-spdif.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-uart5-pwm-i2c-tdm.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-uart5-pwm-i2c-tdm.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-usbdevice.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb-usbdevice.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-evb.dtsi
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-fpga.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-pinfunc.h
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-starfive-visionfive-2-A10.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-starfive-visionfive-2-A11.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-starfive-visionfive-2-ac108.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-starfive-visionfive-2-ac108.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-starfive-visionfive-2-sof-wm8960.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-starfive-visionfive-2-tdm.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-starfive-visionfive-2-v1.2a.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-starfive-visionfive-2-v1.3b.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-starfive-visionfive-2-v1.3b.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-starfive-visionfive-2-wm8960.dtb
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-starfive-visionfive-2-wm8960.dts
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110-starfive-visionfive-2.dtsi
A src/mainboard/starfive/visionfive2/starfive-v6.6/jh7110.dtsi
A src/mainboard/starfive/visionfive2/starfive-v6.6/vf2-overlay/.vf2-overlay-can.dtbo.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/vf2-overlay/.vf2-overlay-can.dtbo.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/vf2-overlay/.vf2-overlay-can.dtbo.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/vf2-overlay/.vf2-overlay-can.dtbo.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/vf2-overlay/.vf2-overlay-uart3-i2c.dtbo.cmd
A src/mainboard/starfive/visionfive2/starfive-v6.6/vf2-overlay/.vf2-overlay-uart3-i2c.dtbo.d.dtc.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/vf2-overlay/.vf2-overlay-uart3-i2c.dtbo.d.pre.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/vf2-overlay/.vf2-overlay-uart3-i2c.dtbo.dts.tmp
A src/mainboard/starfive/visionfive2/starfive-v6.6/vf2-overlay/Makefile
A src/mainboard/starfive/visionfive2/starfive-v6.6/vf2-overlay/vf2-overlay-can.dtbo
A src/mainboard/starfive/visionfive2/starfive-v6.6/vf2-overlay/vf2-overlay-can.dtso
A src/mainboard/starfive/visionfive2/starfive-v6.6/vf2-overlay/vf2-overlay-uart3-i2c.dtbo
A src/mainboard/starfive/visionfive2/starfive-v6.6/vf2-overlay/vf2-overlay-uart3-i2c.dtso
A src/soc/starfive/jh7110/Kconfig
A src/soc/starfive/jh7110/Makefile.inc
A src/soc/starfive/jh7110/TRM_FAULTS.md
A src/soc/starfive/jh7110/bootblock.c
A src/soc/starfive/jh7110/cbmem.c
A src/soc/starfive/jh7110/chip.c
A src/soc/starfive/jh7110/clint.c
A src/soc/starfive/jh7110/clock_reset.c
A src/soc/starfive/jh7110/ddrregs.c
A src/soc/starfive/jh7110/gpio.c
A src/soc/starfive/jh7110/include/soc/addressmap.h
A src/soc/starfive/jh7110/include/soc/clock.h
A src/soc/starfive/jh7110/include/soc/gpio.h
A src/soc/starfive/jh7110/include/soc/jh7110-pinfunc.h
A src/soc/starfive/jh7110/include/soc/sdram.h
A src/soc/starfive/jh7110/include/soc/spi.h
A src/soc/starfive/jh7110/jh7110-pinfunc.h
A src/soc/starfive/jh7110/memlayout.ld
A src/soc/starfive/jh7110/otp.c
A src/soc/starfive/jh7110/sdram.c
A src/soc/starfive/jh7110/spi_internal.h
A src/soc/starfive/jh7110/uart.c
217 files changed, 90,230 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/85/83285/1
--
To view, visit https://review.coreboot.org/c/coreboot/+/83285?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I212b7fad0c2dbbdd93a76b30409b0d6ca6066763
Gerrit-Change-Number: 83285
Gerrit-PatchSet: 1
Gerrit-Owner: Maximilian Brune <maximilian.brune(a)9elements.com>
Attention is currently required from: Philipp Hug, Ron Minnich.
Maximilian Brune has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/83284?usp=email )
Change subject: arch/riscv: Allow adding OpenSBI as external blob
......................................................................
arch/riscv: Allow adding OpenSBI as external blob
The reasoning is that even though vendors currently tend to open source
their OpenSBI implementation, they often do so in their own repository.
So instead of adding all possible source repositories as submodules, we
shall allow specifying a path to an already compiled OpenSBI ELF file.
This is similar of what we currently do on ARM64 with the BL31 binary.
Signed-off-by: Maximilian Brune <maximilian.brune(a)9elements.com>
Change-Id: I6592ad90a254ca4ac9a6cee89404ad49274f0dea
---
M src/arch/riscv/Kconfig
M src/arch/riscv/Makefile.mk
2 files changed, 24 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/84/83284/1
diff --git a/src/arch/riscv/Kconfig b/src/arch/riscv/Kconfig
index b570b01..5d887ea 100644
--- a/src/arch/riscv/Kconfig
+++ b/src/arch/riscv/Kconfig
@@ -56,15 +56,29 @@
Load OpenSBI after payload has been loaded and use it to
provide the SBI and to handover control to payload.
+if RISCV_OPENSBI
+
+config OPENSBI_BLOB
+ string "Include OpenSBI ELF binary blob"
+ depends on RISCV_OPENSBI
+ help
+ If enabled it allows to specify a file path to an already compiled OpenSBI binary.
+ If disabled the OpenSBI binary will be compiled from upstream OpenSBI repository.
+ This option is discouraged as compatibility with out-of-tree blobs may break anytime.
+
+config OPENSBI_BLOB_PATH
+ string "Path to external opensbi.elf"
+ depends on OPENSBI_BLOB
+ help
+ Absolute (or relative to coreboot directory) path to the OpenSBI ELF file.
+
config OPENSBI_PLATFORM
string
- depends on RISCV_HAS_OPENSBI
help
The OpenSBI platform to build for.
config OPENSBI_TEXT_START
hex
- depends on RISCV_HAS_OPENSBI
help
The linking address used to build opensbi.
@@ -78,6 +92,8 @@
that is the mode usually used for the payload. If the hart does not support
Supervisor mode OpenSBI will again look for a hart that does support it.
+endif # RISCV_OPENSBI
+
config ARCH_RISCV_U
# U (user) mode is for programs.
bool
diff --git a/src/arch/riscv/Makefile.mk b/src/arch/riscv/Makefile.mk
index d5defea..be8962a 100644
--- a/src/arch/riscv/Makefile.mk
+++ b/src/arch/riscv/Makefile.mk
@@ -169,7 +169,12 @@
FW_PAYLOAD=n \
FW_TEXT_START=$(CONFIG_OPENSBI_TEXT_START)
-$(OPENSBI): $(OPENSBI_TARGET)
+# build upstream OpenSBI source tree
+opensbi-source-y = $(OPENSBI_TARGET)
+# get OpenSBI from specified binary
+opensbi-source-$(OPENSBI_BLOB) = $(call strip_quotes,$(OPENSBI_BLOB_PATH))
+
+$(OPENSBI): $(opensbi-source-y)
cp $< $@
OPENSBI_CBFS := $(CONFIG_CBFS_PREFIX)/opensbi
--
To view, visit https://review.coreboot.org/c/coreboot/+/83284?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I6592ad90a254ca4ac9a6cee89404ad49274f0dea
Gerrit-Change-Number: 83284
Gerrit-PatchSet: 1
Gerrit-Owner: Maximilian Brune <maximilian.brune(a)9elements.com>
Gerrit-Reviewer: Philipp Hug <philipp(a)hug.cx>
Gerrit-Reviewer: Ron Minnich <rminnich(a)gmail.com>
Gerrit-Attention: Philipp Hug <philipp(a)hug.cx>
Gerrit-Attention: Ron Minnich <rminnich(a)gmail.com>