summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlper Nebi Yasak <alpernebiyasak@gmail.com>2024-07-10 16:27:28 +0300
committerAlper Nebi Yasak <alpernebiyasak@gmail.com>2024-07-11 22:29:58 +0300
commit2ecec55af77868ed97fa9785a7f09d25dcd1ec9e (patch)
treeec1e0e9a66dbc7471d640c74ea3660eacd80fab3
parent090cf7ad541d181385d1b1a80c669af68ff22c8b (diff)
u-boot: Update to v2024.07
Set default U-Boot revision to v2024.07 and rebase patches on top of that. One patch that fixes drawing box characters (UTF-8 to CP437) had an alternative merged, another hack we have to fix regulator issues is no longer neccessary as the issue is fixed, and my QEMU patches were merged upstream, so drop these patches. One patch we have to disable binman images can be replaced by a simpler alternative so drop it too. Upstream kconfig status is still unstable, so updating configs with `make oldconfig` would miss important upstream changes, since they rely on carrying defaults via upstream defconfigs. Update the configs as such, like before: - Turn old configs into defconfigs (./update trees -s u-boot) - Save the diff from old upstream defconfig (diffconfig $theirs $ours) - Update U-Boot revision, rebase patches, and clean old trees - Prepare new U-Boot tree (./update trees -f u-boot) - Review the diffconfigs to see if any options were renamed upstream - Copy over the new upstream defconfigs and apply earlier diff - Turn new defconfigs into configs (./update trees -l u-boot) Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
-rw-r--r--config/u-boot/default/patches/0001-clk-rockchip-rk3399-Set-hardcoded-clock-rates-same-a.patch8
-rw-r--r--config/u-boot/default/patches/0002-video-improve-UEFI-experience-on-DM_VIDEO.patch333
-rw-r--r--config/u-boot/default/patches/0003-Add-video-damage-tracking.patch439
-rw-r--r--config/u-boot/default/patches/0004-HACK-regulator-Don-t-error-on-reentrant-regulator-ac.patch42
-rw-r--r--config/u-boot/default/patches/0005-HACK-rockchip-Remove-binman-image-descriptions.patch307
-rw-r--r--config/u-boot/default/patches/0006-arm-qemu-Enable-Bochs-console-buffering-USB-keyboard.patch348
-rw-r--r--config/u-boot/default/target.cfg2
-rw-r--r--config/u-boot/gru_bob/config/default216
-rw-r--r--config/u-boot/gru_kevin/config/default216
-rw-r--r--config/u-boot/qemu_arm64_12mb/config/default144
10 files changed, 626 insertions, 1429 deletions
diff --git a/config/u-boot/default/patches/0001-clk-rockchip-rk3399-Set-hardcoded-clock-rates-same-a.patch b/config/u-boot/default/patches/0001-clk-rockchip-rk3399-Set-hardcoded-clock-rates-same-a.patch
index 4a3e8687..4ceeac59 100644
--- a/config/u-boot/default/patches/0001-clk-rockchip-rk3399-Set-hardcoded-clock-rates-same-a.patch
+++ b/config/u-boot/default/patches/0001-clk-rockchip-rk3399-Set-hardcoded-clock-rates-same-a.patch
@@ -1,4 +1,4 @@
-From 27d49512277677afb7f71e093b007b3e2022b83e Mon Sep 17 00:00:00 2001
+From f98475a64fcfe6ef710acb29391c33c17903e580 Mon Sep 17 00:00:00 2001
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Date: Fri, 8 Oct 2021 17:33:22 +0300
Subject: [PATCH] clk: rockchip: rk3399: Set hardcoded clock rates same as
@@ -60,7 +60,7 @@ index d941a129f3e5..54035c0df1f3 100644
#define PWM_CLOCK_HZ PMU_PCLK_HZ
diff --git a/drivers/clk/rockchip/clk_rk3399.c b/drivers/clk/rockchip/clk_rk3399.c
-index f748fb5189e0..33f02c2d633c 100644
+index 67b2c05ec9ed..754b35c23197 100644
--- a/drivers/clk/rockchip/clk_rk3399.c
+++ b/drivers/clk/rockchip/clk_rk3399.c
@@ -54,10 +54,11 @@ struct pll_div {
@@ -87,7 +87,7 @@ index f748fb5189e0..33f02c2d633c 100644
void *aclkreg_addr, *dclkreg_addr;
u32 div;
-@@ -1336,6 +1337,7 @@ static void rkclk_init(struct rockchip_cru *cru)
+@@ -1395,6 +1396,7 @@ static void rkclk_init(struct rockchip_cru *cru)
/* configure gpll cpll */
rkclk_set_pll(&cru->gpll_con[0], &gpll_init_cfg);
rkclk_set_pll(&cru->cpll_con[0], &cpll_init_cfg);
@@ -96,5 +96,5 @@ index f748fb5189e0..33f02c2d633c 100644
/* configure perihp aclk, hclk, pclk */
aclk_div = GPLL_HZ / PERIHP_ACLK_HZ - 1;
--
-2.42.0
+2.45.2
diff --git a/config/u-boot/default/patches/0002-video-improve-UEFI-experience-on-DM_VIDEO.patch b/config/u-boot/default/patches/0002-video-improve-UEFI-experience-on-DM_VIDEO.patch
index cd5a2751..d5c6788a 100644
--- a/config/u-boot/default/patches/0002-video-improve-UEFI-experience-on-DM_VIDEO.patch
+++ b/config/u-boot/default/patches/0002-video-improve-UEFI-experience-on-DM_VIDEO.patch
@@ -1,7 +1,7 @@
-From ac31b6bc4bcfc328342ec1677db5b80548d43b35 Mon Sep 17 00:00:00 2001
+From 3e1e14e0b14539ca42db40488c7b1067eb01dea4 Mon Sep 17 00:00:00 2001
From: Andre Przywara <andre.przywara@arm.com>
Date: Mon, 10 Jan 2022 00:56:31 +0000
-Subject: [PATCH 1/4] video: Add cursor support for video consoles
+Subject: [PATCH 1/3] video: Add cursor support for video consoles
So far the video console is completely lacking any cursor, which makes
typing and correcting quite irritating.
@@ -24,7 +24,7 @@ Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
3 files changed, 44 insertions(+)
diff --git a/drivers/video/console_core.c b/drivers/video/console_core.c
-index b5d0e3dceca3..60de5fcacb82 100644
+index 939363653f6c..6b531718276f 100644
--- a/drivers/video/console_core.c
+++ b/drivers/video/console_core.c
@@ -30,6 +30,7 @@ static int console_set_font(struct udevice *dev, struct video_fontdata *fontdata
@@ -36,10 +36,10 @@ index b5d0e3dceca3..60de5fcacb82 100644
vc_priv->y_charsize = fontdata->height;
if (vid_priv->rot % 2) {
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
-index b5b3b6625902..a6d994bd637c 100644
+index 80e7adf6a1a4..8b2ef51f1b3b 100644
--- a/drivers/video/vidconsole-uclass.c
+++ b/drivers/video/vidconsole-uclass.c
-@@ -56,6 +56,26 @@ static int vidconsole_entry_start(struct udevice *dev)
+@@ -57,6 +57,26 @@ int vidconsole_entry_start(struct udevice *dev)
return ops->entry_start(dev);
}
@@ -66,7 +66,7 @@ index b5b3b6625902..a6d994bd637c 100644
/* Move backwards one space */
static int vidconsole_back(struct udevice *dev)
{
-@@ -63,6 +83,8 @@ static int vidconsole_back(struct udevice *dev)
+@@ -64,6 +84,8 @@ static int vidconsole_back(struct udevice *dev)
struct vidconsole_ops *ops = vidconsole_get_ops(dev);
int ret;
@@ -75,7 +75,7 @@ index b5b3b6625902..a6d994bd637c 100644
if (ops->backspace) {
ret = ops->backspace(dev);
if (ret != -ENOSYS)
-@@ -89,6 +111,8 @@ static void vidconsole_newline(struct udevice *dev)
+@@ -90,6 +112,8 @@ static void vidconsole_newline(struct udevice *dev)
const int rows = CONFIG_VAL(CONSOLE_SCROLL_LINES);
int i, ret;
@@ -84,7 +84,7 @@ index b5b3b6625902..a6d994bd637c 100644
priv->xcur_frac = priv->xstart_frac;
priv->ycur += priv->y_charsize;
-@@ -282,6 +306,14 @@ static void vidconsole_escape_char(struct udevice *dev, char ch)
+@@ -284,6 +308,14 @@ static void vidconsole_escape_char(struct udevice *dev, char ch)
break;
}
@@ -99,9 +99,9 @@ index b5b3b6625902..a6d994bd637c 100644
case 'J': {
int mode;
-@@ -456,6 +488,11 @@ int vidconsole_put_char(struct udevice *dev, char ch)
+@@ -458,6 +490,11 @@ int vidconsole_put_char(struct udevice *dev, char ch)
struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
- int ret;
+ int cp, ret;
+ /*
+ * We don't need to clear the cursor since we are going to overwrite
@@ -111,7 +111,7 @@ index b5b3b6625902..a6d994bd637c 100644
if (priv->escape) {
vidconsole_escape_char(dev, ch);
return 0;
-@@ -470,6 +507,7 @@ int vidconsole_put_char(struct udevice *dev, char ch)
+@@ -472,6 +509,7 @@ int vidconsole_put_char(struct udevice *dev, char ch)
/* beep */
break;
case '\r':
@@ -119,7 +119,7 @@ index b5b3b6625902..a6d994bd637c 100644
priv->xcur_frac = priv->xstart_frac;
break;
case '\n':
-@@ -477,6 +515,7 @@ int vidconsole_put_char(struct udevice *dev, char ch)
+@@ -479,6 +517,7 @@ int vidconsole_put_char(struct udevice *dev, char ch)
vidconsole_entry_start(dev);
break;
case '\t': /* Tab (8 chars alignment) */
@@ -127,7 +127,7 @@ index b5b3b6625902..a6d994bd637c 100644
priv->xcur_frac = ((priv->xcur_frac / priv->tab_width_frac)
+ 1) * priv->tab_width_frac;
-@@ -494,6 +533,8 @@ int vidconsole_put_char(struct udevice *dev, char ch)
+@@ -503,6 +542,8 @@ int vidconsole_put_char(struct udevice *dev, char ch)
break;
}
@@ -136,7 +136,7 @@ index b5b3b6625902..a6d994bd637c 100644
return 0;
}
-@@ -646,6 +687,7 @@ static int vidconsole_pre_probe(struct udevice *dev)
+@@ -723,6 +764,7 @@ static int vidconsole_pre_probe(struct udevice *dev)
struct video_priv *vid_priv = dev_get_uclass_priv(vid);
priv->xsize_frac = VID_TO_POS(vid_priv->xsize);
@@ -145,25 +145,27 @@ index b5b3b6625902..a6d994bd637c 100644
return 0;
}
diff --git a/include/video_console.h b/include/video_console.h
-index 2694e44f6ecf..949abb3861e7 100644
+index 8b5928dc5ebb..00c5ecb664b9 100644
--- a/include/video_console.h
+++ b/include/video_console.h
-@@ -59,6 +59,7 @@ struct vidconsole_priv {
+@@ -66,6 +66,7 @@ struct vidconsole_priv {
int escape_len;
int row_saved;
int col_saved;
+ bool cursor_visible;
char escape_buf[32];
+ char utf8_buf[5];
};
-
+
+base-commit: 475aa8345a78396d39b42f96eccecd37ebe24e99
--
-2.42.0
+2.45.2
-From ab8ddf81c1442717f6ffddc3460d4e4adbd5b570 Mon Sep 17 00:00:00 2001
+From 0dd4fb08993b01d36e491705b24063834dcb618e Mon Sep 17 00:00:00 2001
From: Andre Przywara <andre.przywara@arm.com>
Date: Mon, 10 Jan 2022 00:56:36 +0000
-Subject: [PATCH 2/4] efi-selftest: Add international characters test
+Subject: [PATCH 2/3] efi-selftest: Add international characters test
UEFI relies entirely on unicode output, which actual fonts displayed on
the screen might not be ready for.
@@ -180,10 +182,10 @@ Link: https://lore.kernel.org/r/20220110005638.21599-7-andre.przywara@arm.com
1 file changed, 5 insertions(+)
diff --git a/lib/efi_selftest/efi_selftest_textoutput.c b/lib/efi_selftest/efi_selftest_textoutput.c
-index cc44b38bc23a..175731ae96b6 100644
+index a3023c82567c..2f8d8d323c2b 100644
--- a/lib/efi_selftest/efi_selftest_textoutput.c
+++ b/lib/efi_selftest/efi_selftest_textoutput.c
-@@ -118,6 +118,11 @@ static int execute(void)
+@@ -154,6 +154,11 @@ static int execute(void)
efi_st_printf("Unicode not handled properly\n");
return EFI_ST_FAILURE;
}
@@ -193,16 +195,16 @@ index cc44b38bc23a..175731ae96b6 100644
+ return EFI_ST_FAILURE;
+ }
efi_st_printf("\n");
-
- return EFI_ST_SUCCESS;
+ ret = con_out->output_string(con_out, text);
+ if (ret != EFI_ST_SUCCESS) {
--
-2.42.0
+2.45.2
-From 48e918c31a46815325ffd7a77eb7a3ffedf8e59c Mon Sep 17 00:00:00 2001
+From 13101947807bec7ceaf3231d94e943b9b29a7369 Mon Sep 17 00:00:00 2001
From: Andre Przywara <andre.przywara@arm.com>
Date: Mon, 10 Jan 2022 00:56:37 +0000
-Subject: [PATCH 3/4] efi_selftest: Add box drawing character selftest
+Subject: [PATCH 3/3] efi_selftest: Add box drawing character selftest
UEFI applications rely on Unicode output capability, and might use that
for drawing pseudo-graphical interfaces using Unicode defined box
@@ -220,10 +222,10 @@ Link: https://lore.kernel.org/r/20220110005638.21599-8-andre.przywara@arm.com
1 file changed, 11 insertions(+)
diff --git a/lib/efi_selftest/efi_selftest_textoutput.c b/lib/efi_selftest/efi_selftest_textoutput.c
-index 175731ae96b6..3c6870f74241 100644
+index 2f8d8d323c2b..02209a5bf224 100644
--- a/lib/efi_selftest/efi_selftest_textoutput.c
+++ b/lib/efi_selftest/efi_selftest_textoutput.c
-@@ -123,6 +123,17 @@ static int execute(void)
+@@ -159,6 +159,17 @@ static int execute(void)
efi_st_error("OutputString failed for international chars\n");
return EFI_ST_FAILURE;
}
@@ -239,275 +241,8 @@ index 175731ae96b6..3c6870f74241 100644
+ con_out->output_string(con_out, L"waiting for admiration...\n");
+ EFI_CALL(systab.boottime->stall(3000000));
efi_st_printf("\n");
-
- return EFI_ST_SUCCESS;
---
-2.42.0
-
-
-From 407ca7e821aabf240c2602dd0db56d6398a0c03b Mon Sep 17 00:00:00 2001
-From: Andre Przywara <andre.przywara@arm.com>
-Date: Mon, 10 Jan 2022 00:56:38 +0000
-Subject: [PATCH 4/4] video: Convert UTF-8 input stream to the 437 code page
-
-The bitmap fonts (VGA 8x16 and friends) we import from Linux use the
-437 code page to map their glyphs. For U-Boot's own purposes this is
-probably fine, but UEFI applications output Unicode, which only matches
-in the very basic first 127 characters.
-
-Add a function that converts UTF-8 character sequences into the
-respective CP437 code point, as far as the characters defined in there
-allow this. This includes quite some international and box drawing
-characters, which are used by UEFI applications.
-
-Signed-off-by: Andre Przywara <andre.przywara@arm.com>
-Link: https://lore.kernel.org/r/20220110005638.21599-9-andre.przywara@arm.com
-[Alper: Rebase for makefile changes, use $(SPL_TPL_)VIDEO]
-Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
----
- drivers/video/Makefile | 1 +
- drivers/video/utf8_cp437.c | 169 ++++++++++++++++++++++++++++++
- drivers/video/vidconsole-uclass.c | 6 +-
- include/video_console.h | 9 ++
- 4 files changed, 184 insertions(+), 1 deletion(-)
- create mode 100644 drivers/video/utf8_cp437.c
-
-diff --git a/drivers/video/Makefile b/drivers/video/Makefile
-index d13af9f3b19b..4b1983990aba 100644
---- a/drivers/video/Makefile
-+++ b/drivers/video/Makefile
-@@ -20,6 +20,7 @@ obj-$(CONFIG_DISPLAY) += display-uclass.o
- obj-$(CONFIG_VIDEO_MIPI_DSI) += dsi-host-uclass.o
- obj-$(CONFIG_$(SPL_TPL_)VIDEO) += video-uclass.o vidconsole-uclass.o
- obj-$(CONFIG_$(SPL_TPL_)VIDEO) += video_bmp.o
-+obj-$(CONFIG_$(SPL_TPL_)VIDEO) += utf8_cp437.o
- obj-$(CONFIG_$(SPL_TPL_)PANEL) += panel-uclass.o
- obj-$(CONFIG_PANEL_HX8238D) += hx8238d.o
- obj-$(CONFIG_$(SPL_TPL_)SIMPLE_PANEL) += simple_panel.o
-diff --git a/drivers/video/utf8_cp437.c b/drivers/video/utf8_cp437.c
-new file mode 100644
-index 000000000000..cab68b92b6e3
---- /dev/null
-+++ b/drivers/video/utf8_cp437.c
-@@ -0,0 +1,169 @@
-+/*
-+ * Convert UTF-8 bytes into a code page 437 character.
-+ * Based on the table in the Code_page_437 Wikipedia page.
-+ */
-+
-+#include <linux/types.h>
-+
-+uint8_t code_points_00a0[] = {
-+ 255, 173, 155, 156, 7, 157, 7, 21,
-+ 7, 7, 166, 174, 170, 7, 7, 7,
-+ 248, 241, 253, 7, 7, 230, 20, 250,
-+ 7, 7, 167, 175, 172, 171, 7, 168,
-+ 7, 7, 7, 7, 142, 143, 146, 128,
-+ 7, 144, 7, 7, 7, 7, 7, 7,
-+ 7, 165, 7, 7, 7, 7, 153, 7,
-+ 7, 7, 7, 7, 154, 7, 7, 225,
-+ 133, 160, 131, 7, 132, 134, 145, 135,
-+ 138, 130, 136, 137, 141, 161, 140, 139,
-+ 7, 164, 149, 162, 147, 7, 148, 246,
-+ 7, 151, 163, 150, 129, 7, 7, 152,
-+};
-+
-+uint8_t code_points_2550[] = {
-+ 205, 186, 213, 214, 201, 184, 183, 187,
-+ 212, 211, 200, 190, 189, 188, 198, 199,
-+ 204, 181, 182, 185, 209, 210, 203, 207,
-+ 208, 202, 216, 215, 206
-+};
-+
-+static uint8_t utf8_convert_11bit(uint16_t code)
-+{
-+ switch (code) {
-+ case 0x0192: return 159;
-+ case 0x0393: return 226;
-+ case 0x0398: return 233;
-+ case 0x03A3: return 228;
-+ case 0x03A6: return 232;
-+ case 0x03A9: return 234;
-+ case 0x03B1: return 224;
-+ case 0x03B4: return 235;
-+ case 0x03B5: return 238;
-+ case 0x03C0: return 227;
-+ case 0x03C3: return 229;
-+ case 0x03C4: return 231;
-+ case 0x03C6: return 237;
-+ }
-+
-+ return 0;
-+};
-+
-+static uint8_t utf8_convert_2xxx(uint16_t code)
-+{
-+ switch (code) {
-+ case 0x2022: return 7;
-+ case 0x203C: return 19;
-+ case 0x207F: return 252;
-+ case 0x20A7: return 158;
-+ case 0x2190: return 27;
-+ case 0x2191: return 24;
-+ case 0x2192: return 26;
-+ case 0x2193: return 25;
-+ case 0x2194: return 29;
-+ case 0x2195: return 18;
-+ case 0x21A8: return 23;
-+ case 0x2219: return 249;
-+ case 0x221A: return 251;
-+ case 0x221E: return 236;
-+ case 0x221F: return 28;
-+ case 0x2229: return 239;
-+ case 0x2248: return 247;
-+ case 0x2261: return 240;
-+ case 0x2264: return 243;
-+ case 0x2265: return 242;
-+ case 0x2310: return 169;
-+ case 0x2320: return 244;
-+ case 0x2321: return 245;
-+ case 0x2500: return 196;
-+ case 0x2502: return 179;
-+ case 0x250C: return 218;
-+ case 0x2510: return 191;
-+ case 0x2514: return 192;
-+ case 0x2518: return 217;
-+ case 0x251C: return 195;
-+ case 0x2524: return 180;
-+ case 0x252C: return 194;
-+ case 0x2534: return 193;
-+ case 0x253C: return 197;
-+ case 0x2580: return 223;
-+ case 0x2584: return 220;
-+ case 0x2588: return 219;
-+ case 0x258C: return 221;
-+ case 0x2590: return 222;
-+ case 0x2591: return 176;
-+ case 0x2592: return 177;
-+ case 0x2593: return 178;
-+ case 0x25A0: return 254;
-+ case 0x25AC: return 22;
-+ case 0x25B2: return 30;
-+ case 0x25BA: return 16;
-+ case 0x25BC: return 31;
-+ case 0x25C4: return 17;
-+ case 0x25CB: return 9;
-+ case 0x25D8: return 8;
-+ case 0x25D9: return 10;
-+ case 0x263A: return 1;
-+ case 0x263B: return 2;
-+ case 0x263C: return 15;
-+ case 0x2640: return 12;
-+ case 0x2642: return 11;
-+ case 0x2660: return 6;
-+ case 0x2663: return 5;
-+ case 0x2665: return 3;
-+ case 0x2666: return 4;
-+ case 0x266A: return 13;
-+ case 0x266B: return 14;
-+ }
-+
-+ return 0;
-+}
-+
-+uint8_t convert_uc16_to_cp437(uint16_t code)
-+{
-+ if (code < 0x7f) // ASCII
-+ return code;
-+ if (code < 0xa0) // high control characters
-+ return code;
-+ if (code < 0x100) // international characters
-+ return code_points_00a0[code - 0xa0];
-+ if (code < 0x800)
-+ return utf8_convert_11bit(code);
-+ if (code >= 0x2550 && code < 0x256d) // block graphics
-+ return code_points_2550[code - 0x2550];
-+
-+ return utf8_convert_2xxx(code);
-+}
-+
-+uint8_t convert_utf8_to_cp437(uint8_t c, uint32_t *esc)
-+{
-+ int shift;
-+ uint16_t ucs;
-+
-+ if (c < 127) // ASCII
-+ return c;
-+ if (c == 127)
-+ return 8; // DEL (?)
-+
-+ switch (c & 0xf0) {
-+ case 0xc0: case 0xd0: // two bytes sequence
-+ *esc = (1U << 24) | ((c & 0x1f) << 6);
-+ return 0;
-+ case 0xe0: // three bytes sequence
-+ *esc = (2U << 24) | ((c & 0x0f) << 12);
-+ return 0;
-+ case 0xf0: // four bytes sequence
-+ *esc = (3U << 24) | ((c & 0x07) << 18);
-+ return 0;
-+ case 0x80: case 0x90: case 0xa0: case 0xb0: // continuation
-+ shift = (*esc >> 24) - 1;
-+ ucs = *esc & 0xffffff;
-+ if (shift) {
-+ *esc = (shift << 24) | ucs | (c & 0x3f) << (shift * 6);
-+ return 0;
-+ }
-+ *esc = 0;
-+ return convert_uc16_to_cp437(ucs | (c & 0x3f));
-+ }
-+
-+ return 0;
-+}
-diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
-index a6d994bd637c..a4029a58660b 100644
---- a/drivers/video/vidconsole-uclass.c
-+++ b/drivers/video/vidconsole-uclass.c
-@@ -486,6 +486,7 @@ static int vidconsole_output_glyph(struct udevice *dev, char ch)
- int vidconsole_put_char(struct udevice *dev, char ch)
- {
- struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
-+ uint8_t cp437;
- int ret;
-
- /*
-@@ -527,7 +528,10 @@ int vidconsole_put_char(struct udevice *dev, char ch)
- priv->last_ch = 0;
- break;
- default:
-- ret = vidconsole_output_glyph(dev, ch);
-+ cp437 = convert_utf8_to_cp437(ch, &priv->ucs);
-+ if (cp437 == 0)
-+ return 0;
-+ ret = vidconsole_output_glyph(dev, cp437);
- if (ret < 0)
- return ret;
- break;
-diff --git a/include/video_console.h b/include/video_console.h
-index 949abb3861e7..dbfb389f324f 100644
---- a/include/video_console.h
-+++ b/include/video_console.h
-@@ -59,6 +59,7 @@ struct vidconsole_priv {
- int escape_len;
- int row_saved;
- int col_saved;
-+ u32 ucs;
- bool cursor_visible;
- char escape_buf[32];
- };
-@@ -457,4 +458,12 @@ static inline int vidconsole_memmove(struct udevice *dev, void *dst,
-
- #endif
-
-+/*
-+ * Convert an UTF-8 byte into the corresponding character in the CP437
-+ * code page. Returns 0 if that character is part of a multi-byte sequence.
-+ * for which *esc holds the state of. Repeatedly feed in more bytes until
-+ * the return value returns a non-0 character.
-+ */
-+uint8_t convert_utf8_to_cp437(uint8_t c, uint32_t *esc);
-+
- #endif
+ ret = con_out->output_string(con_out, text);
+ if (ret != EFI_ST_SUCCESS) {
--
-2.42.0
+2.45.2
diff --git a/config/u-boot/default/patches/0003-Add-video-damage-tracking.patch b/config/u-boot/default/patches/0003-Add-video-damage-tracking.patch
index 80195dc0..616efa0f 100644
--- a/config/u-boot/default/patches/0003-Add-video-damage-tracking.patch
+++ b/config/u-boot/default/patches/0003-Add-video-damage-tracking.patch
@@ -1,4 +1,4 @@
-From 60a24786c1c542b2a5967632df15ae14d1385061 Mon Sep 17 00:00:00 2001
+From 3efc90a6ea3bb88b66af7f7096e8168c2cc34aa6 Mon Sep 17 00:00:00 2001
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Date: Fri, 18 Aug 2023 13:31:36 +0300
Subject: [PATCH 01/13] video: test: Split copy frame buffer check into a
@@ -12,16 +12,17 @@ function that we can skip calling, since we won't want it to error on
those mismatched cases.
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
Link: https://lore.kernel.org/u-boot/20230821135111.3558478-2-alpernebiyasak@gmail.com/
---
test/dm/video.c | 69 +++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 58 insertions(+), 11 deletions(-)
diff --git a/test/dm/video.c b/test/dm/video.c
-index d907f681600b..641a6250100a 100644
+index 7dfbeb9555d1..14e6af5181f1 100644
--- a/test/dm/video.c
+++ b/test/dm/video.c
-@@ -55,9 +55,6 @@ DM_TEST(dm_test_video_base, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
+@@ -54,9 +54,6 @@ DM_TEST(dm_test_video_base, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
* size of the compressed data. This provides a pretty good level of
* certainty and the resulting tests need only check a single value.
*
@@ -31,7 +32,7 @@ index d907f681600b..641a6250100a 100644
* @uts: Test state
* @dev: Video device
* Return: compressed size of the frame buffer, or -ve on error
-@@ -66,7 +63,6 @@ static int compress_frame_buffer(struct unit_test_state *uts,
+@@ -65,7 +62,6 @@ static int compress_frame_buffer(struct unit_test_state *uts,
struct udevice *dev)
{
struct video_priv *priv = dev_get_uclass_priv(dev);
@@ -39,7 +40,7 @@ index d907f681600b..641a6250100a 100644
uint destlen;
void *dest;
int ret;
-@@ -82,16 +78,34 @@ static int compress_frame_buffer(struct unit_test_state *uts,
+@@ -81,16 +77,34 @@ static int compress_frame_buffer(struct unit_test_state *uts,
if (ret)
return ret;
@@ -81,7 +82,7 @@ index d907f681600b..641a6250100a 100644
/*
* Call this function at any point to halt and show the current display. Be
* sure to run the test with the -l flag.
-@@ -155,24 +169,30 @@ static int dm_test_video_text(struct unit_test_state *uts)
+@@ -154,24 +168,30 @@ static int dm_test_video_text(struct unit_test_state *uts)
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
ut_assertok(vidconsole_select_font(con, "8x16", 0));
ut_asserteq(46, compress_frame_buffer(uts, dev));
@@ -112,7 +113,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -191,24 +211,30 @@ static int dm_test_video_text_12x22(struct unit_test_state *uts)
+@@ -190,24 +210,30 @@ static int dm_test_video_text_12x22(struct unit_test_state *uts)
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
ut_assertok(vidconsole_select_font(con, "12x22", 0));
ut_asserteq(46, compress_frame_buffer(uts, dev));
@@ -143,7 +144,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -226,6 +252,7 @@ static int dm_test_video_chars(struct unit_test_state *uts)
+@@ -225,6 +251,7 @@ static int dm_test_video_chars(struct unit_test_state *uts)
ut_assertok(vidconsole_select_font(con, "8x16", 0));
vidconsole_put_string(con, test_string);
ut_asserteq(466, compress_frame_buffer(uts, dev));
@@ -151,7 +152,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -247,19 +274,23 @@ static int dm_test_video_ansi(struct unit_test_state *uts)
+@@ -246,19 +273,23 @@ static int dm_test_video_ansi(struct unit_test_state *uts)
video_clear(con->parent);
video_sync(con->parent, false);
ut_asserteq(46, compress_frame_buffer(uts, dev));
@@ -175,7 +176,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -292,11 +323,13 @@ static int check_vidconsole_output(struct unit_test_state *uts, int rot,
+@@ -291,11 +322,13 @@ static int check_vidconsole_output(struct unit_test_state *uts, int rot,
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
ut_assertok(vidconsole_select_font(con, "8x16", 0));
ut_asserteq(46, compress_frame_buffer(uts, dev));
@@ -189,7 +190,7 @@ index d907f681600b..641a6250100a 100644
/* Check display scrolling */
for (i = 0; i < SCROLL_LINES; i++) {
-@@ -304,11 +337,13 @@ static int check_vidconsole_output(struct unit_test_state *uts, int rot,
+@@ -303,11 +336,13 @@ static int check_vidconsole_output(struct unit_test_state *uts, int rot,
vidconsole_put_char(con, '\n');
}
ut_asserteq(scroll_size, compress_frame_buffer(uts, dev));
@@ -203,7 +204,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -383,6 +418,7 @@ static int dm_test_video_bmp(struct unit_test_state *uts)
+@@ -382,6 +417,7 @@ static int dm_test_video_bmp(struct unit_test_state *uts)
ut_assertok(video_bmp_display(dev, addr, 0, 0, false));
ut_asserteq(1368, compress_frame_buffer(uts, dev));
@@ -211,7 +212,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -402,6 +438,7 @@ static int dm_test_video_bmp8(struct unit_test_state *uts)
+@@ -401,6 +437,7 @@ static int dm_test_video_bmp8(struct unit_test_state *uts)
ut_assertok(video_bmp_display(dev, addr, 0, 0, false));
ut_asserteq(1247, compress_frame_buffer(uts, dev));
@@ -219,7 +220,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -425,6 +462,7 @@ static int dm_test_video_bmp16(struct unit_test_state *uts)
+@@ -424,6 +461,7 @@ static int dm_test_video_bmp16(struct unit_test_state *uts)
ut_assertok(video_bmp_display(dev, dst, 0, 0, false));
ut_asserteq(3700, compress_frame_buffer(uts, dev));
@@ -227,7 +228,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -448,6 +486,7 @@ static int dm_test_video_bmp24(struct unit_test_state *uts)
+@@ -447,6 +485,7 @@ static int dm_test_video_bmp24(struct unit_test_state *uts)
ut_assertok(video_bmp_display(dev, dst, 0, 0, false));
ut_asserteq(3656, compress_frame_buffer(uts, dev));
@@ -235,7 +236,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -471,6 +510,7 @@ static int dm_test_video_bmp24_32(struct unit_test_state *uts)
+@@ -470,6 +509,7 @@ static int dm_test_video_bmp24_32(struct unit_test_state *uts)
ut_assertok(video_bmp_display(dev, dst, 0, 0, false));
ut_asserteq(6827, compress_frame_buffer(uts, dev));
@@ -243,7 +244,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -489,6 +529,7 @@ static int dm_test_video_bmp32(struct unit_test_state *uts)
+@@ -488,6 +528,7 @@ static int dm_test_video_bmp32(struct unit_test_state *uts)
ut_assertok(video_bmp_display(dev, addr, 0, 0, false));
ut_asserteq(2024, compress_frame_buffer(uts, dev));
@@ -251,7 +252,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -505,6 +546,7 @@ static int dm_test_video_bmp_comp(struct unit_test_state *uts)
+@@ -504,6 +545,7 @@ static int dm_test_video_bmp_comp(struct unit_test_state *uts)
ut_assertok(video_bmp_display(dev, addr, 0, 0, false));
ut_asserteq(1368, compress_frame_buffer(uts, dev));
@@ -259,7 +260,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -524,6 +566,7 @@ static int dm_test_video_comp_bmp32(struct unit_test_state *uts)
+@@ -523,6 +565,7 @@ static int dm_test_video_comp_bmp32(struct unit_test_state *uts)
ut_assertok(video_bmp_display(dev, addr, 0, 0, false));
ut_asserteq(2024, compress_frame_buffer(uts, dev));
@@ -267,7 +268,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -543,6 +586,7 @@ static int dm_test_video_comp_bmp8(struct unit_test_state *uts)
+@@ -542,6 +585,7 @@ static int dm_test_video_comp_bmp8(struct unit_test_state *uts)
ut_assertok(video_bmp_display(dev, addr, 0, 0, false));
ut_asserteq(1247, compress_frame_buffer(uts, dev));
@@ -275,7 +276,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -558,6 +602,7 @@ static int dm_test_video_truetype(struct unit_test_state *uts)
+@@ -557,6 +601,7 @@ static int dm_test_video_truetype(struct unit_test_state *uts)
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
vidconsole_put_string(con, test_string);
ut_asserteq(12174, compress_frame_buffer(uts, dev));
@@ -283,7 +284,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -579,6 +624,7 @@ static int dm_test_video_truetype_scroll(struct unit_test_state *uts)
+@@ -578,6 +623,7 @@ static int dm_test_video_truetype_scroll(struct unit_test_state *uts)
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
vidconsole_put_string(con, test_string);
ut_asserteq(34287, compress_frame_buffer(uts, dev));
@@ -291,7 +292,7 @@ index d907f681600b..641a6250100a 100644
return 0;
}
-@@ -600,6 +646,7 @@ static int dm_test_video_truetype_bs(struct unit_test_state *uts)
+@@ -599,6 +645,7 @@ static int dm_test_video_truetype_bs(struct unit_test_state *uts)
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
vidconsole_put_string(con, test_string);
ut_asserteq(29471, compress_frame_buffer(uts, dev));
@@ -299,11 +300,13 @@ index d907f681600b..641a6250100a 100644
return 0;
}
+
+base-commit: 475aa8345a78396d39b42f96eccecd37ebe24e99
--
-2.42.0
+2.45.2
-From e441c509aa784328c735c52e0a27a39601049de7 Mon Sep 17 00:00:00 2001
+From 19c878635c1271c79a017ea3a860b9a2f1a3fed9 Mon Sep 17 00:00:00 2001
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Date: Sun, 20 Aug 2023 17:46:46 +0300
Subject: [PATCH 02/13] video: test: Support checking copy frame buffer
@@ -320,16 +323,17 @@ Add a boolean argument to the existing helper function to indicate which
frame buffer we want to inspect, and update the existing callers.
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
Link: https://lore.kernel.org/u-boot/20230821135111.3558478-3-alpernebiyasak@gmail.com/
---
test/dm/video.c | 76 ++++++++++++++++++++++++++-----------------------
1 file changed, 41 insertions(+), 35 deletions(-)
diff --git a/test/dm/video.c b/test/dm/video.c
-index 641a6250100a..b9ff3da10c18 100644
+index 14e6af5181f1..50374cafc009 100644
--- a/test/dm/video.c
+++ b/test/dm/video.c
-@@ -57,22 +57,28 @@ DM_TEST(dm_test_video_base, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
+@@ -56,22 +56,28 @@ DM_TEST(dm_test_video_base, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
*
* @uts: Test state
* @dev: Video device
@@ -360,7 +364,7 @@ index 641a6250100a..b9ff3da10c18 100644
3, 0, 0);
free(dest);
if (ret)
-@@ -168,30 +174,30 @@ static int dm_test_video_text(struct unit_test_state *uts)
+@@ -167,30 +173,30 @@ static int dm_test_video_text(struct unit_test_state *uts)
ut_assertok(video_get_nologo(uts, &dev));
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
ut_assertok(vidconsole_select_font(con, "8x16", 0));
@@ -397,7 +401,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -210,30 +216,30 @@ static int dm_test_video_text_12x22(struct unit_test_state *uts)
+@@ -209,30 +215,30 @@ static int dm_test_video_text_12x22(struct unit_test_state *uts)
ut_assertok(video_get_nologo(uts, &dev));
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
ut_assertok(vidconsole_select_font(con, "12x22", 0));
@@ -434,7 +438,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -251,7 +257,7 @@ static int dm_test_video_chars(struct unit_test_state *uts)
+@@ -250,7 +256,7 @@ static int dm_test_video_chars(struct unit_test_state *uts)
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
ut_assertok(vidconsole_select_font(con, "8x16", 0));
vidconsole_put_string(con, test_string);
@@ -443,7 +447,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -273,23 +279,23 @@ static int dm_test_video_ansi(struct unit_test_state *uts)
+@@ -272,23 +278,23 @@ static int dm_test_video_ansi(struct unit_test_state *uts)
/* reference clear: */
video_clear(con->parent);
video_sync(con->parent, false);
@@ -471,7 +475,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -322,13 +328,13 @@ static int check_vidconsole_output(struct unit_test_state *uts, int rot,
+@@ -321,13 +327,13 @@ static int check_vidconsole_output(struct unit_test_state *uts, int rot,
ut_assertok(video_get_nologo(uts, &dev));
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
ut_assertok(vidconsole_select_font(con, "8x16", 0));
@@ -487,7 +491,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
/* Check display scrolling */
-@@ -336,13 +342,13 @@ static int check_vidconsole_output(struct unit_test_state *uts, int rot,
+@@ -335,13 +341,13 @@ static int check_vidconsole_output(struct unit_test_state *uts, int rot,
vidconsole_put_char(con, 'A' + i % 50);
vidconsole_put_char(con, '\n');
}
@@ -503,7 +507,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -417,7 +423,7 @@ static int dm_test_video_bmp(struct unit_test_state *uts)
+@@ -416,7 +422,7 @@ static int dm_test_video_bmp(struct unit_test_state *uts)
ut_assertok(read_file(uts, "tools/logos/denx.bmp", &addr));
ut_assertok(video_bmp_display(dev, addr, 0, 0, false));
@@ -512,7 +516,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -437,7 +443,7 @@ static int dm_test_video_bmp8(struct unit_test_state *uts)
+@@ -436,7 +442,7 @@ static int dm_test_video_bmp8(struct unit_test_state *uts)
ut_assertok(read_file(uts, "tools/logos/denx.bmp", &addr));
ut_assertok(video_bmp_display(dev, addr, 0, 0, false));
@@ -521,7 +525,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -461,7 +467,7 @@ static int dm_test_video_bmp16(struct unit_test_state *uts)
+@@ -460,7 +466,7 @@ static int dm_test_video_bmp16(struct unit_test_state *uts)
&src_len));
ut_assertok(video_bmp_display(dev, dst, 0, 0, false));
@@ -530,7 +534,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -485,7 +491,7 @@ static int dm_test_video_bmp24(struct unit_test_state *uts)
+@@ -484,7 +490,7 @@ static int dm_test_video_bmp24(struct unit_test_state *uts)
&src_len));
ut_assertok(video_bmp_display(dev, dst, 0, 0, false));
@@ -539,7 +543,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -509,7 +515,7 @@ static int dm_test_video_bmp24_32(struct unit_test_state *uts)
+@@ -508,7 +514,7 @@ static int dm_test_video_bmp24_32(struct unit_test_state *uts)
&src_len));
ut_assertok(video_bmp_display(dev, dst, 0, 0, false));
@@ -548,7 +552,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -528,7 +534,7 @@ static int dm_test_video_bmp32(struct unit_test_state *uts)
+@@ -527,7 +533,7 @@ static int dm_test_video_bmp32(struct unit_test_state *uts)
ut_assertok(read_file(uts, "tools/logos/denx.bmp", &addr));
ut_assertok(video_bmp_display(dev, addr, 0, 0, false));
@@ -557,7 +561,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -545,7 +551,7 @@ static int dm_test_video_bmp_comp(struct unit_test_state *uts)
+@@ -544,7 +550,7 @@ static int dm_test_video_bmp_comp(struct unit_test_state *uts)
ut_assertok(read_file(uts, "tools/logos/denx-comp.bmp", &addr));
ut_assertok(video_bmp_display(dev, addr, 0, 0, false));
@@ -566,7 +570,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -565,7 +571,7 @@ static int dm_test_video_comp_bmp32(struct unit_test_state *uts)
+@@ -564,7 +570,7 @@ static int dm_test_video_comp_bmp32(struct unit_test_state *uts)
ut_assertok(read_file(uts, "tools/logos/denx.bmp", &addr));
ut_assertok(video_bmp_display(dev, addr, 0, 0, false));
@@ -575,7 +579,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -585,7 +591,7 @@ static int dm_test_video_comp_bmp8(struct unit_test_state *uts)
+@@ -584,7 +590,7 @@ static int dm_test_video_comp_bmp8(struct unit_test_state *uts)
ut_assertok(read_file(uts, "tools/logos/denx.bmp", &addr));
ut_assertok(video_bmp_display(dev, addr, 0, 0, false));
@@ -584,7 +588,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -601,7 +607,7 @@ static int dm_test_video_truetype(struct unit_test_state *uts)
+@@ -600,7 +606,7 @@ static int dm_test_video_truetype(struct unit_test_state *uts)
ut_assertok(video_get_nologo(uts, &dev));
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
vidconsole_put_string(con, test_string);
@@ -593,7 +597,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -623,7 +629,7 @@ static int dm_test_video_truetype_scroll(struct unit_test_state *uts)
+@@ -622,7 +628,7 @@ static int dm_test_video_truetype_scroll(struct unit_test_state *uts)
ut_assertok(video_get_nologo(uts, &dev));
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
vidconsole_put_string(con, test_string);
@@ -602,7 +606,7 @@ index 641a6250100a..b9ff3da10c18 100644
ut_assertok(check_copy_frame_buffer(uts, dev));
return 0;
-@@ -645,7 +651,7 @@ static int dm_test_video_truetype_bs(struct unit_test_state *uts)
+@@ -644,7 +650,7 @@ static int dm_test_video_truetype_bs(struct unit_test_state *uts)
ut_assertok(video_get_nologo(uts, &dev));
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
vidconsole_put_string(con, test_string);
@@ -612,10 +616,10 @@ index 641a6250100a..b9ff3da10c18 100644
return 0;
--
-2.42.0
+2.45.2
-From 2b431f45d217e3ab454fc719157cb8b78657a129 Mon Sep 17 00:00:00 2001
+From 173f97f38d1c6621acd9f24f8956c3a7d808cdd7 Mon Sep 17 00:00:00 2001
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Date: Fri, 18 Aug 2023 17:31:27 +0300
Subject: [PATCH 03/13] video: test: Test partial updates of hardware frame
@@ -628,16 +632,17 @@ then checking if the overwritten contents have been redrawn on the next
sync.
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
Link: https://lore.kernel.org/u-boot/20230821135111.3558478-4-alpernebiyasak@gmail.com/
---
test/dm/video.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
diff --git a/test/dm/video.c b/test/dm/video.c
-index b9ff3da10c18..e4bd27a6b76f 100644
+index 50374cafc009..4798f2205a99 100644
--- a/test/dm/video.c
+++ b/test/dm/video.c
-@@ -657,3 +657,57 @@ static int dm_test_video_truetype_bs(struct unit_test_state *uts)
+@@ -656,3 +656,57 @@ static int dm_test_video_truetype_bs(struct unit_test_state *uts)
return 0;
}
DM_TEST(dm_test_video_truetype_bs, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
@@ -696,10 +701,10 @@ index b9ff3da10c18..e4bd27a6b76f 100644
+}
+DM_TEST(dm_test_video_copy, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
--
-2.42.0
+2.45.2
-From 5aea7d8d14de93dcd33acc2bc19d9de942b6d8cd Mon Sep 17 00:00:00 2001
+From 11066af4f8d7a9c6b4729ce2647eb6251397423d Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@csgraf.de>
Date: Fri, 10 Jun 2022 00:59:15 +0200
Subject: [PATCH 04/13] dm: video: Add damage tracking API
@@ -717,14 +722,15 @@ Reported-by: Da Xue <da@libre.computer>
Co-developed-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Link: https://lore.kernel.org/u-boot/20230821135111.3558478-5-alpernebiyasak@gmail.com/
+Reviewed-by: Simon Glass <sjg@chromium.org>
---
drivers/video/Kconfig | 13 ++++++++++++
- drivers/video/video-uclass.c | 41 +++++++++++++++++++++++++++++++++---
- include/video.h | 32 ++++++++++++++++++++++++++--
- 3 files changed, 81 insertions(+), 5 deletions(-)
+ drivers/video/video-uclass.c | 40 +++++++++++++++++++++++++++++++++---
+ include/video.h | 40 ++++++++++++++++++++++++++++++++++--
+ 3 files changed, 88 insertions(+), 5 deletions(-)
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
-index 69f4809cf4a6..db531d7caae0 100644
+index 7808ae7919e0..7815b590481e 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -92,6 +92,19 @@ config VIDEO_COPY
@@ -748,23 +754,21 @@ index 69f4809cf4a6..db531d7caae0 100644
bool "Generic PWM based Backlight Driver"
depends on BACKLIGHT && DM_PWM
diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
-index f743ed74c818..9888a580bfd3 100644
+index ff1382f4a43b..75ab5f5ba9d7 100644
--- a/drivers/video/video-uclass.c
+++ b/drivers/video/video-uclass.c
-@@ -351,9 +351,39 @@ void video_set_default_colors(struct udevice *dev, bool invert)
+@@ -346,9 +346,38 @@ void video_set_default_colors(struct udevice *dev, bool invert)
priv->colour_bg = video_index_to_colour(priv, back);
}
+/* Notify about changes in the frame buffer */
++#ifdef CONFIG_VIDEO_DAMAGE
+void video_damage(struct udevice *vid, int x, int y, int width, int height)
+{
+ struct video_priv *priv = dev_get_uclass_priv(vid);
+ int xend = x + width;
+ int yend = y + height;
+
-+ if (!IS_ENABLED(CONFIG_VIDEO_DAMAGE))
-+ return;
-+
+ if (x > priv->xsize)
+ return;
+
@@ -783,6 +787,7 @@ index f743ed74c818..9888a580bfd3 100644
+ priv->damage.xend = max(xend, priv->damage.xend);
+ priv->damage.yend = max(yend, priv->damage.yend);
+}
++#endif
+
/* Flush video activity to the caches */
int video_sync(struct udevice *vid, bool force)
@@ -791,7 +796,7 @@ index f743ed74c818..9888a580bfd3 100644
struct video_ops *ops = video_get_ops(vid);
int ret;
-@@ -369,15 +399,12 @@ int video_sync(struct udevice *vid, bool force)
+@@ -364,15 +393,12 @@ int video_sync(struct udevice *vid, bool force)
* out whether it exists? For now, ARM is safe.
*/
#if defined(CONFIG_ARM) && !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
@@ -807,7 +812,7 @@ index f743ed74c818..9888a580bfd3 100644
static ulong last_sync;
if (force || get_timer(last_sync) > 100) {
-@@ -385,6 +412,14 @@ int video_sync(struct udevice *vid, bool force)
+@@ -380,6 +406,14 @@ int video_sync(struct udevice *vid, bool force)
last_sync = get_timer(0);
}
#endif
@@ -823,10 +828,10 @@ index f743ed74c818..9888a580bfd3 100644
}
diff --git a/include/video.h b/include/video.h
-index 16f7a83f8d50..307e954db828 100644
+index 4d8df9baaada..d2dabb66e9e6 100644
--- a/include/video.h
+++ b/include/video.h
-@@ -85,6 +85,11 @@ enum video_format {
+@@ -88,6 +88,11 @@ enum video_format {
* @fb_size: Frame buffer size
* @copy_fb: Copy of the frame buffer to keep up to date; see struct
* video_uc_plat
@@ -838,7 +843,7 @@ index 16f7a83f8d50..307e954db828 100644
* @line_length: Length of each frame buffer line, in bytes. This can be
* set by the driver, but if not, the uclass will set it after
* probing
-@@ -112,6 +117,12 @@ struct video_priv {
+@@ -115,6 +120,12 @@ struct video_priv {
void *fb;
int fb_size;
void *copy_fb;
@@ -851,7 +856,7 @@ index 16f7a83f8d50..307e954db828 100644
int line_length;
u32 colour_fg;
u32 colour_bg;
-@@ -254,8 +265,9 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend,
+@@ -257,8 +268,9 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend,
* @return: 0 on success, error code otherwise
*
* Some frame buffers are cached or have a secondary frame buffer. This
@@ -863,10 +868,11 @@ index 16f7a83f8d50..307e954db828 100644
*/
int video_sync(struct udevice *vid, bool force);
-@@ -375,6 +387,22 @@ static inline int video_sync_copy_all(struct udevice *dev)
+@@ -378,6 +390,30 @@ static inline int video_sync_copy_all(struct udevice *dev)
#endif
++#ifdef CONFIG_VIDEO_DAMAGE
+/**
+ * video_damage() - Notify the video subsystem about screen updates.
+ *
@@ -882,15 +888,22 @@ index 16f7a83f8d50..307e954db828 100644
+ * next call to video_sync().
+ */
+void video_damage(struct udevice *vid, int x, int y, int width, int height);
++#else
++static inline void video_damage(struct udevice *vid, int x, int y, int width,
++ int height)
++{
++ return;
++}
++#endif /* CONFIG_VIDEO_DAMAGE */
+
/**
* video_is_active() - Test if one video device it active
*
--
-2.42.0
+2.45.2
-From 9d61d286be0e696a719af0c25a60d31482ee152c Mon Sep 17 00:00:00 2001
+From 5613cd630801ccb329895f62c27b8690a2cbf74c Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@csgraf.de>
Date: Fri, 10 Jun 2022 00:59:16 +0200
Subject: [PATCH 05/13] dm: video: Add damage notification on display fills
@@ -902,16 +915,17 @@ Signed-off-by: Alexander Graf <agraf@csgraf.de>
Reported-by: Da Xue <da@libre.computer>
[Alper: Move from video_clear() to video_fill(), video_fill_part()]
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
Link: https://lore.kernel.org/u-boot/20230821135111.3558478-6-alpernebiyasak@gmail.com/
---
drivers/video/video-uclass.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
-index 9888a580bfd3..09172f1f7f45 100644
+index 75ab5f5ba9d7..ca348101817a 100644
--- a/drivers/video/video-uclass.c
+++ b/drivers/video/video-uclass.c
-@@ -203,6 +203,8 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend,
+@@ -195,6 +195,8 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend,
if (ret)
return ret;
@@ -920,7 +934,7 @@ index 9888a580bfd3..09172f1f7f45 100644
return 0;
}
-@@ -249,6 +251,8 @@ int video_fill(struct udevice *dev, u32 colour)
+@@ -244,6 +246,8 @@ int video_fill(struct udevice *dev, u32 colour)
if (ret)
return ret;
@@ -930,10 +944,10 @@ index 9888a580bfd3..09172f1f7f45 100644
}
--
-2.42.0
+2.45.2
-From 599159f0d1678a473211a2beda302d12ac64bf5c Mon Sep 17 00:00:00 2001
+From 4e29f9d2190f2ea390d5321192f5e71193d62f71 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@csgraf.de>
Date: Fri, 10 Jun 2022 00:59:17 +0200
Subject: [PATCH 06/13] vidconsole: Add damage notifications to all vidconsole
@@ -954,11 +968,10 @@ Link: https://lore.kernel.org/u-boot/20230821135111.3558478-7-alpernebiyasak@gma
drivers/video/console_normal.c | 18 +++++++++++
drivers/video/console_rotate.c | 54 ++++++++++++++++++++++++++++++++
drivers/video/console_truetype.c | 21 +++++++++++++
- drivers/video/video-uclass.c | 1 +
- 4 files changed, 94 insertions(+)
+ 3 files changed, 93 insertions(+)
diff --git a/drivers/video/console_normal.c b/drivers/video/console_normal.c
-index 413c7abee9e1..a19ce6a2bc11 100644
+index 6f4194a18147..51ac8cc78e9d 100644
--- a/drivers/video/console_normal.c
+++ b/drivers/video/console_normal.c
@@ -39,6 +39,12 @@ static int console_set_row(struct udevice *dev, uint row, int clr)
@@ -987,7 +1000,7 @@ index 413c7abee9e1..a19ce6a2bc11 100644
return 0;
}
-@@ -90,6 +102,12 @@ static int console_putc_xy(struct udevice *dev, uint x_frac, uint y, char ch)
+@@ -91,6 +103,12 @@ static int console_putc_xy(struct udevice *dev, uint x_frac, uint y, int cp)
if (ret)
return ret;
@@ -1001,7 +1014,7 @@ index 413c7abee9e1..a19ce6a2bc11 100644
if (ret)
return ret;
diff --git a/drivers/video/console_rotate.c b/drivers/video/console_rotate.c
-index 65358a1c6e74..6c3e7c1bb8dc 100644
+index dc9698362741..5c4a98f6cad0 100644
--- a/drivers/video/console_rotate.c
+++ b/drivers/video/console_rotate.c
@@ -36,6 +36,12 @@ static int console_set_row_1(struct udevice *dev, uint row, int clr)
@@ -1030,7 +1043,7 @@ index 65358a1c6e74..6c3e7c1bb8dc 100644
return 0;
}
-@@ -96,6 +108,12 @@ static int console_putc_xy_1(struct udevice *dev, uint x_frac, uint y, char ch)
+@@ -97,6 +109,12 @@ static int console_putc_xy_1(struct udevice *dev, uint x_frac, uint y, int cp)
if (ret)
return ret;
@@ -1043,7 +1056,7 @@ index 65358a1c6e74..6c3e7c1bb8dc 100644
return VID_TO_POS(fontdata->width);
}
-@@ -121,6 +139,12 @@ static int console_set_row_2(struct udevice *dev, uint row, int clr)
+@@ -122,6 +140,12 @@ static int console_set_row_2(struct udevice *dev, uint row, int clr)
if (ret)
return ret;
@@ -1056,7 +1069,7 @@ index 65358a1c6e74..6c3e7c1bb8dc 100644
return 0;
}
-@@ -142,6 +166,12 @@ static int console_move_rows_2(struct udevice *dev, uint rowdst, uint rowsrc,
+@@ -143,6 +167,12 @@ static int console_move_rows_2(struct udevice *dev, uint rowdst, uint rowsrc,
vidconsole_memmove(dev, dst, src,
fontdata->height * vid_priv->line_length * count);
@@ -1069,7 +1082,7 @@ index 65358a1c6e74..6c3e7c1bb8dc 100644
return 0;
}
-@@ -174,6 +204,12 @@ static int console_putc_xy_2(struct udevice *dev, uint x_frac, uint y, char ch)
+@@ -176,6 +206,12 @@ static int console_putc_xy_2(struct udevice *dev, uint x_frac, uint y, int cp)
if (ret)
return ret;
@@ -1082,7 +1095,7 @@ index 65358a1c6e74..6c3e7c1bb8dc 100644
return VID_TO_POS(fontdata->width);
}
-@@ -198,6 +234,12 @@ static int console_set_row_3(struct udevice *dev, uint row, int clr)
+@@ -200,6 +236,12 @@ static int console_set_row_3(struct udevice *dev, uint row, int clr)
if (ret)
return ret;
@@ -1095,7 +1108,7 @@ index 65358a1c6e74..6c3e7c1bb8dc 100644
return 0;
}
-@@ -224,6 +266,12 @@ static int console_move_rows_3(struct udevice *dev, uint rowdst, uint rowsrc,
+@@ -226,6 +268,12 @@ static int console_move_rows_3(struct udevice *dev, uint rowdst, uint rowsrc,
dst += vid_priv->line_length;
}
@@ -1108,7 +1121,7 @@ index 65358a1c6e74..6c3e7c1bb8dc 100644
return 0;
}
-@@ -255,6 +303,12 @@ static int console_putc_xy_3(struct udevice *dev, uint x_frac, uint y, char ch)
+@@ -258,6 +306,12 @@ static int console_putc_xy_3(struct udevice *dev, uint x_frac, uint y, int cp)
if (ret)
return ret;
@@ -1122,10 +1135,10 @@ index 65358a1c6e74..6c3e7c1bb8dc 100644
}
diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c
-index 0f9bb49e44f7..0adbf9cc3d67 100644
+index c435162d3f94..6a17f732fc26 100644
--- a/drivers/video/console_truetype.c
+++ b/drivers/video/console_truetype.c
-@@ -178,6 +178,7 @@ struct console_tt_priv {
+@@ -190,6 +190,7 @@ struct console_tt_store {
static int console_truetype_set_row(struct udevice *dev, uint row, int clr)
{
struct video_priv *vid_priv = dev_get_uclass_priv(dev->parent);
@@ -1133,7 +1146,7 @@ index 0f9bb49e44f7..0adbf9cc3d67 100644
struct console_tt_priv *priv = dev_get_priv(dev);
struct console_tt_metrics *met = priv->cur_met;
void *end, *line;
-@@ -221,6 +222,12 @@ static int console_truetype_set_row(struct udevice *dev, uint row, int clr)
+@@ -233,6 +234,12 @@ static int console_truetype_set_row(struct udevice *dev, uint row, int clr)
if (ret)
return ret;
@@ -1146,7 +1159,7 @@ index 0f9bb49e44f7..0adbf9cc3d67 100644
return 0;
}
-@@ -228,6 +235,7 @@ static int console_truetype_move_rows(struct udevice *dev, uint rowdst,
+@@ -240,6 +247,7 @@ static int console_truetype_move_rows(struct udevice *dev, uint rowdst,
uint rowsrc, uint count)
{
struct video_priv *vid_priv = dev_get_uclass_priv(dev->parent);
@@ -1154,7 +1167,7 @@ index 0f9bb49e44f7..0adbf9cc3d67 100644
struct console_tt_priv *priv = dev_get_priv(dev);
struct console_tt_metrics *met = priv->cur_met;
void *dst;
-@@ -246,6 +254,12 @@ static int console_truetype_move_rows(struct udevice *dev, uint rowdst,
+@@ -258,6 +266,12 @@ static int console_truetype_move_rows(struct udevice *dev, uint rowdst,
for (i = 0; i < priv->pos_ptr; i++)
priv->pos[i].ypos -= diff;
@@ -1167,7 +1180,7 @@ index 0f9bb49e44f7..0adbf9cc3d67 100644
return 0;
}
-@@ -403,6 +417,13 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y,
+@@ -418,6 +432,13 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y,
line += vid_priv->line_length;
}
@@ -1181,23 +1194,11 @@ index 0f9bb49e44f7..0adbf9cc3d67 100644
ret = vidconsole_sync_copy(dev, start, line);
if (ret)
return ret;
-diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
-index 09172f1f7f45..06e344f415ce 100644
---- a/drivers/video/video-uclass.c
-+++ b/drivers/video/video-uclass.c
-@@ -199,6 +199,7 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend,
- }
- line += priv->line_length;
- }
-+
- ret = video_sync_copy(dev, start, line);
- if (ret)
- return ret;
--
-2.42.0
+2.45.2
-From 4946d75efb4a6b4ff1c2ec306cb7509e98c24c17 Mon Sep 17 00:00:00 2001
+From 11fa5d7c68878f629c8fff7dc28a76acaf1252ab Mon Sep 17 00:00:00 2001
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Date: Fri, 18 Aug 2023 17:55:08 +0300
Subject: [PATCH 07/13] video: test: Test video damage tracking via vidconsole
@@ -1208,6 +1209,7 @@ the config in sandbox and add a test for it, by printing strings at a
few locations and checking the tracked region.
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
Link: https://lore.kernel.org/u-boot/20230821135111.3558478-8-alpernebiyasak@gmail.com/
---
configs/sandbox_defconfig | 1 +
@@ -1215,10 +1217,10 @@ Link: https://lore.kernel.org/u-boot/20230821135111.3558478-8-alpernebiyasak@gma
2 files changed, 57 insertions(+)
diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
-index 62bc182ca161..d26659ff0a0b 100644
+index da8c1976d7bd..6bc20ec34169 100644
--- a/configs/sandbox_defconfig
+++ b/configs/sandbox_defconfig
-@@ -307,6 +307,7 @@ CONFIG_USB_ETH_CDC=y
+@@ -319,6 +319,7 @@ CONFIG_USB_ETH_CDC=y
CONFIG_VIDEO=y
CONFIG_VIDEO_FONT_SUN12X22=y
CONFIG_VIDEO_COPY=y
@@ -1227,10 +1229,10 @@ index 62bc182ca161..d26659ff0a0b 100644
CONFIG_CONSOLE_TRUETYPE=y
CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y
diff --git a/test/dm/video.c b/test/dm/video.c
-index e4bd27a6b76f..8c7d9800a42e 100644
+index 4798f2205a99..119c43153165 100644
--- a/test/dm/video.c
+++ b/test/dm/video.c
-@@ -711,3 +711,59 @@ static int dm_test_video_copy(struct unit_test_state *uts)
+@@ -710,3 +710,59 @@ static int dm_test_video_copy(struct unit_test_state *uts)
return 0;
}
DM_TEST(dm_test_video_copy, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
@@ -1291,10 +1293,10 @@ index e4bd27a6b76f..8c7d9800a42e 100644
+}
+DM_TEST(dm_test_video_damage, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
--
-2.42.0
+2.45.2
-From a8073a8ba8a35600302ad6430977c766869f1605 Mon Sep 17 00:00:00 2001
+From 80a32fe8f34466e6b86553018f47192a1fef3c6a Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@csgraf.de>
Date: Fri, 10 Jun 2022 00:59:18 +0200
Subject: [PATCH 08/13] video: Add damage notification on bmp display
@@ -1311,10 +1313,10 @@ Link: https://lore.kernel.org/u-boot/20230821135111.3558478-9-alpernebiyasak@gma
1 file changed, 2 insertions(+)
diff --git a/drivers/video/video_bmp.c b/drivers/video/video_bmp.c
-index 45f003c8251a..10943b9ca19f 100644
+index ad512d99a1b9..78de95607924 100644
--- a/drivers/video/video_bmp.c
+++ b/drivers/video/video_bmp.c
-@@ -460,6 +460,8 @@ int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y,
+@@ -459,6 +459,8 @@ int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y,
break;
};
@@ -1324,10 +1326,10 @@ index 45f003c8251a..10943b9ca19f 100644
fb = (uchar *)(priv->fb + y * priv->line_length + x * bpix / 8);
ret = video_sync_copy(dev, start, fb);
--
-2.42.0
+2.45.2
-From 210faf6dd92d4d7647cec88aa5affddf74c35fcb Mon Sep 17 00:00:00 2001
+From 7afe761e51bfb0f24fd4547e8bec1826aaf2e6a0 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@csgraf.de>
Date: Fri, 10 Jun 2022 00:59:19 +0200
Subject: [PATCH 09/13] efi_loader: GOP: Add damage notification on BLT
@@ -1340,13 +1342,14 @@ Reported-by: Da Xue <da@libre.computer>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
[Alper: Add struct comment for new member]
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
Link: https://lore.kernel.org/u-boot/20230821135111.3558478-10-alpernebiyasak@gmail.com/
---
lib/efi_loader/efi_gop.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/lib/efi_loader/efi_gop.c b/lib/efi_loader/efi_gop.c
-index 778b693f983a..db6535e080c4 100644
+index 41e12fa72460..1694e23dcc62 100644
--- a/lib/efi_loader/efi_gop.c
+++ b/lib/efi_loader/efi_gop.c
@@ -24,6 +24,7 @@ static const efi_guid_t efi_gop_guid = EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID;
@@ -1383,19 +1386,19 @@ index 778b693f983a..db6535e080c4 100644
return EFI_SUCCESS;
}
-@@ -548,6 +554,7 @@ efi_status_t efi_gop_register(void)
+@@ -549,6 +555,7 @@ efi_status_t efi_gop_register(void)
gopobj->info.pixels_per_scanline = col;
gopobj->bpix = bpix;
- gopobj->fb = fb;
+ gopobj->fb = map_sysmem(fb_base, fb_size);
+ gopobj->vdev = vdev;
return EFI_SUCCESS;
}
--
-2.42.0
+2.45.2
-From 95c2109f13e9457961745193cae222523366d810 Mon Sep 17 00:00:00 2001
+From 134415d6cbe38f7ab630f978a602b6e15929feea Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@csgraf.de>
Date: Fri, 10 Jun 2022 00:59:20 +0200
Subject: [PATCH 10/13] video: Only dcache flush damaged lines
@@ -1412,29 +1415,29 @@ Co-developed-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Link: https://lore.kernel.org/u-boot/20230821135111.3558478-11-alpernebiyasak@gmail.com/
---
- drivers/video/video-uclass.c | 41 +++++++++++++++++++++++++++++++-----
- 1 file changed, 36 insertions(+), 5 deletions(-)
+ drivers/video/video-uclass.c | 43 +++++++++++++++++++++++++++++++-----
+ 1 file changed, 38 insertions(+), 5 deletions(-)
diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
-index 06e344f415ce..ac2141892bf7 100644
+index ca348101817a..add7a85b20fe 100644
--- a/drivers/video/video-uclass.c
+++ b/drivers/video/video-uclass.c
-@@ -385,6 +385,41 @@ void video_damage(struct udevice *vid, int x, int y, int width, int height)
- priv->damage.yend = max(yend, priv->damage.yend);
+@@ -378,6 +378,40 @@ void video_damage(struct udevice *vid, int x, int y, int width, int height)
}
+ #endif
+#if defined(CONFIG_ARM) && !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
-+static void video_flush_dcache(struct udevice *vid)
++static void video_flush_dcache(struct udevice *vid, bool use_copy)
+{
+ struct video_priv *priv = dev_get_uclass_priv(vid);
++ ulong fb = use_copy ? (ulong)priv->copy_fb : (ulong)priv->fb;
+
+ if (!priv->flush_dcache)
+ return;
+
+ if (!IS_ENABLED(CONFIG_VIDEO_DAMAGE)) {
-+ flush_dcache_range((ulong)priv->fb,
-+ ALIGN((ulong)priv->fb + priv->fb_size,
-+ CONFIG_SYS_CACHELINE_SIZE));
++ flush_dcache_range(fb, ALIGN(fb + priv->fb_size,
++ CONFIG_SYS_CACHELINE_SIZE));
+
+ return;
+ }
@@ -1445,7 +1448,6 @@ index 06e344f415ce..ac2141892bf7 100644
+ int y;
+
+ for (y = priv->damage.ystart; y < priv->damage.yend; y++) {
-+ ulong fb = (ulong)priv->fb;
+ ulong start = fb + (y * priv->line_length) + lstart;
+ ulong end = start + lend - lstart;
+
@@ -1461,7 +1463,7 @@ index 06e344f415ce..ac2141892bf7 100644
/* Flush video activity to the caches */
int video_sync(struct udevice *vid, bool force)
{
-@@ -404,11 +439,7 @@ int video_sync(struct udevice *vid, bool force)
+@@ -397,11 +431,10 @@ int video_sync(struct udevice *vid, bool force)
* out whether it exists? For now, ARM is safe.
*/
#if defined(CONFIG_ARM) && !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
@@ -1470,15 +1472,18 @@ index 06e344f415ce..ac2141892bf7 100644
- ALIGN((ulong)priv->fb + priv->fb_size,
- CONFIG_SYS_CACHELINE_SIZE));
- }
-+ video_flush_dcache(vid);
++ video_flush_dcache(vid, false);
++
++ if (IS_ENABLED(CONFIG_VIDEO_COPY))
++ video_flush_dcache(vid, true);
#elif defined(CONFIG_VIDEO_SANDBOX_SDL)
static ulong last_sync;
--
-2.42.0
+2.45.2
-From d4c117c2455f2df8fa224ec603f2749219c72243 Mon Sep 17 00:00:00 2001
+From d3f1653a87d51c5ecf187b19ecb60a2f740fb8e2 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@csgraf.de>
Date: Fri, 10 Jun 2022 00:59:21 +0200
Subject: [PATCH 11/13] video: Use VIDEO_DAMAGE for VIDEO_COPY
@@ -1511,20 +1516,20 @@ Link: https://lore.kernel.org/u-boot/20230821135111.3558478-12-alpernebiyasak@gm
drivers/video/Kconfig | 5 ++
drivers/video/console_normal.c | 13 +----
drivers/video/console_rotate.c | 44 +++-----------
- drivers/video/console_truetype.c | 16 +----
- drivers/video/vidconsole-uclass.c | 16 -----
- drivers/video/video-uclass.c | 97 ++++++++-----------------------
+ drivers/video/console_truetype.c | 16 +-----
+ drivers/video/vidconsole-uclass.c | 16 ------
+ drivers/video/video-uclass.c | 96 ++++++++-----------------------
drivers/video/video_bmp.c | 7 ---
include/video.h | 37 ------------
include/video_console.h | 52 -----------------
test/dm/video.c | 3 +-
- 11 files changed, 43 insertions(+), 248 deletions(-)
+ 11 files changed, 43 insertions(+), 247 deletions(-)
diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
-index d26659ff0a0b..62bc182ca161 100644
+index 6bc20ec34169..da8c1976d7bd 100644
--- a/configs/sandbox_defconfig
+++ b/configs/sandbox_defconfig
-@@ -307,7 +307,6 @@ CONFIG_USB_ETH_CDC=y
+@@ -319,7 +319,6 @@ CONFIG_USB_ETH_CDC=y
CONFIG_VIDEO=y
CONFIG_VIDEO_FONT_SUN12X22=y
CONFIG_VIDEO_COPY=y
@@ -1533,7 +1538,7 @@ index d26659ff0a0b..62bc182ca161 100644
CONFIG_CONSOLE_TRUETYPE=y
CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
-index db531d7caae0..5f17c6be84ed 100644
+index 7815b590481e..88c6f8e68976 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -83,11 +83,14 @@ config VIDEO_PCI_DEFAULT_FB_SIZE
@@ -1561,7 +1566,7 @@ index db531d7caae0..5f17c6be84ed 100644
bool "Generic PWM based Backlight Driver"
depends on BACKLIGHT && DM_PWM
diff --git a/drivers/video/console_normal.c b/drivers/video/console_normal.c
-index a19ce6a2bc11..c44aa09473a3 100644
+index 51ac8cc78e9d..07db613ac53c 100644
--- a/drivers/video/console_normal.c
+++ b/drivers/video/console_normal.c
@@ -35,10 +35,6 @@ static int console_set_row(struct udevice *dev, uint row, int clr)
@@ -1591,7 +1596,7 @@ index a19ce6a2bc11..c44aa09473a3 100644
video_damage(dev->parent,
0,
-@@ -108,10 +101,6 @@ static int console_putc_xy(struct udevice *dev, uint x_frac, uint y, char ch)
+@@ -109,10 +102,6 @@ static int console_putc_xy(struct udevice *dev, uint x_frac, uint y, int cp)
fontdata->width,
fontdata->height);
@@ -1603,7 +1608,7 @@ index a19ce6a2bc11..c44aa09473a3 100644
}
diff --git a/drivers/video/console_rotate.c b/drivers/video/console_rotate.c
-index 6c3e7c1bb8dc..6e9067d1c7fb 100644
+index 5c4a98f6cad0..9f8e1b92770c 100644
--- a/drivers/video/console_rotate.c
+++ b/drivers/video/console_rotate.c
@@ -21,7 +21,6 @@ static int console_set_row_1(struct udevice *dev, uint row, int clr)
@@ -1645,7 +1650,7 @@ index 6c3e7c1bb8dc..6e9067d1c7fb 100644
src += vid_priv->line_length;
dst += vid_priv->line_length;
}
-@@ -104,10 +97,6 @@ static int console_putc_xy_1(struct udevice *dev, uint x_frac, uint y, char ch)
+@@ -105,10 +98,6 @@ static int console_putc_xy_1(struct udevice *dev, uint x_frac, uint y, int cp)
return ret;
/* We draw backwards from 'start, so account for the first line */
@@ -1656,7 +1661,7 @@ index 6c3e7c1bb8dc..6e9067d1c7fb 100644
video_damage(dev->parent,
vid_priv->xsize - y - fontdata->height,
linenum - 1,
-@@ -125,7 +114,7 @@ static int console_set_row_2(struct udevice *dev, uint row, int clr)
+@@ -126,7 +115,7 @@ static int console_set_row_2(struct udevice *dev, uint row, int clr)
struct video_fontdata *fontdata = priv->fontdata;
void *start, *line, *dst, *end;
int pixels = fontdata->height * vid_priv->xsize;
@@ -1665,7 +1670,7 @@ index 6c3e7c1bb8dc..6e9067d1c7fb 100644
int pbytes = VNBYTES(vid_priv->bpix);
start = vid_priv->fb + vid_priv->ysize * vid_priv->line_length -
-@@ -135,9 +124,6 @@ static int console_set_row_2(struct udevice *dev, uint row, int clr)
+@@ -136,9 +125,6 @@ static int console_set_row_2(struct udevice *dev, uint row, int clr)
for (i = 0; i < pixels; i++)
fill_pixel_and_goto_next(&dst, clr, pbytes, pbytes);
end = dst;
@@ -1675,7 +1680,7 @@ index 6c3e7c1bb8dc..6e9067d1c7fb 100644
video_damage(dev->parent,
0,
-@@ -163,8 +149,7 @@ static int console_move_rows_2(struct udevice *dev, uint rowdst, uint rowsrc,
+@@ -164,8 +150,7 @@ static int console_move_rows_2(struct udevice *dev, uint rowdst, uint rowsrc,
vid_priv->line_length;
src = end - (rowsrc + count) * fontdata->height *
vid_priv->line_length;
@@ -1685,7 +1690,7 @@ index 6c3e7c1bb8dc..6e9067d1c7fb 100644
video_damage(dev->parent,
0,
-@@ -199,11 +184,6 @@ static int console_putc_xy_2(struct udevice *dev, uint x_frac, uint y, char ch)
+@@ -201,11 +186,6 @@ static int console_putc_xy_2(struct udevice *dev, uint x_frac, uint y, int cp)
if (ret)
return ret;
@@ -1697,7 +1702,7 @@ index 6c3e7c1bb8dc..6e9067d1c7fb 100644
video_damage(dev->parent,
x - fontdata->width + 1,
linenum - fontdata->height + 1,
-@@ -220,7 +200,7 @@ static int console_set_row_3(struct udevice *dev, uint row, int clr)
+@@ -222,7 +202,7 @@ static int console_set_row_3(struct udevice *dev, uint row, int clr)
struct video_fontdata *fontdata = priv->fontdata;
int pbytes = VNBYTES(vid_priv->bpix);
void *start, *dst, *line;
@@ -1706,7 +1711,7 @@ index 6c3e7c1bb8dc..6e9067d1c7fb 100644
start = vid_priv->fb + row * fontdata->height * pbytes;
line = start;
-@@ -230,9 +210,6 @@ static int console_set_row_3(struct udevice *dev, uint row, int clr)
+@@ -232,9 +212,6 @@ static int console_set_row_3(struct udevice *dev, uint row, int clr)
fill_pixel_and_goto_next(&dst, clr, pbytes, pbytes);
line += vid_priv->line_length;
}
@@ -1716,7 +1721,7 @@ index 6c3e7c1bb8dc..6e9067d1c7fb 100644
video_damage(dev->parent,
row * fontdata->height,
-@@ -252,16 +229,13 @@ static int console_move_rows_3(struct udevice *dev, uint rowdst, uint rowsrc,
+@@ -254,16 +231,13 @@ static int console_move_rows_3(struct udevice *dev, uint rowdst, uint rowsrc,
int pbytes = VNBYTES(vid_priv->bpix);
void *dst;
void *src;
@@ -1735,7 +1740,7 @@ index 6c3e7c1bb8dc..6e9067d1c7fb 100644
src += vid_priv->line_length;
dst += vid_priv->line_length;
}
-@@ -296,10 +270,6 @@ static int console_putc_xy_3(struct udevice *dev, uint x_frac, uint y, char ch)
+@@ -299,10 +273,6 @@ static int console_putc_xy_3(struct udevice *dev, uint x_frac, uint y, int cp)
line = start;
ret = fill_char_horizontally(pfont, &line, vid_priv, fontdata, NORMAL_DIRECTION);
@@ -1747,10 +1752,10 @@ index 6c3e7c1bb8dc..6e9067d1c7fb 100644
return ret;
diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c
-index 0adbf9cc3d67..07bb0af71311 100644
+index 6a17f732fc26..58dcd8e050c3 100644
--- a/drivers/video/console_truetype.c
+++ b/drivers/video/console_truetype.c
-@@ -182,7 +182,6 @@ static int console_truetype_set_row(struct udevice *dev, uint row, int clr)
+@@ -194,7 +194,6 @@ static int console_truetype_set_row(struct udevice *dev, uint row, int clr)
struct console_tt_priv *priv = dev_get_priv(dev);
struct console_tt_metrics *met = priv->cur_met;
void *end, *line;
@@ -1758,7 +1763,7 @@ index 0adbf9cc3d67..07bb0af71311 100644
line = vid_priv->fb + row * met->font_size * vid_priv->line_length;
end = line + met->font_size * vid_priv->line_length;
-@@ -218,9 +217,6 @@ static int console_truetype_set_row(struct udevice *dev, uint row, int clr)
+@@ -230,9 +229,6 @@ static int console_truetype_set_row(struct udevice *dev, uint row, int clr)
default:
return -ENOSYS;
}
@@ -1768,7 +1773,7 @@ index 0adbf9cc3d67..07bb0af71311 100644
video_damage(dev->parent,
0,
-@@ -240,14 +236,11 @@ static int console_truetype_move_rows(struct udevice *dev, uint rowdst,
+@@ -252,14 +248,11 @@ static int console_truetype_move_rows(struct udevice *dev, uint rowdst,
struct console_tt_metrics *met = priv->cur_met;
void *dst;
void *src;
@@ -1785,7 +1790,7 @@ index 0adbf9cc3d67..07bb0af71311 100644
/* Scroll up our position history */
diff = (rowsrc - rowdst) * met->font_size;
-@@ -280,7 +273,7 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y,
+@@ -292,7 +285,7 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y,
u8 *bits, *data;
int advance;
void *start, *end, *line;
@@ -1793,8 +1798,8 @@ index 0adbf9cc3d67..07bb0af71311 100644
+ int row;
/* First get some basic metrics about this character */
- stbtt_GetCodepointHMetrics(font, ch, &advance, &lsb);
-@@ -424,9 +417,6 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y,
+ stbtt_GetCodepointHMetrics(font, cp, &advance, &lsb);
+@@ -439,9 +432,6 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y,
width,
height);
@@ -1805,10 +1810,10 @@ index 0adbf9cc3d67..07bb0af71311 100644
return width_frac;
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
-index a4029a58660b..f0db412146a8 100644
+index 80e7adf6a1a4..6dc5162804aa 100644
--- a/drivers/video/vidconsole-uclass.c
+++ b/drivers/video/vidconsole-uclass.c
-@@ -728,22 +728,6 @@ UCLASS_DRIVER(vidconsole) = {
+@@ -759,22 +759,6 @@ UCLASS_DRIVER(vidconsole) = {
.per_device_auto = sizeof(struct vidconsole_priv),
};
@@ -1832,10 +1837,10 @@ index a4029a58660b..f0db412146a8 100644
{
int ret;
diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
-index ac2141892bf7..afbd4670240b 100644
+index add7a85b20fe..3b9b9fad0975 100644
--- a/drivers/video/video-uclass.c
+++ b/drivers/video/video-uclass.c
-@@ -160,7 +160,7 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend,
+@@ -152,7 +152,7 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend,
struct video_priv *priv = dev_get_uclass_priv(dev);
void *start, *line;
int pixels = xend - xstart;
@@ -1844,18 +1849,17 @@ index ac2141892bf7..afbd4670240b 100644
start = priv->fb + ystart * priv->line_length;
start += xstart * VNBYTES(priv->bpix);
-@@ -200,10 +200,6 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend,
+@@ -191,9 +191,6 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend,
+ }
line += priv->line_length;
}
-
- ret = video_sync_copy(dev, start, line);
- if (ret)
- return ret;
--
+
video_damage(dev, xstart, ystart, xend - xstart, yend - ystart);
- return 0;
-@@ -223,7 +219,6 @@ int video_reserve_from_bloblist(struct video_handoff *ho)
+@@ -217,7 +214,6 @@ int video_reserve_from_bloblist(struct video_handoff *ho)
int video_fill(struct udevice *dev, u32 colour)
{
struct video_priv *priv = dev_get_uclass_priv(dev);
@@ -1863,7 +1867,7 @@ index ac2141892bf7..afbd4670240b 100644
switch (priv->bpix) {
case VIDEO_BPP16:
-@@ -248,9 +243,6 @@ int video_fill(struct udevice *dev, u32 colour)
+@@ -242,9 +238,6 @@ int video_fill(struct udevice *dev, u32 colour)
memset(priv->fb, colour, priv->fb_size);
break;
}
@@ -1873,7 +1877,7 @@ index ac2141892bf7..afbd4670240b 100644
video_damage(dev, 0, 0, priv->xsize, priv->ysize);
-@@ -420,6 +412,27 @@ static void video_flush_dcache(struct udevice *vid)
+@@ -412,6 +405,27 @@ static void video_flush_dcache(struct udevice *vid, bool use_copy)
}
#endif
@@ -1901,7 +1905,7 @@ index ac2141892bf7..afbd4670240b 100644
/* Flush video activity to the caches */
int video_sync(struct udevice *vid, bool force)
{
-@@ -427,6 +440,9 @@ int video_sync(struct udevice *vid, bool force)
+@@ -419,6 +433,9 @@ int video_sync(struct udevice *vid, bool force)
struct video_ops *ops = video_get_ops(vid);
int ret;
@@ -1911,7 +1915,7 @@ index ac2141892bf7..afbd4670240b 100644
if (ops && ops->video_sync) {
ret = ops->video_sync(vid);
if (ret)
-@@ -503,69 +519,6 @@ int video_get_ysize(struct udevice *dev)
+@@ -502,69 +519,6 @@ int video_get_ysize(struct udevice *dev)
return priv->ysize;
}
@@ -1982,10 +1986,10 @@ index ac2141892bf7..afbd4670240b 100644
extern u8 __splash_ ## _name ## _begin[]; \
extern u8 __splash_ ## _name ## _end[]
diff --git a/drivers/video/video_bmp.c b/drivers/video/video_bmp.c
-index 10943b9ca19f..da2bbe864a03 100644
+index 78de95607924..1f267d45812c 100644
--- a/drivers/video/video_bmp.c
+++ b/drivers/video/video_bmp.c
-@@ -268,7 +268,6 @@ int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y,
+@@ -267,7 +267,6 @@ int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y,
enum video_format eformat;
struct bmp_color_table_entry *palette;
int hdr_size;
@@ -1993,7 +1997,7 @@ index 10943b9ca19f..da2bbe864a03 100644
if (!bmp || !(bmp->header.signature[0] == 'B' &&
bmp->header.signature[1] == 'M')) {
-@@ -462,11 +461,5 @@ int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y,
+@@ -461,11 +460,5 @@ int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y,
video_damage(dev, x, y, width, height);
@@ -2006,10 +2010,10 @@ index 10943b9ca19f..da2bbe864a03 100644
return video_sync(dev, false);
}
diff --git a/include/video.h b/include/video.h
-index 307e954db828..3f072b4d6b89 100644
+index d2dabb66e9e6..44557457bf80 100644
--- a/include/video.h
+++ b/include/video.h
-@@ -350,43 +350,6 @@ void video_set_default_colors(struct udevice *dev, bool invert);
+@@ -353,43 +353,6 @@ void video_set_default_colors(struct udevice *dev, bool invert);
*/
int video_default_font_height(struct udevice *dev);
@@ -2050,14 +2054,14 @@ index 307e954db828..3f072b4d6b89 100644
-
-#endif
-
+ #ifdef CONFIG_VIDEO_DAMAGE
/**
* video_damage() - Notify the video subsystem about screen updates.
- *
diff --git a/include/video_console.h b/include/video_console.h
-index dbfb389f324f..4b4d2e621b30 100644
+index 8b5928dc5ebb..8806d10f946d 100644
--- a/include/video_console.h
+++ b/include/video_console.h
-@@ -406,58 +406,6 @@ void vidconsole_list_fonts(struct udevice *dev);
+@@ -529,56 +529,4 @@ void vidconsole_list_fonts(struct udevice *dev);
*/
int vidconsole_get_font_size(struct udevice *dev, const char **name, uint *sizep);
@@ -2113,14 +2117,12 @@ index dbfb389f324f..4b4d2e621b30 100644
-
-#endif
-
- /*
- * Convert an UTF-8 byte into the corresponding character in the CP437
- * code page. Returns 0 if that character is part of a multi-byte sequence.
+ #endif
diff --git a/test/dm/video.c b/test/dm/video.c
-index 8c7d9800a42e..4c3bcd26e94f 100644
+index 119c43153165..9b7bb51a3dd9 100644
--- a/test/dm/video.c
+++ b/test/dm/video.c
-@@ -106,6 +106,7 @@ static int check_copy_frame_buffer(struct unit_test_state *uts,
+@@ -105,6 +105,7 @@ static int check_copy_frame_buffer(struct unit_test_state *uts,
if (!IS_ENABLED(CONFIG_VIDEO_COPY))
return 0;
@@ -2128,7 +2130,7 @@ index 8c7d9800a42e..4c3bcd26e94f 100644
ut_assertf(!memcmp(priv->fb, priv->copy_fb, priv->fb_size),
"Copy framebuffer does not match fb");
-@@ -706,7 +707,7 @@ static int dm_test_video_copy(struct unit_test_state *uts)
+@@ -705,7 +706,7 @@ static int dm_test_video_copy(struct unit_test_state *uts)
vidconsole_put_string(con, test_string);
vidconsole_put_string(con, test_string);
ut_asserteq(7589, compress_frame_buffer(uts, dev, false));
@@ -2138,10 +2140,10 @@ index 8c7d9800a42e..4c3bcd26e94f 100644
return 0;
}
--
-2.42.0
+2.45.2
-From cf7e5c9411fbe82487191e162bafcf178eaeaf5e Mon Sep 17 00:00:00 2001
+From d0b64a4e493b665d7abafc185d88f533ebc27f2f Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@csgraf.de>
Date: Tue, 3 Jan 2023 22:50:03 +0100
Subject: [PATCH 12/13] video: Always compile cache flushing code
@@ -2162,21 +2164,16 @@ Signed-off-by: Alexander Graf <agraf@csgraf.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Link: https://lore.kernel.org/u-boot/20230821135111.3558478-13-alpernebiyasak@gmail.com/
---
- drivers/video/video-uclass.c | 14 +++++---------
- 1 file changed, 5 insertions(+), 9 deletions(-)
+ drivers/video/video-uclass.c | 12 +++++-------
+ 1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
-index afbd4670240b..2c7777261ad1 100644
+index 3b9b9fad0975..f050ed1f67cb 100644
--- a/drivers/video/video-uclass.c
+++ b/drivers/video/video-uclass.c
-@@ -377,11 +377,13 @@ void video_damage(struct udevice *vid, int x, int y, int width, int height)
- priv->damage.yend = max(yend, priv->damage.yend);
- }
-
--#if defined(CONFIG_ARM) && !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
- static void video_flush_dcache(struct udevice *vid)
- {
+@@ -377,6 +377,9 @@ static void video_flush_dcache(struct udevice *vid, bool use_copy)
struct video_priv *priv = dev_get_uclass_priv(vid);
+ ulong fb = use_copy ? (ulong)priv->copy_fb : (ulong)priv->fb;
+ if (CONFIG_IS_ENABLED(SYS_DCACHE_OFF))
+ return;
@@ -2184,15 +2181,7 @@ index afbd4670240b..2c7777261ad1 100644
if (!priv->flush_dcache)
return;
-@@ -410,7 +412,6 @@ static void video_flush_dcache(struct udevice *vid)
- }
- }
- }
--#endif
-
- static void video_flush_copy(struct udevice *vid)
- {
-@@ -449,14 +450,9 @@ int video_sync(struct udevice *vid, bool force)
+@@ -442,17 +445,12 @@ int video_sync(struct udevice *vid, bool force)
return ret;
}
@@ -2202,7 +2191,10 @@ index afbd4670240b..2c7777261ad1 100644
- * out whether it exists? For now, ARM is safe.
- */
-#if defined(CONFIG_ARM) && !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
- video_flush_dcache(vid);
+ video_flush_dcache(vid, false);
+
+ if (IS_ENABLED(CONFIG_VIDEO_COPY))
+ video_flush_dcache(vid, true);
-#elif defined(CONFIG_VIDEO_SANDBOX_SDL)
+
+#if defined(CONFIG_VIDEO_SANDBOX_SDL)
@@ -2210,10 +2202,10 @@ index afbd4670240b..2c7777261ad1 100644
if (force || get_timer(last_sync) > 100) {
--
-2.42.0
+2.45.2
-From 2ada48e20ae7fb1ce66d63c6f549887c38b058d4 Mon Sep 17 00:00:00 2001
+From e6b053a9d59d0b4ea0936edee5be2fadf0b8efc2 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@csgraf.de>
Date: Tue, 3 Jan 2023 22:50:04 +0100
Subject: [PATCH 13/13] video: Enable VIDEO_DAMAGE for drivers that need it
@@ -2230,6 +2222,7 @@ Signed-off-by: Alexander Graf <agraf@csgraf.de>
[Alper: Add to VIDEO_TIDSS, imply instead of select]
Co-developed-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
Link: https://lore.kernel.org/u-boot/20230821135111.3558478-14-alpernebiyasak@gmail.com/
---
arch/arm/mach-sunxi/Kconfig | 1 +
@@ -2244,11 +2237,11 @@ Link: https://lore.kernel.org/u-boot/20230821135111.3558478-14-alpernebiyasak@gm
9 files changed, 16 insertions(+)
diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
-index e20c3a3ee926..6bd813b68c9c 100644
+index ddf9414b08e7..3c9745065bab 100644
--- a/arch/arm/mach-sunxi/Kconfig
+++ b/arch/arm/mach-sunxi/Kconfig
-@@ -813,6 +813,7 @@ config VIDEO_SUNXI
- depends on !SUN50I_GEN_H6
+@@ -863,6 +863,7 @@ config VIDEO_SUNXI
+ depends on !SUNXI_GEN_NCAT2
select VIDEO
select DISPLAY
+ imply VIDEO_DAMAGE
@@ -2256,7 +2249,7 @@ index e20c3a3ee926..6bd813b68c9c 100644
default y
---help---
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
-index 5f17c6be84ed..546df93f51a9 100644
+index 88c6f8e68976..06d3ed8a736e 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -499,6 +499,7 @@ config VIDEO_LCD_ANX9804
@@ -2275,7 +2268,7 @@ index 5f17c6be84ed..546df93f51a9 100644
help
The graphics processor already sets up the display so this driver
simply checks the resolution and then sets up the frame buffer with
-@@ -654,6 +656,7 @@ source "drivers/video/meson/Kconfig"
+@@ -671,6 +673,7 @@ source "drivers/video/meson/Kconfig"
config VIDEO_MVEBU
bool "Armada XP LCD controller"
@@ -2283,7 +2276,7 @@ index 5f17c6be84ed..546df93f51a9 100644
---help---
Support for the LCD controller integrated in the Marvell
Armada XP SoC.
-@@ -688,6 +691,7 @@ config NXP_TDA19988
+@@ -705,6 +708,7 @@ config NXP_TDA19988
config ATMEL_HLCD
bool "Enable ATMEL video support using HLCDC"
@@ -2291,7 +2284,7 @@ index 5f17c6be84ed..546df93f51a9 100644
help
HLCDC supports video output to an attached LCD panel.
-@@ -764,6 +768,7 @@ source "drivers/video/tidss/Kconfig"
+@@ -781,6 +785,7 @@ source "drivers/video/tidss/Kconfig"
config VIDEO_TEGRA124
bool "Enable video support on Tegra124"
@@ -2299,7 +2292,7 @@ index 5f17c6be84ed..546df93f51a9 100644
help
Tegra124 supports many video output options including eDP and
HDMI. At present only eDP is supported by U-Boot. This option
-@@ -778,6 +783,7 @@ source "drivers/video/imx/Kconfig"
+@@ -795,6 +800,7 @@ source "drivers/video/imx/Kconfig"
config VIDEO_MXS
bool "Enable video support on i.MX28/i.MX6UL/i.MX7 SoCs"
@@ -2307,7 +2300,7 @@ index 5f17c6be84ed..546df93f51a9 100644
help
Enable framebuffer driver for i.MX28/i.MX6UL/i.MX7 processors
-@@ -840,6 +846,7 @@ config VIDEO_DW_MIPI_DSI
+@@ -857,6 +863,7 @@ config VIDEO_DW_MIPI_DSI
config VIDEO_SIMPLE
bool "Simple display driver for preconfigured display"
@@ -2315,7 +2308,7 @@ index 5f17c6be84ed..546df93f51a9 100644
help
Enables a simple generic display driver which utilizes the
simple-framebuffer devicetree bindings.
-@@ -858,6 +865,7 @@ config VIDEO_DT_SIMPLEFB
+@@ -875,6 +882,7 @@ config VIDEO_DT_SIMPLEFB
config VIDEO_MCDE_SIMPLE
bool "Simple driver for ST-Ericsson MCDE with preconfigured display"
@@ -2407,5 +2400,5 @@ index 95086f3a5d66..3291b3ceb8d5 100644
TIDSS supports video output options LVDS and
DPI . This option enables these supports which can be used on
--
-2.42.0
+2.45.2
diff --git a/config/u-boot/default/patches/0004-HACK-regulator-Don-t-error-on-reentrant-regulator-ac.patch b/config/u-boot/default/patches/0004-HACK-regulator-Don-t-error-on-reentrant-regulator-ac.patch
deleted file mode 100644
index 3a66b99a..00000000
--- a/config/u-boot/default/patches/0004-HACK-regulator-Don-t-error-on-reentrant-regulator-ac.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 2ab104621dc97a89bc8f75e3b5903b83e793baf8 Mon Sep 17 00:00:00 2001
-From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
-Date: Sat, 19 Aug 2023 16:43:58 +0300
-Subject: [PATCH] HACK: regulator: Don't error on reentrant regulator actions
-
-Commit 4fcba5d556b42 ("regulator: implement basic reference counter")
-implements reference counting for regulator enable/disable actions, but
-does not update its callers to handle the error cases it adds. This
-breaks gru-kevin, report enabling the regulator as a success as a
-workaround. It would be better to fix the callers but that needs more
-debugging.
-
-Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
----
- drivers/power/regulator/regulator_common.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/power/regulator/regulator_common.c b/drivers/power/regulator/regulator_common.c
-index e26f5ebec347..1c2dfdf9b19d 100644
---- a/drivers/power/regulator/regulator_common.c
-+++ b/drivers/power/regulator/regulator_common.c
-@@ -75,7 +75,7 @@ int regulator_common_set_enable(const struct udevice *dev,
- /* If previously enabled, increase count */
- if (enable && plat->enable_count > 0) {
- plat->enable_count++;
-- return -EALREADY;
-+ return 0;
- }
-
- if (!enable) {
-@@ -85,7 +85,7 @@ int regulator_common_set_enable(const struct udevice *dev,
- return -EBUSY;
- } else if (!plat->enable_count) {
- /* If already disabled, do nothing */
-- return -EALREADY;
-+ return 0;
- }
- }
-
---
-2.42.0
-
diff --git a/config/u-boot/default/patches/0005-HACK-rockchip-Remove-binman-image-descriptions.patch b/config/u-boot/default/patches/0005-HACK-rockchip-Remove-binman-image-descriptions.patch
deleted file mode 100644
index ac3ada3b..00000000
--- a/config/u-boot/default/patches/0005-HACK-rockchip-Remove-binman-image-descriptions.patch
+++ /dev/null
@@ -1,307 +0,0 @@
-From b14bc4a5d8dc31294dde4ee9ce8008d763c695de Mon Sep 17 00:00:00 2001
-From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
-Date: Fri, 13 Oct 2023 14:06:26 +0300
-Subject: [PATCH] HACK: rockchip: Remove binman image descriptions
-
-For Rockchip boards binman tries to build SPI and MMC images that
-require an externally built BL31 file to be provided, and the build
-fails otherwise. This is not really as configurable as it should be.
-
-Some downstreams only care about build outputs for U-Boot proper. As a
-hack to make sure they can do so without building BL31, remove the
-binman image descriptions from the device-tree sources. However,
-BINMAN_FDT expects these to be present and has to be disabled as well.
-
-Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
----
- arch/arm/dts/rk3288-u-boot.dtsi | 24 ----
- arch/arm/dts/rk3399-gru-u-boot.dtsi | 6 -
- arch/arm/dts/rk3399-u-boot.dtsi | 25 ----
- arch/arm/dts/rockchip-u-boot.dtsi | 186 ----------------------------
- 4 files changed, 241 deletions(-)
-
-diff --git a/arch/arm/dts/rk3288-u-boot.dtsi b/arch/arm/dts/rk3288-u-boot.dtsi
-index c4c5a2d225c4..432ab92d97c9 100644
---- a/arch/arm/dts/rk3288-u-boot.dtsi
-+++ b/arch/arm/dts/rk3288-u-boot.dtsi
-@@ -55,30 +55,6 @@ noc: syscon@ffac0000 {
- };
- };
-
--#if defined(CONFIG_ROCKCHIP_SPI_IMAGE) && defined(CONFIG_HAS_ROM)
--&binman {
-- rom {
-- filename = "u-boot.rom";
-- size = <0x400000>;
-- pad-byte = <0xff>;
--
-- mkimage {
-- args = "-n rk3288 -T rkspi";
-- u-boot-spl {
-- };
-- };
-- u-boot-img {
-- offset = <0x20000>;
-- };
-- u-boot {
-- offset = <0x300000>;
-- };
-- fdtmap {
-- };
-- };
--};
--#endif
--
- &bus_intmem {
- ddr_sram: ddr-sram@1000 {
- compatible = "rockchip,rk3288-ddr-sram";
-diff --git a/arch/arm/dts/rk3399-gru-u-boot.dtsi b/arch/arm/dts/rk3399-gru-u-boot.dtsi
-index b1604a6872c0..54296b4d7a1c 100644
---- a/arch/arm/dts/rk3399-gru-u-boot.dtsi
-+++ b/arch/arm/dts/rk3399-gru-u-boot.dtsi
-@@ -15,12 +15,6 @@ config {
- };
- };
-
--&binman {
-- rom {
-- size = <0x800000>;
-- };
--};
--
- &cros_ec {
- ec-interrupt = <&gpio0 RK_PA1 GPIO_ACTIVE_LOW>;
- };
-diff --git a/arch/arm/dts/rk3399-u-boot.dtsi b/arch/arm/dts/rk3399-u-boot.dtsi
-index 3423b882c437..0bf4c481b39a 100644
---- a/arch/arm/dts/rk3399-u-boot.dtsi
-+++ b/arch/arm/dts/rk3399-u-boot.dtsi
-@@ -60,31 +60,6 @@ pmusgrf: syscon@ff330000 {
-
- };
-
--#if defined(CONFIG_ROCKCHIP_SPI_IMAGE) && defined(CONFIG_HAS_ROM)
--&binman {
-- multiple-images;
-- rom {
-- filename = "u-boot.rom";
-- size = <0x400000>;
-- pad-byte = <0xff>;
--
-- mkimage {
-- args = "-n rk3399 -T rkspi";
-- u-boot-spl {
-- };
-- };
-- u-boot-img {
-- offset = <0x40000>;
-- };
-- u-boot {
-- offset = <0x300000>;
-- };
-- fdtmap {
-- };
-- };
--};
--#endif /* CONFIG_ROCKCHIP_SPI_IMAGE && CONFIG_HAS_ROM */
--
- &cru {
- bootph-all;
- };
-diff --git a/arch/arm/dts/rockchip-u-boot.dtsi b/arch/arm/dts/rockchip-u-boot.dtsi
-index be2658e8ef18..3d55553e4401 100644
---- a/arch/arm/dts/rockchip-u-boot.dtsi
-+++ b/arch/arm/dts/rockchip-u-boot.dtsi
-@@ -10,189 +10,3 @@ binman: binman {
- multiple-images;
- };
- };
--
--#ifdef CONFIG_SPL
--&binman {
-- simple-bin {
-- filename = "u-boot-rockchip.bin";
-- pad-byte = <0xff>;
--
-- mkimage {
-- filename = "idbloader.img";
-- args = "-n", CONFIG_SYS_SOC, "-T", "rksd";
-- multiple-data-files;
--
--#ifdef CONFIG_ROCKCHIP_EXTERNAL_TPL
-- rockchip-tpl {
-- };
--#elif defined(CONFIG_TPL)
-- u-boot-tpl {
-- };
--#endif
-- u-boot-spl {
-- };
-- };
--
--#if defined(CONFIG_SPL_FIT) && (defined(CONFIG_ARM64) || defined(CONFIG_SPL_OPTEE_IMAGE))
-- fit: fit {
--#ifdef CONFIG_ARM64
-- description = "FIT image for U-Boot with bl31 (TF-A)";
--#else
-- description = "FIT image with OP-TEE";
--#endif
-- #address-cells = <1>;
-- fit,fdt-list = "of-list";
-- filename = "u-boot.itb";
-- fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
-- fit,align = <512>;
-- offset = <CONFIG_SPL_PAD_TO>;
-- images {
-- u-boot {
-- description = "U-Boot";
-- type = "standalone";
-- os = "U-Boot";
--#ifdef CONFIG_ARM64
-- arch = "arm64";
--#else
-- arch = "arm";
--#endif
-- compression = "none";
-- load = <CONFIG_TEXT_BASE>;
-- entry = <CONFIG_TEXT_BASE>;
-- u-boot-nodtb {
-- };
--#ifdef CONFIG_SPL_FIT_SIGNATURE
-- hash {
-- algo = "sha256";
-- };
--#endif
-- };
--
--#ifdef CONFIG_ARM64
-- @atf-SEQ {
-- fit,operation = "split-elf";
-- description = "ARM Trusted Firmware";
-- type = "firmware";
-- arch = "arm64";
-- os = "arm-trusted-firmware";
-- compression = "none";
-- fit,load;
-- fit,entry;
-- fit,data;
--
-- atf-bl31 {
-- };
--#ifdef CONFIG_SPL_FIT_SIGNATURE
-- hash {
-- algo = "sha256";
-- };
--#endif
-- };
-- @tee-SEQ {
-- fit,operation = "split-elf";
-- description = "TEE";
-- type = "tee";
-- arch = "arm64";
-- os = "tee";
-- compression = "none";
-- fit,load;
-- fit,entry;
-- fit,data;
--
-- tee-os {
-- optional;
-- };
--#ifdef CONFIG_SPL_FIT_SIGNATURE
-- hash {
-- algo = "sha256";
-- };
--#endif
-- };
--#else
-- op-tee {
-- description = "OP-TEE";
-- type = "tee";
-- arch = "arm";
-- os = "tee";
-- compression = "none";
-- load = <(CFG_SYS_SDRAM_BASE + 0x8400000)>;
-- entry = <(CFG_SYS_SDRAM_BASE + 0x8400000)>;
--
-- tee-os {
-- };
--#ifdef CONFIG_SPL_FIT_SIGNATURE
-- hash {
-- algo = "sha256";
-- };
--#endif
-- };
--#endif
--
-- @fdt-SEQ {
-- description = "fdt-NAME";
-- compression = "none";
-- type = "flat_dt";
--#ifdef CONFIG_SPL_FIT_SIGNATURE
-- hash {
-- algo = "sha256";
-- };
--#endif
-- };
-- };
--
-- configurations {
-- default = "@config-DEFAULT-SEQ";
-- @config-SEQ {
-- description = "NAME.dtb";
-- fdt = "fdt-SEQ";
--#ifdef CONFIG_ARM64
-- fit,firmware = "atf-1", "u-boot";
--#else
-- fit,firmware = "op-tee", "u-boot";
--#endif
-- fit,loadables;
-- };
-- };
-- };
--#else
-- u-boot-img {
-- offset = <CONFIG_SPL_PAD_TO>;
-- };
--#endif
-- };
--
--#ifdef CONFIG_ROCKCHIP_SPI_IMAGE
-- simple-bin-spi {
-- filename = "u-boot-rockchip-spi.bin";
-- pad-byte = <0xff>;
--
-- mkimage {
-- filename = "idbloader-spi.img";
-- args = "-n", CONFIG_SYS_SOC, "-T", "rkspi";
-- multiple-data-files;
--
--#ifdef CONFIG_ROCKCHIP_EXTERNAL_TPL
-- rockchip-tpl {
-- };
--#elif defined(CONFIG_TPL)
-- u-boot-tpl {
-- };
--#endif
-- u-boot-spl {
-- };
-- };
--
--#if defined(CONFIG_ARM64) || defined(CONFIG_SPL_OPTEE_IMAGE)
-- fit {
-- type = "blob";
-- filename = "u-boot.itb";
--#else
-- u-boot-img {
--#endif
-- /* Sync with u-boot,spl-payload-offset if present */
-- offset = <CONFIG_SYS_SPI_U_BOOT_OFFS>;
-- };
-- };
--#endif /* CONFIG_ROCKCHIP_SPI_IMAGE */
--};
--#endif /* CONFIG_SPL */
---
-2.42.0
-
diff --git a/config/u-boot/default/patches/0006-arm-qemu-Enable-Bochs-console-buffering-USB-keyboard.patch b/config/u-boot/default/patches/0006-arm-qemu-Enable-Bochs-console-buffering-USB-keyboard.patch
deleted file mode 100644
index 7aa4e526..00000000
--- a/config/u-boot/default/patches/0006-arm-qemu-Enable-Bochs-console-buffering-USB-keyboard.patch
+++ /dev/null
@@ -1,348 +0,0 @@
-From 2957e8bf43edf8de6e579ce1ed7f95e5bb4a1437 Mon Sep 17 00:00:00 2001
-From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
-Date: Mon, 14 Aug 2023 20:39:41 +0300
-Subject: [PATCH 1/4] arm: qemu: Enable Bochs video support
-
-Commit 716161663ec49 ("riscv: qemu: Enable Bochs video support") enables
-a video console for QEMU RISC-V virtual machines using an emulated Bochs
-VGA card. Similarly, enable it for ARM virtual machines as well.
-
-Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
-Reviewed-by: Bin Meng <bmeng@tinylab.org>
-Link: https://lore.kernel.org/u-boot/20230814173944.288356-2-alpernebiyasak@gmail.com/
----
- arch/arm/Kconfig | 4 ++++
- board/emulation/qemu-arm/qemu-arm.env | 3 +++
- doc/board/emulation/qemu-arm.rst | 4 ++++
- 3 files changed, 11 insertions(+)
-
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 328e2ddc33af..d96e230e9ee8 100644
---- a/arch/arm/Kconfig
-+++ b/arch/arm/Kconfig
-@@ -1036,6 +1036,10 @@ config ARCH_QEMU
- imply DM_RTC
- imply RTC_PL031
- imply OF_HAS_PRIOR_STAGE
-+ imply VIDEO
-+ imply VIDEO_BOCHS
-+ imply SYS_WHITE_ON_BLACK
-+ imply SYS_CONSOLE_IS_IN_ENV
-
- config ARCH_RMOBILE
- bool "Renesas ARM SoCs"
-diff --git a/board/emulation/qemu-arm/qemu-arm.env b/board/emulation/qemu-arm/qemu-arm.env
-index e658d5ee7d63..86a99a2e8713 100644
---- a/board/emulation/qemu-arm/qemu-arm.env
-+++ b/board/emulation/qemu-arm/qemu-arm.env
-@@ -2,6 +2,9 @@
-
- /* environment for qemu-arm and qemu-arm64 */
-
-+stdin=serial
-+stdout=serial,vidconsole
-+stderr=serial,vidconsole
- fdt_high=0xffffffff
- initrd_high=0xffffffff
- fdt_addr=0x40000000
-diff --git a/doc/board/emulation/qemu-arm.rst b/doc/board/emulation/qemu-arm.rst
-index 7291fa4a3150..c423fce76edd 100644
---- a/doc/board/emulation/qemu-arm.rst
-+++ b/doc/board/emulation/qemu-arm.rst
-@@ -67,6 +67,10 @@ Additional persistent U-Boot environment support can be added as follows:
- Additional peripherals that have been tested to work in both U-Boot and Linux
- can be enabled with the following command line parameters:
-
-+- To add a video console, remove "-nographic" and add e.g.::
-+
-+ -serial stdio -device VGA
-+
- - To add a Serial ATA disk via an Intel ICH9 AHCI controller, pass e.g.::
-
- -drive if=none,file=disk.img,format=raw,id=mydisk \
---
-2.42.0
-
-
-From 5330bc1c2ad84ba9ecc473f8c24d6e15b366adf9 Mon Sep 17 00:00:00 2001
-From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
-Date: Mon, 14 Aug 2023 20:39:42 +0300
-Subject: [PATCH 2/4] arm: qemu: Enable PRE_CONSOLE_BUFFER
-
-Commit 608b80b5b855 ("riscv: qemu: Enable PRE_CONSOLE_BUFFER") enables
-buffering console messages for QEMU RISC-V virtual machines so those
-printed before the video console is available will still show up on the
-display. Similarly, enable it for ARM virtual machines as well.
-
-Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
-Reviewed-by: Simon Glass <sjg@chromium.org>
-Reviewed-by: Bin Meng <bmeng@tinylab.org>
-Link: https://lore.kernel.org/u-boot/20230814173944.288356-3-alpernebiyasak@gmail.com/
----
- arch/arm/Kconfig | 1 +
- board/emulation/qemu-arm/Kconfig | 4 ++++
- 2 files changed, 5 insertions(+)
-
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index d96e230e9ee8..1cc2be55140a 100644
---- a/arch/arm/Kconfig
-+++ b/arch/arm/Kconfig
-@@ -1040,6 +1040,7 @@ config ARCH_QEMU
- imply VIDEO_BOCHS
- imply SYS_WHITE_ON_BLACK
- imply SYS_CONSOLE_IS_IN_ENV
-+ imply PRE_CONSOLE_BUFFER
-
- config ARCH_RMOBILE
- bool "Renesas ARM SoCs"
-diff --git a/board/emulation/qemu-arm/Kconfig b/board/emulation/qemu-arm/Kconfig
-index ed9949651c4b..09c95413a541 100644
---- a/board/emulation/qemu-arm/Kconfig
-+++ b/board/emulation/qemu-arm/Kconfig
-@@ -12,6 +12,10 @@ config BOARD_SPECIFIC_OPTIONS # dummy
- imply VIRTIO_NET
- imply VIRTIO_BLK
-
-+config PRE_CON_BUF_ADDR
-+ hex
-+ default 0x40100000
-+
- endif
-
- if TARGET_QEMU_ARM_64BIT && !TFABOOT
---
-2.42.0
-
-
-From 7f666214855d062dc939ff54a0fa52fbde9f0391 Mon Sep 17 00:00:00 2001
-From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
-Date: Mon, 14 Aug 2023 20:39:43 +0300
-Subject: [PATCH 3/4] arm: qemu: Enable usb keyboard as an input device
-
-Commit 02be57caf730 ("riscv: qemu: Enable usb keyboard as an input
-device") adds PCI xHCI support to QEMU RISC-V virtual machines and
-enables using a USB keyboard as one of the input devices. Similarly,
-enable those for ARM virtual machines as well.
-
-Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
-Reviewed-by: Simon Glass <sjg@chromium.org>
-Reviewed-by: Bin Meng <bmeng@tinylab.org>
-Link: https://lore.kernel.org/u-boot/20230814173944.288356-4-alpernebiyasak@gmail.com/
----
- arch/arm/Kconfig | 5 +++++
- board/emulation/qemu-arm/qemu-arm.c | 5 +++++
- board/emulation/qemu-arm/qemu-arm.env | 2 +-
- configs/qemu_arm64_defconfig | 2 --
- configs/qemu_arm_defconfig | 2 --
- doc/board/emulation/qemu-arm.rst | 4 ++++
- 6 files changed, 15 insertions(+), 5 deletions(-)
-
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 1cc2be55140a..4c739bd9bc82 100644
---- a/arch/arm/Kconfig
-+++ b/arch/arm/Kconfig
-@@ -1041,6 +1041,11 @@ config ARCH_QEMU
- imply SYS_WHITE_ON_BLACK
- imply SYS_CONSOLE_IS_IN_ENV
- imply PRE_CONSOLE_BUFFER
-+ imply USB
-+ imply USB_XHCI_HCD
-+ imply USB_XHCI_PCI
-+ imply USB_KEYBOARD
-+ imply CMD_USB
-
- config ARCH_RMOBILE
- bool "Renesas ARM SoCs"
-diff --git a/board/emulation/qemu-arm/qemu-arm.c b/board/emulation/qemu-arm/qemu-arm.c
-index dfea0d92a3c8..942f1fff5717 100644
---- a/board/emulation/qemu-arm/qemu-arm.c
-+++ b/board/emulation/qemu-arm/qemu-arm.c
-@@ -11,6 +11,7 @@
- #include <fdtdec.h>
- #include <init.h>
- #include <log.h>
-+#include <usb.h>
- #include <virtio_types.h>
- #include <virtio.h>
-
-@@ -114,6 +115,10 @@ int board_late_init(void)
- */
- virtio_init();
-
-+ /* start usb so that usb keyboard can be used as input device */
-+ if (CONFIG_IS_ENABLED(USB_KEYBOARD))
-+ usb_init();
-+
- return 0;
- }
-
-diff --git a/board/emulation/qemu-arm/qemu-arm.env b/board/emulation/qemu-arm/qemu-arm.env
-index 86a99a2e8713..fb4adef281ed 100644
---- a/board/emulation/qemu-arm/qemu-arm.env
-+++ b/board/emulation/qemu-arm/qemu-arm.env
-@@ -2,7 +2,7 @@
-
- /* environment for qemu-arm and qemu-arm64 */
-
--stdin=serial
-+stdin=serial,usbkbd
- stdout=serial,vidconsole
- stderr=serial,vidconsole
- fdt_high=0xffffffff
-diff --git a/configs/qemu_arm64_defconfig b/configs/qemu_arm64_defconfig
-index 94bd96678443..f6b8ae530a4a 100644
---- a/configs/qemu_arm64_defconfig
-+++ b/configs/qemu_arm64_defconfig
-@@ -35,7 +35,6 @@ CONFIG_CMD_NVEDIT_EFI=y
- CONFIG_CMD_DFU=y
- CONFIG_CMD_MTD=y
- CONFIG_CMD_PCI=y
--CONFIG_CMD_USB=y
- CONFIG_CMD_TPM=y
- CONFIG_CMD_MTDPARTS=y
- CONFIG_ENV_IS_IN_FLASH=y
-@@ -68,7 +67,6 @@ CONFIG_SYSRESET=y
- CONFIG_SYSRESET_CMD_POWEROFF=y
- CONFIG_SYSRESET_PSCI=y
- CONFIG_TPM2_MMIO=y
--CONFIG_USB=y
- CONFIG_USB_EHCI_HCD=y
- CONFIG_USB_EHCI_PCI=y
- CONFIG_TPM=y
-diff --git a/configs/qemu_arm_defconfig b/configs/qemu_arm_defconfig
-index 7cb1e9f037ff..1347b86f34b1 100644
---- a/configs/qemu_arm_defconfig
-+++ b/configs/qemu_arm_defconfig
-@@ -36,7 +36,6 @@ CONFIG_CMD_NVEDIT_EFI=y
- CONFIG_CMD_DFU=y
- CONFIG_CMD_MTD=y
- CONFIG_CMD_PCI=y
--CONFIG_CMD_USB=y
- CONFIG_CMD_TPM=y
- CONFIG_CMD_MTDPARTS=y
- CONFIG_ENV_IS_IN_FLASH=y
-@@ -69,7 +68,6 @@ CONFIG_SYSRESET=y
- CONFIG_SYSRESET_CMD_POWEROFF=y
- CONFIG_SYSRESET_PSCI=y
- CONFIG_TPM2_MMIO=y
--CONFIG_USB=y
- CONFIG_USB_EHCI_HCD=y
- CONFIG_USB_EHCI_PCI=y
- CONFIG_TPM=y
-diff --git a/doc/board/emulation/qemu-arm.rst b/doc/board/emulation/qemu-arm.rst
-index c423fce76edd..5481ef6da328 100644
---- a/doc/board/emulation/qemu-arm.rst
-+++ b/doc/board/emulation/qemu-arm.rst
-@@ -84,6 +84,10 @@ can be enabled with the following command line parameters:
-
- -device usb-ehci,id=ehci
-
-+- To add a USB keyboard attached to an emulated xHCI controller, pass e.g.::
-+
-+ -device qemu-xhci,id=xhci -device usb-kbd,bus=xhci.0
-+
- - To add an NVMe disk, pass e.g.::
-
- -drive if=none,file=disk.img,id=mydisk -device nvme,drive=mydisk,serial=foo
---
-2.42.0
-
-
-From fcc1b6cb56beaaf90bf80928627a606f33a42c3c Mon Sep 17 00:00:00 2001
-From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
-Date: Mon, 14 Aug 2023 20:39:44 +0300
-Subject: [PATCH 4/4] doc: qemu: arm: Add a section on booting Linux distros
-
-Add an example qemu-system-aarch64 command that can make U-Boot on QEMU
-boot into the Debian Installer, along with resulting console messages
-from U-Boot, based on the existing documentation section for the x86
-version.
-
-Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
-Link: https://lore.kernel.org/u-boot/20230814173944.288356-5-alpernebiyasak@gmail.com/
----
- doc/board/emulation/qemu-arm.rst | 68 ++++++++++++++++++++++++++++++++
- 1 file changed, 68 insertions(+)
-
-diff --git a/doc/board/emulation/qemu-arm.rst b/doc/board/emulation/qemu-arm.rst
-index 5481ef6da328..1c91c7f3ac67 100644
---- a/doc/board/emulation/qemu-arm.rst
-+++ b/doc/board/emulation/qemu-arm.rst
-@@ -98,6 +98,74 @@ can be enabled with the following command line parameters:
-
- These have been tested in QEMU 2.9.0 but should work in at least 2.5.0 as well.
-
-+Booting distros
-+---------------
-+
-+It is possible to install and boot a standard Linux distribution using
-+qemu_arm64 by setting up a root disk::
-+
-+ qemu-img create root.img 20G
-+
-+then using the installer to install. For example, with Debian 12::
-+
-+ qemu-system-aarch64 \
-+ -machine virt -cpu cortex-a53 -m 4G -smp 4 \
-+ -bios u-boot.bin \
-+ -serial stdio -device VGA \
-+ -nic user,model=virtio-net-pci \
-+ -device virtio-rng-pci \
-+ -device qemu-xhci,id=xhci \
-+ -device usb-kbd -device usb-tablet \
-+ -drive if=virtio,file=debian-12.0.0-arm64-netinst.iso,format=raw,readonly=on,media=cdrom \
-+ -drive if=virtio,file=root.img,format=raw,media=disk
-+
-+The output will be something like this::
-+
-+ U-Boot 2023.10-rc2-00075-gbe8fbe718e35 (Aug 11 2023 - 08:38:49 +0000)
-+
-+ DRAM: 4 GiB
-+ Core: 51 devices, 14 uclasses, devicetree: board
-+ Flash: 64 MiB
-+ Loading Environment from Flash... *** Warning - bad CRC, using default environment
-+
-+ In: serial,usbkbd
-+ Out: serial,vidconsole
-+ Err: serial,vidconsole
-+ Bus xhci_pci: Register 8001040 NbrPorts 8
-+ Starting the controller
-+ USB XHCI 1.00
-+ scanning bus xhci_pci for devices... 3 USB Device(s) found
-+ Net: eth0: virtio-net#32
-+ Hit any key to stop autoboot: 0
-+ Scanning for bootflows in all bootdevs
-+ Seq Method State Uclass Part Name Filename
-+ --- ----------- ------ -------- ---- ------------------------ ----------------
-+ Scanning global bootmeth 'efi_mgr':
-+ Scanning bootdev 'fw-cfg@9020000.bootdev':
-+ fatal: no kernel available
-+ scanning bus for devices...
-+ Scanning bootdev 'virtio-blk#34.bootdev':
-+ 0 efi ready virtio 2 virtio-blk#34.bootdev.par efi/boot/bootaa64.efi
-+ ** Booting bootflow 'virtio-blk#34.bootdev.part_2' with efi
-+ Using prior-stage device tree
-+ Failed to load EFI variables
-+ Error: writing contents
-+ ** Unable to write file ubootefi.var **
-+ Failed to persist EFI variables
-+ Missing TPMv2 device for EFI_TCG_PROTOCOL
-+ Booting /efi\boot\bootaa64.efi
-+ Error: writing contents
-+ ** Unable to write file ubootefi.var **
-+ Failed to persist EFI variables
-+ Welcome to GRUB!
-+
-+Standard boot looks through various available devices and finds the virtio
-+disks, then boots from the first one. After a second or so the grub menu appears
-+and you can work through the installer flow normally.
-+
-+After the installation, you can boot into the installed system by running QEMU
-+again without the drive argument corresponding to the installer CD image.
-+
- Enabling TPMv2 support
- ----------------------
-
---
-2.42.0
-
diff --git a/config/u-boot/default/target.cfg b/config/u-boot/default/target.cfg
index cdbb5216..8d6af6d9 100644
--- a/config/u-boot/default/target.cfg
+++ b/config/u-boot/default/target.cfg
@@ -1,2 +1,2 @@
tree="default"
-rev="4459ed60cb1e0562bc5b40405e2b4b9bbf766d57" # v2023.10
+rev="3f772959501c99fbe5aa0b22a36efe3478d1ae1c" # v2024.07
diff --git a/config/u-boot/gru_bob/config/default b/config/u-boot/gru_bob/config/default
index 2bcbe3d8..da088ef0 100644
--- a/config/u-boot/gru_bob/config/default
+++ b/config/u-boot/gru_bob/config/default
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# U-Boot 2023.10 Configuration
+# U-Boot 2024.07 Configuration
#
#
-# Compiler: gcc (Debian 13.2.0-5) 13.2.0
+# Compiler: gcc (Debian 13.3.0-2) 13.3.0
#
CONFIG_CREATE_ARCH_SYMLINK=y
CONFIG_SYS_CACHE_SHIFT_6=y
+CONFIG_64BIT=y
CONFIG_SYS_CACHELINE_SIZE=64
CONFIG_LINKER_LIST_ALIGN=8
# CONFIG_ARC is not set
@@ -40,7 +41,7 @@ CONFIG_SKIP_LOWLEVEL_INIT=y
# CONFIG_SYS_ICACHE_OFF is not set
# CONFIG_SPL_SYS_ICACHE_OFF is not set
# CONFIG_SYS_DCACHE_OFF is not set
-# CONFIG_SPL_SYS_DCACHE_OFF is not set
+CONFIG_SPL_SYS_DCACHE_OFF=y
#
# ARM architecture
@@ -53,6 +54,7 @@ CONFIG_INIT_SP_RELATIVE=y
CONFIG_SYS_INIT_SP_BSS_OFFSET=524288
CONFIG_LNX_KRNL_IMG_TEXT_OFFSET_BASE=0x18000000
# CONFIG_GIC_V3_ITS is not set
+# CONFIG_GICV3_SUPPORT_GIC600 is not set
CONFIG_STATIC_RELA=y
CONFIG_DMA_ADDR_T_64BIT=y
CONFIG_ARM_ASM_UNIFIED=y
@@ -81,13 +83,11 @@ CONFIG_ARM64_SUPPORT_AARCH32=y
# CONFIG_ARCH_KIRKWOOD is not set
# CONFIG_ARCH_MVEBU is not set
# CONFIG_ARCH_ORION5X is not set
-# CONFIG_TARGET_STV0991 is not set
# CONFIG_ARCH_BCM283X is not set
# CONFIG_ARCH_BCMSTB is not set
# CONFIG_ARCH_BCMBCA is not set
# CONFIG_TARGET_VEXPRESS_CA9X4 is not set
# CONFIG_TARGET_BCMNS is not set
-# CONFIG_TARGET_BCMNS2 is not set
# CONFIG_TARGET_BCMNS3 is not set
# CONFIG_ARCH_EXYNOS is not set
# CONFIG_ARCH_S5PC1XX is not set
@@ -117,7 +117,7 @@ CONFIG_ARM64_SUPPORT_AARCH32=y
# CONFIG_ARCH_APPLE is not set
# CONFIG_ARCH_OWL is not set
# CONFIG_ARCH_QEMU is not set
-# CONFIG_ARCH_RMOBILE is not set
+# CONFIG_ARCH_RENESAS is not set
# CONFIG_ARCH_SNAPDRAGON is not set
# CONFIG_ARCH_SOCFPGA is not set
# CONFIG_ARCH_SUNXI is not set
@@ -176,6 +176,7 @@ CONFIG_ARCH_ROCKCHIP=y
# CONFIG_ARCH_ASPEED is not set
# CONFIG_TARGET_DURIAN is not set
# CONFIG_TARGET_POMELO is not set
+# CONFIG_TARGET_PE2201 is not set
# CONFIG_TARGET_PRESIDIO_ASIC is not set
# CONFIG_TARGET_XENGUEST_ARM64 is not set
# CONFIG_ARCH_GXP is not set
@@ -194,10 +195,9 @@ CONFIG_SF_DEFAULT_MODE=0x0
CONFIG_ENV_SIZE=0x8000
CONFIG_DM_GPIO=y
CONFIG_SPL_DM_SPI=y
-CONFIG_DEFAULT_DEVICE_TREE="rk3399-gru-bob"
+CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-gru-bob"
CONFIG_SPL_TEXT_BASE=0xff8c2000
-CONFIG_BOARD_SPECIFIC_OPTIONS=y
-# CONFIG_OF_LIBFDT_OVERLAY is not set
+CONFIG_OF_LIBFDT_OVERLAY=y
CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000
CONFIG_DM_RESET=y
CONFIG_SYS_MONITOR_LEN=0
@@ -227,13 +227,15 @@ CONFIG_ROCKCHIP_STIMER=y
CONFIG_ROCKCHIP_STIMER_BASE=0xff8680a0
CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x4000
# CONFIG_SPL_ROCKCHIP_EARLYRETURN_TO_BROM is not set
+CONFIG_ROCKCHIP_DISABLE_FORCE_JTAG=y
# CONFIG_SPL_MMC is not set
CONFIG_ROCKCHIP_SPI_IMAGE=y
+CONFIG_ROCKCHIP_COMMON_STACK_ADDR=y
CONFIG_SPL_SERIAL=y
CONFIG_TPL_LDSCRIPT="arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
CONFIG_TPL_TEXT_BASE=0xff8c2000
CONFIG_TPL_STACK=0xff8effff
-CONFIG_SPL_DRIVERS_MISC=y
+# CONFIG_SPL_DRIVERS_MISC is not set
CONFIG_SPL_STACK_R_ADDR=0x04000000
CONFIG_TARGET_CHROMEBOOK_BOB=y
# CONFIG_TARGET_CHROMEBOOK_KEVIN is not set
@@ -242,16 +244,23 @@ CONFIG_TARGET_CHROMEBOOK_BOB=y
# CONFIG_TARGET_PINEPHONE_PRO_RK3399 is not set
# CONFIG_TARGET_PUMA_RK3399 is not set
# CONFIG_TARGET_ROCK960_RK3399 is not set
+# CONFIG_TARGET_ROCKPI4_RK3399 is not set
# CONFIG_TARGET_ROCKPRO64_RK3399 is not set
# CONFIG_TARGET_ROC_PC_RK3399 is not set
CONFIG_SPL_STACK=0xff8effff
CONFIG_SPL_SYS_MALLOC_F_LEN=0x4000
+CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
+CONFIG_SPL_BSS_START_ADDR=0xff8e0000
+CONFIG_SPL_BSS_MAX_SIZE=0x10000
+CONFIG_SPL_STACK_R=y
+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x4000
+CONFIG_SPL_SYS_MALLOC_F=y
CONFIG_ERR_PTR_OFFSET=0x0
CONFIG_SPL_SIZE_LIMIT=0x0
CONFIG_SPL=y
CONFIG_PRE_CON_BUF_ADDR=0x0f200000
CONFIG_PRE_CON_BUF_SZ=4096
-CONFIG_BOOTSTAGE_STASH_ADDR=0
+CONFIG_BOOTSTAGE_STASH_ADDR=0x0
CONFIG_DEBUG_UART_BASE=0xff1a0000
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_DEBUG_UART_BOARD_INIT=y
@@ -265,7 +274,7 @@ CONFIG_SPL_SPI=y
# CONFIG_CMO_BY_VA_ONLY is not set
# CONFIG_ARMV8_SPL_EXCEPTION_VECTORS is not set
# CONFIG_ARMV8_MULTIENTRY is not set
-# CONFIG_ARMV8_SET_SMPEN is not set
+CONFIG_ARMV8_SET_SMPEN=y
# CONFIG_ARMV8_SWITCH_TO_EL1 is not set
#
@@ -277,7 +286,9 @@ CONFIG_SPL_SPI=y
CONFIG_PSCI_RESET=y
# CONFIG_ARMV8_PSCI is not set
# CONFIG_ARMV8_EA_EL3_FIRST is not set
-# CONFIG_ARMV8_CRYPTO is not set
+CONFIG_ARMV8_CRYPTO=y
+CONFIG_ARMV8_CE_SHA1=y
+CONFIG_ARMV8_CE_SHA256=y
# CONFIG_CMD_DEKBLOB is not set
# CONFIG_IMX_CAAM_DEK_ENCAP is not set
# CONFIG_IMX_OPTEE_DEK_ENCAP is not set
@@ -285,8 +296,6 @@ CONFIG_PSCI_RESET=y
# CONFIG_IMX_ELE_DEK_ENCAP is not set
# CONFIG_CMD_HDMIDETECT is not set
CONFIG_IMX_DCD_ADDR=0x00910000
-# CONFIG_SPL_LOAD_IMX_CONTAINER is not set
-CONFIG_IMX_CONTAINER_CFG=""
CONFIG_SYS_MEM_TOP_HIDE=0x0
CONFIG_SYS_LOAD_ADDR=0x800800
@@ -313,7 +322,7 @@ CONFIG_DEBUG_UART=y
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=130200
+CONFIG_GCC_VERSION=130300
CONFIG_CLANG_VERSION=0
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set
@@ -346,6 +355,10 @@ CONFIG_STACK_SIZE=0x1000000
CONFIG_SYS_SRAM_BASE=0x0
CONFIG_SYS_SRAM_SIZE=0x0
# CONFIG_MP is not set
+CONFIG_HAVE_TEXT_BASE=y
+# CONFIG_HAVE_SYS_UBOOT_START is not set
+CONFIG_SYS_UBOOT_START=0x18000000
+# CONFIG_DYNAMIC_SYS_CLK_FREQ is not set
# CONFIG_API is not set
#
@@ -356,8 +369,8 @@ CONFIG_SYS_SRAM_SIZE=0x0
# Boot images
#
# CONFIG_ANDROID_BOOT_IMAGE is not set
-CONFIG_FIT=y
# CONFIG_TIMESTAMP is not set
+CONFIG_FIT=y
CONFIG_FIT_EXTERNAL_OFFSET=0x0
CONFIG_FIT_FULL_CHECK=y
# CONFIG_FIT_SIGNATURE is not set
@@ -377,6 +390,8 @@ CONFIG_SPL_LOAD_FIT_ADDRESS=0x0
CONFIG_SPL_FIT_SOURCE=""
# CONFIG_USE_SPL_FIT_GENERATOR is not set
CONFIG_PXE_UTILS=y
+CONFIG_BOOT_DEFAULTS_FEATURES=y
+CONFIG_BOOT_DEFAULTS_CMDS=y
CONFIG_BOOT_DEFAULTS=y
CONFIG_BOOTSTD=y
# CONFIG_SPL_BOOTSTD is not set
@@ -384,9 +399,11 @@ CONFIG_BOOTSTD_FULL=y
CONFIG_BOOTSTD_DEFAULTS=y
CONFIG_BOOTSTD_BOOTCOMMAND=y
CONFIG_BOOTMETH_GLOBAL=y
+# CONFIG_BOOTMETH_CROS is not set
CONFIG_BOOTMETH_EXTLINUX=y
CONFIG_BOOTMETH_EXTLINUX_PXE=y
CONFIG_BOOTMETH_EFILOADER=y
+CONFIG_BOOTMETH_EFI_BOOTMGR=y
CONFIG_BOOTMETH_VBE=y
CONFIG_BOOTMETH_DISTRO=y
# CONFIG_SPL_BOOTMETH_VBE is not set
@@ -398,13 +415,8 @@ CONFIG_BOOTMETH_VBE_SIMPLE_OS=y
CONFIG_EXPO=y
CONFIG_BOOTMETH_SCRIPT=y
CONFIG_LEGACY_IMAGE_FORMAT=y
+CONFIG_SYS_BOOTM_LEN=0x4000000
CONFIG_SUPPORT_RAW_INITRD=y
-# CONFIG_OF_BOARD_SETUP is not set
-# CONFIG_OF_SYSTEM_SETUP is not set
-# CONFIG_OF_STDOUT_VIA_ALIAS is not set
-CONFIG_HAVE_TEXT_BASE=y
-# CONFIG_DYNAMIC_SYS_CLK_FREQ is not set
-CONFIG_ARCH_FIXUP_FDT_MEMORY=y
# CONFIG_CHROMEOS is not set
# CONFIG_CHROMEOS_VBOOT is not set
# CONFIG_RAMBOOT_PBL is not set
@@ -444,6 +456,17 @@ CONFIG_BOOTDELAY=2
# Image support
#
# CONFIG_IMAGE_PRE_LOAD is not set
+
+#
+# Devicetree fixup
+#
+# CONFIG_OF_ENV_SETUP is not set
+# CONFIG_OF_BOARD_SETUP is not set
+# CONFIG_OF_SYSTEM_SETUP is not set
+# CONFIG_OF_STDOUT_VIA_ALIAS is not set
+# CONFIG_FDT_FIXUP_PARTITIONS is not set
+# CONFIG_FDT_SIMPLEFB is not set
+CONFIG_ARCH_FIXUP_FDT_MEMORY=y
# CONFIG_USE_BOOTARGS is not set
# CONFIG_BOOTARGS_SUBST is not set
CONFIG_USE_BOOTCOMMAND=y
@@ -463,6 +486,8 @@ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-gru-bob.dtb"
#
CONFIG_MENU=y
# CONFIG_CONSOLE_RECORD is not set
+CONFIG_SYS_CBSIZE=1024
+CONFIG_SYS_PBSIZE=1044
# CONFIG_DISABLE_CONSOLE is not set
CONFIG_LOGLEVEL=4
CONFIG_SPL_LOGLEVEL=4
@@ -471,6 +496,7 @@ CONFIG_SPL_LOGLEVEL=4
# CONFIG_TPL_SILENT_CONSOLE is not set
CONFIG_PRE_CONSOLE_BUFFER=y
CONFIG_CONSOLE_FLUSH_SUPPORT=y
+# CONFIG_CONSOLE_FLUSH_ON_NEWLINE is not set
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_CONSOLE_IS_IN_ENV=y
# CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set
@@ -517,7 +543,7 @@ CONFIG_BOARD_EARLY_INIT_R=y
CONFIG_BOARD_LATE_INIT=y
# CONFIG_CLOCKS is not set
# CONFIG_HWCONFIG is not set
-# CONFIG_LAST_STAGE_INIT is not set
+CONFIG_LAST_STAGE_INIT=y
CONFIG_MISC_INIT_R=y
# CONFIG_SYS_MALLOC_BOOTPARAMS is not set
# CONFIG_ID_EEPROM is not set
@@ -557,14 +583,11 @@ CONFIG_SUPPORT_TPL=y
#
CONFIG_SPL_FRAMEWORK=y
# CONFIG_SPL_FRAMEWORK_BOARD_INIT_F is not set
-CONFIG_SPL_MAX_SIZE=0x2e000
+CONFIG_SPL_MAX_SIZE=0x1e000
CONFIG_SPL_PAD_TO=0x7f8000
-CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
-CONFIG_SPL_BSS_START_ADDR=0xff8e0000
# CONFIG_SPL_NO_BSS_LIMIT is not set
CONFIG_SPL_BSS_LIMIT=y
# CONFIG_SPL_FOOTPRINT_LIMIT is not set
-CONFIG_SPL_BSS_MAX_SIZE=0x10000
CONFIG_SPL_SYS_STACK_F_CHECK_BYTE=0xaa
# CONFIG_SPL_SYS_REPORT_STACK_F_USAGE is not set
# CONFIG_SPL_SHOW_ERRORS is not set
@@ -576,12 +599,11 @@ CONFIG_SPL_BOARD_INIT=y
# CONFIG_SPL_BOOTROM_SUPPORT is not set
# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
# CONFIG_SPL_LEGACY_IMAGE_FORMAT is not set
+# CONFIG_SPL_LOAD_IMX_CONTAINER is not set
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
-CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x4000
CONFIG_SPL_SEPARATE_BSS=y
-# CONFIG_SYS_SPL_MALLOC is not set
+# CONFIG_SPL_SYS_MALLOC is not set
CONFIG_SPL_BANNER_PRINT=y
# CONFIG_SPL_DISPLAY_PRINT is not set
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
@@ -602,7 +624,7 @@ CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET=0x0
# CONFIG_SPL_DM_MAILBOX is not set
# CONFIG_SPL_MEMORY is not set
# CONFIG_SPL_MPC8XXX_INIT_DDR is not set
-# CONFIG_SPL_MTD_SUPPORT is not set
+# CONFIG_SPL_MTD is not set
# CONFIG_SPL_MUSB_NEW is not set
# CONFIG_SPL_NAND_SUPPORT is not set
# CONFIG_SPL_NAND_DRIVERS is not set
@@ -640,23 +662,21 @@ CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
CONFIG_SPL_TARGET=""
# CONFIG_TPL is not set
# CONFIG_VPL is not set
-# CONFIG_FDT_SIMPLEFB is not set
-# CONFIG_BMP is not set
+CONFIG_CMDLINE=y
+CONFIG_HUSH_PARSER=y
#
-# Command line interface
+# Hush flavor to use
#
-CONFIG_CMDLINE=y
-CONFIG_HUSH_PARSER=y
+CONFIG_HUSH_OLD_PARSER=y
+# CONFIG_HUSH_MODERN_PARSER is not set
CONFIG_CMDLINE_EDITING=y
# CONFIG_CMDLINE_PS_SUPPORT is not set
CONFIG_AUTO_COMPLETE=y
CONFIG_SYS_LONGHELP=y
CONFIG_SYS_PROMPT="=> "
CONFIG_SYS_PROMPT_HUSH_PS2="> "
-CONFIG_SYS_MAXARGS=16
-CONFIG_SYS_CBSIZE=1024
-CONFIG_SYS_PBSIZE=1044
+CONFIG_SYS_MAXARGS=64
CONFIG_SYS_XTRACE=y
#
@@ -670,8 +690,10 @@ CONFIG_CMD_BDI=y
# CONFIG_CMD_BDINFO_EXTRA is not set
# CONFIG_CMD_CONFIG is not set
CONFIG_CMD_CONSOLE=y
+# CONFIG_CMD_HISTORY is not set
# CONFIG_CMD_LICENSE is not set
# CONFIG_CMD_PMC is not set
+# CONFIG_CMD_SMBIOS is not set
#
# Boot commands
@@ -693,24 +715,24 @@ CONFIG_BOOTM_PLAN9=y
CONFIG_BOOTM_RTEMS=y
CONFIG_CMD_VBE=y
CONFIG_BOOTM_VXWORKS=y
-CONFIG_SYS_BOOTM_LEN=0x4000000
CONFIG_CMD_BOOTEFI=y
+CONFIG_CMD_BOOTEFI_BINARY=y
+CONFIG_CMD_BOOTEFI_BOOTMGR=y
CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y
CONFIG_CMD_BOOTEFI_HELLO=y
CONFIG_CMD_BOOTEFI_SELFTEST=y
CONFIG_CMD_BOOTMENU=y
# CONFIG_CMD_ADTIMG is not set
CONFIG_CMD_ELF=y
+# CONFIG_CMD_ELF_FDT_SETUP is not set
CONFIG_CMD_FDT=y
CONFIG_CMD_GO=y
CONFIG_CMD_RUN=y
CONFIG_CMD_IMI=y
# CONFIG_CMD_IMLS is not set
CONFIG_CMD_XIMG=y
-# CONFIG_CMD_XXD is not set
+CONFIG_SYS_XIMG_LEN=0x800000
# CONFIG_CMD_SPL is not set
-# CONFIG_CMD_THOR_DOWNLOAD is not set
-# CONFIG_CMD_ZBOOT is not set
#
# Environment commands
@@ -776,7 +798,6 @@ CONFIG_CMD_GPIO=y
# CONFIG_CMD_GPIO_READ is not set
# CONFIG_CMD_PWM is not set
CONFIG_CMD_GPT=y
-CONFIG_RANDOM_UUID=y
# CONFIG_CMD_GPT_RENAME is not set
# CONFIG_CMD_IDE is not set
# CONFIG_CMD_IO is not set
@@ -794,8 +815,11 @@ CONFIG_CMD_LOADXY_TIMEOUT=90
# CONFIG_CMD_MISC is not set
CONFIG_CMD_MMC=y
# CONFIG_CMD_BKOPS_ENABLE is not set
+# CONFIG_CMD_MMC_REG is not set
# CONFIG_CMD_MMC_SWRITE is not set
# CONFIG_CMD_CLONE is not set
+# CONFIG_CMD_MTD is not set
+# CONFIG_CMD_ONENAND is not set
# CONFIG_CMD_OSD is not set
CONFIG_CMD_PART=y
# CONFIG_CMD_PCI is not set
@@ -808,11 +832,12 @@ CONFIG_CMD_SF=y
CONFIG_CMD_SF_TEST=y
CONFIG_CMD_SPI=y
CONFIG_DEFAULT_SPI_BUS=0
-CONFIG_DEFAULT_SPI_MODE=0
+CONFIG_DEFAULT_SPI_MODE=0x0
# CONFIG_CMD_TSI148 is not set
# CONFIG_CMD_UNIVERSE is not set
CONFIG_CMD_USB=y
# CONFIG_CMD_USB_SDP is not set
+# CONFIG_CMD_RKMTD is not set
# CONFIG_CMD_WRITE is not set
#
@@ -823,6 +848,7 @@ CONFIG_CMD_ECHO=y
CONFIG_CMD_ITEST=y
CONFIG_CMD_SOURCE=y
# CONFIG_CMD_SETEXPR is not set
+# CONFIG_CMD_XXD is not set
#
# Android support commands
@@ -845,6 +871,7 @@ CONFIG_BOOTP_SUBNETMASK=y
# CONFIG_CMD_PCAP is not set
CONFIG_BOOTP_PXE=y
CONFIG_BOOTP_PXE_CLIENTARCH=0x16
+# CONFIG_BOOTP_PXE_DHCP_OPTION is not set
CONFIG_BOOTP_VCI_STRING="U-Boot.armv8"
CONFIG_CMD_TFTPBOOT=y
# CONFIG_CMD_TFTPPUT is not set
@@ -898,7 +925,6 @@ CONFIG_CMD_VIDCONSOLE=y
#
# TI specific command line interface
#
-# CONFIG_CMD_DDR3 is not set
#
# Power commands
@@ -933,9 +959,9 @@ CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
# CONFIG_CMD_FS_UUID is not set
# CONFIG_CMD_JFFS2 is not set
+# CONFIG_CMD_MTDPARTS is not set
CONFIG_MTDIDS_DEFAULT=""
CONFIG_MTDPARTS_DEFAULT=""
-# CONFIG_CMD_REISER is not set
# CONFIG_CMD_ZFS is not set
#
@@ -979,16 +1005,18 @@ CONFIG_BINMAN=y
CONFIG_OF_CONTROL=y
CONFIG_OF_REAL=y
CONFIG_SPL_OF_CONTROL=y
-# CONFIG_OF_LIVE is not set
+CONFIG_OF_LIVE=y
+CONFIG_OF_UPSTREAM=y
+# CONFIG_OF_UPSTREAM_BUILD_VENDOR is not set
CONFIG_OF_SEPARATE=y
# CONFIG_OF_EMBED is not set
# CONFIG_OF_BOARD is not set
# CONFIG_OF_OMIT_DTB is not set
CONFIG_DEVICE_TREE_INCLUDES=""
-CONFIG_OF_LIST="rk3399-gru-bob"
+CONFIG_OF_LIST="rockchip/rk3399-gru-bob"
# CONFIG_MULTI_DTB_FIT is not set
# CONFIG_SPL_MULTI_DTB_FIT is not set
-CONFIG_SPL_OF_LIST="rk3399-gru-bob"
+CONFIG_SPL_OF_LIST="rockchip/rk3399-gru-bob"
CONFIG_OF_TAG_MIGRATE=y
CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
# CONFIG_OF_DTB_PROPS_REMOVE is not set
@@ -1066,10 +1094,11 @@ CONFIG_SYS_RX_ETH_BUFFER=4
#
CONFIG_DM=y
CONFIG_SPL_DM=y
-CONFIG_DM_WARN=y
+# CONFIG_DM_WARN is not set
# CONFIG_SPL_DM_WARN is not set
# CONFIG_DM_DEBUG is not set
# CONFIG_DM_STATS is not set
+# CONFIG_SPL_DM_STATS is not set
CONFIG_DM_DEVICE_REMOVE=y
CONFIG_DM_EVENT=y
# CONFIG_SPL_DM_DEVICE_REMOVE is not set
@@ -1089,8 +1118,8 @@ CONFIG_SPL_SIMPLE_BUS=y
CONFIG_OF_TRANSLATE=y
# CONFIG_SPL_OF_TRANSLATE is not set
# CONFIG_TRANSLATION_OFFSET is not set
-CONFIG_DM_DEV_READ_INLINE=y
-# CONFIG_OFNODE_MULTI_TREE is not set
+CONFIG_OFNODE_MULTI_TREE=y
+CONFIG_OFNODE_MULTI_TREE_MAX=4
CONFIG_BOUNCE_BUFFER=y
CONFIG_ADC=y
# CONFIG_ADC_EXYNOS is not set
@@ -1119,6 +1148,7 @@ CONFIG_BLOCK_CACHE=y
# CONFIG_IDE is not set
# CONFIG_LBA48 is not set
# CONFIG_SYS_64BIT_LBA is not set
+# CONFIG_RKMTD is not set
# CONFIG_BOOTCOUNT_LIMIT is not set
#
@@ -1131,9 +1161,10 @@ CONFIG_BLOCK_CACHE=y
#
# CONFIG_CACHE is not set
# CONFIG_L2X0_CACHE is not set
-# CONFIG_V5L2_CACHE is not set
+# CONFIG_ANDES_L2_CACHE is not set
# CONFIG_NCORE_CACHE is not set
# CONFIG_SIFIVE_CCACHE is not set
+# CONFIG_SIFIVE_PL2 is not set
#
# Clock
@@ -1142,6 +1173,8 @@ CONFIG_CLK=y
CONFIG_SPL_CLK=y
# CONFIG_SPL_CLK_CCF is not set
# CONFIG_CLK_CCF is not set
+# CONFIG_CLK_GPIO is not set
+# CONFIG_SPL_CLK_GPIO is not set
# CONFIG_CLK_CDCE9XX is not set
# CONFIG_CLK_ICS8N3QV01 is not set
# CONFIG_CLK_K210 is not set
@@ -1266,7 +1299,6 @@ CONFIG_ROCKCHIP_GPIO=y
# CONFIG_NOMADIK_GPIO is not set
# CONFIG_ZYNQMP_GPIO_MODEPIN is not set
# CONFIG_SLG7XL45106_I2C_GPO is not set
-# CONFIG_TURRIS_OMNIA_MCU is not set
# CONFIG_FTGPIO010 is not set
# CONFIG_ADP5585_GPIO is not set
@@ -1351,6 +1383,7 @@ CONFIG_SPL_MISC=y
# CONFIG_GATEWORKS_SC is not set
CONFIG_ROCKCHIP_EFUSE=y
# CONFIG_ROCKCHIP_OTP is not set
+CONFIG_ROCKCHIP_IODOMAIN=y
# CONFIG_SIFIVE_OTP is not set
# CONFIG_SMSC_LPC47M is not set
# CONFIG_SMSC_SIO1007 is not set
@@ -1370,6 +1403,7 @@ CONFIG_PWRSEQ=y
# CONFIG_SPL_PWRSEQ is not set
# CONFIG_PCA9551_LED is not set
# CONFIG_TEST_DRV is not set
+# CONFIG_TURRIS_OMNIA_MCU is not set
# CONFIG_USB_HUB_USB251XB is not set
# CONFIG_TWL4030_LED is not set
# CONFIG_WINBOND_W83627 is not set
@@ -1385,6 +1419,7 @@ CONFIG_PWRSEQ=y
# CONFIG_MICROCHIP_FLEXCOM is not set
# CONFIG_ESM_PMIC is not set
# CONFIG_SL28CPLD is not set
+# CONFIG_SPL_SOCFPGA_DT_REG is not set
#
# MMC Host controller Support
@@ -1420,8 +1455,11 @@ CONFIG_MMC_DW_ROCKCHIP=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_SDMA=y
# CONFIG_MMC_SDHCI_ADMA is not set
+# CONFIG_MMC_SDHCI_ADMA_FORCE_32BIT is not set
+CONFIG_MMC_SDHCI_ADMA_64BIT=y
# CONFIG_MMC_SDHCI_BCMSTB is not set
# CONFIG_MMC_SDHCI_CADENCE is not set
+# CONFIG_MMC_SDHCI_CV1800B is not set
# CONFIG_MMC_SDHCI_IPROC is not set
# CONFIG_MMC_SDHCI_F_SDH30 is not set
# CONFIG_MMC_SDHCI_KONA is not set
@@ -1442,9 +1480,11 @@ CONFIG_MMC_SDHCI_ROCKCHIP=y
#
# MTD Support
#
-# CONFIG_MTD is not set
+CONFIG_MTD=y
# CONFIG_DM_MTD is not set
# CONFIG_MTD_NOR_FLASH is not set
+# CONFIG_MTD_CONCAT is not set
+# CONFIG_SYS_MTDPARTS_RUNTIME is not set
# CONFIG_FLASH_CFI_DRIVER is not set
# CONFIG_HBMC_AM654 is not set
# CONFIG_SAMSUNG_ONENAND is not set
@@ -1464,20 +1504,24 @@ CONFIG_SPI_FLASH_SMART_HWCAPS=y
# CONFIG_SPI_NOR_BOOT_SOFT_RESET_EXT_INVERT is not set
# CONFIG_SPI_FLASH_SOFT_RESET is not set
# CONFIG_SPI_FLASH_BAR is not set
+CONFIG_SPI_FLASH_LOCK=y
CONFIG_SPI_FLASH_UNLOCK_ALL=y
# CONFIG_SPI_FLASH_ATMEL is not set
# CONFIG_SPI_FLASH_EON is not set
CONFIG_SPI_FLASH_GIGADEVICE=y
# CONFIG_SPI_FLASH_ISSI is not set
# CONFIG_SPI_FLASH_MACRONIX is not set
+# CONFIG_SPI_FLASH_SILICONKAISER is not set
# CONFIG_SPI_FLASH_SPANSION is not set
# CONFIG_SPI_FLASH_STMICRO is not set
# CONFIG_SPI_FLASH_SST is not set
CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_SPI_FLASH_XMC is not set
# CONFIG_SPI_FLASH_XTX is not set
+# CONFIG_SPI_FLASH_ZBIT is not set
CONFIG_SPI_FLASH_USE_4K_SECTORS=y
# CONFIG_SPI_FLASH_DATAFLASH is not set
+# CONFIG_SPI_FLASH_MTD is not set
#
# UBI support
@@ -1538,7 +1582,7 @@ CONFIG_DM_ETH=y
# CONFIG_DM_MDIO is not set
# CONFIG_DM_ETH_PHY is not set
CONFIG_NETDEVICES=y
-# CONFIG_PHY_GIGE is not set
+CONFIG_PHY_GIGE=y
# CONFIG_ALTERA_TSE is not set
# CONFIG_BCM_SF2_ETH is not set
# CONFIG_BCMGENET is not set
@@ -1557,7 +1601,6 @@ CONFIG_ETH_DESIGNWARE=y
# CONFIG_FTMAC100 is not set
# CONFIG_FTGMAC100 is not set
# CONFIG_MCFFEC is not set
-# CONFIG_FSLDMAFEC is not set
# CONFIG_KS8851_MLL is not set
# CONFIG_LITEETH is not set
# CONFIG_MACB is not set
@@ -1586,6 +1629,7 @@ CONFIG_GMAC_ROCKCHIP=y
# CONFIG_SYS_DPAA_QBMAN is not set
# CONFIG_TSEC_ENET is not set
# CONFIG_MEDIATEK_ETH is not set
+# CONFIG_HIFEMAC_ETH is not set
# CONFIG_HIGMACV300_ETH is not set
# CONFIG_NVME is not set
# CONFIG_NVME_APPLE is not set
@@ -1611,6 +1655,7 @@ CONFIG_PHY=y
# Rockchip PHY driver
#
# CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY is not set
+# CONFIG_PHY_ROCKCHIP_INNO_HDMI is not set
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
# CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY is not set
# CONFIG_PHY_ROCKCHIP_PCIE is not set
@@ -1649,6 +1694,8 @@ CONFIG_SPL_PINCONF_RECURSIVE=y
# CONFIG_PINCTRL_K210 is not set
CONFIG_PINCTRL_ROCKCHIP=y
CONFIG_SPL_PINCTRL_ROCKCHIP=y
+# CONFIG_PINCTRL_TEGRA is not set
+# CONFIG_SPL_PINCTRL_TEGRA is not set
CONFIG_POWER=y
# CONFIG_POWER_LEGACY is not set
# CONFIG_ACPI_PMC is not set
@@ -1678,6 +1725,7 @@ CONFIG_SPL_PMIC_CHILDREN=y
# CONFIG_SPL_DM_PMIC_PCA9450 is not set
# CONFIG_DM_PMIC_PFUZE100 is not set
# CONFIG_SPL_DM_PMIC_PFUZE100 is not set
+# CONFIG_DM_PMIC_MAX77663 is not set
# CONFIG_DM_PMIC_MAX77686 is not set
# CONFIG_DM_PMIC_MAX8998 is not set
# CONFIG_DM_PMIC_MC34708 is not set
@@ -1695,12 +1743,14 @@ CONFIG_PMIC_RK8XX=y
# CONFIG_PMIC_LP873X is not set
# CONFIG_PMIC_LP87565 is not set
# CONFIG_DM_PMIC_TPS65910 is not set
+# CONFIG_DM_PMIC_TPS80031 is not set
# CONFIG_PMIC_STPMIC1 is not set
# CONFIG_SPL_PMIC_PALMAS is not set
# CONFIG_SPL_PMIC_LP873X is not set
# CONFIG_SPL_PMIC_LP87565 is not set
# CONFIG_PMIC_TPS65941 is not set
# CONFIG_PMIC_TPS65219 is not set
+# CONFIG_PMIC_RAA215300 is not set
# CONFIG_PMIC_TPS65217 is not set
# CONFIG_POWER_TPS65218 is not set
# CONFIG_POWER_TPS62362 is not set
@@ -1758,6 +1808,7 @@ CONFIG_RAM_ROCKCHIP_DEBUG=y
#
# Remote Processor drivers
#
+CONFIG_REMOTEPROC_MAX_FW_SIZE=0x10000
#
# Reset Controller Support
@@ -1770,11 +1821,13 @@ CONFIG_RESET_ROCKCHIP=y
# CONFIG_RESET_SCMI is not set
# CONFIG_RESET_DRA7 is not set
CONFIG_DM_RNG=y
+# CONFIG_SPL_DM_RNG is not set
# CONFIG_RNG_MSM is not set
# CONFIG_RNG_NPCM is not set
CONFIG_RNG_ROCKCHIP=y
# CONFIG_RNG_IPROC200 is not set
# CONFIG_RNG_SMCCC_TRNG is not set
+# CONFIG_RNG_ARM_RNDR is not set
#
# Real Time Clock
@@ -1794,9 +1847,9 @@ CONFIG_RNG_ROCKCHIP=y
# CONFIG_RTC_MC146818 is not set
# CONFIG_RTC_M41T62 is not set
# CONFIG_SCSI is not set
-# CONFIG_DM_SCSI is not set
CONFIG_SERIAL=y
CONFIG_BAUDRATE=115200
+# CONFIG_DEFAULT_ENV_IS_RW is not set
CONFIG_REQUIRE_SERIAL_CONSOLE=y
# CONFIG_SPECIFY_CONSOLE_INDEX is not set
CONFIG_SERIAL_PRESENT=y
@@ -1838,11 +1891,14 @@ CONFIG_SYS_NS16550_MEM32=y
# CONFIG_MSM_GENI_SERIAL is not set
# CONFIG_MXS_AUART_SERIAL is not set
# CONFIG_OMAP_SERIAL is not set
+# CONFIG_HTIF_CONSOLE is not set
# CONFIG_SIFIVE_SERIAL is not set
# CONFIG_ZYNQ_SERIAL is not set
# CONFIG_MTK_SERIAL is not set
# CONFIG_MT7620_SERIAL is not set
# CONFIG_NPCM_SERIAL is not set
+# CONFIG_SM is not set
+# CONFIG_MESON_SM is not set
# CONFIG_SMEM is not set
#
@@ -1854,6 +1910,7 @@ CONFIG_SYS_NS16550_MEM32=y
# SOC (System On Chip) specific Drivers
#
# CONFIG_SOC_DEVICE is not set
+# CONFIG_SOC_SAMSUNG is not set
# CONFIG_SOC_TI is not set
CONFIG_SPI=y
CONFIG_DM_SPI=y
@@ -1867,6 +1924,7 @@ CONFIG_SPI_MEM=y
# CONFIG_CORTINA_SFLASH is not set
# CONFIG_CADENCE_QSPI is not set
# CONFIG_CF_SPI is not set
+# CONFIG_CV1800B_SPIF is not set
# CONFIG_DESIGNWARE_SPI is not set
# CONFIG_EXYNOS_SPI is not set
# CONFIG_FSL_DSPI is not set
@@ -1919,7 +1977,8 @@ CONFIG_ROCKCHIP_SPI=y
CONFIG_SYSRESET=y
CONFIG_SPL_SYSRESET=y
CONFIG_SYSRESET_CMD_RESET=y
-# CONFIG_SYSRESET_CMD_POWEROFF is not set
+CONFIG_SYSRESET_CMD_POWEROFF=y
+# CONFIG_SYSRESET_CV1800B is not set
# CONFIG_POWEROFF_GPIO is not set
# CONFIG_SYSRESET_GPIO is not set
# CONFIG_SYSRESET_PSCI is not set
@@ -1950,9 +2009,8 @@ CONFIG_SPL_DM_USB=y
CONFIG_USB_HOST=y
# CONFIG_SPL_USB_HOST is not set
CONFIG_USB_XHCI_HCD=y
-CONFIG_USB_XHCI_DWC3=y
-CONFIG_USB_XHCI_DWC3_OF_SIMPLE=y
-# CONFIG_USB_XHCI_PCI is not set
+# CONFIG_USB_XHCI_DWC3 is not set
+# CONFIG_USB_XHCI_DWC3_OF_SIMPLE is not set
# CONFIG_USB_XHCI_FSL is not set
# CONFIG_USB_XHCI_BRCM is not set
CONFIG_USB_EHCI_HCD=y
@@ -1977,7 +2035,7 @@ CONFIG_USB_DWC3=y
# Platform Glue Driver Support
#
# CONFIG_USB_DWC3_OMAP is not set
-# CONFIG_USB_DWC3_GENERIC is not set
+CONFIG_USB_DWC3_GENERIC=y
# CONFIG_SPL_USB_DWC3_GENERIC is not set
# CONFIG_USB_DWC3_LAYERSCAPE is not set
@@ -2046,7 +2104,7 @@ CONFIG_VIDEO_FONT_8X16=y
# CONFIG_VIDEO_FONT_16X32 is not set
CONFIG_VIDEO_LOGO=y
CONFIG_BACKLIGHT=y
-CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE=0
+CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE=0x0
# CONFIG_VIDEO_COPY is not set
CONFIG_VIDEO_DAMAGE=y
CONFIG_BACKLIGHT_PWM=y
@@ -2077,9 +2135,11 @@ CONFIG_SIMPLE_PANEL=y
# CONFIG_VIDEO_LCD_ENDEAVORU is not set
# CONFIG_VIDEO_LCD_HIMAX_HX8394 is not set
# CONFIG_VIDEO_LCD_ORISETECH_OTM8009A is not set
+# CONFIG_VIDEO_LCD_LG_LD070WX3 is not set
# CONFIG_VIDEO_LCD_RAYDIUM_RM68200 is not set
# CONFIG_VIDEO_LCD_RENESAS_R61307 is not set
# CONFIG_VIDEO_LCD_RENESAS_R69328 is not set
+# CONFIG_VIDEO_LCD_SAMSUNG_LTL106HL02 is not set
# CONFIG_VIDEO_LCD_SSD2828 is not set
# CONFIG_VIDEO_LCD_TDO_TL070WSH30 is not set
# CONFIG_VIDEO_LCD_HITACHI_TX18D42VM is not set
@@ -2106,7 +2166,9 @@ CONFIG_DISPLAY_ROCKCHIP_EDP=y
# CONFIG_VIDEO_TIDSS is not set
# CONFIG_VIDEO_TEGRA124 is not set
# CONFIG_VIDEO_BRIDGE is not set
+# CONFIG_VIDEO_BRIDGE_PARADE_DP501 is not set
# CONFIG_VIDEO_BRIDGE_SOLOMON_SSD2825 is not set
+# CONFIG_VIDEO_BRIDGE_TOSHIBA_TC358768 is not set
# CONFIG_VIDEO_TEGRA20 is not set
# CONFIG_VIDEO_DSI_TEGRA30 is not set
# CONFIG_TEGRA_BACKLIGHT_PWM is not set
@@ -2119,6 +2181,7 @@ CONFIG_CONSOLE_SCROLL_LINES=1
# CONFIG_OSD is not set
# CONFIG_VIDEO_REMOVE is not set
# CONFIG_SPLASH_SCREEN is not set
+# CONFIG_BMP is not set
CONFIG_VIDEO_LOGO_MAX_SIZE=0x100000
CONFIG_VIDEO_BMP_RLE8=y
# CONFIG_BMP_16BPP is not set
@@ -2183,6 +2246,7 @@ CONFIG_FS_FAT_MAX_CLUSTSIZE=65536
CONFIG_CHARSET=y
# CONFIG_DYNAMIC_CRC_TABLE is not set
CONFIG_LIB_UUID=y
+CONFIG_RANDOM_UUID=y
CONFIG_SPL_LIB_UUID=y
# CONFIG_SEMIHOSTING is not set
# CONFIG_SPL_SEMIHOSTING is not set
@@ -2200,6 +2264,7 @@ CONFIG_LIB_RAND=y
# CONFIG_LIB_HW_RAND is not set
CONFIG_SUPPORT_ACPI=y
# CONFIG_ACPI is not set
+# CONFIG_SPL_ACPI is not set
# CONFIG_SPL_TINY_MEMSET is not set
# CONFIG_BITREVERSE is not set
# CONFIG_TRACE is not set
@@ -2238,6 +2303,7 @@ CONFIG_MD5=y
# CONFIG_SPL_MD5 is not set
CONFIG_CRC8=y
# CONFIG_SPL_CRC8 is not set
+# CONFIG_SPL_CRC16 is not set
CONFIG_CRC32=y
#
@@ -2262,7 +2328,7 @@ CONFIG_ERRNO_STR=y
# CONFIG_HEXDUMP is not set
CONFIG_GETOPT=y
CONFIG_OF_LIBFDT=y
-CONFIG_OF_LIBFDT_ASSUME_MASK=0
+CONFIG_OF_LIBFDT_ASSUME_MASK=0x0
CONFIG_SYS_FDT_PAD=0x3000
CONFIG_SPL_OF_LIBFDT=y
CONFIG_SPL_OF_LIBFDT_ASSUME_MASK=0xff
@@ -2273,13 +2339,15 @@ CONFIG_SPL_OF_LIBFDT_ASSUME_MASK=0xff
CONFIG_GENERATE_SMBIOS_TABLE=y
# CONFIG_LIB_RATIONAL is not set
# CONFIG_SPL_LIB_RATIONAL is not set
+CONFIG_SMBIOS=y
# CONFIG_SMBIOS_PARSER is not set
CONFIG_EFI_LOADER=y
-CONFIG_CMD_BOOTEFI_BOOTMGR=y
+CONFIG_EFI_BINARY_EXEC=y
+CONFIG_EFI_BOOTMGR=y
# CONFIG_EFI_VARIABLE_FILE_STORE is not set
CONFIG_EFI_VARIABLE_NO_STORE=y
# CONFIG_EFI_VARIABLES_PRESEED is not set
-CONFIG_EFI_VAR_BUF_SIZE=65536
+CONFIG_EFI_VAR_BUF_SIZE=131072
# CONFIG_EFI_SCROLL_ON_CLEAR_SCREEN is not set
# CONFIG_EFI_RUNTIME_UPDATE_CAPSULE is not set
# CONFIG_EFI_CAPSULE_ON_DISK is not set
@@ -2297,6 +2365,7 @@ CONFIG_EFI_RNG_PROTOCOL=y
CONFIG_EFI_LOAD_FILE2_INITRD=y
CONFIG_EFI_ECPT=y
CONFIG_EFI_EBBR_2_1_CONFORMANCE=y
+# CONFIG_EFI_HTTP_BOOT is not set
# CONFIG_OPTEE_LIB is not set
# CONFIG_OPTEE_IMAGE is not set
# CONFIG_BOOTM_OPTEE is not set
@@ -2308,15 +2377,11 @@ CONFIG_LMB_MAX_REGIONS=16
# CONFIG_PHANDLE_CHECK_SEQ is not set
#
-# FWU Multi Bank Updates
-#
-# CONFIG_POST is not set
-
-#
-# Unit tests
+# Testing
#
# CONFIG_UNIT_TEST is not set
# CONFIG_SPL_UNIT_TEST is not set
+# CONFIG_POST is not set
#
# Tools options
@@ -2324,6 +2389,7 @@ CONFIG_LMB_MAX_REGIONS=16
CONFIG_MKIMAGE_DTC_PATH="dtc"
CONFIG_TOOLS_CRC32=y
CONFIG_TOOLS_LIBCRYPTO=y
+CONFIG_TOOLS_KWBIMAGE=y
CONFIG_TOOLS_FIT=y
CONFIG_TOOLS_FIT_FULL_CHECK=y
CONFIG_TOOLS_FIT_PRINT=y
diff --git a/config/u-boot/gru_kevin/config/default b/config/u-boot/gru_kevin/config/default
index 466bc96d..1bf46d24 100644
--- a/config/u-boot/gru_kevin/config/default
+++ b/config/u-boot/gru_kevin/config/default
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# U-Boot 2023.10 Configuration
+# U-Boot 2024.07 Configuration
#
#
-# Compiler: gcc (Debian 13.2.0-5) 13.2.0
+# Compiler: gcc (Debian 13.3.0-2) 13.3.0
#
CONFIG_CREATE_ARCH_SYMLINK=y
CONFIG_SYS_CACHE_SHIFT_6=y
+CONFIG_64BIT=y
CONFIG_SYS_CACHELINE_SIZE=64
CONFIG_LINKER_LIST_ALIGN=8
# CONFIG_ARC is not set
@@ -40,7 +41,7 @@ CONFIG_SKIP_LOWLEVEL_INIT=y
# CONFIG_SYS_ICACHE_OFF is not set
# CONFIG_SPL_SYS_ICACHE_OFF is not set
# CONFIG_SYS_DCACHE_OFF is not set
-# CONFIG_SPL_SYS_DCACHE_OFF is not set
+CONFIG_SPL_SYS_DCACHE_OFF=y
#
# ARM architecture
@@ -53,6 +54,7 @@ CONFIG_INIT_SP_RELATIVE=y
CONFIG_SYS_INIT_SP_BSS_OFFSET=524288
CONFIG_LNX_KRNL_IMG_TEXT_OFFSET_BASE=0x18000000
# CONFIG_GIC_V3_ITS is not set
+# CONFIG_GICV3_SUPPORT_GIC600 is not set
CONFIG_STATIC_RELA=y
CONFIG_DMA_ADDR_T_64BIT=y
CONFIG_ARM_ASM_UNIFIED=y
@@ -81,13 +83,11 @@ CONFIG_ARM64_SUPPORT_AARCH32=y
# CONFIG_ARCH_KIRKWOOD is not set
# CONFIG_ARCH_MVEBU is not set
# CONFIG_ARCH_ORION5X is not set
-# CONFIG_TARGET_STV0991 is not set
# CONFIG_ARCH_BCM283X is not set
# CONFIG_ARCH_BCMSTB is not set
# CONFIG_ARCH_BCMBCA is not set
# CONFIG_TARGET_VEXPRESS_CA9X4 is not set
# CONFIG_TARGET_BCMNS is not set
-# CONFIG_TARGET_BCMNS2 is not set
# CONFIG_TARGET_BCMNS3 is not set
# CONFIG_ARCH_EXYNOS is not set
# CONFIG_ARCH_S5PC1XX is not set
@@ -117,7 +117,7 @@ CONFIG_ARM64_SUPPORT_AARCH32=y
# CONFIG_ARCH_APPLE is not set
# CONFIG_ARCH_OWL is not set
# CONFIG_ARCH_QEMU is not set
-# CONFIG_ARCH_RMOBILE is not set
+# CONFIG_ARCH_RENESAS is not set
# CONFIG_ARCH_SNAPDRAGON is not set
# CONFIG_ARCH_SOCFPGA is not set
# CONFIG_ARCH_SUNXI is not set
@@ -176,6 +176,7 @@ CONFIG_ARCH_ROCKCHIP=y
# CONFIG_ARCH_ASPEED is not set
# CONFIG_TARGET_DURIAN is not set
# CONFIG_TARGET_POMELO is not set
+# CONFIG_TARGET_PE2201 is not set
# CONFIG_TARGET_PRESIDIO_ASIC is not set
# CONFIG_TARGET_XENGUEST_ARM64 is not set
# CONFIG_ARCH_GXP is not set
@@ -194,10 +195,9 @@ CONFIG_SF_DEFAULT_MODE=0x0
CONFIG_ENV_SIZE=0x8000
CONFIG_DM_GPIO=y
CONFIG_SPL_DM_SPI=y
-CONFIG_DEFAULT_DEVICE_TREE="rk3399-gru-kevin"
+CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-gru-kevin"
CONFIG_SPL_TEXT_BASE=0xff8c2000
-CONFIG_BOARD_SPECIFIC_OPTIONS=y
-# CONFIG_OF_LIBFDT_OVERLAY is not set
+CONFIG_OF_LIBFDT_OVERLAY=y
CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000
CONFIG_DM_RESET=y
CONFIG_SYS_MONITOR_LEN=0
@@ -227,13 +227,15 @@ CONFIG_ROCKCHIP_STIMER=y
CONFIG_ROCKCHIP_STIMER_BASE=0xff8680a0
CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x4000
# CONFIG_SPL_ROCKCHIP_EARLYRETURN_TO_BROM is not set
+CONFIG_ROCKCHIP_DISABLE_FORCE_JTAG=y
# CONFIG_SPL_MMC is not set
CONFIG_ROCKCHIP_SPI_IMAGE=y
+CONFIG_ROCKCHIP_COMMON_STACK_ADDR=y
CONFIG_SPL_SERIAL=y
CONFIG_TPL_LDSCRIPT="arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
CONFIG_TPL_TEXT_BASE=0xff8c2000
CONFIG_TPL_STACK=0xff8effff
-CONFIG_SPL_DRIVERS_MISC=y
+# CONFIG_SPL_DRIVERS_MISC is not set
CONFIG_SPL_STACK_R_ADDR=0x04000000
# CONFIG_TARGET_CHROMEBOOK_BOB is not set
CONFIG_TARGET_CHROMEBOOK_KEVIN=y
@@ -242,16 +244,23 @@ CONFIG_TARGET_CHROMEBOOK_KEVIN=y
# CONFIG_TARGET_PINEPHONE_PRO_RK3399 is not set
# CONFIG_TARGET_PUMA_RK3399 is not set
# CONFIG_TARGET_ROCK960_RK3399 is not set
+# CONFIG_TARGET_ROCKPI4_RK3399 is not set
# CONFIG_TARGET_ROCKPRO64_RK3399 is not set
# CONFIG_TARGET_ROC_PC_RK3399 is not set
CONFIG_SPL_STACK=0xff8effff
CONFIG_SPL_SYS_MALLOC_F_LEN=0x4000
+CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
+CONFIG_SPL_BSS_START_ADDR=0xff8e0000
+CONFIG_SPL_BSS_MAX_SIZE=0x10000
+CONFIG_SPL_STACK_R=y
+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x4000
+CONFIG_SPL_SYS_MALLOC_F=y
CONFIG_ERR_PTR_OFFSET=0x0
CONFIG_SPL_SIZE_LIMIT=0x0
CONFIG_SPL=y
CONFIG_PRE_CON_BUF_ADDR=0x0f200000
CONFIG_PRE_CON_BUF_SZ=4096
-CONFIG_BOOTSTAGE_STASH_ADDR=0
+CONFIG_BOOTSTAGE_STASH_ADDR=0x0
CONFIG_DEBUG_UART_BASE=0xff1a0000
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_DEBUG_UART_BOARD_INIT=y
@@ -265,7 +274,7 @@ CONFIG_SPL_SPI=y
# CONFIG_CMO_BY_VA_ONLY is not set
# CONFIG_ARMV8_SPL_EXCEPTION_VECTORS is not set
# CONFIG_ARMV8_MULTIENTRY is not set
-# CONFIG_ARMV8_SET_SMPEN is not set
+CONFIG_ARMV8_SET_SMPEN=y
# CONFIG_ARMV8_SWITCH_TO_EL1 is not set
#
@@ -277,7 +286,9 @@ CONFIG_SPL_SPI=y
CONFIG_PSCI_RESET=y
# CONFIG_ARMV8_PSCI is not set
# CONFIG_ARMV8_EA_EL3_FIRST is not set
-# CONFIG_ARMV8_CRYPTO is not set
+CONFIG_ARMV8_CRYPTO=y
+CONFIG_ARMV8_CE_SHA1=y
+CONFIG_ARMV8_CE_SHA256=y
# CONFIG_CMD_DEKBLOB is not set
# CONFIG_IMX_CAAM_DEK_ENCAP is not set
# CONFIG_IMX_OPTEE_DEK_ENCAP is not set
@@ -285,8 +296,6 @@ CONFIG_PSCI_RESET=y
# CONFIG_IMX_ELE_DEK_ENCAP is not set
# CONFIG_CMD_HDMIDETECT is not set
CONFIG_IMX_DCD_ADDR=0x00910000
-# CONFIG_SPL_LOAD_IMX_CONTAINER is not set
-CONFIG_IMX_CONTAINER_CFG=""
CONFIG_SYS_MEM_TOP_HIDE=0x0
CONFIG_SYS_LOAD_ADDR=0x800800
@@ -313,7 +322,7 @@ CONFIG_DEBUG_UART=y
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=130200
+CONFIG_GCC_VERSION=130300
CONFIG_CLANG_VERSION=0
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set
@@ -346,6 +355,10 @@ CONFIG_STACK_SIZE=0x1000000
CONFIG_SYS_SRAM_BASE=0x0
CONFIG_SYS_SRAM_SIZE=0x0
# CONFIG_MP is not set
+CONFIG_HAVE_TEXT_BASE=y
+# CONFIG_HAVE_SYS_UBOOT_START is not set
+CONFIG_SYS_UBOOT_START=0x18000000
+# CONFIG_DYNAMIC_SYS_CLK_FREQ is not set
# CONFIG_API is not set
#
@@ -356,8 +369,8 @@ CONFIG_SYS_SRAM_SIZE=0x0
# Boot images
#
# CONFIG_ANDROID_BOOT_IMAGE is not set
-CONFIG_FIT=y
# CONFIG_TIMESTAMP is not set
+CONFIG_FIT=y
CONFIG_FIT_EXTERNAL_OFFSET=0x0
CONFIG_FIT_FULL_CHECK=y
# CONFIG_FIT_SIGNATURE is not set
@@ -377,6 +390,8 @@ CONFIG_SPL_LOAD_FIT_ADDRESS=0x0
CONFIG_SPL_FIT_SOURCE=""
# CONFIG_USE_SPL_FIT_GENERATOR is not set
CONFIG_PXE_UTILS=y
+CONFIG_BOOT_DEFAULTS_FEATURES=y
+CONFIG_BOOT_DEFAULTS_CMDS=y
CONFIG_BOOT_DEFAULTS=y
CONFIG_BOOTSTD=y
# CONFIG_SPL_BOOTSTD is not set
@@ -384,9 +399,11 @@ CONFIG_BOOTSTD_FULL=y
CONFIG_BOOTSTD_DEFAULTS=y
CONFIG_BOOTSTD_BOOTCOMMAND=y
CONFIG_BOOTMETH_GLOBAL=y
+# CONFIG_BOOTMETH_CROS is not set
CONFIG_BOOTMETH_EXTLINUX=y
CONFIG_BOOTMETH_EXTLINUX_PXE=y
CONFIG_BOOTMETH_EFILOADER=y
+CONFIG_BOOTMETH_EFI_BOOTMGR=y
CONFIG_BOOTMETH_VBE=y
CONFIG_BOOTMETH_DISTRO=y
# CONFIG_SPL_BOOTMETH_VBE is not set
@@ -398,13 +415,8 @@ CONFIG_BOOTMETH_VBE_SIMPLE_OS=y
CONFIG_EXPO=y
CONFIG_BOOTMETH_SCRIPT=y
CONFIG_LEGACY_IMAGE_FORMAT=y
+CONFIG_SYS_BOOTM_LEN=0x4000000
CONFIG_SUPPORT_RAW_INITRD=y
-# CONFIG_OF_BOARD_SETUP is not set
-# CONFIG_OF_SYSTEM_SETUP is not set
-# CONFIG_OF_STDOUT_VIA_ALIAS is not set
-CONFIG_HAVE_TEXT_BASE=y
-# CONFIG_DYNAMIC_SYS_CLK_FREQ is not set
-CONFIG_ARCH_FIXUP_FDT_MEMORY=y
# CONFIG_CHROMEOS is not set
# CONFIG_CHROMEOS_VBOOT is not set
# CONFIG_RAMBOOT_PBL is not set
@@ -444,6 +456,17 @@ CONFIG_BOOTDELAY=2
# Image support
#
# CONFIG_IMAGE_PRE_LOAD is not set
+
+#
+# Devicetree fixup
+#
+# CONFIG_OF_ENV_SETUP is not set
+# CONFIG_OF_BOARD_SETUP is not set
+# CONFIG_OF_SYSTEM_SETUP is not set
+# CONFIG_OF_STDOUT_VIA_ALIAS is not set
+# CONFIG_FDT_FIXUP_PARTITIONS is not set
+# CONFIG_FDT_SIMPLEFB is not set
+CONFIG_ARCH_FIXUP_FDT_MEMORY=y
# CONFIG_USE_BOOTARGS is not set
# CONFIG_BOOTARGS_SUBST is not set
CONFIG_USE_BOOTCOMMAND=y
@@ -463,6 +486,8 @@ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-gru-kevin.dtb"
#
CONFIG_MENU=y
# CONFIG_CONSOLE_RECORD is not set
+CONFIG_SYS_CBSIZE=1024
+CONFIG_SYS_PBSIZE=1044
# CONFIG_DISABLE_CONSOLE is not set
CONFIG_LOGLEVEL=4
CONFIG_SPL_LOGLEVEL=4
@@ -471,6 +496,7 @@ CONFIG_SPL_LOGLEVEL=4
# CONFIG_TPL_SILENT_CONSOLE is not set
CONFIG_PRE_CONSOLE_BUFFER=y
CONFIG_CONSOLE_FLUSH_SUPPORT=y
+# CONFIG_CONSOLE_FLUSH_ON_NEWLINE is not set
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_CONSOLE_IS_IN_ENV=y
# CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set
@@ -517,7 +543,7 @@ CONFIG_BOARD_EARLY_INIT_R=y
CONFIG_BOARD_LATE_INIT=y
# CONFIG_CLOCKS is not set
# CONFIG_HWCONFIG is not set
-# CONFIG_LAST_STAGE_INIT is not set
+CONFIG_LAST_STAGE_INIT=y
CONFIG_MISC_INIT_R=y
# CONFIG_SYS_MALLOC_BOOTPARAMS is not set
# CONFIG_ID_EEPROM is not set
@@ -557,14 +583,11 @@ CONFIG_SUPPORT_TPL=y
#
CONFIG_SPL_FRAMEWORK=y
# CONFIG_SPL_FRAMEWORK_BOARD_INIT_F is not set
-CONFIG_SPL_MAX_SIZE=0x2e000
+CONFIG_SPL_MAX_SIZE=0x1e000
CONFIG_SPL_PAD_TO=0x7f8000
-CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
-CONFIG_SPL_BSS_START_ADDR=0xff8e0000
# CONFIG_SPL_NO_BSS_LIMIT is not set
CONFIG_SPL_BSS_LIMIT=y
# CONFIG_SPL_FOOTPRINT_LIMIT is not set
-CONFIG_SPL_BSS_MAX_SIZE=0x10000
CONFIG_SPL_SYS_STACK_F_CHECK_BYTE=0xaa
# CONFIG_SPL_SYS_REPORT_STACK_F_USAGE is not set
# CONFIG_SPL_SHOW_ERRORS is not set
@@ -576,12 +599,11 @@ CONFIG_SPL_BOARD_INIT=y
# CONFIG_SPL_BOOTROM_SUPPORT is not set
# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
# CONFIG_SPL_LEGACY_IMAGE_FORMAT is not set
+# CONFIG_SPL_LOAD_IMX_CONTAINER is not set
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
-CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x4000
CONFIG_SPL_SEPARATE_BSS=y
-# CONFIG_SYS_SPL_MALLOC is not set
+# CONFIG_SPL_SYS_MALLOC is not set
CONFIG_SPL_BANNER_PRINT=y
# CONFIG_SPL_DISPLAY_PRINT is not set
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
@@ -602,7 +624,7 @@ CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET=0x0
# CONFIG_SPL_DM_MAILBOX is not set
# CONFIG_SPL_MEMORY is not set
# CONFIG_SPL_MPC8XXX_INIT_DDR is not set
-# CONFIG_SPL_MTD_SUPPORT is not set
+# CONFIG_SPL_MTD is not set
# CONFIG_SPL_MUSB_NEW is not set
# CONFIG_SPL_NAND_SUPPORT is not set
# CONFIG_SPL_NAND_DRIVERS is not set
@@ -640,23 +662,21 @@ CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
CONFIG_SPL_TARGET=""
# CONFIG_TPL is not set
# CONFIG_VPL is not set
-# CONFIG_FDT_SIMPLEFB is not set
-# CONFIG_BMP is not set
+CONFIG_CMDLINE=y
+CONFIG_HUSH_PARSER=y
#
-# Command line interface
+# Hush flavor to use
#
-CONFIG_CMDLINE=y
-CONFIG_HUSH_PARSER=y
+CONFIG_HUSH_OLD_PARSER=y
+# CONFIG_HUSH_MODERN_PARSER is not set
CONFIG_CMDLINE_EDITING=y
# CONFIG_CMDLINE_PS_SUPPORT is not set
CONFIG_AUTO_COMPLETE=y
CONFIG_SYS_LONGHELP=y
CONFIG_SYS_PROMPT="=> "
CONFIG_SYS_PROMPT_HUSH_PS2="> "
-CONFIG_SYS_MAXARGS=16
-CONFIG_SYS_CBSIZE=1024
-CONFIG_SYS_PBSIZE=1044
+CONFIG_SYS_MAXARGS=64
CONFIG_SYS_XTRACE=y
#
@@ -670,8 +690,10 @@ CONFIG_CMD_BDI=y
# CONFIG_CMD_BDINFO_EXTRA is not set
# CONFIG_CMD_CONFIG is not set
CONFIG_CMD_CONSOLE=y
+# CONFIG_CMD_HISTORY is not set
# CONFIG_CMD_LICENSE is not set
# CONFIG_CMD_PMC is not set
+# CONFIG_CMD_SMBIOS is not set
#
# Boot commands
@@ -693,24 +715,24 @@ CONFIG_BOOTM_PLAN9=y
CONFIG_BOOTM_RTEMS=y
CONFIG_CMD_VBE=y
CONFIG_BOOTM_VXWORKS=y
-CONFIG_SYS_BOOTM_LEN=0x4000000
CONFIG_CMD_BOOTEFI=y
+CONFIG_CMD_BOOTEFI_BINARY=y
+CONFIG_CMD_BOOTEFI_BOOTMGR=y
CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y
CONFIG_CMD_BOOTEFI_HELLO=y
CONFIG_CMD_BOOTEFI_SELFTEST=y
CONFIG_CMD_BOOTMENU=y
# CONFIG_CMD_ADTIMG is not set
CONFIG_CMD_ELF=y
+# CONFIG_CMD_ELF_FDT_SETUP is not set
CONFIG_CMD_FDT=y
CONFIG_CMD_GO=y
CONFIG_CMD_RUN=y
CONFIG_CMD_IMI=y
# CONFIG_CMD_IMLS is not set
CONFIG_CMD_XIMG=y
-# CONFIG_CMD_XXD is not set
+CONFIG_SYS_XIMG_LEN=0x800000
# CONFIG_CMD_SPL is not set
-# CONFIG_CMD_THOR_DOWNLOAD is not set
-# CONFIG_CMD_ZBOOT is not set
#
# Environment commands
@@ -776,7 +798,6 @@ CONFIG_CMD_GPIO=y
# CONFIG_CMD_GPIO_READ is not set
# CONFIG_CMD_PWM is not set
CONFIG_CMD_GPT=y
-CONFIG_RANDOM_UUID=y
# CONFIG_CMD_GPT_RENAME is not set
# CONFIG_CMD_IDE is not set
# CONFIG_CMD_IO is not set
@@ -794,8 +815,11 @@ CONFIG_CMD_LOADXY_TIMEOUT=90
# CONFIG_CMD_MISC is not set
CONFIG_CMD_MMC=y
# CONFIG_CMD_BKOPS_ENABLE is not set
+# CONFIG_CMD_MMC_REG is not set
# CONFIG_CMD_MMC_SWRITE is not set
# CONFIG_CMD_CLONE is not set
+# CONFIG_CMD_MTD is not set
+# CONFIG_CMD_ONENAND is not set
# CONFIG_CMD_OSD is not set
CONFIG_CMD_PART=y
# CONFIG_CMD_PCI is not set
@@ -808,11 +832,12 @@ CONFIG_CMD_SF=y
CONFIG_CMD_SF_TEST=y
CONFIG_CMD_SPI=y
CONFIG_DEFAULT_SPI_BUS=0
-CONFIG_DEFAULT_SPI_MODE=0
+CONFIG_DEFAULT_SPI_MODE=0x0
# CONFIG_CMD_TSI148 is not set
# CONFIG_CMD_UNIVERSE is not set
CONFIG_CMD_USB=y
# CONFIG_CMD_USB_SDP is not set
+# CONFIG_CMD_RKMTD is not set
# CONFIG_CMD_WRITE is not set
#
@@ -823,6 +848,7 @@ CONFIG_CMD_ECHO=y
CONFIG_CMD_ITEST=y
CONFIG_CMD_SOURCE=y
# CONFIG_CMD_SETEXPR is not set
+# CONFIG_CMD_XXD is not set
#
# Android support commands
@@ -845,6 +871,7 @@ CONFIG_BOOTP_SUBNETMASK=y
# CONFIG_CMD_PCAP is not set
CONFIG_BOOTP_PXE=y
CONFIG_BOOTP_PXE_CLIENTARCH=0x16
+# CONFIG_BOOTP_PXE_DHCP_OPTION is not set
CONFIG_BOOTP_VCI_STRING="U-Boot.armv8"
CONFIG_CMD_TFTPBOOT=y
# CONFIG_CMD_TFTPPUT is not set
@@ -898,7 +925,6 @@ CONFIG_CMD_VIDCONSOLE=y
#
# TI specific command line interface
#
-# CONFIG_CMD_DDR3 is not set
#
# Power commands
@@ -933,9 +959,9 @@ CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
# CONFIG_CMD_FS_UUID is not set
# CONFIG_CMD_JFFS2 is not set
+# CONFIG_CMD_MTDPARTS is not set
CONFIG_MTDIDS_DEFAULT=""
CONFIG_MTDPARTS_DEFAULT=""
-# CONFIG_CMD_REISER is not set
# CONFIG_CMD_ZFS is not set
#
@@ -979,16 +1005,18 @@ CONFIG_BINMAN=y
CONFIG_OF_CONTROL=y
CONFIG_OF_REAL=y
CONFIG_SPL_OF_CONTROL=y
-# CONFIG_OF_LIVE is not set
+CONFIG_OF_LIVE=y
+CONFIG_OF_UPSTREAM=y
+# CONFIG_OF_UPSTREAM_BUILD_VENDOR is not set
CONFIG_OF_SEPARATE=y
# CONFIG_OF_EMBED is not set
# CONFIG_OF_BOARD is not set
# CONFIG_OF_OMIT_DTB is not set
CONFIG_DEVICE_TREE_INCLUDES=""
-CONFIG_OF_LIST="rk3399-gru-kevin"
+CONFIG_OF_LIST="rockchip/rk3399-gru-kevin"
# CONFIG_MULTI_DTB_FIT is not set
# CONFIG_SPL_MULTI_DTB_FIT is not set
-CONFIG_SPL_OF_LIST="rk3399-gru-kevin"
+CONFIG_SPL_OF_LIST="rockchip/rk3399-gru-kevin"
CONFIG_OF_TAG_MIGRATE=y
CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
# CONFIG_OF_DTB_PROPS_REMOVE is not set
@@ -1066,10 +1094,11 @@ CONFIG_SYS_RX_ETH_BUFFER=4
#
CONFIG_DM=y
CONFIG_SPL_DM=y
-CONFIG_DM_WARN=y
+# CONFIG_DM_WARN is not set
# CONFIG_SPL_DM_WARN is not set
# CONFIG_DM_DEBUG is not set
# CONFIG_DM_STATS is not set
+# CONFIG_SPL_DM_STATS is not set
CONFIG_DM_DEVICE_REMOVE=y
CONFIG_DM_EVENT=y
# CONFIG_SPL_DM_DEVICE_REMOVE is not set
@@ -1089,8 +1118,8 @@ CONFIG_SPL_SIMPLE_BUS=y
CONFIG_OF_TRANSLATE=y
# CONFIG_SPL_OF_TRANSLATE is not set
# CONFIG_TRANSLATION_OFFSET is not set
-CONFIG_DM_DEV_READ_INLINE=y
-# CONFIG_OFNODE_MULTI_TREE is not set
+CONFIG_OFNODE_MULTI_TREE=y
+CONFIG_OFNODE_MULTI_TREE_MAX=4
CONFIG_BOUNCE_BUFFER=y
CONFIG_ADC=y
# CONFIG_ADC_EXYNOS is not set
@@ -1119,6 +1148,7 @@ CONFIG_BLOCK_CACHE=y
# CONFIG_IDE is not set
# CONFIG_LBA48 is not set
# CONFIG_SYS_64BIT_LBA is not set
+# CONFIG_RKMTD is not set
# CONFIG_BOOTCOUNT_LIMIT is not set
#
@@ -1131,9 +1161,10 @@ CONFIG_BLOCK_CACHE=y
#
# CONFIG_CACHE is not set
# CONFIG_L2X0_CACHE is not set
-# CONFIG_V5L2_CACHE is not set
+# CONFIG_ANDES_L2_CACHE is not set
# CONFIG_NCORE_CACHE is not set
# CONFIG_SIFIVE_CCACHE is not set
+# CONFIG_SIFIVE_PL2 is not set
#
# Clock
@@ -1142,6 +1173,8 @@ CONFIG_CLK=y
CONFIG_SPL_CLK=y
# CONFIG_SPL_CLK_CCF is not set
# CONFIG_CLK_CCF is not set
+# CONFIG_CLK_GPIO is not set
+# CONFIG_SPL_CLK_GPIO is not set
# CONFIG_CLK_CDCE9XX is not set
# CONFIG_CLK_ICS8N3QV01 is not set
# CONFIG_CLK_K210 is not set
@@ -1266,7 +1299,6 @@ CONFIG_ROCKCHIP_GPIO=y
# CONFIG_NOMADIK_GPIO is not set
# CONFIG_ZYNQMP_GPIO_MODEPIN is not set
# CONFIG_SLG7XL45106_I2C_GPO is not set
-# CONFIG_TURRIS_OMNIA_MCU is not set
# CONFIG_FTGPIO010 is not set
# CONFIG_ADP5585_GPIO is not set
@@ -1351,6 +1383,7 @@ CONFIG_SPL_MISC=y
# CONFIG_GATEWORKS_SC is not set
CONFIG_ROCKCHIP_EFUSE=y
# CONFIG_ROCKCHIP_OTP is not set
+CONFIG_ROCKCHIP_IODOMAIN=y
# CONFIG_SIFIVE_OTP is not set
# CONFIG_SMSC_LPC47M is not set
# CONFIG_SMSC_SIO1007 is not set
@@ -1370,6 +1403,7 @@ CONFIG_PWRSEQ=y
# CONFIG_SPL_PWRSEQ is not set
# CONFIG_PCA9551_LED is not set
# CONFIG_TEST_DRV is not set
+# CONFIG_TURRIS_OMNIA_MCU is not set
# CONFIG_USB_HUB_USB251XB is not set
# CONFIG_TWL4030_LED is not set
# CONFIG_WINBOND_W83627 is not set
@@ -1385,6 +1419,7 @@ CONFIG_PWRSEQ=y
# CONFIG_MICROCHIP_FLEXCOM is not set
# CONFIG_ESM_PMIC is not set
# CONFIG_SL28CPLD is not set
+# CONFIG_SPL_SOCFPGA_DT_REG is not set
#
# MMC Host controller Support
@@ -1420,8 +1455,11 @@ CONFIG_MMC_DW_ROCKCHIP=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_SDMA=y
# CONFIG_MMC_SDHCI_ADMA is not set
+# CONFIG_MMC_SDHCI_ADMA_FORCE_32BIT is not set
+CONFIG_MMC_SDHCI_ADMA_64BIT=y
# CONFIG_MMC_SDHCI_BCMSTB is not set
# CONFIG_MMC_SDHCI_CADENCE is not set
+# CONFIG_MMC_SDHCI_CV1800B is not set
# CONFIG_MMC_SDHCI_IPROC is not set
# CONFIG_MMC_SDHCI_F_SDH30 is not set
# CONFIG_MMC_SDHCI_KONA is not set
@@ -1442,9 +1480,11 @@ CONFIG_MMC_SDHCI_ROCKCHIP=y
#
# MTD Support
#
-# CONFIG_MTD is not set
+CONFIG_MTD=y
# CONFIG_DM_MTD is not set
# CONFIG_MTD_NOR_FLASH is not set
+# CONFIG_MTD_CONCAT is not set
+# CONFIG_SYS_MTDPARTS_RUNTIME is not set
# CONFIG_FLASH_CFI_DRIVER is not set
# CONFIG_HBMC_AM654 is not set
# CONFIG_SAMSUNG_ONENAND is not set
@@ -1464,20 +1504,24 @@ CONFIG_SPI_FLASH_SMART_HWCAPS=y
# CONFIG_SPI_NOR_BOOT_SOFT_RESET_EXT_INVERT is not set
# CONFIG_SPI_FLASH_SOFT_RESET is not set
# CONFIG_SPI_FLASH_BAR is not set
+CONFIG_SPI_FLASH_LOCK=y
CONFIG_SPI_FLASH_UNLOCK_ALL=y
# CONFIG_SPI_FLASH_ATMEL is not set
# CONFIG_SPI_FLASH_EON is not set
CONFIG_SPI_FLASH_GIGADEVICE=y
# CONFIG_SPI_FLASH_ISSI is not set
# CONFIG_SPI_FLASH_MACRONIX is not set
+# CONFIG_SPI_FLASH_SILICONKAISER is not set
# CONFIG_SPI_FLASH_SPANSION is not set
# CONFIG_SPI_FLASH_STMICRO is not set
# CONFIG_SPI_FLASH_SST is not set
CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_SPI_FLASH_XMC is not set
# CONFIG_SPI_FLASH_XTX is not set
+# CONFIG_SPI_FLASH_ZBIT is not set
CONFIG_SPI_FLASH_USE_4K_SECTORS=y
# CONFIG_SPI_FLASH_DATAFLASH is not set
+# CONFIG_SPI_FLASH_MTD is not set
#
# UBI support
@@ -1538,7 +1582,7 @@ CONFIG_DM_ETH=y
# CONFIG_DM_MDIO is not set
# CONFIG_DM_ETH_PHY is not set
CONFIG_NETDEVICES=y
-# CONFIG_PHY_GIGE is not set
+CONFIG_PHY_GIGE=y
# CONFIG_ALTERA_TSE is not set
# CONFIG_BCM_SF2_ETH is not set
# CONFIG_BCMGENET is not set
@@ -1557,7 +1601,6 @@ CONFIG_ETH_DESIGNWARE=y
# CONFIG_FTMAC100 is not set
# CONFIG_FTGMAC100 is not set
# CONFIG_MCFFEC is not set
-# CONFIG_FSLDMAFEC is not set
# CONFIG_KS8851_MLL is not set
# CONFIG_LITEETH is not set
# CONFIG_MACB is not set
@@ -1586,6 +1629,7 @@ CONFIG_GMAC_ROCKCHIP=y
# CONFIG_SYS_DPAA_QBMAN is not set
# CONFIG_TSEC_ENET is not set
# CONFIG_MEDIATEK_ETH is not set
+# CONFIG_HIFEMAC_ETH is not set
# CONFIG_HIGMACV300_ETH is not set
# CONFIG_NVME is not set
# CONFIG_NVME_APPLE is not set
@@ -1611,6 +1655,7 @@ CONFIG_PHY=y
# Rockchip PHY driver
#
# CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY is not set
+# CONFIG_PHY_ROCKCHIP_INNO_HDMI is not set
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
# CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY is not set
# CONFIG_PHY_ROCKCHIP_PCIE is not set
@@ -1649,6 +1694,8 @@ CONFIG_SPL_PINCONF_RECURSIVE=y
# CONFIG_PINCTRL_K210 is not set
CONFIG_PINCTRL_ROCKCHIP=y
CONFIG_SPL_PINCTRL_ROCKCHIP=y
+# CONFIG_PINCTRL_TEGRA is not set
+# CONFIG_SPL_PINCTRL_TEGRA is not set
CONFIG_POWER=y
# CONFIG_POWER_LEGACY is not set
# CONFIG_ACPI_PMC is not set
@@ -1678,6 +1725,7 @@ CONFIG_SPL_PMIC_CHILDREN=y
# CONFIG_SPL_DM_PMIC_PCA9450 is not set
# CONFIG_DM_PMIC_PFUZE100 is not set
# CONFIG_SPL_DM_PMIC_PFUZE100 is not set
+# CONFIG_DM_PMIC_MAX77663 is not set
# CONFIG_DM_PMIC_MAX77686 is not set
# CONFIG_DM_PMIC_MAX8998 is not set
# CONFIG_DM_PMIC_MC34708 is not set
@@ -1695,12 +1743,14 @@ CONFIG_PMIC_RK8XX=y
# CONFIG_PMIC_LP873X is not set
# CONFIG_PMIC_LP87565 is not set
# CONFIG_DM_PMIC_TPS65910 is not set
+# CONFIG_DM_PMIC_TPS80031 is not set
# CONFIG_PMIC_STPMIC1 is not set
# CONFIG_SPL_PMIC_PALMAS is not set
# CONFIG_SPL_PMIC_LP873X is not set
# CONFIG_SPL_PMIC_LP87565 is not set
# CONFIG_PMIC_TPS65941 is not set
# CONFIG_PMIC_TPS65219 is not set
+# CONFIG_PMIC_RAA215300 is not set
# CONFIG_PMIC_TPS65217 is not set
# CONFIG_POWER_TPS65218 is not set
# CONFIG_POWER_TPS62362 is not set
@@ -1758,6 +1808,7 @@ CONFIG_RAM_ROCKCHIP_DEBUG=y
#
# Remote Processor drivers
#
+CONFIG_REMOTEPROC_MAX_FW_SIZE=0x10000
#
# Reset Controller Support
@@ -1770,11 +1821,13 @@ CONFIG_RESET_ROCKCHIP=y
# CONFIG_RESET_SCMI is not set
# CONFIG_RESET_DRA7 is not set
CONFIG_DM_RNG=y
+# CONFIG_SPL_DM_RNG is not set
# CONFIG_RNG_MSM is not set
# CONFIG_RNG_NPCM is not set
CONFIG_RNG_ROCKCHIP=y
# CONFIG_RNG_IPROC200 is not set
# CONFIG_RNG_SMCCC_TRNG is not set
+# CONFIG_RNG_ARM_RNDR is not set
#
# Real Time Clock
@@ -1794,9 +1847,9 @@ CONFIG_RNG_ROCKCHIP=y
# CONFIG_RTC_MC146818 is not set
# CONFIG_RTC_M41T62 is not set
# CONFIG_SCSI is not set
-# CONFIG_DM_SCSI is not set
CONFIG_SERIAL=y
CONFIG_BAUDRATE=115200
+# CONFIG_DEFAULT_ENV_IS_RW is not set
CONFIG_REQUIRE_SERIAL_CONSOLE=y
# CONFIG_SPECIFY_CONSOLE_INDEX is not set
CONFIG_SERIAL_PRESENT=y
@@ -1838,11 +1891,14 @@ CONFIG_SYS_NS16550_MEM32=y
# CONFIG_MSM_GENI_SERIAL is not set
# CONFIG_MXS_AUART_SERIAL is not set
# CONFIG_OMAP_SERIAL is not set
+# CONFIG_HTIF_CONSOLE is not set
# CONFIG_SIFIVE_SERIAL is not set
# CONFIG_ZYNQ_SERIAL is not set
# CONFIG_MTK_SERIAL is not set
# CONFIG_MT7620_SERIAL is not set
# CONFIG_NPCM_SERIAL is not set
+# CONFIG_SM is not set
+# CONFIG_MESON_SM is not set
# CONFIG_SMEM is not set
#
@@ -1854,6 +1910,7 @@ CONFIG_SYS_NS16550_MEM32=y
# SOC (System On Chip) specific Drivers
#
# CONFIG_SOC_DEVICE is not set
+# CONFIG_SOC_SAMSUNG is not set
# CONFIG_SOC_TI is not set
CONFIG_SPI=y
CONFIG_DM_SPI=y
@@ -1867,6 +1924,7 @@ CONFIG_SPI_MEM=y
# CONFIG_CORTINA_SFLASH is not set
# CONFIG_CADENCE_QSPI is not set
# CONFIG_CF_SPI is not set
+# CONFIG_CV1800B_SPIF is not set
# CONFIG_DESIGNWARE_SPI is not set
# CONFIG_EXYNOS_SPI is not set
# CONFIG_FSL_DSPI is not set
@@ -1919,7 +1977,8 @@ CONFIG_ROCKCHIP_SPI=y
CONFIG_SYSRESET=y
CONFIG_SPL_SYSRESET=y
CONFIG_SYSRESET_CMD_RESET=y
-# CONFIG_SYSRESET_CMD_POWEROFF is not set
+CONFIG_SYSRESET_CMD_POWEROFF=y
+# CONFIG_SYSRESET_CV1800B is not set
# CONFIG_POWEROFF_GPIO is not set
# CONFIG_SYSRESET_GPIO is not set
# CONFIG_SYSRESET_PSCI is not set
@@ -1950,9 +2009,8 @@ CONFIG_SPL_DM_USB=y
CONFIG_USB_HOST=y
# CONFIG_SPL_USB_HOST is not set
CONFIG_USB_XHCI_HCD=y
-CONFIG_USB_XHCI_DWC3=y
-CONFIG_USB_XHCI_DWC3_OF_SIMPLE=y
-# CONFIG_USB_XHCI_PCI is not set
+# CONFIG_USB_XHCI_DWC3 is not set
+# CONFIG_USB_XHCI_DWC3_OF_SIMPLE is not set
# CONFIG_USB_XHCI_FSL is not set
# CONFIG_USB_XHCI_BRCM is not set
CONFIG_USB_EHCI_HCD=y
@@ -1977,7 +2035,7 @@ CONFIG_USB_DWC3=y
# Platform Glue Driver Support
#
# CONFIG_USB_DWC3_OMAP is not set
-# CONFIG_USB_DWC3_GENERIC is not set
+CONFIG_USB_DWC3_GENERIC=y
# CONFIG_SPL_USB_DWC3_GENERIC is not set
# CONFIG_USB_DWC3_LAYERSCAPE is not set
@@ -2046,7 +2104,7 @@ CONFIG_VIDEO=y
CONFIG_VIDEO_FONT_16X32=y
CONFIG_VIDEO_LOGO=y
CONFIG_BACKLIGHT=y
-CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE=0
+CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE=0x0
# CONFIG_VIDEO_COPY is not set
CONFIG_VIDEO_DAMAGE=y
CONFIG_BACKLIGHT_PWM=y
@@ -2077,9 +2135,11 @@ CONFIG_SIMPLE_PANEL=y
# CONFIG_VIDEO_LCD_ENDEAVORU is not set
# CONFIG_VIDEO_LCD_HIMAX_HX8394 is not set
# CONFIG_VIDEO_LCD_ORISETECH_OTM8009A is not set
+# CONFIG_VIDEO_LCD_LG_LD070WX3 is not set
# CONFIG_VIDEO_LCD_RAYDIUM_RM68200 is not set
# CONFIG_VIDEO_LCD_RENESAS_R61307 is not set
# CONFIG_VIDEO_LCD_RENESAS_R69328 is not set
+# CONFIG_VIDEO_LCD_SAMSUNG_LTL106HL02 is not set
# CONFIG_VIDEO_LCD_SSD2828 is not set
# CONFIG_VIDEO_LCD_TDO_TL070WSH30 is not set
# CONFIG_VIDEO_LCD_HITACHI_TX18D42VM is not set
@@ -2106,7 +2166,9 @@ CONFIG_DISPLAY_ROCKCHIP_EDP=y
# CONFIG_VIDEO_TIDSS is not set
# CONFIG_VIDEO_TEGRA124 is not set
# CONFIG_VIDEO_BRIDGE is not set
+# CONFIG_VIDEO_BRIDGE_PARADE_DP501 is not set
# CONFIG_VIDEO_BRIDGE_SOLOMON_SSD2825 is not set
+# CONFIG_VIDEO_BRIDGE_TOSHIBA_TC358768 is not set
# CONFIG_VIDEO_TEGRA20 is not set
# CONFIG_VIDEO_DSI_TEGRA30 is not set
# CONFIG_TEGRA_BACKLIGHT_PWM is not set
@@ -2119,6 +2181,7 @@ CONFIG_CONSOLE_SCROLL_LINES=1
# CONFIG_OSD is not set
# CONFIG_VIDEO_REMOVE is not set
# CONFIG_SPLASH_SCREEN is not set
+# CONFIG_BMP is not set
CONFIG_VIDEO_LOGO_MAX_SIZE=0x100000
CONFIG_VIDEO_BMP_RLE8=y
# CONFIG_BMP_16BPP is not set
@@ -2183,6 +2246,7 @@ CONFIG_FS_FAT_MAX_CLUSTSIZE=65536
CONFIG_CHARSET=y
# CONFIG_DYNAMIC_CRC_TABLE is not set
CONFIG_LIB_UUID=y
+CONFIG_RANDOM_UUID=y
CONFIG_SPL_LIB_UUID=y
# CONFIG_SEMIHOSTING is not set
# CONFIG_SPL_SEMIHOSTING is not set
@@ -2200,6 +2264,7 @@ CONFIG_LIB_RAND=y
# CONFIG_LIB_HW_RAND is not set
CONFIG_SUPPORT_ACPI=y
# CONFIG_ACPI is not set
+# CONFIG_SPL_ACPI is not set
# CONFIG_SPL_TINY_MEMSET is not set
# CONFIG_BITREVERSE is not set
# CONFIG_TRACE is not set
@@ -2238,6 +2303,7 @@ CONFIG_MD5=y
# CONFIG_SPL_MD5 is not set
CONFIG_CRC8=y
# CONFIG_SPL_CRC8 is not set
+# CONFIG_SPL_CRC16 is not set
CONFIG_CRC32=y
#
@@ -2262,7 +2328,7 @@ CONFIG_ERRNO_STR=y
# CONFIG_HEXDUMP is not set
CONFIG_GETOPT=y
CONFIG_OF_LIBFDT=y
-CONFIG_OF_LIBFDT_ASSUME_MASK=0
+CONFIG_OF_LIBFDT_ASSUME_MASK=0x0
CONFIG_SYS_FDT_PAD=0x3000
CONFIG_SPL_OF_LIBFDT=y
CONFIG_SPL_OF_LIBFDT_ASSUME_MASK=0xff
@@ -2273,13 +2339,15 @@ CONFIG_SPL_OF_LIBFDT_ASSUME_MASK=0xff
CONFIG_GENERATE_SMBIOS_TABLE=y
# CONFIG_LIB_RATIONAL is not set
# CONFIG_SPL_LIB_RATIONAL is not set
+CONFIG_SMBIOS=y
# CONFIG_SMBIOS_PARSER is not set
CONFIG_EFI_LOADER=y
-CONFIG_CMD_BOOTEFI_BOOTMGR=y
+CONFIG_EFI_BINARY_EXEC=y
+CONFIG_EFI_BOOTMGR=y
# CONFIG_EFI_VARIABLE_FILE_STORE is not set
CONFIG_EFI_VARIABLE_NO_STORE=y
# CONFIG_EFI_VARIABLES_PRESEED is not set
-CONFIG_EFI_VAR_BUF_SIZE=65536
+CONFIG_EFI_VAR_BUF_SIZE=131072
# CONFIG_EFI_SCROLL_ON_CLEAR_SCREEN is not set
# CONFIG_EFI_RUNTIME_UPDATE_CAPSULE is not set
# CONFIG_EFI_CAPSULE_ON_DISK is not set
@@ -2297,6 +2365,7 @@ CONFIG_EFI_RNG_PROTOCOL=y
CONFIG_EFI_LOAD_FILE2_INITRD=y
CONFIG_EFI_ECPT=y
CONFIG_EFI_EBBR_2_1_CONFORMANCE=y
+# CONFIG_EFI_HTTP_BOOT is not set
# CONFIG_OPTEE_LIB is not set
# CONFIG_OPTEE_IMAGE is not set
# CONFIG_BOOTM_OPTEE is not set
@@ -2308,15 +2377,11 @@ CONFIG_LMB_MAX_REGIONS=16
# CONFIG_PHANDLE_CHECK_SEQ is not set
#
-# FWU Multi Bank Updates
-#
-# CONFIG_POST is not set
-
-#
-# Unit tests
+# Testing
#
# CONFIG_UNIT_TEST is not set
# CONFIG_SPL_UNIT_TEST is not set
+# CONFIG_POST is not set
#
# Tools options
@@ -2324,6 +2389,7 @@ CONFIG_LMB_MAX_REGIONS=16
CONFIG_MKIMAGE_DTC_PATH="dtc"
CONFIG_TOOLS_CRC32=y
CONFIG_TOOLS_LIBCRYPTO=y
+CONFIG_TOOLS_KWBIMAGE=y
CONFIG_TOOLS_FIT=y
CONFIG_TOOLS_FIT_FULL_CHECK=y
CONFIG_TOOLS_FIT_PRINT=y
diff --git a/config/u-boot/qemu_arm64_12mb/config/default b/config/u-boot/qemu_arm64_12mb/config/default
index 83c90261..65c6e684 100644
--- a/config/u-boot/qemu_arm64_12mb/config/default
+++ b/config/u-boot/qemu_arm64_12mb/config/default
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# U-Boot 2023.10 Configuration
+# U-Boot 2024.07 Configuration
#
#
-# Compiler: gcc (Debian 13.2.0-5) 13.2.0
+# Compiler: gcc (Debian 13.3.0-2) 13.3.0
#
CONFIG_CREATE_ARCH_SYMLINK=y
CONFIG_SYS_CACHE_SHIFT_6=y
+CONFIG_64BIT=y
CONFIG_SYS_CACHELINE_SIZE=64
CONFIG_LINKER_LIST_ALIGN=8
# CONFIG_ARC is not set
@@ -45,6 +46,7 @@ CONFIG_COUNTER_FREQUENCY=0
CONFIG_POSITION_INDEPENDENT=y
# CONFIG_INIT_SP_RELATIVE is not set
# CONFIG_GIC_V3_ITS is not set
+# CONFIG_GICV3_SUPPORT_GIC600 is not set
CONFIG_STATIC_RELA=y
CONFIG_DMA_ADDR_T_64BIT=y
CONFIG_ARM_ASM_UNIFIED=y
@@ -71,13 +73,11 @@ CONFIG_ARM64_SUPPORT_AARCH32=y
# CONFIG_ARCH_KIRKWOOD is not set
# CONFIG_ARCH_MVEBU is not set
# CONFIG_ARCH_ORION5X is not set
-# CONFIG_TARGET_STV0991 is not set
# CONFIG_ARCH_BCM283X is not set
# CONFIG_ARCH_BCMSTB is not set
# CONFIG_ARCH_BCMBCA is not set
# CONFIG_TARGET_VEXPRESS_CA9X4 is not set
# CONFIG_TARGET_BCMNS is not set
-# CONFIG_TARGET_BCMNS2 is not set
# CONFIG_TARGET_BCMNS3 is not set
# CONFIG_ARCH_EXYNOS is not set
# CONFIG_ARCH_S5PC1XX is not set
@@ -107,7 +107,7 @@ CONFIG_ARM64_SUPPORT_AARCH32=y
# CONFIG_ARCH_APPLE is not set
# CONFIG_ARCH_OWL is not set
CONFIG_ARCH_QEMU=y
-# CONFIG_ARCH_RMOBILE is not set
+# CONFIG_ARCH_RENESAS is not set
# CONFIG_ARCH_SNAPDRAGON is not set
# CONFIG_ARCH_SOCFPGA is not set
# CONFIG_ARCH_SUNXI is not set
@@ -166,6 +166,7 @@ CONFIG_ARCH_QEMU=y
# CONFIG_ARCH_ASPEED is not set
# CONFIG_TARGET_DURIAN is not set
# CONFIG_TARGET_POMELO is not set
+# CONFIG_TARGET_PE2201 is not set
# CONFIG_TARGET_PRESIDIO_ASIC is not set
# CONFIG_TARGET_XENGUEST_ARM64 is not set
# CONFIG_ARCH_GXP is not set
@@ -190,7 +191,7 @@ CONFIG_TARGET_QEMU_ARM_64BIT=y
CONFIG_ERR_PTR_OFFSET=0x0
CONFIG_PRE_CON_BUF_ADDR=0x40100000
CONFIG_PRE_CON_BUF_SZ=4096
-CONFIG_BOOTSTAGE_STASH_ADDR=0
+CONFIG_BOOTSTAGE_STASH_ADDR=0x0
CONFIG_DEBUG_UART_BASE=0x9000000
CONFIG_DEBUG_UART_CLOCK=0
# CONFIG_DEBUG_UART_BOARD_INIT is not set
@@ -247,7 +248,7 @@ CONFIG_AHCI=y
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=130200
+CONFIG_GCC_VERSION=130300
CONFIG_CLANG_VERSION=0
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set
@@ -276,6 +277,12 @@ CONFIG_STACK_SIZE=0x1000000
CONFIG_SYS_SRAM_BASE=0x0
CONFIG_SYS_SRAM_SIZE=0x0
# CONFIG_MP is not set
+CONFIG_HAVE_TEXT_BASE=y
+# CONFIG_HAVE_SYS_UBOOT_START is not set
+CONFIG_SYS_UBOOT_START=0x50000000
+CONFIG_HAVE_SYS_MONITOR_BASE=y
+CONFIG_SYS_MONITOR_BASE=0x50000000
+# CONFIG_DYNAMIC_SYS_CLK_FREQ is not set
# CONFIG_API is not set
#
@@ -286,8 +293,8 @@ CONFIG_SYS_SRAM_SIZE=0x0
# Boot images
#
# CONFIG_ANDROID_BOOT_IMAGE is not set
-CONFIG_FIT=y
CONFIG_TIMESTAMP=y
+CONFIG_FIT=y
CONFIG_FIT_EXTERNAL_OFFSET=0x0
CONFIG_FIT_FULL_CHECK=y
CONFIG_FIT_SIGNATURE=y
@@ -299,15 +306,19 @@ CONFIG_FIT_BEST_MATCH=y
CONFIG_FIT_PRINT=y
# CONFIG_SPL_LOAD_FIT_FULL is not set
CONFIG_PXE_UTILS=y
+CONFIG_BOOT_DEFAULTS_FEATURES=y
+CONFIG_BOOT_DEFAULTS_CMDS=y
CONFIG_BOOT_DEFAULTS=y
CONFIG_BOOTSTD=y
CONFIG_BOOTSTD_FULL=y
CONFIG_BOOTSTD_DEFAULTS=y
CONFIG_BOOTSTD_BOOTCOMMAND=y
CONFIG_BOOTMETH_GLOBAL=y
+# CONFIG_BOOTMETH_CROS is not set
CONFIG_BOOTMETH_EXTLINUX=y
CONFIG_BOOTMETH_EXTLINUX_PXE=y
CONFIG_BOOTMETH_EFILOADER=y
+CONFIG_BOOTMETH_EFI_BOOTMGR=y
CONFIG_BOOTMETH_VBE=y
CONFIG_BOOTMETH_DISTRO=y
CONFIG_BOOTMETH_VBE_REQUEST=y
@@ -316,15 +327,9 @@ CONFIG_BOOTMETH_VBE_SIMPLE_OS=y
CONFIG_EXPO=y
CONFIG_BOOTMETH_SCRIPT=y
CONFIG_LEGACY_IMAGE_FORMAT=y
+# CONFIG_MEASURED_BOOT is not set
+CONFIG_SYS_BOOTM_LEN=0x4000000
CONFIG_SUPPORT_RAW_INITRD=y
-# CONFIG_OF_BOARD_SETUP is not set
-# CONFIG_OF_SYSTEM_SETUP is not set
-# CONFIG_OF_STDOUT_VIA_ALIAS is not set
-CONFIG_HAVE_TEXT_BASE=y
-CONFIG_HAVE_SYS_MONITOR_BASE=y
-CONFIG_SYS_MONITOR_BASE=0x50000000
-# CONFIG_DYNAMIC_SYS_CLK_FREQ is not set
-CONFIG_ARCH_FIXUP_FDT_MEMORY=y
# CONFIG_CHROMEOS is not set
# CONFIG_CHROMEOS_VBOOT is not set
# CONFIG_RAMBOOT_PBL is not set
@@ -362,6 +367,17 @@ CONFIG_BOOTDELAY=2
# Image support
#
# CONFIG_IMAGE_PRE_LOAD is not set
+
+#
+# Devicetree fixup
+#
+# CONFIG_OF_ENV_SETUP is not set
+# CONFIG_OF_BOARD_SETUP is not set
+# CONFIG_OF_SYSTEM_SETUP is not set
+# CONFIG_OF_STDOUT_VIA_ALIAS is not set
+# CONFIG_FDT_FIXUP_PARTITIONS is not set
+# CONFIG_FDT_SIMPLEFB is not set
+CONFIG_ARCH_FIXUP_FDT_MEMORY=y
# CONFIG_USE_BOOTARGS is not set
# CONFIG_BOOTARGS_SUBST is not set
CONFIG_USE_BOOTCOMMAND=y
@@ -383,6 +399,8 @@ CONFIG_DEFAULT_FDT_FILE=""
#
CONFIG_MENU=y
# CONFIG_CONSOLE_RECORD is not set
+CONFIG_SYS_CBSIZE=1024
+CONFIG_SYS_PBSIZE=1044
# CONFIG_DISABLE_CONSOLE is not set
CONFIG_LOGLEVEL=4
# CONFIG_SILENT_CONSOLE is not set
@@ -390,6 +408,7 @@ CONFIG_LOGLEVEL=4
# CONFIG_TPL_SILENT_CONSOLE is not set
CONFIG_PRE_CONSOLE_BUFFER=y
CONFIG_CONSOLE_FLUSH_SUPPORT=y
+# CONFIG_CONSOLE_FLUSH_ON_NEWLINE is not set
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_CONSOLE_IS_IN_ENV=y
# CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set
@@ -426,7 +445,7 @@ CONFIG_EVENT_DYNAMIC=y
CONFIG_BOARD_LATE_INIT=y
# CONFIG_CLOCKS is not set
# CONFIG_HWCONFIG is not set
-# CONFIG_LAST_STAGE_INIT is not set
+CONFIG_LAST_STAGE_INIT=y
# CONFIG_MISC_INIT_R is not set
# CONFIG_SYS_MALLOC_BOOTPARAMS is not set
# CONFIG_ID_EEPROM is not set
@@ -455,23 +474,21 @@ CONFIG_UPDATE_LOAD_ADDR=0x100000
#
# CONFIG_BLOBLIST is not set
CONFIG_IMAGE_SIGN_INFO=y
-# CONFIG_FDT_SIMPLEFB is not set
-# CONFIG_BMP is not set
+CONFIG_CMDLINE=y
+CONFIG_HUSH_PARSER=y
#
-# Command line interface
+# Hush flavor to use
#
-CONFIG_CMDLINE=y
-CONFIG_HUSH_PARSER=y
+CONFIG_HUSH_OLD_PARSER=y
+# CONFIG_HUSH_MODERN_PARSER is not set
CONFIG_CMDLINE_EDITING=y
# CONFIG_CMDLINE_PS_SUPPORT is not set
CONFIG_AUTO_COMPLETE=y
CONFIG_SYS_LONGHELP=y
CONFIG_SYS_PROMPT="=> "
CONFIG_SYS_PROMPT_HUSH_PS2="> "
-CONFIG_SYS_MAXARGS=16
-CONFIG_SYS_CBSIZE=512
-CONFIG_SYS_PBSIZE=532
+CONFIG_SYS_MAXARGS=64
CONFIG_SYS_XTRACE=y
#
@@ -485,8 +502,10 @@ CONFIG_CMD_BDI=y
# CONFIG_CMD_BDINFO_EXTRA is not set
# CONFIG_CMD_CONFIG is not set
CONFIG_CMD_CONSOLE=y
+# CONFIG_CMD_HISTORY is not set
# CONFIG_CMD_LICENSE is not set
# CONFIG_CMD_PMC is not set
+CONFIG_CMD_SMBIOS=y
#
# Boot commands
@@ -508,23 +527,23 @@ CONFIG_BOOTM_PLAN9=y
CONFIG_BOOTM_RTEMS=y
CONFIG_CMD_VBE=y
CONFIG_BOOTM_VXWORKS=y
-CONFIG_SYS_BOOTM_LEN=0x4000000
CONFIG_CMD_BOOTEFI=y
+CONFIG_CMD_BOOTEFI_BINARY=y
+CONFIG_CMD_BOOTEFI_BOOTMGR=y
CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y
CONFIG_CMD_BOOTEFI_HELLO=y
CONFIG_CMD_BOOTEFI_SELFTEST=y
# CONFIG_CMD_BOOTMENU is not set
# CONFIG_CMD_ADTIMG is not set
CONFIG_CMD_ELF=y
+# CONFIG_CMD_ELF_FDT_SETUP is not set
CONFIG_CMD_FDT=y
CONFIG_CMD_GO=y
CONFIG_CMD_RUN=y
CONFIG_CMD_IMI=y
# CONFIG_CMD_IMLS is not set
CONFIG_CMD_XIMG=y
-# CONFIG_CMD_XXD is not set
-# CONFIG_CMD_THOR_DOWNLOAD is not set
-# CONFIG_CMD_ZBOOT is not set
+CONFIG_SYS_XIMG_LEN=0x800000
#
# Environment commands
@@ -549,10 +568,8 @@ CONFIG_CMD_NVEDIT_EFI=y
# Memory commands
#
# CONFIG_CMD_BINOP is not set
-# CONFIG_CMD_BLOBLIST is not set
CONFIG_CMD_CRC32=y
# CONFIG_CRC32_VERIFY is not set
-# CONFIG_CMD_EEPROM is not set
# CONFIG_LOOPW is not set
# CONFIG_CMD_MD5SUM is not set
# CONFIG_CMD_MEMINFO is not set
@@ -576,6 +593,7 @@ CONFIG_CMD_UNZIP=y
# Device access commands
#
# CONFIG_CMD_ARMFLASH is not set
+# CONFIG_CMD_BCB is not set
# CONFIG_CMD_BIND is not set
# CONFIG_CMD_CLK is not set
# CONFIG_CMD_DEMO is not set
@@ -586,7 +604,6 @@ CONFIG_CMD_FLASH=y
# CONFIG_CMD_FUSE is not set
# CONFIG_CMD_GPIO is not set
# CONFIG_CMD_GPT is not set
-# CONFIG_RANDOM_UUID is not set
# CONFIG_CMD_IDE is not set
# CONFIG_CMD_IO is not set
# CONFIG_CMD_IOTRACE is not set
@@ -602,6 +619,7 @@ CONFIG_CMD_LOADXY_TIMEOUT=90
# CONFIG_CMD_MBR is not set
# CONFIG_CMD_CLONE is not set
CONFIG_CMD_MTD=y
+# CONFIG_CMD_MTD_OTP is not set
CONFIG_CMD_NVME=y
# CONFIG_CMD_ONENAND is not set
# CONFIG_CMD_OSD is not set
@@ -617,6 +635,7 @@ CONFIG_CMD_SCSI=y
# CONFIG_CMD_UNIVERSE is not set
CONFIG_CMD_USB=y
# CONFIG_CMD_USB_SDP is not set
+# CONFIG_CMD_RKMTD is not set
CONFIG_CMD_VIRTIO=y
# CONFIG_CMD_WRITE is not set
@@ -629,6 +648,7 @@ CONFIG_CMD_ITEST=y
CONFIG_CMD_SOURCE=y
CONFIG_CMD_SETEXPR=y
# CONFIG_CMD_SETEXPR_FMT is not set
+# CONFIG_CMD_XXD is not set
#
# Android support commands
@@ -651,6 +671,7 @@ CONFIG_BOOTP_SUBNETMASK=y
# CONFIG_CMD_PCAP is not set
CONFIG_BOOTP_PXE=y
CONFIG_BOOTP_PXE_CLIENTARCH=0x16
+# CONFIG_BOOTP_PXE_DHCP_OPTION is not set
CONFIG_BOOTP_VCI_STRING="U-Boot.armv8"
CONFIG_CMD_TFTPBOOT=y
# CONFIG_CMD_TFTPPUT is not set
@@ -704,7 +725,6 @@ CONFIG_CMD_VIDCONSOLE=y
#
# TI specific command line interface
#
-# CONFIG_CMD_DDR3 is not set
#
# Power commands
@@ -743,7 +763,6 @@ CONFIG_CMD_FS_GENERIC=y
CONFIG_CMD_MTDPARTS=y
# CONFIG_CMD_MTDPARTS_SPREAD is not set
# CONFIG_CMD_MTDPARTS_SHOW_NET_SIZES is not set
-# CONFIG_CMD_REISER is not set
# CONFIG_CMD_ZFS is not set
#
@@ -775,6 +794,7 @@ CONFIG_SUPPORT_OF_CONTROL=y
CONFIG_OF_CONTROL=y
CONFIG_OF_REAL=y
# CONFIG_OF_LIVE is not set
+# CONFIG_OF_UPSTREAM is not set
CONFIG_OF_SEPARATE=y
# CONFIG_OF_EMBED is not set
CONFIG_OF_BOARD=y
@@ -854,7 +874,7 @@ CONFIG_SYS_RX_ETH_BUFFER=4
# Generic Driver Options
#
CONFIG_DM=y
-CONFIG_DM_WARN=y
+# CONFIG_DM_WARN is not set
# CONFIG_DM_DEBUG is not set
# CONFIG_DM_STATS is not set
CONFIG_DM_DEVICE_REMOVE=y
@@ -872,11 +892,6 @@ CONFIG_DM_DEV_READ_INLINE=y
# CONFIG_OFNODE_MULTI_TREE is not set
# CONFIG_BOUNCE_BUFFER is not set
# CONFIG_ADC is not set
-# CONFIG_ADC_EXYNOS is not set
-# CONFIG_ADC_SANDBOX is not set
-# CONFIG_SARADC_MESON is not set
-# CONFIG_SARADC_ROCKCHIP is not set
-# CONFIG_ADC_IMX93 is not set
# CONFIG_SATA is not set
CONFIG_LIBATA=y
CONFIG_SCSI_AHCI=y
@@ -901,6 +916,7 @@ CONFIG_BLOCK_CACHE=y
# CONFIG_IDE is not set
# CONFIG_LBA48 is not set
# CONFIG_SYS_64BIT_LBA is not set
+# CONFIG_RKMTD is not set
# CONFIG_BOOTCOUNT_LIMIT is not set
#
@@ -913,9 +929,10 @@ CONFIG_BLOCK_CACHE=y
#
# CONFIG_CACHE is not set
# CONFIG_L2X0_CACHE is not set
-# CONFIG_V5L2_CACHE is not set
+# CONFIG_ANDES_L2_CACHE is not set
# CONFIG_NCORE_CACHE is not set
# CONFIG_SIFIVE_CCACHE is not set
+# CONFIG_SIFIVE_PL2 is not set
#
# Clock
@@ -955,11 +972,11 @@ CONFIG_DFU_TFTP=y
# CONFIG_DFU_TIMEOUT is not set
CONFIG_DFU_MTD=y
CONFIG_DFU_RAM=y
-# CONFIG_DFU_SF is not set
# CONFIG_DFU_VIRT is not set
CONFIG_SET_DFU_ALT_INFO=y
CONFIG_SYS_DFU_DATA_BUF_SIZE=0x800000
CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
+CONFIG_DFU_NAME_MAX_SIZE=32
#
# DMA Support
@@ -1082,6 +1099,7 @@ CONFIG_DM_KEYBOARD=y
# CONFIG_WINBOND_W83627 is not set
CONFIG_QFW=y
CONFIG_QFW_MMIO=y
+CONFIG_QFW_SMBIOS=y
# CONFIG_FS_LOADER is not set
#
@@ -1177,7 +1195,6 @@ CONFIG_E1000=y
# CONFIG_FTMAC100 is not set
# CONFIG_FTGMAC100 is not set
# CONFIG_MCFFEC is not set
-# CONFIG_FSLDMAFEC is not set
# CONFIG_KS8851_MLL is not set
# CONFIG_LITEETH is not set
# CONFIG_MACB is not set
@@ -1206,6 +1223,7 @@ CONFIG_E1000=y
# CONFIG_SYS_DPAA_QBMAN is not set
# CONFIG_TSEC_ENET is not set
# CONFIG_MEDIATEK_ETH is not set
+# CONFIG_HIFEMAC_ETH is not set
# CONFIG_HIGMACV300_ETH is not set
CONFIG_NVME=y
# CONFIG_NVME_APPLE is not set
@@ -1219,6 +1237,7 @@ CONFIG_PCI_ENHANCED_ALLOCATION=y
# CONFIG_PCI_ARID is not set
CONFIG_PCIE_ECAM_GENERIC=y
# CONFIG_PCIE_ECAM_SYNQUACER is not set
+# CONFIG_PCI_FTPCI100 is not set
# CONFIG_PCI_PHYTIUM is not set
# CONFIG_PCIE_FSL is not set
# CONFIG_PCI_MPC85XX is not set
@@ -1253,6 +1272,7 @@ CONFIG_PCIE_ECAM_GENERIC=y
# Pin controllers
#
# CONFIG_PINCTRL is not set
+# CONFIG_PINCTRL_TEGRA is not set
CONFIG_POWER=y
# CONFIG_POWER_LEGACY is not set
# CONFIG_ACPI_PMC is not set
@@ -1282,6 +1302,7 @@ CONFIG_POWER=y
#
# Remote Processor drivers
#
+CONFIG_REMOTEPROC_MAX_FW_SIZE=0x10000
#
# Reset Controller Support
@@ -1292,6 +1313,7 @@ CONFIG_DM_RNG=y
# CONFIG_RNG_NPCM is not set
# CONFIG_RNG_IPROC200 is not set
# CONFIG_RNG_SMCCC_TRNG is not set
+# CONFIG_RNG_ARM_RNDR is not set
CONFIG_TPM_RNG=y
#
@@ -1305,6 +1327,7 @@ CONFIG_DM_RTC=y
# CONFIG_RTC_DS1338 is not set
# CONFIG_RTC_DS3231 is not set
# CONFIG_RTC_EMULATION is not set
+# CONFIG_RTC_GOLDFISH is not set
# CONFIG_RTC_ISL1208 is not set
# CONFIG_RTC_PCF8563 is not set
# CONFIG_RTC_PT7C4338 is not set
@@ -1321,9 +1344,9 @@ CONFIG_RTC_PL031=y
# CONFIG_RTC_STM32 is not set
# CONFIG_RTC_ABX80X is not set
CONFIG_SCSI=y
-CONFIG_DM_SCSI=y
CONFIG_SERIAL=y
CONFIG_BAUDRATE=115200
+# CONFIG_DEFAULT_ENV_IS_RW is not set
CONFIG_REQUIRE_SERIAL_CONSOLE=y
# CONFIG_SPECIFY_CONSOLE_INDEX is not set
CONFIG_SERIAL_PRESENT=y
@@ -1354,16 +1377,20 @@ CONFIG_DEBUG_UART_SHIFT=2
# CONFIG_SYS_NS16550 is not set
CONFIG_PL01X_SERIAL=y
# CONFIG_ROCKCHIP_SERIAL is not set
+# CONFIG_SEMIHOSTING_SERIAL is not set
# CONFIG_XILINX_UARTLITE is not set
# CONFIG_MSM_SERIAL is not set
# CONFIG_MSM_GENI_SERIAL is not set
# CONFIG_MXS_AUART_SERIAL is not set
# CONFIG_OMAP_SERIAL is not set
+# CONFIG_HTIF_CONSOLE is not set
# CONFIG_SIFIVE_SERIAL is not set
# CONFIG_ZYNQ_SERIAL is not set
# CONFIG_MTK_SERIAL is not set
# CONFIG_MT7620_SERIAL is not set
# CONFIG_NPCM_SERIAL is not set
+# CONFIG_SM is not set
+# CONFIG_MESON_SM is not set
# CONFIG_SMEM is not set
#
@@ -1376,6 +1403,7 @@ CONFIG_PL01X_SERIAL=y
# SOC (System On Chip) specific Drivers
#
# CONFIG_SOC_DEVICE is not set
+# CONFIG_SOC_SAMSUNG is not set
# CONFIG_SOC_TI is not set
# CONFIG_SPI is not set
@@ -1391,6 +1419,7 @@ CONFIG_PL01X_SERIAL=y
CONFIG_SYSRESET=y
CONFIG_SYSRESET_CMD_RESET=y
CONFIG_SYSRESET_CMD_POWEROFF=y
+# CONFIG_SYSRESET_CV1800B is not set
CONFIG_SYSRESET_PSCI=y
# CONFIG_SYSRESET_SYSCON is not set
# CONFIG_SYSRESET_WATCHDOG is not set
@@ -1527,9 +1556,11 @@ CONFIG_VIDEO_BOCHS_SIZE_Y=1024
# CONFIG_VIDEO_LCD_ENDEAVORU is not set
# CONFIG_VIDEO_LCD_HIMAX_HX8394 is not set
# CONFIG_VIDEO_LCD_ORISETECH_OTM8009A is not set
+# CONFIG_VIDEO_LCD_LG_LD070WX3 is not set
# CONFIG_VIDEO_LCD_RAYDIUM_RM68200 is not set
# CONFIG_VIDEO_LCD_RENESAS_R61307 is not set
# CONFIG_VIDEO_LCD_RENESAS_R69328 is not set
+# CONFIG_VIDEO_LCD_SAMSUNG_LTL106HL02 is not set
# CONFIG_VIDEO_LCD_SSD2828 is not set
# CONFIG_VIDEO_LCD_TDO_TL070WSH30 is not set
# CONFIG_VIDEO_LCD_HITACHI_TX18D42VM is not set
@@ -1557,6 +1588,7 @@ CONFIG_CONSOLE_SCROLL_LINES=1
# CONFIG_OSD is not set
# CONFIG_VIDEO_REMOVE is not set
# CONFIG_SPLASH_SCREEN is not set
+# CONFIG_BMP is not set
CONFIG_VIDEO_LOGO_MAX_SIZE=0x100000
CONFIG_VIDEO_BMP_RLE8=y
# CONFIG_BMP_16BPP is not set
@@ -1623,7 +1655,9 @@ CONFIG_FS_FAT_MAX_CLUSTSIZE=65536
CONFIG_CHARSET=y
# CONFIG_DYNAMIC_CRC_TABLE is not set
CONFIG_LIB_UUID=y
-# CONFIG_SEMIHOSTING is not set
+# CONFIG_RANDOM_UUID is not set
+CONFIG_SEMIHOSTING=y
+CONFIG_SEMIHOSTING_FALLBACK=y
CONFIG_PRINTF=y
CONFIG_SPRINTF=y
CONFIG_STRTO=y
@@ -1685,22 +1719,24 @@ CONFIG_VPL_LZMA=y
CONFIG_HEXDUMP=y
# CONFIG_GETOPT is not set
CONFIG_OF_LIBFDT=y
-CONFIG_OF_LIBFDT_ASSUME_MASK=0
+CONFIG_OF_LIBFDT_ASSUME_MASK=0x0
CONFIG_SYS_FDT_PAD=0x3000
-# CONFIG_FDT_FIXUP_PARTITIONS is not set
#
# System tables
#
CONFIG_GENERATE_SMBIOS_TABLE=y
# CONFIG_LIB_RATIONAL is not set
+CONFIG_SMBIOS=y
CONFIG_SMBIOS_PARSER=y
CONFIG_EFI_LOADER=y
-CONFIG_CMD_BOOTEFI_BOOTMGR=y
+CONFIG_EFI_BINARY_EXEC=y
+CONFIG_EFI_BOOTMGR=y
CONFIG_EFI_VARIABLE_FILE_STORE=y
+# CONFIG_EFI_RT_VOLATILE_STORE is not set
# CONFIG_EFI_VARIABLE_NO_STORE is not set
# CONFIG_EFI_VARIABLES_PRESEED is not set
-CONFIG_EFI_VAR_BUF_SIZE=65536
+CONFIG_EFI_VAR_BUF_SIZE=131072
CONFIG_EFI_GET_TIME=y
CONFIG_EFI_SET_TIME=y
# CONFIG_EFI_SCROLL_ON_CLEAR_SCREEN is not set
@@ -1724,6 +1760,7 @@ CONFIG_EFI_LOAD_FILE2_INITRD=y
# CONFIG_EFI_SECURE_BOOT is not set
CONFIG_EFI_ECPT=y
CONFIG_EFI_EBBR_2_1_CONFORMANCE=y
+# CONFIG_EFI_HTTP_BOOT is not set
# CONFIG_OPTEE_LIB is not set
# CONFIG_OPTEE_IMAGE is not set
# CONFIG_BOOTM_OPTEE is not set
@@ -1736,14 +1773,10 @@ CONFIG_LMB_MAX_REGIONS=16
# CONFIG_PHANDLE_CHECK_SEQ is not set
#
-# FWU Multi Bank Updates
-#
-# CONFIG_POST is not set
-
-#
-# Unit tests
+# Testing
#
# CONFIG_UNIT_TEST is not set
+# CONFIG_POST is not set
#
# Tools options
@@ -1751,6 +1784,7 @@ CONFIG_LMB_MAX_REGIONS=16
CONFIG_MKIMAGE_DTC_PATH="dtc"
CONFIG_TOOLS_CRC32=y
CONFIG_TOOLS_LIBCRYPTO=y
+CONFIG_TOOLS_KWBIMAGE=y
CONFIG_TOOLS_FIT=y
CONFIG_TOOLS_FIT_FULL_CHECK=y
CONFIG_TOOLS_FIT_PRINT=y