summaryrefslogtreecommitdiff
path: root/config/u-boot
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2024-07-20 03:22:28 +0100
committerLeah Rowe <leah@libreboot.org>2024-07-20 03:27:06 +0100
commitfd29c8fd1a962ff1e12a97ad1199e83d98c6390c (patch)
tree802106f50371f4b4b36153e985839d8ad893683b /config/u-boot
parent31f1e4dadfcc1ceecacec50dd2a14e63a44364bd (diff)
quackboot (same idea as klompboot), from audit6
this is based directly on the audit6 final revision. same idea as klompboot. remove u-boot and arm support, remove pico-serprog, remove support for making release archives, and basically see how small the build system can possible get. quackboot *beats* the very first klompboot, at 790 lines, because klompboot 1 was just over 800 lines. klompboot 2 was 701 lines. vendor file logic is about 200 sloc so the next klompboot will be about 600 lines. this is the very first quackboot. Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'config/u-boot')
-rw-r--r--config/u-boot/default/nuke.list1
-rw-r--r--config/u-boot/default/patches/0001-clk-rockchip-rk3399-Set-hardcoded-clock-rates-same-a.patch100
-rw-r--r--config/u-boot/default/patches/0002-video-improve-UEFI-experience-on-DM_VIDEO.patch248
-rw-r--r--config/u-boot/default/patches/0003-Add-video-damage-tracking.patch2404
-rw-r--r--config/u-boot/default/patches/0004-HACK-Makefile-Ignore-missing-input-files-for-binman.patch34
-rw-r--r--config/u-boot/default/patches/0005-HACK-rk3399-gru-Remove-assigned-clock-dt-properties-.patch36
-rw-r--r--config/u-boot/default/target.cfg2
-rw-r--r--config/u-boot/gru_bob/config/default2408
-rw-r--r--config/u-boot/gru_bob/target.cfg3
-rw-r--r--config/u-boot/gru_kevin/config/default2408
-rw-r--r--config/u-boot/gru_kevin/target.cfg3
-rw-r--r--config/u-boot/qemu_arm64_12mb/config/default1803
-rw-r--r--config/u-boot/qemu_arm64_12mb/target.cfg3
13 files changed, 0 insertions, 9453 deletions
diff --git a/config/u-boot/default/nuke.list b/config/u-boot/default/nuke.list
deleted file mode 100644
index f3a3fcc3..00000000
--- a/config/u-boot/default/nuke.list
+++ /dev/null
@@ -1 +0,0 @@
-test/lib/strlcat.c
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
deleted file mode 100644
index 4ceeac59..00000000
--- a/config/u-boot/default/patches/0001-clk-rockchip-rk3399-Set-hardcoded-clock-rates-same-a.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-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
- devicetree
-
-Update hardcoded RK3399 clock rate definitions to match those in its
-devicetree (rk3399.dtsi), based on clock-controller assigned-clocks.
-Add and initialize NPLL since it's on that list, though nothing seems to
-use it in the driver so far.
-
-Also update VOP ACLK to 400MHz as it divides from CPLL (now 800MHz).
-All this stops the displayed vendor bitmap from getting disfigured
-when chainloading U-Boot from coreboot+depthcharge (as RW_LEGACY).
-
-Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
-Link: https://github.com/alpernebbi/u-boot/commit/7e73b7a7550cfdd22a1413c263026e41e56e7617
----
- .../include/asm/arch-rockchip/cru_rk3399.h | 19 ++++++++++---------
- drivers/clk/rockchip/clk_rk3399.c | 10 ++++++----
- 2 files changed, 16 insertions(+), 13 deletions(-)
-
-diff --git a/arch/arm/include/asm/arch-rockchip/cru_rk3399.h b/arch/arm/include/asm/arch-rockchip/cru_rk3399.h
-index d941a129f3e5..54035c0df1f3 100644
---- a/arch/arm/include/asm/arch-rockchip/cru_rk3399.h
-+++ b/arch/arm/include/asm/arch-rockchip/cru_rk3399.h
-@@ -69,7 +69,8 @@ check_member(rockchip_cru, sdio1_con[1], 0x594);
- #define LPLL_HZ (600*MHz)
- #define BPLL_HZ (600*MHz)
- #define GPLL_HZ (594*MHz)
--#define CPLL_HZ (384*MHz)
-+#define CPLL_HZ (800*MHz)
-+#define NPLL_HZ (1000*MHz)
- #define PPLL_HZ (676*MHz)
-
- #define PMU_PCLK_HZ (48*MHz)
-@@ -82,16 +83,16 @@ check_member(rockchip_cru, sdio1_con[1], 0x594);
- #define ATCLK_CORE_B_HZ (300*MHz)
- #define PCLK_DBG_B_HZ (100*MHz)
-
--#define PERIHP_ACLK_HZ (148500*KHz)
--#define PERIHP_HCLK_HZ (148500*KHz)
--#define PERIHP_PCLK_HZ (37125*KHz)
-+#define PERIHP_ACLK_HZ (150*MHz)
-+#define PERIHP_HCLK_HZ (75*MHz)
-+#define PERIHP_PCLK_HZ (37500*KHz)
-
--#define PERILP0_ACLK_HZ (99000*KHz)
--#define PERILP0_HCLK_HZ (99000*KHz)
--#define PERILP0_PCLK_HZ (49500*KHz)
-+#define PERILP0_ACLK_HZ (100*MHz)
-+#define PERILP0_HCLK_HZ (100*MHz)
-+#define PERILP0_PCLK_HZ (50*MHz)
-
--#define PERILP1_HCLK_HZ (99000*KHz)
--#define PERILP1_PCLK_HZ (49500*KHz)
-+#define PERILP1_HCLK_HZ (100*MHz)
-+#define PERILP1_PCLK_HZ (50*MHz)
-
- #define PWM_CLOCK_HZ PMU_PCLK_HZ
-
-diff --git a/drivers/clk/rockchip/clk_rk3399.c b/drivers/clk/rockchip/clk_rk3399.c
-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 {
- .fbdiv = (u32)((u64)hz * _refdiv * _postdiv1 * _postdiv2 / OSC_HZ),\
- .postdiv1 = _postdiv1, .postdiv2 = _postdiv2};
-
--static const struct pll_div gpll_init_cfg = PLL_DIVISORS(GPLL_HZ, 2, 2, 1);
--static const struct pll_div cpll_init_cfg = PLL_DIVISORS(CPLL_HZ, 1, 2, 2);
-+static const struct pll_div gpll_init_cfg = PLL_DIVISORS(GPLL_HZ, 1, 4, 1);
-+static const struct pll_div cpll_init_cfg = PLL_DIVISORS(CPLL_HZ, 1, 3, 1);
-+static const struct pll_div npll_init_cfg = PLL_DIVISORS(NPLL_HZ, 1, 3, 1);
- #if !defined(CONFIG_SPL_BUILD)
--static const struct pll_div ppll_init_cfg = PLL_DIVISORS(PPLL_HZ, 2, 2, 1);
-+static const struct pll_div ppll_init_cfg = PLL_DIVISORS(PPLL_HZ, 3, 2, 1);
- #endif
-
- static const struct pll_div apll_l_1600_cfg = PLL_DIVISORS(1600 * MHz, 3, 1, 1);
-@@ -682,7 +683,7 @@ static ulong rk3399_spi_set_clk(struct rockchip_cru *cru, ulong clk_id, uint hz)
- static ulong rk3399_vop_set_clk(struct rockchip_cru *cru, ulong clk_id, u32 hz)
- {
- struct pll_div vpll_config = {0};
-- int aclk_vop = 198 * MHz;
-+ int aclk_vop = 400 * MHz;
- void *aclkreg_addr, *dclkreg_addr;
- u32 div;
-
-@@ -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);
-+ rkclk_set_pll(&cru->npll_con[0], &npll_init_cfg);
-
- /* configure perihp aclk, hclk, pclk */
- aclk_div = GPLL_HZ / PERIHP_ACLK_HZ - 1;
---
-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
deleted file mode 100644
index d5c6788a..00000000
--- a/config/u-boot/default/patches/0002-video-improve-UEFI-experience-on-DM_VIDEO.patch
+++ /dev/null
@@ -1,248 +0,0 @@
-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/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.
-
-Add a simple cursor display by writing a SPACE glyph in the background
-colour to the next character position on the screen. Any typed character
-will naturally overwrite it, so we need to only explicitly clear it if
-the next character will appear somewhere else (newline, backspace).
-
-Signed-off-by: Andre Przywara <andre.przywara@arm.com>
-Reviewed-by: Simon Glass <sjg@chromium.org>
-Tested-by: Simon Glass <sjg@chromium.org>
-Link: https://lore.kernel.org/r/20220110005638.21599-2-andre.przywara@arm.com
-[Alper: Rebase for console_set_font(), reword for CONFIG_VIDEO]
-Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
----
- drivers/video/console_core.c | 1 +
- drivers/video/vidconsole-uclass.c | 42 +++++++++++++++++++++++++++++++
- include/video_console.h | 1 +
- 3 files changed, 44 insertions(+)
-
-diff --git a/drivers/video/console_core.c b/drivers/video/console_core.c
-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
- debug("height: %d\n", fontdata->height);
-
- priv->fontdata = fontdata;
-+ vc_priv->cursor_visible = true;
- vc_priv->x_charsize = fontdata->width;
- 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 80e7adf6a1a4..8b2ef51f1b3b 100644
---- a/drivers/video/vidconsole-uclass.c
-+++ b/drivers/video/vidconsole-uclass.c
-@@ -57,6 +57,26 @@ int vidconsole_entry_start(struct udevice *dev)
- return ops->entry_start(dev);
- }
-
-+static void draw_cursor(struct udevice *dev, bool state)
-+{
-+ struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
-+ struct video_priv *vid_priv = dev_get_uclass_priv(dev->parent);
-+ u32 tmp;
-+
-+ if (!priv->cursor_visible)
-+ return;
-+
-+ if (state) {
-+ tmp = vid_priv->colour_bg;
-+ vid_priv->colour_bg = vid_priv->colour_fg;
-+ }
-+
-+ vidconsole_putc_xy(dev, priv->xcur_frac, priv->ycur, ' ');
-+
-+ if (state)
-+ vid_priv->colour_bg = tmp;
-+}
-+
- /* Move backwards one space */
- 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;
-
-+ draw_cursor(dev, false);
-+
- if (ops->backspace) {
- ret = ops->backspace(dev);
- if (ret != -ENOSYS)
-@@ -90,6 +112,8 @@ static void vidconsole_newline(struct udevice *dev)
- const int rows = CONFIG_VAL(CONSOLE_SCROLL_LINES);
- int i, ret;
-
-+ draw_cursor(dev, false);
-+
- priv->xcur_frac = priv->xstart_frac;
- priv->ycur += priv->y_charsize;
-
-@@ -284,6 +308,14 @@ static void vidconsole_escape_char(struct udevice *dev, char ch)
-
- break;
- }
-+ case 'l':
-+ draw_cursor(dev, false);
-+ priv->cursor_visible = 0;
-+ break;
-+ case 'h':
-+ priv->cursor_visible = 1;
-+ draw_cursor(dev, true);
-+ break;
- case 'J': {
- int mode;
-
-@@ -458,6 +490,11 @@ int vidconsole_put_char(struct udevice *dev, char ch)
- struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
- int cp, ret;
-
-+ /*
-+ * We don't need to clear the cursor since we are going to overwrite
-+ * that character anyway.
-+ */
-+
- if (priv->escape) {
- vidconsole_escape_char(dev, ch);
- return 0;
-@@ -472,6 +509,7 @@ int vidconsole_put_char(struct udevice *dev, char ch)
- /* beep */
- break;
- case '\r':
-+ draw_cursor(dev, false);
- priv->xcur_frac = priv->xstart_frac;
- break;
- case '\n':
-@@ -479,6 +517,7 @@ int vidconsole_put_char(struct udevice *dev, char ch)
- vidconsole_entry_start(dev);
- break;
- case '\t': /* Tab (8 chars alignment) */
-+ draw_cursor(dev, false);
- priv->xcur_frac = ((priv->xcur_frac / priv->tab_width_frac)
- + 1) * priv->tab_width_frac;
-
-@@ -503,6 +542,8 @@ int vidconsole_put_char(struct udevice *dev, char ch)
- break;
- }
-
-+ draw_cursor(dev, true);
-+
- return 0;
- }
-
-@@ -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);
-+ priv->cursor_visible = false;
-
- return 0;
- }
-diff --git a/include/video_console.h b/include/video_console.h
-index 8b5928dc5ebb..00c5ecb664b9 100644
---- a/include/video_console.h
-+++ b/include/video_console.h
-@@ -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.45.2
-
-
-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/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.
-
-Add a test displaying some international characters, to reveal missing
-glyphs, especially in our builtin fonts.
-This would be needed to be manually checked on the screen for
-correctness.
-
-Signed-off-by: Andre Przywara <andre.przywara@arm.com>
-Link: https://lore.kernel.org/r/20220110005638.21599-7-andre.przywara@arm.com
----
- lib/efi_selftest/efi_selftest_textoutput.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/lib/efi_selftest/efi_selftest_textoutput.c b/lib/efi_selftest/efi_selftest_textoutput.c
-index a3023c82567c..2f8d8d323c2b 100644
---- a/lib/efi_selftest/efi_selftest_textoutput.c
-+++ b/lib/efi_selftest/efi_selftest_textoutput.c
-@@ -154,6 +154,11 @@ static int execute(void)
- efi_st_printf("Unicode not handled properly\n");
- return EFI_ST_FAILURE;
- }
-+ ret = con_out->output_string(con_out, L"Österreich Edelweiß Smørrebrød Smörgås Niño René >Ἑλλάς<\n");
-+ if (ret != EFI_ST_SUCCESS) {
-+ efi_st_error("OutputString failed for international chars\n");
-+ return EFI_ST_FAILURE;
-+ }
- efi_st_printf("\n");
- ret = con_out->output_string(con_out, text);
- if (ret != EFI_ST_SUCCESS) {
---
-2.45.2
-
-
-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/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
-drawing characters.
-
-Add a simple test to display the most basic box characters, which would
-need to be checked manually on the screen for correctness.
-To facilitate this, add a three second delay after the output at this
-point.
-
-Signed-off-by: Andre Przywara <andre.przywara@arm.com>
-Link: https://lore.kernel.org/r/20220110005638.21599-8-andre.przywara@arm.com
----
- lib/efi_selftest/efi_selftest_textoutput.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/lib/efi_selftest/efi_selftest_textoutput.c b/lib/efi_selftest/efi_selftest_textoutput.c
-index 2f8d8d323c2b..02209a5bf224 100644
---- a/lib/efi_selftest/efi_selftest_textoutput.c
-+++ b/lib/efi_selftest/efi_selftest_textoutput.c
-@@ -159,6 +159,17 @@ static int execute(void)
- efi_st_error("OutputString failed for international chars\n");
- return EFI_ST_FAILURE;
- }
-+ ret = con_out->output_string(con_out, L"┌─┬─┐\n");
-+ ret |= con_out->output_string(con_out, L"│ │ │\n");
-+ ret |= con_out->output_string(con_out, L"├─┼─┤\n");
-+ ret |= con_out->output_string(con_out, L"│ │ │\n");
-+ ret |= con_out->output_string(con_out, L"└─┴─┘\n");
-+ if (ret != EFI_ST_SUCCESS) {
-+ efi_st_error("OutputString failed for box drawing chars\n");
-+ return EFI_ST_FAILURE;
-+ }
-+ con_out->output_string(con_out, L"waiting for admiration...\n");
-+ EFI_CALL(systab.boottime->stall(3000000));
- efi_st_printf("\n");
- ret = con_out->output_string(con_out, text);
- if (ret != EFI_ST_SUCCESS) {
---
-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
deleted file mode 100644
index 616efa0f..00000000
--- a/config/u-boot/default/patches/0003-Add-video-damage-tracking.patch
+++ /dev/null
@@ -1,2404 +0,0 @@
-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
- function
-
-While checking frame buffer contents, the video tests also check if the
-copy frame buffer contents match the main frame buffer. To test if only
-the modified regions are updated after a sync, we will need to create
-situations where the two are mismatched. Split this check into another
-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 7dfbeb9555d1..14e6af5181f1 100644
---- a/test/dm/video.c
-+++ b/test/dm/video.c
-@@ -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.
- *
-- * If the copy framebuffer is enabled, this compares it to the main framebuffer
-- * too.
-- *
- * @uts: Test state
- * @dev: Video device
- * Return: compressed size of the frame buffer, or -ve on error
-@@ -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);
-- struct video_priv *uc_priv = dev_get_uclass_priv(dev);
- uint destlen;
- void *dest;
- int ret;
-@@ -81,16 +77,34 @@ static int compress_frame_buffer(struct unit_test_state *uts,
- if (ret)
- return ret;
-
-- /* Check here that the copy frame buffer is working correctly */
-- if (IS_ENABLED(CONFIG_VIDEO_COPY)) {
-- ut_assertf(!memcmp(uc_priv->fb, uc_priv->copy_fb,
-- uc_priv->fb_size),
-- "Copy framebuffer does not match fb");
-- }
--
- return destlen;
- }
-
-+/**
-+ * check_copy_frame_buffer() - Compare main frame buffer to copy
-+ *
-+ * If the copy frame buffer is enabled, this compares it to the main
-+ * frame buffer. Normally they should have the same contents after a
-+ * sync.
-+ *
-+ * @uts: Test state
-+ * @dev: Video device
-+ * Return: 0, or -ve on error
-+ */
-+static int check_copy_frame_buffer(struct unit_test_state *uts,
-+ struct udevice *dev)
-+{
-+ struct video_priv *priv = dev_get_uclass_priv(dev);
-+
-+ if (!IS_ENABLED(CONFIG_VIDEO_COPY))
-+ return 0;
-+
-+ ut_assertf(!memcmp(priv->fb, priv->copy_fb, priv->fb_size),
-+ "Copy framebuffer does not match fb");
-+
-+ return 0;
-+}
-+
- /*
- * Call this function at any point to halt and show the current display. Be
- * sure to run the test with the -l flag.
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
- vidconsole_putc_xy(con, 0, 0, 'a');
- ut_asserteq(79, compress_frame_buffer(uts, dev));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- vidconsole_putc_xy(con, 0, 0, ' ');
- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- for (i = 0; i < 20; i++)
- vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i);
- ut_asserteq(273, compress_frame_buffer(uts, dev));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- vidconsole_set_row(con, 0, WHITE);
- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- for (i = 0; i < 20; i++)
- vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i);
- ut_asserteq(273, compress_frame_buffer(uts, dev));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
- vidconsole_putc_xy(con, 0, 0, 'a');
- ut_asserteq(89, compress_frame_buffer(uts, dev));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- vidconsole_putc_xy(con, 0, 0, ' ');
- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- for (i = 0; i < 20; i++)
- vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i);
- ut_asserteq(363, compress_frame_buffer(uts, dev));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- vidconsole_set_row(con, 0, WHITE);
- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- for (i = 0; i < 20; i++)
- vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i);
- ut_asserteq(363, compress_frame_buffer(uts, dev));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- /* test clear escape sequence: [2J */
- vidconsole_put_string(con, "A\tB\tC"ANSI_ESC"[2J");
- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- /* test set-cursor: [%d;%df */
- vidconsole_put_string(con, "abc"ANSI_ESC"[2;2fab"ANSI_ESC"[4;4fcd");
- ut_asserteq(143, compress_frame_buffer(uts, dev));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- /* test colors (30-37 fg color, 40-47 bg color) */
- vidconsole_put_string(con, ANSI_ESC"[30;41mfoo"); /* black on red */
- vidconsole_put_string(con, ANSI_ESC"[33;44mbar"); /* yellow on blue */
- ut_asserteq(272, compress_frame_buffer(uts, dev));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- /* Check display wrap */
- for (i = 0; i < 120; i++)
- vidconsole_put_char(con, 'A' + i % 50);
- ut_asserteq(wrap_size, compress_frame_buffer(uts, dev));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- /* Check display scrolling */
- for (i = 0; i < SCROLL_LINES; i++) {
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- /* If we scroll enough, the screen becomes blank again */
- for (i = 0; i < SCROLL_LINES; i++)
- vidconsole_put_char(con, '\n');
- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-@@ -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));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
- }
-
-base-commit: 475aa8345a78396d39b42f96eccecd37ebe24e99
---
-2.45.2
-
-
-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
- contents
-
-The video tests have a helper function to generate a pseudo-digest of
-frame buffer contents, but it only does so for the main one. There is
-another check that the copy frame buffer is the same as that. But
-neither is enough to test if only the modified regions are copied to the
-copy frame buffer, since we will want the two to be different in very
-specific ways.
-
-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 14e6af5181f1..50374cafc009 100644
---- a/test/dm/video.c
-+++ b/test/dm/video.c
-@@ -56,22 +56,28 @@ DM_TEST(dm_test_video_base, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
- *
- * @uts: Test state
- * @dev: Video device
-+ * @use_copy: Use copy frame buffer if available
- * Return: compressed size of the frame buffer, or -ve on error
- */
- static int compress_frame_buffer(struct unit_test_state *uts,
-- struct udevice *dev)
-+ struct udevice *dev,
-+ bool use_copy)
- {
- struct video_priv *priv = dev_get_uclass_priv(dev);
- uint destlen;
- void *dest;
- int ret;
-
-+ if (!IS_ENABLED(CONFIG_VIDEO_COPY))
-+ use_copy = false;
-+
- destlen = priv->fb_size;
- dest = malloc(priv->fb_size);
- if (!dest)
- return -ENOMEM;
- ret = BZ2_bzBuffToBuffCompress(dest, &destlen,
-- priv->fb, priv->fb_size,
-+ use_copy ? priv->copy_fb : priv->fb,
-+ priv->fb_size,
- 3, 0, 0);
- free(dest);
- if (ret)
-@@ -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));
-- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_asserteq(46, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
- vidconsole_putc_xy(con, 0, 0, 'a');
-- ut_asserteq(79, compress_frame_buffer(uts, dev));
-+ ut_asserteq(79, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- vidconsole_putc_xy(con, 0, 0, ' ');
-- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_asserteq(46, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- for (i = 0; i < 20; i++)
- vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i);
-- ut_asserteq(273, compress_frame_buffer(uts, dev));
-+ ut_asserteq(273, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- vidconsole_set_row(con, 0, WHITE);
-- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_asserteq(46, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- for (i = 0; i < 20; i++)
- vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i);
-- ut_asserteq(273, compress_frame_buffer(uts, dev));
-+ ut_asserteq(273, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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));
-- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_asserteq(46, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
- vidconsole_putc_xy(con, 0, 0, 'a');
-- ut_asserteq(89, compress_frame_buffer(uts, dev));
-+ ut_asserteq(89, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- vidconsole_putc_xy(con, 0, 0, ' ');
-- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_asserteq(46, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- for (i = 0; i < 20; i++)
- vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i);
-- ut_asserteq(363, compress_frame_buffer(uts, dev));
-+ ut_asserteq(363, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- vidconsole_set_row(con, 0, WHITE);
-- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_asserteq(46, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- for (i = 0; i < 20; i++)
- vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i);
-- ut_asserteq(363, compress_frame_buffer(uts, dev));
-+ ut_asserteq(363, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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);
-- ut_asserteq(466, compress_frame_buffer(uts, dev));
-+ ut_asserteq(466, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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);
-- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_asserteq(46, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- /* test clear escape sequence: [2J */
- vidconsole_put_string(con, "A\tB\tC"ANSI_ESC"[2J");
-- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_asserteq(46, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- /* test set-cursor: [%d;%df */
- vidconsole_put_string(con, "abc"ANSI_ESC"[2;2fab"ANSI_ESC"[4;4fcd");
-- ut_asserteq(143, compress_frame_buffer(uts, dev));
-+ ut_asserteq(143, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- /* test colors (30-37 fg color, 40-47 bg color) */
- vidconsole_put_string(con, ANSI_ESC"[30;41mfoo"); /* black on red */
- vidconsole_put_string(con, ANSI_ESC"[33;44mbar"); /* yellow on blue */
-- ut_asserteq(272, compress_frame_buffer(uts, dev));
-+ ut_asserteq(272, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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));
-- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_asserteq(46, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- /* Check display wrap */
- for (i = 0; i < 120; i++)
- vidconsole_put_char(con, 'A' + i % 50);
-- ut_asserteq(wrap_size, compress_frame_buffer(uts, dev));
-+ ut_asserteq(wrap_size, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- /* Check display scrolling */
-@@ -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');
- }
-- ut_asserteq(scroll_size, compress_frame_buffer(uts, dev));
-+ ut_asserteq(scroll_size, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- /* If we scroll enough, the screen becomes blank again */
- for (i = 0; i < SCROLL_LINES; i++)
- vidconsole_put_char(con, '\n');
-- ut_asserteq(46, compress_frame_buffer(uts, dev));
-+ ut_asserteq(46, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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));
-- ut_asserteq(1368, compress_frame_buffer(uts, dev));
-+ ut_asserteq(1368, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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));
-- ut_asserteq(1247, compress_frame_buffer(uts, dev));
-+ ut_asserteq(1247, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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));
-- ut_asserteq(3700, compress_frame_buffer(uts, dev));
-+ ut_asserteq(3700, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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));
-- ut_asserteq(3656, compress_frame_buffer(uts, dev));
-+ ut_asserteq(3656, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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));
-- ut_asserteq(6827, compress_frame_buffer(uts, dev));
-+ ut_asserteq(6827, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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));
-- ut_asserteq(2024, compress_frame_buffer(uts, dev));
-+ ut_asserteq(2024, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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));
-- ut_asserteq(1368, compress_frame_buffer(uts, dev));
-+ ut_asserteq(1368, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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));
-- ut_asserteq(2024, compress_frame_buffer(uts, dev));
-+ ut_asserteq(2024, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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));
-- ut_asserteq(1247, compress_frame_buffer(uts, dev));
-+ ut_asserteq(1247, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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);
-- ut_asserteq(12174, compress_frame_buffer(uts, dev));
-+ ut_asserteq(12174, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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);
-- ut_asserteq(34287, compress_frame_buffer(uts, dev));
-+ ut_asserteq(34287, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
-@@ -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);
-- ut_asserteq(29471, compress_frame_buffer(uts, dev));
-+ ut_asserteq(29471, compress_frame_buffer(uts, dev, false));
- ut_assertok(check_copy_frame_buffer(uts, dev));
-
- return 0;
---
-2.45.2
-
-
-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
- buffer
-
-With VIDEO_COPY enabled, only the modified parts of the frame buffer are
-intended to be copied to the hardware. Add a test that checks this, by
-overwriting contents we prepared without telling the video uclass and
-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 50374cafc009..4798f2205a99 100644
---- a/test/dm/video.c
-+++ b/test/dm/video.c
-@@ -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);
-+
-+/* Test partial rendering onto hardware frame buffer */
-+static int dm_test_video_copy(struct unit_test_state *uts)
-+{
-+ struct sandbox_sdl_plat *plat;
-+ struct video_uc_plat *uc_plat;
-+ struct udevice *dev, *con;
-+ struct video_priv *priv;
-+ const char *test_string = "\n\tCriticism may not be agreeable, but it is necessary.\t";
-+ ulong addr;
-+
-+ if (!IS_ENABLED(CONFIG_VIDEO_COPY))
-+ return -EAGAIN;
-+
-+ ut_assertok(uclass_find_first_device(UCLASS_VIDEO, &dev));
-+ ut_assertnonnull(dev);
-+ uc_plat = dev_get_uclass_plat(dev);
-+ uc_plat->hide_logo = true;
-+ plat = dev_get_plat(dev);
-+ plat->font_size = 32;
-+ ut_assert(!device_active(dev));
-+ ut_assertok(uclass_first_device_err(UCLASS_VIDEO, &dev));
-+ ut_assertnonnull(dev);
-+ priv = dev_get_uclass_priv(dev);
-+
-+ ut_assertok(read_file(uts, "tools/logos/denx.bmp", &addr));
-+ ut_assertok(video_bmp_display(dev, addr, 0, 0, false));
-+
-+ ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
-+ vidconsole_put_string(con, "\n\n\n\n\n");
-+ vidconsole_put_string(con, test_string);
-+ vidconsole_put_string(con, test_string);
-+
-+ ut_asserteq(6678, compress_frame_buffer(uts, dev, false));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-+
-+ /*
-+ * Secretly clear the hardware frame buffer, but in a different
-+ * color (black) to see which parts will be overwritten.
-+ */
-+ memset(priv->copy_fb, 0, priv->fb_size);
-+
-+ /*
-+ * We should have the full content on the main buffer, but only
-+ * the new content should have been copied to the copy buffer.
-+ */
-+ vidconsole_put_string(con, test_string);
-+ vidconsole_put_string(con, test_string);
-+ ut_asserteq(7589, compress_frame_buffer(uts, dev, false));
-+ ut_asserteq(5278, compress_frame_buffer(uts, dev, true));
-+
-+ return 0;
-+}
-+DM_TEST(dm_test_video_copy, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
---
-2.45.2
-
-
-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
-
-We are going to introduce image damage tracking to fasten up screen
-refresh on large displays. This patch adds damage tracking for up to
-one rectangle of the screen which is typically enough to hold blt or
-text print updates. Callers into this API and a reduced dcache flush
-code path will follow in later patches.
-
-Signed-off-by: Alexander Graf <agraf@csgraf.de>
-Reported-by: Da Xue <da@libre.computer>
-[Alper: Use xstart/yend, document new fields, return void from
- video_damage(), declare priv, drop headers, use IS_ENABLED()]
-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 | 40 +++++++++++++++++++++++++++++++++---
- include/video.h | 40 ++++++++++++++++++++++++++++++++++--
- 3 files changed, 88 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
-index 7808ae7919e0..7815b590481e 100644
---- a/drivers/video/Kconfig
-+++ b/drivers/video/Kconfig
-@@ -92,6 +92,19 @@ config VIDEO_COPY
- To use this, your video driver must set @copy_base in
- struct video_uc_plat.
-
-+config VIDEO_DAMAGE
-+ bool "Enable damage tracking of frame buffer regions"
-+ help
-+ On some machines (most ARM), the display frame buffer resides in
-+ RAM. To make the display controller pick up screen updates, we
-+ have to flush frame buffer contents from CPU caches into RAM which
-+ can be a slow operation.
-+
-+ This feature adds damage tracking to collect information about regions
-+ that received updates. When we want to sync, we then only flush
-+ regions of the frame buffer that were modified before, speeding up
-+ screen refreshes significantly.
-+
- config BACKLIGHT_PWM
- 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 ff1382f4a43b..75ab5f5ba9d7 100644
---- a/drivers/video/video-uclass.c
-+++ b/drivers/video/video-uclass.c
-@@ -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 (x > priv->xsize)
-+ return;
-+
-+ if (y > priv->ysize)
-+ return;
-+
-+ if (xend > priv->xsize)
-+ xend = priv->xsize;
-+
-+ if (yend > priv->ysize)
-+ yend = priv->ysize;
-+
-+ /* Span a rectangle across all old and new damage */
-+ priv->damage.xstart = min(x, priv->damage.xstart);
-+ priv->damage.ystart = min(y, priv->damage.ystart);
-+ 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)
- {
-+ struct video_priv *priv = dev_get_uclass_priv(vid);
- struct video_ops *ops = video_get_ops(vid);
- int ret;
-
-@@ -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)
-- struct video_priv *priv = dev_get_uclass_priv(vid);
--
- if (priv->flush_dcache) {
- flush_dcache_range((ulong)priv->fb,
- ALIGN((ulong)priv->fb + priv->fb_size,
- CONFIG_SYS_CACHELINE_SIZE));
- }
- #elif defined(CONFIG_VIDEO_SANDBOX_SDL)
-- struct video_priv *priv = dev_get_uclass_priv(vid);
- static ulong last_sync;
-
- if (force || get_timer(last_sync) > 100) {
-@@ -380,6 +406,14 @@ int video_sync(struct udevice *vid, bool force)
- last_sync = get_timer(0);
- }
- #endif
-+
-+ if (IS_ENABLED(CONFIG_VIDEO_DAMAGE)) {
-+ priv->damage.xstart = priv->xsize;
-+ priv->damage.ystart = priv->ysize;
-+ priv->damage.xend = 0;
-+ priv->damage.yend = 0;
-+ }
-+
- return 0;
- }
-
-diff --git a/include/video.h b/include/video.h
-index 4d8df9baaada..d2dabb66e9e6 100644
---- a/include/video.h
-+++ b/include/video.h
-@@ -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
-+ * @damage: A bounding box of framebuffer regions updated since last sync
-+ * @damage.xstart: X start position in pixels from the left
-+ * @damage.ystart: Y start position in pixels from the top
-+ * @damage.xend: X end position in pixels from the left
-+ * @damage.xend: Y end position in pixels from the top
- * @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
-@@ -115,6 +120,12 @@ struct video_priv {
- void *fb;
- int fb_size;
- void *copy_fb;
-+ struct {
-+ int xstart;
-+ int ystart;
-+ int xend;
-+ int yend;
-+ } damage;
- int line_length;
- u32 colour_fg;
- u32 colour_bg;
-@@ -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
-- * function syncs these up so that the current contents of the U-Boot frame
-- * buffer are displayed to the user.
-+ * function syncs the damaged parts of them up so that the current contents
-+ * of the U-Boot frame buffer are displayed to the user. It clears the damage
-+ * buffer.
- */
- int video_sync(struct udevice *vid, bool force);
-
-@@ -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.
-+ *
-+ * @vid: Device to sync
-+ * @x: Upper left X coordinate of the damaged rectangle
-+ * @y: Upper left Y coordinate of the damaged rectangle
-+ * @width: Width of the damaged rectangle
-+ * @height: Height of the damaged rectangle
-+ *
-+ * Some frame buffers are cached or have a secondary frame buffer. This
-+ * function notifies the video subsystem about rectangles that were updated
-+ * within the frame buffer. They may only get written to the screen on the
-+ * 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.45.2
-
-
-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
-
-Let's report the video damage when we fill parts of the screen. This
-way we can later lazily flush only relevant regions to hardware.
-
-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 75ab5f5ba9d7..ca348101817a 100644
---- a/drivers/video/video-uclass.c
-+++ b/drivers/video/video-uclass.c
-@@ -195,6 +195,8 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend,
- if (ret)
- return ret;
-
-+ video_damage(dev, xstart, ystart, xend - xstart, yend - ystart);
-+
- return 0;
- }
-
-@@ -244,6 +246,8 @@ int video_fill(struct udevice *dev, u32 colour)
- if (ret)
- return ret;
-
-+ video_damage(dev, 0, 0, priv->xsize, priv->ysize);
-+
- return video_sync(dev, false);
- }
-
---
-2.45.2
-
-
-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
- drivers
-
-Now that we have a damage tracking API, let's populate damage done by
-vidconsole drivers. We try to declare as little memory as damaged as
-possible.
-
-Signed-off-by: Alexander Graf <agraf@csgraf.de>
-Reported-by: Da Xue <da@libre.computer>
-[Alper: Rebase for met->baseline, fontdata->height/width, make rotated
- console_putc_xy() damages pass tests, edit patch message]
-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-7-alpernebiyasak@gmail.com/
----
- drivers/video/console_normal.c | 18 +++++++++++
- drivers/video/console_rotate.c | 54 ++++++++++++++++++++++++++++++++
- drivers/video/console_truetype.c | 21 +++++++++++++
- 3 files changed, 93 insertions(+)
-
-diff --git a/drivers/video/console_normal.c b/drivers/video/console_normal.c
-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)
- if (ret)
- return ret;
-
-+ video_damage(dev->parent,
-+ 0,
-+ fontdata->height * row,
-+ vid_priv->xsize,
-+ fontdata->height);
-+
- return 0;
- }
-
-@@ -60,6 +66,12 @@ static int console_move_rows(struct udevice *dev, uint rowdst,
- if (ret)
- return ret;
-
-+ video_damage(dev->parent,
-+ 0,
-+ fontdata->height * rowdst,
-+ vid_priv->xsize,
-+ fontdata->height * count);
-+
- return 0;
- }
-
-@@ -91,6 +103,12 @@ static int console_putc_xy(struct udevice *dev, uint x_frac, uint y, int cp)
- if (ret)
- return ret;
-
-+ video_damage(dev->parent,
-+ x,
-+ y,
-+ fontdata->width,
-+ fontdata->height);
-+
- ret = vidconsole_sync_copy(dev, start, line);
- if (ret)
- return ret;
-diff --git a/drivers/video/console_rotate.c b/drivers/video/console_rotate.c
-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)
- if (ret)
- return ret;
-
-+ video_damage(dev->parent,
-+ vid_priv->xsize - ((row + 1) * fontdata->height),
-+ 0,
-+ fontdata->height,
-+ vid_priv->ysize);
-+
- return 0;
- }
-
-@@ -64,6 +70,12 @@ static int console_move_rows_1(struct udevice *dev, uint rowdst, uint rowsrc,
- dst += vid_priv->line_length;
- }
-
-+ video_damage(dev->parent,
-+ vid_priv->xsize - ((rowdst + count) * fontdata->height),
-+ 0,
-+ count * fontdata->height,
-+ vid_priv->ysize);
-+
- return 0;
- }
-
-@@ -97,6 +109,12 @@ static int console_putc_xy_1(struct udevice *dev, uint x_frac, uint y, int cp)
- if (ret)
- return ret;
-
-+ video_damage(dev->parent,
-+ vid_priv->xsize - y - fontdata->height,
-+ linenum - 1,
-+ fontdata->height,
-+ fontdata->width);
-+
- return VID_TO_POS(fontdata->width);
- }
-
-@@ -122,6 +140,12 @@ static int console_set_row_2(struct udevice *dev, uint row, int clr)
- if (ret)
- return ret;
-
-+ video_damage(dev->parent,
-+ 0,
-+ vid_priv->ysize - (row + 1) * fontdata->height,
-+ vid_priv->xsize,
-+ fontdata->height);
-+
- return 0;
- }
-
-@@ -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);
-
-+ video_damage(dev->parent,
-+ 0,
-+ vid_priv->ysize - (rowdst + count) * fontdata->height,
-+ vid_priv->xsize,
-+ count * fontdata->height);
-+
- return 0;
- }
-
-@@ -176,6 +206,12 @@ static int console_putc_xy_2(struct udevice *dev, uint x_frac, uint y, int cp)
- if (ret)
- return ret;
-
-+ video_damage(dev->parent,
-+ x - fontdata->width + 1,
-+ linenum - fontdata->height + 1,
-+ fontdata->width,
-+ fontdata->height);
-+
- return VID_TO_POS(fontdata->width);
- }
-
-@@ -200,6 +236,12 @@ static int console_set_row_3(struct udevice *dev, uint row, int clr)
- if (ret)
- return ret;
-
-+ video_damage(dev->parent,
-+ row * fontdata->height,
-+ 0,
-+ fontdata->height,
-+ vid_priv->ysize);
-+
- return 0;
- }
-
-@@ -226,6 +268,12 @@ static int console_move_rows_3(struct udevice *dev, uint rowdst, uint rowsrc,
- dst += vid_priv->line_length;
- }
-
-+ video_damage(dev->parent,
-+ rowdst * fontdata->height,
-+ 0,
-+ count * fontdata->height,
-+ vid_priv->ysize);
-+
- return 0;
- }
-
-@@ -258,6 +306,12 @@ static int console_putc_xy_3(struct udevice *dev, uint x_frac, uint y, int cp)
- if (ret)
- return ret;
-
-+ video_damage(dev->parent,
-+ y,
-+ linenum - fontdata->width + 1,
-+ fontdata->height,
-+ fontdata->width);
-+
- return VID_TO_POS(fontdata->width);
- }
-
-diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c
-index c435162d3f94..6a17f732fc26 100644
---- a/drivers/video/console_truetype.c
-+++ b/drivers/video/console_truetype.c
-@@ -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);
-+ struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev);
- struct console_tt_priv *priv = dev_get_priv(dev);
- struct console_tt_metrics *met = priv->cur_met;
- void *end, *line;
-@@ -233,6 +234,12 @@ static int console_truetype_set_row(struct udevice *dev, uint row, int clr)
- if (ret)
- return ret;
-
-+ video_damage(dev->parent,
-+ 0,
-+ vc_priv->y_charsize * row,
-+ vid_priv->xsize,
-+ vc_priv->y_charsize);
-+
- return 0;
- }
-
-@@ -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);
-+ struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev);
- struct console_tt_priv *priv = dev_get_priv(dev);
- struct console_tt_metrics *met = priv->cur_met;
- void *dst;
-@@ -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;
-
-+ video_damage(dev->parent,
-+ 0,
-+ vc_priv->y_charsize * rowdst,
-+ vid_priv->xsize,
-+ vc_priv->y_charsize * count);
-+
- return 0;
- }
-
-@@ -418,6 +432,13 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y,
-
- line += vid_priv->line_length;
- }
-+
-+ video_damage(dev->parent,
-+ VID_TO_PIXEL(x) + xoff,
-+ y + met->baseline + yoff,
-+ width,
-+ height);
-+
- ret = vidconsole_sync_copy(dev, start, line);
- if (ret)
- return ret;
---
-2.45.2
-
-
-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
-
-With VIDEO_DAMAGE, the video uclass tracks updated regions of the frame
-buffer in order to avoid unnecessary work during a video sync. Enable
-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 +
- test/dm/video.c | 56 +++++++++++++++++++++++++++++++++++++++
- 2 files changed, 57 insertions(+)
-
-diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
-index da8c1976d7bd..6bc20ec34169 100644
---- a/configs/sandbox_defconfig
-+++ b/configs/sandbox_defconfig
-@@ -319,6 +319,7 @@ CONFIG_USB_ETH_CDC=y
- CONFIG_VIDEO=y
- CONFIG_VIDEO_FONT_SUN12X22=y
- CONFIG_VIDEO_COPY=y
-+CONFIG_VIDEO_DAMAGE=y
- CONFIG_CONSOLE_ROTATION=y
- CONFIG_CONSOLE_TRUETYPE=y
- CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y
-diff --git a/test/dm/video.c b/test/dm/video.c
-index 4798f2205a99..119c43153165 100644
---- a/test/dm/video.c
-+++ b/test/dm/video.c
-@@ -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);
-+
-+/* Test video damage tracking */
-+static int dm_test_video_damage(struct unit_test_state *uts)
-+{
-+ struct sandbox_sdl_plat *plat;
-+ struct udevice *dev, *con;
-+ struct video_priv *priv;
-+ const char *test_string_1 = "Criticism may not be agreeable, ";
-+ const char *test_string_2 = "but it is necessary.";
-+ const char *test_string_3 = "It fulfils the same function as pain in the human body.";
-+
-+ if (!IS_ENABLED(CONFIG_VIDEO_DAMAGE))
-+ return -EAGAIN;
-+
-+ ut_assertok(uclass_find_device(UCLASS_VIDEO, 0, &dev));
-+ ut_assert(!device_active(dev));
-+ plat = dev_get_plat(dev);
-+ plat->font_size = 32;
-+
-+ ut_assertok(video_get_nologo(uts, &dev));
-+ ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
-+ priv = dev_get_uclass_priv(dev);
-+
-+ vidconsole_position_cursor(con, 14, 10);
-+ vidconsole_put_string(con, test_string_2);
-+ ut_asserteq(449, priv->damage.xstart);
-+ ut_asserteq(325, priv->damage.ystart);
-+ ut_asserteq(661, priv->damage.xend);
-+ ut_asserteq(350, priv->damage.yend);
-+
-+ vidconsole_position_cursor(con, 7, 5);
-+ vidconsole_put_string(con, test_string_1);
-+ ut_asserteq(225, priv->damage.xstart);
-+ ut_asserteq(164, priv->damage.ystart);
-+ ut_asserteq(661, priv->damage.xend);
-+ ut_asserteq(350, priv->damage.yend);
-+
-+ vidconsole_position_cursor(con, 21, 15);
-+ vidconsole_put_string(con, test_string_3);
-+ ut_asserteq(225, priv->damage.xstart);
-+ ut_asserteq(164, priv->damage.ystart);
-+ ut_asserteq(1280, priv->damage.xend);
-+ ut_asserteq(510, priv->damage.yend);
-+
-+ video_sync(dev, false);
-+ ut_asserteq(priv->xsize, priv->damage.xstart);
-+ ut_asserteq(priv->ysize, priv->damage.ystart);
-+ ut_asserteq(0, priv->damage.xend);
-+ ut_asserteq(0, priv->damage.yend);
-+
-+ ut_asserteq(7339, compress_frame_buffer(uts, dev, false));
-+ ut_assertok(check_copy_frame_buffer(uts, dev));
-+
-+ return 0;
-+}
-+DM_TEST(dm_test_video_damage, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
---
-2.45.2
-
-
-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
-
-Let's report the video damage when we draw a bitmap on the screen. This
-way we can later lazily flush only relevant regions to hardware.
-
-Signed-off-by: Alexander Graf <agraf@csgraf.de>
-Reported-by: Da Xue <da@libre.computer>
-Reviewed-by: Simon Glass <sjg@chromium.org>
-Link: https://lore.kernel.org/u-boot/20230821135111.3558478-9-alpernebiyasak@gmail.com/
----
- drivers/video/video_bmp.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/video/video_bmp.c b/drivers/video/video_bmp.c
-index ad512d99a1b9..78de95607924 100644
---- a/drivers/video/video_bmp.c
-+++ b/drivers/video/video_bmp.c
-@@ -459,6 +459,8 @@ int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y,
- break;
- };
-
-+ video_damage(dev, x, y, width, height);
-+
- /* Find the position of the top left of the image in the framebuffer */
- fb = (uchar *)(priv->fb + y * priv->line_length + x * bpix / 8);
- ret = video_sync_copy(dev, start, fb);
---
-2.45.2
-
-
-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
-
-Now that we have a damage tracking API, let's populate damage done by
-UEFI payloads when they BLT data onto the screen.
-
-Signed-off-by: Alexander Graf <agraf@csgraf.de>
-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 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;
- * @ops: graphical output protocol interface
- * @info: graphical output mode information
- * @mode: graphical output mode
-+ * @vdev: backing video device
- * @bpix: bits per pixel
- * @fb: frame buffer
- */
-@@ -32,6 +33,7 @@ struct efi_gop_obj {
- struct efi_gop ops;
- struct efi_gop_mode_info info;
- struct efi_gop_mode mode;
-+ struct udevice *vdev;
- /* Fields we only have access to during init */
- u32 bpix;
- void *fb;
-@@ -120,6 +122,7 @@ static __always_inline efi_status_t gop_blt_int(struct efi_gop *this,
- u32 *fb32 = gopobj->fb;
- u16 *fb16 = gopobj->fb;
- struct efi_gop_pixel *buffer = __builtin_assume_aligned(bufferp, 4);
-+ bool blt_to_video = (operation != EFI_BLT_VIDEO_TO_BLT_BUFFER);
-
- if (delta) {
- /* Check for 4 byte alignment */
-@@ -243,6 +246,9 @@ static __always_inline efi_status_t gop_blt_int(struct efi_gop *this,
- dlineoff += dwidth;
- }
-
-+ if (blt_to_video)
-+ video_damage(gopobj->vdev, dx, dy, width, height);
-+
- return EFI_SUCCESS;
- }
-
-@@ -549,6 +555,7 @@ efi_status_t efi_gop_register(void)
- gopobj->info.pixels_per_scanline = col;
- gopobj->bpix = bpix;
- gopobj->fb = map_sysmem(fb_base, fb_size);
-+ gopobj->vdev = vdev;
-
- return EFI_SUCCESS;
- }
---
-2.45.2
-
-
-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
-
-Now that we have a damage area tells us which parts of the frame buffer
-actually need updating, let's only dcache flush those on video_sync()
-calls. With this optimization in place, frame buffer updates - especially
-on large screen such as 4k displays - speed up significantly.
-
-Signed-off-by: Alexander Graf <agraf@csgraf.de>
-Reported-by: Da Xue <da@libre.computer>
-[Alper: Use damage.xstart/yend, IS_ENABLED()]
-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 | 43 +++++++++++++++++++++++++++++++-----
- 1 file changed, 38 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
-index ca348101817a..add7a85b20fe 100644
---- a/drivers/video/video-uclass.c
-+++ b/drivers/video/video-uclass.c
-@@ -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, 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(fb, ALIGN(fb + priv->fb_size,
-+ CONFIG_SYS_CACHELINE_SIZE));
-+
-+ return;
-+ }
-+
-+ if (priv->damage.xend && priv->damage.yend) {
-+ int lstart = priv->damage.xstart * VNBYTES(priv->bpix);
-+ int lend = priv->damage.xend * VNBYTES(priv->bpix);
-+ int y;
-+
-+ for (y = priv->damage.ystart; y < priv->damage.yend; y++) {
-+ ulong start = fb + (y * priv->line_length) + lstart;
-+ ulong end = start + lend - lstart;
-+
-+ start = ALIGN_DOWN(start, CONFIG_SYS_CACHELINE_SIZE);
-+ end = ALIGN(end, CONFIG_SYS_CACHELINE_SIZE);
-+
-+ flush_dcache_range(start, end);
-+ }
-+ }
-+}
-+#endif
-+
- /* Flush video activity to the caches */
- 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)
-- if (priv->flush_dcache) {
-- flush_dcache_range((ulong)priv->fb,
-- ALIGN((ulong)priv->fb + priv->fb_size,
-- CONFIG_SYS_CACHELINE_SIZE));
-- }
-+ 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.45.2
-
-
-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
-
-CONFIG_VIDEO_COPY implemented a range-based copying mechanism: If we
-print a single character, it will always copy the full range of bytes
-from the top left corner of the character to the lower right onto the
-uncached frame buffer. This includes pretty much the full line contents
-of the printed character.
-
-Since we now have proper damage tracking, let's make use of that to reduce
-the amount of data we need to copy. With this patch applied, we will only
-copy the tiny rectangle surrounding characters when we print them,
-speeding up the video console.
-
-After this, changes to the main frame buffer are not immediately copied
-to the copy frame buffer, but postponed until the next video device
-sync. So issue an explicit sync before inspecting the copy frame buffer
-contents for the video tests.
-
-Signed-off-by: Alexander Graf <agraf@csgraf.de>
-[Alper: Rebase for fontdata->height/w, fill_part(), fix memmove(dev),
- drop from defconfig, use damage.xstart/yend, use IS_ENABLED(),
- call video_sync() before copy_fb check, update video_copy test]
-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-12-alpernebiyasak@gmail.com/
----
- configs/sandbox_defconfig | 1 -
- 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 | 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(+), 247 deletions(-)
-
-diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
-index 6bc20ec34169..da8c1976d7bd 100644
---- a/configs/sandbox_defconfig
-+++ b/configs/sandbox_defconfig
-@@ -319,7 +319,6 @@ CONFIG_USB_ETH_CDC=y
- CONFIG_VIDEO=y
- CONFIG_VIDEO_FONT_SUN12X22=y
- CONFIG_VIDEO_COPY=y
--CONFIG_VIDEO_DAMAGE=y
- CONFIG_CONSOLE_ROTATION=y
- CONFIG_CONSOLE_TRUETYPE=y
- CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y
-diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
-index 7815b590481e..88c6f8e68976 100644
---- a/drivers/video/Kconfig
-+++ b/drivers/video/Kconfig
-@@ -83,11 +83,14 @@ config VIDEO_PCI_DEFAULT_FB_SIZE
-
- config VIDEO_COPY
- bool "Enable copying the frame buffer to a hardware copy"
-+ select VIDEO_DAMAGE
- help
- On some machines (e.g. x86), reading from the frame buffer is very
- slow because it is uncached. To improve performance, this feature
- allows the frame buffer to be kept in cached memory (allocated by
- U-Boot) and then copied to the hardware frame-buffer as needed.
-+ It uses the VIDEO_DAMAGE feature to keep track of regions to copy
-+ and will only copy actually touched regions.
-
- To use this, your video driver must set @copy_base in
- struct video_uc_plat.
-@@ -105,6 +108,8 @@ config VIDEO_DAMAGE
- regions of the frame buffer that were modified before, speeding up
- screen refreshes significantly.
-
-+ It is also used by VIDEO_COPY to identify which regions changed.
-+
- config BACKLIGHT_PWM
- 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 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)
- fill_pixel_and_goto_next(&dst, clr, pbytes, pbytes);
- end = dst;
-
-- ret = vidconsole_sync_copy(dev, line, end);
-- if (ret)
-- return ret;
--
- video_damage(dev->parent,
- 0,
- fontdata->height * row,
-@@ -57,14 +53,11 @@ static int console_move_rows(struct udevice *dev, uint rowdst,
- void *dst;
- void *src;
- int size;
-- int ret;
-
- dst = vid_priv->fb + rowdst * fontdata->height * vid_priv->line_length;
- src = vid_priv->fb + rowsrc * fontdata->height * vid_priv->line_length;
- size = fontdata->height * vid_priv->line_length * count;
-- ret = vidconsole_memmove(dev, dst, src, size);
-- if (ret)
-- return ret;
-+ memmove(dst, src, size);
-
- video_damage(dev->parent,
- 0,
-@@ -109,10 +102,6 @@ static int console_putc_xy(struct udevice *dev, uint x_frac, uint y, int cp)
- fontdata->width,
- fontdata->height);
-
-- ret = vidconsole_sync_copy(dev, start, line);
-- if (ret)
-- return ret;
--
- return VID_TO_POS(fontdata->width);
- }
-
-diff --git a/drivers/video/console_rotate.c b/drivers/video/console_rotate.c
-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)
- int pbytes = VNBYTES(vid_priv->bpix);
- void *start, *dst, *line;
- int i, j;
-- int ret;
-
- start = vid_priv->fb + vid_priv->line_length -
- (row + 1) * fontdata->height * pbytes;
-@@ -32,9 +31,6 @@ static int console_set_row_1(struct udevice *dev, uint row, int clr)
- fill_pixel_and_goto_next(&dst, clr, pbytes, pbytes);
- line += vid_priv->line_length;
- }
-- ret = vidconsole_sync_copy(dev, start, line);
-- if (ret)
-- return ret;
-
- video_damage(dev->parent,
- vid_priv->xsize - ((row + 1) * fontdata->height),
-@@ -54,7 +50,7 @@ static int console_move_rows_1(struct udevice *dev, uint rowdst, uint rowsrc,
- int pbytes = VNBYTES(vid_priv->bpix);
- void *dst;
- void *src;
-- int j, ret;
-+ int j;
-
- dst = vid_priv->fb + vid_priv->line_length -
- (rowdst + count) * fontdata->height * pbytes;
-@@ -62,10 +58,7 @@ static int console_move_rows_1(struct udevice *dev, uint rowdst, uint rowsrc,
- (rowsrc + count) * fontdata->height * pbytes;
-
- for (j = 0; j < vid_priv->ysize; j++) {
-- ret = vidconsole_memmove(dev, dst, src,
-- fontdata->height * pbytes * count);
-- if (ret)
-- return ret;
-+ memmove(dst, src, fontdata->height * pbytes * count);
- src += vid_priv->line_length;
- dst += vid_priv->line_length;
- }
-@@ -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 */
-- ret = vidconsole_sync_copy(dev, start - vid_priv->line_length, line);
-- if (ret)
-- return ret;
--
- video_damage(dev->parent,
- vid_priv->xsize - y - fontdata->height,
- linenum - 1,
-@@ -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;
-- int i, ret;
-+ int i;
- int pbytes = VNBYTES(vid_priv->bpix);
-
- start = vid_priv->fb + vid_priv->ysize * vid_priv->line_length -
-@@ -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;
-- ret = vidconsole_sync_copy(dev, start, end);
-- if (ret)
-- return ret;
-
- video_damage(dev->parent,
- 0,
-@@ -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;
-- vidconsole_memmove(dev, dst, src,
-- fontdata->height * vid_priv->line_length * count);
-+ memmove(dst, src, fontdata->height * vid_priv->line_length * count);
-
- video_damage(dev->parent,
- 0,
-@@ -201,11 +186,6 @@ static int console_putc_xy_2(struct udevice *dev, uint x_frac, uint y, int cp)
- if (ret)
- return ret;
-
-- /* Add 4 bytes to allow for the first pixel writen */
-- ret = vidconsole_sync_copy(dev, start + 4, line);
-- if (ret)
-- return ret;
--
- video_damage(dev->parent,
- x - fontdata->width + 1,
- linenum - fontdata->height + 1,
-@@ -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;
-- int i, j, ret;
-+ int i, j;
-
- start = vid_priv->fb + row * fontdata->height * pbytes;
- line = start;
-@@ -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;
- }
-- ret = vidconsole_sync_copy(dev, start, line);
-- if (ret)
-- return ret;
-
- video_damage(dev->parent,
- row * fontdata->height,
-@@ -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;
-- int j, ret;
-+ int j;
-
- dst = vid_priv->fb + rowdst * fontdata->height * pbytes;
- src = vid_priv->fb + rowsrc * fontdata->height * pbytes;
-
- for (j = 0; j < vid_priv->ysize; j++) {
-- ret = vidconsole_memmove(dev, dst, src,
-- fontdata->height * pbytes * count);
-- if (ret)
-- return ret;
-+ memmove(dst, src, fontdata->height * pbytes * count);
- src += vid_priv->line_length;
- dst += vid_priv->line_length;
- }
-@@ -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);
-- if (ret)
-- return ret;
-- /* Add a line to allow for the first pixels writen */
-- ret = vidconsole_sync_copy(dev, start + vid_priv->line_length, line);
- if (ret)
- return ret;
-
-diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c
-index 6a17f732fc26..58dcd8e050c3 100644
---- a/drivers/video/console_truetype.c
-+++ b/drivers/video/console_truetype.c
-@@ -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;
-- int ret;
-
- line = vid_priv->fb + row * met->font_size * vid_priv->line_length;
- end = line + met->font_size * vid_priv->line_length;
-@@ -230,9 +229,6 @@ static int console_truetype_set_row(struct udevice *dev, uint row, int clr)
- default:
- return -ENOSYS;
- }
-- ret = vidconsole_sync_copy(dev, line, end);
-- if (ret)
-- return ret;
-
- video_damage(dev->parent,
- 0,
-@@ -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;
-- int i, diff, ret;
-+ int i, diff;
-
- dst = vid_priv->fb + rowdst * met->font_size * vid_priv->line_length;
- src = vid_priv->fb + rowsrc * met->font_size * vid_priv->line_length;
-- ret = vidconsole_memmove(dev, dst, src, met->font_size *
-- vid_priv->line_length * count);
-- if (ret)
-- return ret;
-+ memmove(dst, src, met->font_size * vid_priv->line_length * count);
-
- /* Scroll up our position history */
- diff = (rowsrc - rowdst) * met->font_size;
-@@ -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;
-- int row, ret;
-+ int row;
-
- /* First get some basic metrics about this character */
- 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);
-
-- ret = vidconsole_sync_copy(dev, start, line);
-- if (ret)
-- return ret;
- free(data);
-
- return width_frac;
-diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
-index 80e7adf6a1a4..6dc5162804aa 100644
---- a/drivers/video/vidconsole-uclass.c
-+++ b/drivers/video/vidconsole-uclass.c
-@@ -759,22 +759,6 @@ UCLASS_DRIVER(vidconsole) = {
- .per_device_auto = sizeof(struct vidconsole_priv),
- };
-
--#ifdef CONFIG_VIDEO_COPY
--int vidconsole_sync_copy(struct udevice *dev, void *from, void *to)
--{
-- struct udevice *vid = dev_get_parent(dev);
--
-- return video_sync_copy(vid, from, to);
--}
--
--int vidconsole_memmove(struct udevice *dev, void *dst, const void *src,
-- int size)
--{
-- memmove(dst, src, size);
-- return vidconsole_sync_copy(dev, dst, dst + size);
--}
--#endif
--
- int vidconsole_clear_and_reset(struct udevice *dev)
- {
- int ret;
-diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
-index add7a85b20fe..3b9b9fad0975 100644
---- a/drivers/video/video-uclass.c
-+++ b/drivers/video/video-uclass.c
-@@ -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;
-- int row, i, ret;
-+ int row, i;
-
- start = priv->fb + ystart * priv->line_length;
- start += xstart * VNBYTES(priv->bpix);
-@@ -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);
-
-@@ -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);
-- int ret;
-
- switch (priv->bpix) {
- case VIDEO_BPP16:
-@@ -242,9 +238,6 @@ int video_fill(struct udevice *dev, u32 colour)
- memset(priv->fb, colour, priv->fb_size);
- break;
- }
-- ret = video_sync_copy(dev, priv->fb, priv->fb + priv->fb_size);
-- if (ret)
-- return ret;
-
- video_damage(dev, 0, 0, priv->xsize, priv->ysize);
-
-@@ -412,6 +405,27 @@ static void video_flush_dcache(struct udevice *vid, bool use_copy)
- }
- #endif
-
-+static void video_flush_copy(struct udevice *vid)
-+{
-+ struct video_priv *priv = dev_get_uclass_priv(vid);
-+
-+ if (!priv->copy_fb)
-+ return;
-+
-+ if (priv->damage.xend && priv->damage.yend) {
-+ int lstart = priv->damage.xstart * VNBYTES(priv->bpix);
-+ int lend = priv->damage.xend * VNBYTES(priv->bpix);
-+ int y;
-+
-+ for (y = priv->damage.ystart; y < priv->damage.yend; y++) {
-+ ulong offset = (y * priv->line_length) + lstart;
-+ ulong len = lend - lstart;
-+
-+ memcpy(priv->copy_fb + offset, priv->fb + offset, len);
-+ }
-+ }
-+}
-+
- /* Flush video activity to the caches */
- 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;
-
-+ if (IS_ENABLED(CONFIG_VIDEO_COPY))
-+ video_flush_copy(vid);
-+
- if (ops && ops->video_sync) {
- ret = ops->video_sync(vid);
- if (ret)
-@@ -502,69 +519,6 @@ int video_get_ysize(struct udevice *dev)
- return priv->ysize;
- }
-
--#ifdef CONFIG_VIDEO_COPY
--int video_sync_copy(struct udevice *dev, void *from, void *to)
--{
-- struct video_priv *priv = dev_get_uclass_priv(dev);
--
-- if (priv->copy_fb) {
-- long offset, size;
--
-- /* Find the offset of the first byte to copy */
-- if ((ulong)to > (ulong)from) {
-- size = to - from;
-- offset = from - priv->fb;
-- } else {
-- size = from - to;
-- offset = to - priv->fb;
-- }
--
-- /*
-- * Allow a bit of leeway for valid requests somewhere near the
-- * frame buffer
-- */
-- if (offset < -priv->fb_size || offset > 2 * priv->fb_size) {
--#ifdef DEBUG
-- char str[120];
--
-- snprintf(str, sizeof(str),
-- "[** FAULT sync_copy fb=%p, from=%p, to=%p, offset=%lx]",
-- priv->fb, from, to, offset);
-- console_puts_select_stderr(true, str);
--#endif
-- return -EFAULT;
-- }
--
-- /*
-- * Silently crop the memcpy. This allows callers to avoid doing
-- * this themselves. It is common for the end pointer to go a
-- * few lines after the end of the frame buffer, since most of
-- * the update algorithms terminate a line after their last write
-- */
-- if (offset + size > priv->fb_size) {
-- size = priv->fb_size - offset;
-- } else if (offset < 0) {
-- size += offset;
-- offset = 0;
-- }
--
-- memcpy(priv->copy_fb + offset, priv->fb + offset, size);
-- }
--
-- return 0;
--}
--
--int video_sync_copy_all(struct udevice *dev)
--{
-- struct video_priv *priv = dev_get_uclass_priv(dev);
--
-- video_sync_copy(dev, priv->fb, priv->fb + priv->fb_size);
--
-- return 0;
--}
--
--#endif
--
- #define SPLASH_DECL(_name) \
- 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 78de95607924..1f267d45812c 100644
---- a/drivers/video/video_bmp.c
-+++ b/drivers/video/video_bmp.c
-@@ -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;
-- int ret;
-
- if (!bmp || !(bmp->header.signature[0] == 'B' &&
- bmp->header.signature[1] == 'M')) {
-@@ -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);
-
-- /* Find the position of the top left of the image in the framebuffer */
-- fb = (uchar *)(priv->fb + y * priv->line_length + x * bpix / 8);
-- ret = video_sync_copy(dev, start, fb);
-- if (ret)
-- return log_ret(ret);
--
- return video_sync(dev, false);
- }
-diff --git a/include/video.h b/include/video.h
-index d2dabb66e9e6..44557457bf80 100644
---- a/include/video.h
-+++ b/include/video.h
-@@ -353,43 +353,6 @@ void video_set_default_colors(struct udevice *dev, bool invert);
- */
- int video_default_font_height(struct udevice *dev);
-
--#ifdef CONFIG_VIDEO_COPY
--/**
-- * vidconsole_sync_copy() - Sync back to the copy framebuffer
-- *
-- * This ensures that the copy framebuffer has the same data as the framebuffer
-- * for a particular region. It should be called after the framebuffer is updated
-- *
-- * @from and @to can be in either order. The region between them is synced.
-- *
-- * @dev: Vidconsole device being updated
-- * @from: Start/end address within the framebuffer (->fb)
-- * @to: Other address within the frame buffer
-- * Return: 0 if OK, -EFAULT if the start address is before the start of the
-- * frame buffer start
-- */
--int video_sync_copy(struct udevice *dev, void *from, void *to);
--
--/**
-- * video_sync_copy_all() - Sync the entire framebuffer to the copy
-- *
-- * @dev: Vidconsole device being updated
-- * Return: 0 (always)
-- */
--int video_sync_copy_all(struct udevice *dev);
--#else
--static inline int video_sync_copy(struct udevice *dev, void *from, void *to)
--{
-- return 0;
--}
--
--static inline int video_sync_copy_all(struct udevice *dev)
--{
-- return 0;
--}
--
--#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 8b5928dc5ebb..8806d10f946d 100644
---- a/include/video_console.h
-+++ b/include/video_console.h
-@@ -529,56 +529,4 @@ void vidconsole_list_fonts(struct udevice *dev);
- */
- int vidconsole_get_font_size(struct udevice *dev, const char **name, uint *sizep);
-
--#ifdef CONFIG_VIDEO_COPY
--/**
-- * vidconsole_sync_copy() - Sync back to the copy framebuffer
-- *
-- * This ensures that the copy framebuffer has the same data as the framebuffer
-- * for a particular region. It should be called after the framebuffer is updated
-- *
-- * @from and @to can be in either order. The region between them is synced.
-- *
-- * @dev: Vidconsole device being updated
-- * @from: Start/end address within the framebuffer (->fb)
-- * @to: Other address within the frame buffer
-- * Return: 0 if OK, -EFAULT if the start address is before the start of the
-- * frame buffer start
-- */
--int vidconsole_sync_copy(struct udevice *dev, void *from, void *to);
--
--/**
-- * vidconsole_memmove() - Perform a memmove() within the frame buffer
-- *
-- * This handles a memmove(), e.g. for scrolling. It also updates the copy
-- * framebuffer.
-- *
-- * @dev: Vidconsole device being updated
-- * @dst: Destination address within the framebuffer (->fb)
-- * @src: Source address within the framebuffer (->fb)
-- * @size: Number of bytes to transfer
-- * Return: 0 if OK, -EFAULT if the start address is before the start of the
-- * frame buffer start
-- */
--int vidconsole_memmove(struct udevice *dev, void *dst, const void *src,
-- int size);
--#else
--
--#include <string.h>
--
--static inline int vidconsole_sync_copy(struct udevice *dev, void *from,
-- void *to)
--{
-- return 0;
--}
--
--static inline int vidconsole_memmove(struct udevice *dev, void *dst,
-- const void *src, int size)
--{
-- memmove(dst, src, size);
--
-- return 0;
--}
--
--#endif
--
- #endif
-diff --git a/test/dm/video.c b/test/dm/video.c
-index 119c43153165..9b7bb51a3dd9 100644
---- a/test/dm/video.c
-+++ b/test/dm/video.c
-@@ -105,6 +105,7 @@ static int check_copy_frame_buffer(struct unit_test_state *uts,
- if (!IS_ENABLED(CONFIG_VIDEO_COPY))
- return 0;
-
-+ video_sync(dev, false);
- ut_assertf(!memcmp(priv->fb, priv->copy_fb, priv->fb_size),
- "Copy framebuffer does not match fb");
-
-@@ -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));
-- ut_asserteq(5278, compress_frame_buffer(uts, dev, true));
-+ ut_asserteq(4127, compress_frame_buffer(uts, dev, true));
-
- return 0;
- }
---
-2.45.2
-
-
-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
-
-The dcache flushing code path was conditional on ARM && !DCACHE config
-options. However, dcaches exist on other platforms as well and may need
-clearing if their driver requires it.
-
-Simplify the compile logic and always enable the dcache flush logic in
-the video core. That way, drivers can always rely on it to call the arch
-specific callbacks.
-
-This will increase code size for non-ARM platforms with CONFIG_VIDEO=y
-slightly.
-
-Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
-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 | 12 +++++-------
- 1 file changed, 5 insertions(+), 7 deletions(-)
-
-diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
-index 3b9b9fad0975..f050ed1f67cb 100644
---- a/drivers/video/video-uclass.c
-+++ b/drivers/video/video-uclass.c
-@@ -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;
-+
- if (!priv->flush_dcache)
- return;
-
-@@ -442,17 +445,12 @@ int video_sync(struct udevice *vid, bool force)
- return ret;
- }
-
-- /*
-- * flush_dcache_range() is declared in common.h but it seems that some
-- * architectures do not actually implement it. Is there a way to find
-- * out whether it exists? For now, ARM is safe.
-- */
--#if defined(CONFIG_ARM) && !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
- 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)
- static ulong last_sync;
-
- if (force || get_timer(last_sync) > 100) {
---
-2.45.2
-
-
-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
-
-Some drivers call video_set_flush_dcache() to indicate that they want to
-have the dcache flushed for the frame buffer. These drivers benefit from
-our new video damage control, because we can reduce the amount of memory
-that gets flushed significantly.
-
-This patch enables video damage control for all device drivers that call
-video_set_flush_dcache() to make sure they benefit from it.
-
-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 +
- drivers/video/Kconfig | 8 ++++++++
- drivers/video/exynos/Kconfig | 1 +
- drivers/video/imx/Kconfig | 1 +
- drivers/video/meson/Kconfig | 1 +
- drivers/video/rockchip/Kconfig | 1 +
- drivers/video/stm32/Kconfig | 1 +
- drivers/video/tegra20/Kconfig | 1 +
- drivers/video/tidss/Kconfig | 1 +
- 9 files changed, 16 insertions(+)
-
-diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
-index ddf9414b08e7..3c9745065bab 100644
---- a/arch/arm/mach-sunxi/Kconfig
-+++ b/arch/arm/mach-sunxi/Kconfig
-@@ -863,6 +863,7 @@ config VIDEO_SUNXI
- depends on !SUNXI_GEN_NCAT2
- select VIDEO
- select DISPLAY
-+ imply VIDEO_DAMAGE
- imply VIDEO_DT_SIMPLEFB
- default y
- ---help---
-diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
-index 88c6f8e68976..06d3ed8a736e 100644
---- a/drivers/video/Kconfig
-+++ b/drivers/video/Kconfig
-@@ -499,6 +499,7 @@ config VIDEO_LCD_ANX9804
-
- config ATMEL_LCD
- bool "Atmel LCD panel support"
-+ imply VIDEO_DAMAGE
- depends on ARCH_AT91
-
- config ATMEL_LCD_BGR555
-@@ -508,6 +509,7 @@ config ATMEL_LCD_BGR555
-
- config VIDEO_BCM2835
- bool "Display support for BCM2835"
-+ imply VIDEO_DAMAGE
- help
- The graphics processor already sets up the display so this driver
- simply checks the resolution and then sets up the frame buffer with
-@@ -671,6 +673,7 @@ source "drivers/video/meson/Kconfig"
-
- config VIDEO_MVEBU
- bool "Armada XP LCD controller"
-+ imply VIDEO_DAMAGE
- ---help---
- Support for the LCD controller integrated in the Marvell
- Armada XP SoC.
-@@ -705,6 +708,7 @@ config NXP_TDA19988
-
- config ATMEL_HLCD
- bool "Enable ATMEL video support using HLCDC"
-+ imply VIDEO_DAMAGE
- help
- HLCDC supports video output to an attached LCD panel.
-
-@@ -781,6 +785,7 @@ source "drivers/video/tidss/Kconfig"
-
- config VIDEO_TEGRA124
- bool "Enable video support on Tegra124"
-+ imply VIDEO_DAMAGE
- help
- Tegra124 supports many video output options including eDP and
- HDMI. At present only eDP is supported by U-Boot. This option
-@@ -795,6 +800,7 @@ source "drivers/video/imx/Kconfig"
-
- config VIDEO_MXS
- bool "Enable video support on i.MX28/i.MX6UL/i.MX7 SoCs"
-+ imply VIDEO_DAMAGE
- help
- Enable framebuffer driver for i.MX28/i.MX6UL/i.MX7 processors
-
-@@ -857,6 +863,7 @@ config VIDEO_DW_MIPI_DSI
-
- config VIDEO_SIMPLE
- bool "Simple display driver for preconfigured display"
-+ imply VIDEO_DAMAGE
- help
- Enables a simple generic display driver which utilizes the
- simple-framebuffer devicetree bindings.
-@@ -875,6 +882,7 @@ config VIDEO_DT_SIMPLEFB
-
- config VIDEO_MCDE_SIMPLE
- bool "Simple driver for ST-Ericsson MCDE with preconfigured display"
-+ imply VIDEO_DAMAGE
- help
- Enables a simple display driver for ST-Ericsson MCDE
- (Multichannel Display Engine), which reads the configuration from
-diff --git a/drivers/video/exynos/Kconfig b/drivers/video/exynos/Kconfig
-index 599d19d5ecc2..a2cf752aac03 100644
---- a/drivers/video/exynos/Kconfig
-+++ b/drivers/video/exynos/Kconfig
-@@ -12,6 +12,7 @@ config EXYNOS_DP
-
- config EXYNOS_FB
- bool "Exynos FIMD support"
-+ imply VIDEO_DAMAGE
-
- config EXYNOS_MIPI_DSIM
- bool "Exynos MIPI DSI support"
-diff --git a/drivers/video/imx/Kconfig b/drivers/video/imx/Kconfig
-index 34e8b640595b..5db3e5c0499e 100644
---- a/drivers/video/imx/Kconfig
-+++ b/drivers/video/imx/Kconfig
-@@ -2,6 +2,7 @@
- config VIDEO_IPUV3
- bool "i.MX IPUv3 Core video support"
- depends on VIDEO && (MX5 || MX6)
-+ imply VIDEO_DAMAGE
- help
- This enables framebuffer driver for i.MX processors working
- on the IPUv3(Image Processing Unit) internal graphic processor.
-diff --git a/drivers/video/meson/Kconfig b/drivers/video/meson/Kconfig
-index 3c2d72d019b8..fcf486ca0a3a 100644
---- a/drivers/video/meson/Kconfig
-+++ b/drivers/video/meson/Kconfig
-@@ -8,5 +8,6 @@ config VIDEO_MESON
- bool "Enable Amlogic Meson video support"
- depends on VIDEO
- select DISPLAY
-+ imply VIDEO_DAMAGE
- help
- Enable Amlogic Meson Video Processing Unit video support.
-diff --git a/drivers/video/rockchip/Kconfig b/drivers/video/rockchip/Kconfig
-index 01804dcb1cc8..0f4550a29e38 100644
---- a/drivers/video/rockchip/Kconfig
-+++ b/drivers/video/rockchip/Kconfig
-@@ -11,6 +11,7 @@
- menuconfig VIDEO_ROCKCHIP
- bool "Enable Rockchip Video Support"
- depends on VIDEO
-+ imply VIDEO_DAMAGE
- help
- Rockchip SoCs provide video output capabilities for High-Definition
- Multimedia Interface (HDMI), Low-voltage Differential Signalling
-diff --git a/drivers/video/stm32/Kconfig b/drivers/video/stm32/Kconfig
-index 48066063e4c5..c354c402c288 100644
---- a/drivers/video/stm32/Kconfig
-+++ b/drivers/video/stm32/Kconfig
-@@ -8,6 +8,7 @@
- menuconfig VIDEO_STM32
- bool "Enable STM32 video support"
- depends on VIDEO
-+ imply VIDEO_DAMAGE
- help
- STM32 supports many video output options including RGB and
- DSI. This option enables these supports which can be used on
-diff --git a/drivers/video/tegra20/Kconfig b/drivers/video/tegra20/Kconfig
-index f5c4843e1191..2232b0b3ff53 100644
---- a/drivers/video/tegra20/Kconfig
-+++ b/drivers/video/tegra20/Kconfig
-@@ -1,6 +1,7 @@
- config VIDEO_TEGRA20
- bool "Enable Display Controller support on Tegra20 and Tegra 30"
- depends on OF_CONTROL
-+ imply VIDEO_DAMAGE
- help
- T20/T30 support video output to an attached LCD panel as well as
- other options such as HDMI. Only the LCD is supported in U-Boot.
-diff --git a/drivers/video/tidss/Kconfig b/drivers/video/tidss/Kconfig
-index 95086f3a5d66..3291b3ceb8d5 100644
---- a/drivers/video/tidss/Kconfig
-+++ b/drivers/video/tidss/Kconfig
-@@ -11,6 +11,7 @@
- menuconfig VIDEO_TIDSS
- bool "Enable TIDSS video support"
- depends on VIDEO
-+ imply VIDEO_DAMAGE
- help
- TIDSS supports video output options LVDS and
- DPI . This option enables these supports which can be used on
---
-2.45.2
-
diff --git a/config/u-boot/default/patches/0004-HACK-Makefile-Ignore-missing-input-files-for-binman.patch b/config/u-boot/default/patches/0004-HACK-Makefile-Ignore-missing-input-files-for-binman.patch
deleted file mode 100644
index e1a26bb4..00000000
--- a/config/u-boot/default/patches/0004-HACK-Makefile-Ignore-missing-input-files-for-binman.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From ba34d29274c23c52be957ea040539dccbab09765 Mon Sep 17 00:00:00 2001
-From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
-Date: Wed, 10 Jul 2024 17:37:56 +0300
-Subject: [PATCH] HACK: Makefile: Ignore missing input files for binman images
-
-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.
-
-Some downstreams only care about build outputs for U-Boot proper. As a
-hack to make sure they can do so without passing in a BL31 file, tell
-binman to ignore missing input files.
-
-Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 1c754ceb5953..fec8d9b2d2b1 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1375,7 +1375,7 @@ cmd_binman = $(srctree)/tools/binman/binman $(if $(BINMAN_DEBUG),-D) \
- --toolpath $(objtree)/tools \
- $(if $(BINMAN_VERBOSE),-v$(BINMAN_VERBOSE)) \
- build -u -d u-boot.dtb -O . -m \
-- --allow-missing $(if $(BINMAN_ALLOW_MISSING),--ignore-missing) \
-+ --allow-missing --ignore-missing \
- -I . -I $(srctree) -I $(srctree)/board/$(BOARDDIR) \
- -I $(dt_dir) -a of-list=$(CONFIG_OF_LIST) \
- $(foreach f,$(BINMAN_INDIRS),-I $(f)) \
---
-2.45.2
-
diff --git a/config/u-boot/default/patches/0005-HACK-rk3399-gru-Remove-assigned-clock-dt-properties-.patch b/config/u-boot/default/patches/0005-HACK-rk3399-gru-Remove-assigned-clock-dt-properties-.patch
deleted file mode 100644
index 73789811..00000000
--- a/config/u-boot/default/patches/0005-HACK-rk3399-gru-Remove-assigned-clock-dt-properties-.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 1107dc81b24743e77374f1b484a843d81fa0348a Mon Sep 17 00:00:00 2001
-From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
-Date: Wed, 10 Jul 2024 14:32:19 +0300
-Subject: [PATCH] HACK: rk3399: gru: Remove assigned clock dt properties for
- EDP node
-
-Having the PCLK_EDP clock in the assigned-clocks property of the `edp`
-node means that U-Boot tries to set its rate automatically. This clock
-isn't implemented for the RK3399 clock driver, so it fails and prevents
-display from being initialized.
-
-The display happens to work fine without it, remove the property until
-the clock driver can handle the clock.
-
-Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
----
- arch/arm/dts/rk3399-gru-u-boot.dtsi | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/arch/arm/dts/rk3399-gru-u-boot.dtsi b/arch/arm/dts/rk3399-gru-u-boot.dtsi
-index 487dde38d86a..30cfb58aca12 100644
---- a/arch/arm/dts/rk3399-gru-u-boot.dtsi
-+++ b/arch/arm/dts/rk3399-gru-u-boot.dtsi
-@@ -28,6 +28,9 @@ &cros_ec {
-
- &edp {
- rockchip,panel = <&edp_panel>;
-+
-+ /delete-property/ assigned-clocks;
-+ /delete-property/ assigned-clock-rates;
- };
-
- &pp1800_audio {
---
-2.45.2
-
diff --git a/config/u-boot/default/target.cfg b/config/u-boot/default/target.cfg
deleted file mode 100644
index 8d6af6d9..00000000
--- a/config/u-boot/default/target.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-tree="default"
-rev="3f772959501c99fbe5aa0b22a36efe3478d1ae1c" # v2024.07
diff --git a/config/u-boot/gru_bob/config/default b/config/u-boot/gru_bob/config/default
deleted file mode 100644
index da088ef0..00000000
--- a/config/u-boot/gru_bob/config/default
+++ /dev/null
@@ -1,2408 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# U-Boot 2024.07 Configuration
-#
-
-#
-# 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
-CONFIG_ARM=y
-# CONFIG_M68K is not set
-# CONFIG_MICROBLAZE is not set
-# CONFIG_MIPS is not set
-# CONFIG_NIOS2 is not set
-# CONFIG_PPC is not set
-# CONFIG_RISCV is not set
-# CONFIG_SANDBOX is not set
-# CONFIG_SH is not set
-# CONFIG_X86 is not set
-# CONFIG_XTENSA is not set
-CONFIG_SYS_ARCH="arm"
-CONFIG_SYS_CPU="armv8"
-CONFIG_SYS_SOC="rk3399"
-CONFIG_SYS_VENDOR="google"
-CONFIG_SYS_BOARD="gru"
-CONFIG_SYS_CONFIG_NAME="gru"
-
-#
-# Skipping low level initialization functions
-#
-CONFIG_SKIP_LOWLEVEL_INIT=y
-# CONFIG_SPL_SKIP_LOWLEVEL_INIT is not set
-# CONFIG_TPL_SKIP_LOWLEVEL_INIT is not set
-# CONFIG_SKIP_LOWLEVEL_INIT_ONLY is not set
-# CONFIG_SPL_SKIP_LOWLEVEL_INIT_ONLY is not set
-# 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=y
-
-#
-# ARM architecture
-#
-CONFIG_ARM64=y
-CONFIG_ARM64_CRC32=y
-CONFIG_COUNTER_FREQUENCY=24000000
-CONFIG_POSITION_INDEPENDENT=y
-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
-# CONFIG_SYS_ARM_CACHE_CP15 is not set
-# CONFIG_SYS_ARM_MMU is not set
-# CONFIG_SYS_ARM_MPU is not set
-CONFIG_SYS_ARM_ARCH=8
-CONFIG_SYS_ARM_CACHE_WRITEBACK=y
-# CONFIG_SYS_ARM_CACHE_WRITETHROUGH is not set
-# CONFIG_SYS_ARM_CACHE_WRITEALLOC is not set
-# CONFIG_ARCH_CPU_INIT is not set
-CONFIG_SYS_ARCH_TIMER=y
-CONFIG_ARM_SMCCC=y
-# CONFIG_SYS_L2_PL310 is not set
-# CONFIG_SPL_SYS_L2_PL310 is not set
-# CONFIG_SYS_L2CACHE_OFF is not set
-CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y
-# CONFIG_USE_ARCH_MEMCPY is not set
-# CONFIG_SPL_USE_ARCH_MEMCPY is not set
-# CONFIG_USE_ARCH_MEMSET is not set
-# CONFIG_SPL_USE_ARCH_MEMSET is not set
-CONFIG_ARM64_SUPPORT_AARCH32=y
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_HISTB is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_MVEBU is not set
-# CONFIG_ARCH_ORION5X 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_BCMNS3 is not set
-# CONFIG_ARCH_EXYNOS is not set
-# CONFIG_ARCH_S5PC1XX is not set
-# CONFIG_ARCH_HIGHBANK is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_IPQ40XX is not set
-# CONFIG_ARCH_KEYSTONE is not set
-# CONFIG_ARCH_K3 is not set
-# CONFIG_ARCH_OMAP2PLUS is not set
-# CONFIG_ARCH_MESON is not set
-# CONFIG_ARCH_MEDIATEK is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_IMX8 is not set
-# CONFIG_ARCH_IMX8M is not set
-# CONFIG_ARCH_IMX8ULP is not set
-# CONFIG_ARCH_IMX9 is not set
-# CONFIG_ARCH_IMXRT is not set
-# CONFIG_ARCH_MX23 is not set
-# CONFIG_ARCH_MX28 is not set
-# CONFIG_ARCH_MX31 is not set
-# CONFIG_ARCH_MX7ULP is not set
-# CONFIG_ARCH_MX7 is not set
-# CONFIG_ARCH_MX6 is not set
-# CONFIG_ARCH_MX5 is not set
-# CONFIG_ARCH_NEXELL is not set
-# CONFIG_ARCH_NPCM is not set
-# CONFIG_ARCH_APPLE is not set
-# CONFIG_ARCH_OWL is not set
-# CONFIG_ARCH_QEMU 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
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_VERSAL is not set
-# CONFIG_ARCH_VERSAL_NET is not set
-# CONFIG_ARCH_VF610 is not set
-# CONFIG_ARCH_ZYNQ is not set
-# CONFIG_ARCH_ZYNQMP_R5 is not set
-# CONFIG_ARCH_ZYNQMP is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_VEXPRESS64 is not set
-# CONFIG_TARGET_CORSTONE1000 is not set
-# CONFIG_TARGET_TOTAL_COMPUTE is not set
-# CONFIG_TARGET_LS2080A_EMU is not set
-# CONFIG_TARGET_LS1088AQDS is not set
-# CONFIG_TARGET_LS2080AQDS is not set
-# CONFIG_TARGET_LS2080ARDB is not set
-# CONFIG_TARGET_LS2081ARDB is not set
-# CONFIG_TARGET_LX2160ARDB is not set
-# CONFIG_TARGET_LX2160AQDS is not set
-# CONFIG_TARGET_LX2162AQDS is not set
-# CONFIG_TARGET_HIKEY is not set
-# CONFIG_TARGET_HIKEY960 is not set
-# CONFIG_TARGET_POPLAR is not set
-# CONFIG_TARGET_LS1012AQDS is not set
-# CONFIG_TARGET_LS1012ARDB is not set
-# CONFIG_TARGET_LS1012A2G5RDB is not set
-# CONFIG_TARGET_LS1012AFRWY is not set
-# CONFIG_TARGET_LS1012AFRDM is not set
-# CONFIG_TARGET_LS1028AQDS is not set
-# CONFIG_TARGET_LS1028ARDB is not set
-# CONFIG_TARGET_LS1088ARDB is not set
-# CONFIG_TARGET_LS1021AQDS is not set
-# CONFIG_TARGET_LS1021ATWR is not set
-# CONFIG_TARGET_PG_WCOM_SELI8 is not set
-# CONFIG_TARGET_PG_WCOM_EXPU1 is not set
-# CONFIG_TARGET_LS1021ATSN is not set
-# CONFIG_TARGET_LS1021AIOT is not set
-# CONFIG_TARGET_LS1043AQDS is not set
-# CONFIG_TARGET_LS1043ARDB is not set
-# CONFIG_TARGET_LS1046AQDS is not set
-# CONFIG_TARGET_LS1046ARDB is not set
-# CONFIG_TARGET_LS1046AFRWY is not set
-# CONFIG_TARGET_SL28 is not set
-# CONFIG_TARGET_TEN64 is not set
-# CONFIG_ARCH_UNIPHIER is not set
-# CONFIG_ARCH_SYNQUACER is not set
-# CONFIG_ARCH_STM32 is not set
-# CONFIG_ARCH_STI is not set
-# CONFIG_ARCH_STM32MP is not set
-CONFIG_ARCH_ROCKCHIP=y
-# CONFIG_ARCH_OCTEONTX is not set
-# CONFIG_ARCH_OCTEONTX2 is not set
-# CONFIG_TARGET_THUNDERX_88XX is not set
-# 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
-# CONFIG_STATIC_MACH_TYPE is not set
-CONFIG_TEXT_BASE=0x18000000
-CONFIG_SYS_MALLOC_LEN=0x2000000
-CONFIG_SYS_MALLOC_F_LEN=0x4000
-CONFIG_SPL_GPIO=y
-CONFIG_SPL_LIBCOMMON_SUPPORT=y
-CONFIG_SPL_LIBGENERIC_SUPPORT=y
-CONFIG_NR_DRAM_BANKS=1
-CONFIG_SPL_LDSCRIPT="arch/arm/cpu/armv8/u-boot-spl.lds"
-CONFIG_ENV_SOURCE_FILE=""
-CONFIG_SF_DEFAULT_SPEED=20000000
-CONFIG_SF_DEFAULT_MODE=0x0
-CONFIG_ENV_SIZE=0x8000
-CONFIG_DM_GPIO=y
-CONFIG_SPL_DM_SPI=y
-CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-gru-bob"
-CONFIG_SPL_TEXT_BASE=0xff8c2000
-CONFIG_OF_LIBFDT_OVERLAY=y
-CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000
-CONFIG_DM_RESET=y
-CONFIG_SYS_MONITOR_LEN=0
-# CONFIG_ROCKCHIP_PX30 is not set
-# CONFIG_ROCKCHIP_RK3036 is not set
-# CONFIG_ROCKCHIP_RK3066 is not set
-# CONFIG_ROCKCHIP_RK3128 is not set
-# CONFIG_ROCKCHIP_RK3188 is not set
-# CONFIG_ROCKCHIP_RK322X is not set
-# CONFIG_ROCKCHIP_RK3288 is not set
-# CONFIG_ROCKCHIP_RK3308 is not set
-# CONFIG_ROCKCHIP_RK3328 is not set
-# CONFIG_ROCKCHIP_RK3368 is not set
-CONFIG_ROCKCHIP_RK3399=y
-# CONFIG_ROCKCHIP_RK3568 is not set
-# CONFIG_ROCKCHIP_RK3588 is not set
-# CONFIG_ROCKCHIP_RV1108 is not set
-# CONFIG_ROCKCHIP_RV1126 is not set
-# CONFIG_ROCKCHIP_USB_UART is not set
-# CONFIG_SPL_ROCKCHIP_BACK_TO_BROM is not set
-CONFIG_ROCKCHIP_COMMON_BOARD=y
-CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y
-# CONFIG_ROCKCHIP_EXTERNAL_TPL is not set
-CONFIG_ROCKCHIP_BOOT_MODE_REG=0
-# CONFIG_ROCKCHIP_RK8XX_DISABLE_BOOT_ON_POWERON is not set
-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 is not set
-CONFIG_SPL_STACK_R_ADDR=0x04000000
-CONFIG_TARGET_CHROMEBOOK_BOB=y
-# CONFIG_TARGET_CHROMEBOOK_KEVIN is not set
-# CONFIG_TARGET_EVB_RK3399 is not set
-# CONFIG_TARGET_PINEBOOK_PRO_RK3399 is not set
-# 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=0x0
-CONFIG_DEBUG_UART_BASE=0xff1a0000
-CONFIG_DEBUG_UART_CLOCK=24000000
-CONFIG_DEBUG_UART_BOARD_INIT=y
-CONFIG_IDENT_STRING=""
-CONFIG_SYS_CLK_FREQ=0
-# CONFIG_CHIP_DIP_SCAN is not set
-# CONFIG_SPL_FS_FAT is not set
-# CONFIG_SPL_LIBDISK_SUPPORT is not set
-CONFIG_SPL_SPI_FLASH_SUPPORT=y
-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=y
-# CONFIG_ARMV8_SWITCH_TO_EL1 is not set
-
-#
-# ARMv8 secure monitor firmware
-#
-# CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT is not set
-# CONFIG_SPL_ARMV8_SEC_FIRMWARE_SUPPORT is not set
-# CONFIG_SPL_RECOVER_DATA_SECTION is not set
-CONFIG_PSCI_RESET=y
-# CONFIG_ARMV8_PSCI is not set
-# CONFIG_ARMV8_EA_EL3_FIRST 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
-# CONFIG_IMX_SECO_DEK_ENCAP is not set
-# CONFIG_IMX_ELE_DEK_ENCAP is not set
-# CONFIG_CMD_HDMIDETECT is not set
-CONFIG_IMX_DCD_ADDR=0x00910000
-CONFIG_SYS_MEM_TOP_HIDE=0x0
-CONFIG_SYS_LOAD_ADDR=0x800800
-
-#
-# ARM debug
-#
-CONFIG_SPL_PAYLOAD="u-boot.bin"
-CONFIG_BUILD_TARGET=""
-# CONFIG_PCI is not set
-CONFIG_FWU_NUM_BANKS=2
-CONFIG_FWU_NUM_IMAGES_PER_BANK=2
-CONFIG_DEBUG_UART=y
-# CONFIG_AHCI is not set
-# CONFIG_OF_BOARD_FIXUP is not set
-
-#
-# Functionality shared between NXP SoCs
-#
-# CONFIG_NXP_ESBC is not set
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=130300
-CONFIG_CLANG_VERSION=0
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set
-# CONFIG_CC_OPTIMIZE_FOR_DEBUG is not set
-# CONFIG_OPTIMIZE_INLINING is not set
-# CONFIG_SPL_OPTIMIZE_INLINING is not set
-CONFIG_ARCH_SUPPORTS_LTO=y
-# CONFIG_LTO is not set
-CONFIG_CC_HAS_ASM_INLINE=y
-# CONFIG_XEN is not set
-CONFIG_ENV_VARS_UBOOT_CONFIG=y
-# CONFIG_SYS_BOOT_GET_CMDLINE is not set
-# CONFIG_SYS_BOOT_GET_KBD is not set
-CONFIG_SYS_MALLOC_F=y
-# CONFIG_VALGRIND is not set
-CONFIG_EXPERT=y
-CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y
-CONFIG_SPL_SYS_MALLOC_CLEAR_ON_INIT=y
-# CONFIG_SYS_MALLOC_DEFAULT_TO_INIT is not set
-# CONFIG_TOOLS_DEBUG is not set
-CONFIG_PHYS_64BIT=y
-CONFIG_FDT_64BIT=y
-CONFIG_HAS_ROM=y
-CONFIG_SPL_IMAGE="spl/u-boot-spl.bin"
-CONFIG_REMAKE_ELF=y
-# CONFIG_HAS_BOARD_SIZE_LIMIT is not set
-# CONFIG_SYS_CUSTOM_LDSCRIPT is not set
-CONFIG_PLATFORM_ELFENTRY="_start"
-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
-
-#
-# Boot options
-#
-
-#
-# Boot images
-#
-# CONFIG_ANDROID_BOOT_IMAGE is not set
-# CONFIG_TIMESTAMP is not set
-CONFIG_FIT=y
-CONFIG_FIT_EXTERNAL_OFFSET=0x0
-CONFIG_FIT_FULL_CHECK=y
-# CONFIG_FIT_SIGNATURE is not set
-# CONFIG_FIT_CIPHER is not set
-# CONFIG_FIT_VERBOSE is not set
-# CONFIG_FIT_BEST_MATCH is not set
-CONFIG_FIT_PRINT=y
-CONFIG_SPL_FIT=y
-# CONFIG_SPL_FIT_PRINT is not set
-# CONFIG_SPL_FIT_FULL_CHECK is not set
-# CONFIG_SPL_FIT_SIGNATURE is not set
-CONFIG_SPL_LOAD_FIT=y
-CONFIG_SPL_LOAD_FIT_ADDRESS=0x0
-# CONFIG_SPL_LOAD_FIT_APPLY_OVERLAY is not set
-# CONFIG_SPL_LOAD_FIT_FULL is not set
-# CONFIG_SPL_FIT_IMAGE_POST_PROCESS is not set
-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
-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
-CONFIG_BOOTMETH_VBE_REQUEST=y
-# CONFIG_SPL_BOOTMETH_VBE_REQUEST is not set
-CONFIG_BOOTMETH_VBE_SIMPLE=y
-CONFIG_BOOTMETH_VBE_SIMPLE_OS=y
-# CONFIG_SPL_BOOTMETH_VBE_SIMPLE is not set
-CONFIG_EXPO=y
-CONFIG_BOOTMETH_SCRIPT=y
-CONFIG_LEGACY_IMAGE_FORMAT=y
-CONFIG_SYS_BOOTM_LEN=0x4000000
-CONFIG_SUPPORT_RAW_INITRD=y
-# CONFIG_CHROMEOS is not set
-# CONFIG_CHROMEOS_VBOOT is not set
-# CONFIG_RAMBOOT_PBL is not set
-CONFIG_SYS_BOOT_RAMDISK_HIGH=y
-# CONFIG_DISTRO_DEFAULTS is not set
-
-#
-# Boot timing
-#
-# CONFIG_BOOTSTAGE is not set
-CONFIG_BOOTSTAGE_STASH_SIZE=0x1000
-# CONFIG_SHOW_BOOT_PROGRESS is not set
-# CONFIG_SPL_SHOW_BOOT_PROGRESS is not set
-
-#
-# Boot media
-#
-# CONFIG_NAND_BOOT is not set
-# CONFIG_ONENAND_BOOT is not set
-# CONFIG_QSPI_BOOT is not set
-# CONFIG_SATA_BOOT is not set
-# CONFIG_SD_BOOT is not set
-# CONFIG_SD_BOOT_QSPI is not set
-# CONFIG_SPI_BOOT is not set
-
-#
-# Autoboot options
-#
-CONFIG_AUTOBOOT=y
-CONFIG_BOOTDELAY=2
-# CONFIG_AUTOBOOT_KEYED is not set
-# CONFIG_AUTOBOOT_USE_MENUKEY is not set
-# CONFIG_AUTOBOOT_MENU_SHOW is not set
-# CONFIG_BOOT_RETRY is not set
-
-#
-# 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
-CONFIG_BOOTCOMMAND="bootflow scan -lb"
-# CONFIG_USE_PREBOOT is not set
-CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-gru-bob.dtb"
-# CONFIG_SAVE_PREV_BL_FDT_ADDR is not set
-# CONFIG_SAVE_PREV_BL_INITRAMFS_START_ADDR is not set
-
-#
-# Configuration editor
-#
-# CONFIG_CEDIT is not set
-
-#
-# Console
-#
-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
-# CONFIG_SILENT_CONSOLE is not set
-# CONFIG_SPL_SILENT_CONSOLE is not set
-# 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
-# CONFIG_SYS_CONSOLE_ENV_OVERWRITE is not set
-# CONFIG_SYS_CONSOLE_INFO_QUIET is not set
-CONFIG_SYS_STDIO_DEREGISTER=y
-# CONFIG_SPL_SYS_STDIO_DEREGISTER is not set
-CONFIG_SYS_DEVICE_NULLDEV=y
-
-#
-# Logging
-#
-CONFIG_LOG=y
-CONFIG_LOG_MAX_LEVEL=6
-CONFIG_LOG_DEFAULT_LEVEL=6
-CONFIG_LOG_CONSOLE=y
-# CONFIG_LOGF_FILE is not set
-# CONFIG_LOGF_LINE is not set
-# CONFIG_LOGF_FUNC is not set
-CONFIG_LOGF_FUNC_PAD=20
-# CONFIG_LOG_SYSLOG is not set
-# CONFIG_SPL_LOG is not set
-# CONFIG_LOG_ERROR_RETURN is not set
-
-#
-# Init options
-#
-# CONFIG_BOARD_TYPES is not set
-# CONFIG_DISPLAY_CPUINFO is not set
-CONFIG_DISPLAY_BOARDINFO=y
-CONFIG_DISPLAY_BOARDINFO_LATE=y
-
-#
-# Start-up hooks
-#
-# CONFIG_CYCLIC is not set
-CONFIG_EVENT=y
-CONFIG_EVENT_DYNAMIC=y
-# CONFIG_EVENT_DEBUG is not set
-# CONFIG_ARCH_MISC_INIT is not set
-# CONFIG_BOARD_EARLY_INIT_F is not set
-CONFIG_BOARD_EARLY_INIT_R=y
-# CONFIG_BOARD_POSTCLK_INIT is not set
-CONFIG_BOARD_LATE_INIT=y
-# CONFIG_CLOCKS is not set
-# CONFIG_HWCONFIG 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
-# CONFIG_RESET_PHY_R is not set
-
-#
-# Security support
-#
-CONFIG_HASH=y
-CONFIG_SPL_HASH=y
-# CONFIG_STACKPROTECTOR is not set
-# CONFIG_BOARD_RNG_SEED is not set
-
-#
-# Update support
-#
-# CONFIG_UPDATE_TFTP is not set
-# CONFIG_ANDROID_AB is not set
-
-#
-# Blob list
-#
-CONFIG_BLOBLIST=y
-CONFIG_SPL_BLOBLIST=y
-CONFIG_BLOBLIST_FIXED=y
-# CONFIG_BLOBLIST_ALLOC is not set
-CONFIG_BLOBLIST_ADDR=0x100000
-CONFIG_BLOBLIST_SIZE=0x1000
-CONFIG_BLOBLIST_SIZE_RELOC=0x1000
-CONFIG_SPL_BLOBLIST_FIXED=y
-# CONFIG_SPL_BLOBLIST_ALLOC is not set
-CONFIG_SUPPORT_SPL=y
-CONFIG_SUPPORT_TPL=y
-
-#
-# SPL configuration options
-#
-CONFIG_SPL_FRAMEWORK=y
-# CONFIG_SPL_FRAMEWORK_BOARD_INIT_F is not set
-CONFIG_SPL_MAX_SIZE=0x1e000
-CONFIG_SPL_PAD_TO=0x7f8000
-# CONFIG_SPL_NO_BSS_LIMIT is not set
-CONFIG_SPL_BSS_LIMIT=y
-# CONFIG_SPL_FOOTPRINT_LIMIT is not set
-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
-CONFIG_SPL_BINMAN_SYMBOLS=y
-CONFIG_SPL_BINMAN_UBOOT_SYMBOLS=y
-CONFIG_HANDOFF=y
-CONFIG_SPL_HANDOFF=y
-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_SEPARATE_BSS=y
-# 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
-CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x4000
-CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET=0x0
-# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION is not set
-# CONFIG_SPL_FIT_IMAGE_TINY is not set
-# CONFIG_SPL_CACHE is not set
-# CONFIG_SPL_CPU is not set
-# CONFIG_SPL_CRYPTO is not set
-# CONFIG_SPL_DMA is not set
-# CONFIG_SPL_ENV_SUPPORT is not set
-# CONFIG_SPL_FS_EXT4 is not set
-# CONFIG_SPL_FS_SQUASHFS is not set
-# CONFIG_SPL_FAT_WRITE is not set
-# CONFIG_SPL_FPGA is not set
-# CONFIG_SPL_I2C is not set
-# CONFIG_SPL_DM_MAILBOX is not set
-# CONFIG_SPL_MEMORY is not set
-# CONFIG_SPL_MPC8XXX_INIT_DDR 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
-# CONFIG_SPL_NAND_ECC is not set
-# CONFIG_SPL_NAND_SIMPLE is not set
-# CONFIG_SPL_UBI is not set
-CONFIG_SPL_DM_SPI_FLASH=y
-# CONFIG_SPL_NET is not set
-# CONFIG_SPL_NOR_SUPPORT is not set
-# CONFIG_SPL_XIP_SUPPORT is not set
-# CONFIG_SPL_ONENAND_SUPPORT is not set
-# CONFIG_SPL_OS_BOOT is not set
-# CONFIG_SPL_PCI is not set
-# CONFIG_SPL_PCH is not set
-# CONFIG_SPL_POST_MEM_SUPPORT is not set
-# CONFIG_SPL_DM_RESET is not set
-# CONFIG_SPL_POWER is not set
-# CONFIG_SPL_POWER_DOMAIN is not set
-# CONFIG_SPL_RAM_SUPPORT is not set
-# CONFIG_SPL_REMOTEPROC is not set
-# CONFIG_SPL_RTC is not set
-# CONFIG_SPL_SATA is not set
-# CONFIG_SPL_NVME is not set
-CONFIG_SPL_SPI_FLASH_TINY=y
-# CONFIG_SPL_SPI_FLASH_MTD is not set
-CONFIG_SPL_SPI_LOAD=y
-CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
-# CONFIG_SPL_THERMAL is not set
-# CONFIG_SPL_WATCHDOG is not set
-# CONFIG_SPL_YMODEM_SUPPORT is not set
-CONFIG_SPL_ATF=y
-# CONFIG_SPL_ATF_LOAD_IMAGE_V2 is not set
-CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
-# CONFIG_SPL_OPTEE_IMAGE is not set
-CONFIG_SPL_TARGET=""
-# CONFIG_TPL is not set
-# CONFIG_VPL is not set
-CONFIG_CMDLINE=y
-CONFIG_HUSH_PARSER=y
-
-#
-# Hush flavor to use
-#
-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=64
-CONFIG_SYS_XTRACE=y
-
-#
-# Commands
-#
-
-#
-# Info commands
-#
-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
-#
-CONFIG_CMD_BOOTD=y
-CONFIG_CMD_BOOTM=y
-CONFIG_CMD_BOOTDEV=y
-CONFIG_CMD_BOOTFLOW=y
-CONFIG_CMD_BOOTFLOW_FULL=y
-CONFIG_CMD_BOOTMETH=y
-CONFIG_BOOTM_EFI=y
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTI=y
-CONFIG_BOOTM_LINUX=y
-CONFIG_BOOTM_NETBSD=y
-# CONFIG_BOOTM_OPENRTOS is not set
-# CONFIG_BOOTM_OSE is not set
-CONFIG_BOOTM_PLAN9=y
-CONFIG_BOOTM_RTEMS=y
-CONFIG_CMD_VBE=y
-CONFIG_BOOTM_VXWORKS=y
-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_SYS_XIMG_LEN=0x800000
-# CONFIG_CMD_SPL is not set
-
-#
-# Environment commands
-#
-# CONFIG_CMD_ASKENV is not set
-CONFIG_CMD_EXPORTENV=y
-CONFIG_CMD_IMPORTENV=y
-CONFIG_CMD_EDITENV=y
-# CONFIG_CMD_GREPENV is not set
-CONFIG_CMD_SAVEENV=y
-# CONFIG_CMD_ERASEENV is not set
-CONFIG_CMD_ENV_EXISTS=y
-# CONFIG_CMD_ENV_CALLBACK is not set
-# CONFIG_CMD_ENV_FLAGS is not set
-CONFIG_CMD_NVEDIT_EFI=y
-# CONFIG_CMD_NVEDIT_INDIRECT is not set
-# CONFIG_CMD_NVEDIT_INFO is not set
-# CONFIG_CMD_NVEDIT_LOAD is not set
-# CONFIG_CMD_NVEDIT_SELECT is not set
-
-#
-# Memory commands
-#
-# CONFIG_CMD_BINOP is not set
-CONFIG_CMD_BLOBLIST=y
-CONFIG_CMD_CRC32=y
-# CONFIG_CRC32_VERIFY is not set
-# CONFIG_CMD_EEPROM is not set
-CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=0
-# CONFIG_LOOPW is not set
-# CONFIG_CMD_MD5SUM is not set
-# CONFIG_CMD_MEMINFO is not set
-CONFIG_CMD_MEMORY=y
-# CONFIG_CMD_MEM_SEARCH is not set
-# CONFIG_CMD_MX_CYCLIC is not set
-CONFIG_CMD_RANDOM=y
-# CONFIG_CMD_MEMTEST is not set
-# CONFIG_CMD_SHA1SUM is not set
-# CONFIG_CMD_STRINGS is not set
-
-#
-# Compression commands
-#
-CONFIG_CMD_LZMADEC=y
-CONFIG_CMD_UNLZ4=y
-CONFIG_CMD_UNZIP=y
-# CONFIG_CMD_ZIP is not set
-
-#
-# Device access commands
-#
-# CONFIG_CMD_ARMFLASH is not set
-# CONFIG_CMD_ADC 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
-# CONFIG_CMD_DFU is not set
-CONFIG_CMD_DM=y
-# CONFIG_CMD_FPGAD is not set
-# CONFIG_CMD_FUSE is not set
-CONFIG_CMD_GPIO=y
-# CONFIG_CMD_GPIO_READ is not set
-# CONFIG_CMD_PWM is not set
-CONFIG_CMD_GPT=y
-# CONFIG_CMD_GPT_RENAME is not set
-# CONFIG_CMD_IDE is not set
-# CONFIG_CMD_IO is not set
-# CONFIG_CMD_IOTRACE is not set
-CONFIG_CMD_I2C=y
-CONFIG_CMD_LOADB=y
-# CONFIG_CMD_LOADM is not set
-CONFIG_CMD_LOADS=y
-# CONFIG_LOADS_ECHO is not set
-# CONFIG_CMD_SAVES is not set
-# CONFIG_SYS_LOADS_BAUD_CHANGE is not set
-CONFIG_CMD_LOADXY_TIMEOUT=90
-# CONFIG_CMD_LSBLK is not set
-# CONFIG_CMD_MBR is not set
-# 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
-CONFIG_CMD_PINMUX=y
-CONFIG_CMD_POWEROFF=y
-# CONFIG_CMD_READ is not set
-# CONFIG_CMD_SATA is not set
-# CONFIG_CMD_SDRAM is not set
-CONFIG_CMD_SF=y
-CONFIG_CMD_SF_TEST=y
-CONFIG_CMD_SPI=y
-CONFIG_DEFAULT_SPI_BUS=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
-
-#
-# Shell scripting commands
-#
-# CONFIG_CMD_CAT is not set
-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
-#
-CONFIG_CMD_NET=y
-CONFIG_CMD_BOOTP=y
-CONFIG_CMD_DHCP=y
-# CONFIG_BOOTP_MAY_FAIL is not set
-CONFIG_BOOTP_BOOTPATH=y
-# CONFIG_BOOTP_VENDOREX is not set
-# CONFIG_BOOTP_BOOTFILESIZE is not set
-CONFIG_BOOTP_DNS=y
-# CONFIG_BOOTP_DNS2 is not set
-CONFIG_BOOTP_GATEWAY=y
-CONFIG_BOOTP_HOSTNAME=y
-# CONFIG_BOOTP_PREFER_SERVERIP is not set
-CONFIG_BOOTP_SUBNETMASK=y
-# CONFIG_BOOTP_NISDOMAIN is not set
-# CONFIG_BOOTP_NTPSERVER is not set
-# 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
-# CONFIG_CMD_TFTPSRV is not set
-CONFIG_NET_TFTP_VARS=y
-# CONFIG_CMD_RARP is not set
-# CONFIG_CMD_NFS is not set
-# CONFIG_SYS_DISABLE_AUTOLOAD is not set
-# CONFIG_CMD_WGET is not set
-CONFIG_CMD_MII=y
-CONFIG_CMD_MDIO=y
-CONFIG_CMD_PING=y
-# CONFIG_CMD_CDP is not set
-# CONFIG_CMD_SNTP is not set
-# CONFIG_CMD_DNS is not set
-# CONFIG_CMD_LINK_LOCAL is not set
-# CONFIG_CMD_ETHSW is not set
-CONFIG_CMD_PXE=y
-# CONFIG_CMD_WOL is not set
-
-#
-# Misc commands
-#
-# CONFIG_CMD_2048 is not set
-# CONFIG_CMD_BMP is not set
-# CONFIG_CMD_BSP is not set
-CONFIG_CMD_BLOCK_CACHE=y
-# CONFIG_CMD_CACHE is not set
-# CONFIG_CMD_CONITRACE is not set
-CONFIG_CMD_CLS=y
-CONFIG_CMD_EFIDEBUG=y
-CONFIG_CMD_EFICONFIG=y
-# CONFIG_CMD_EXCEPTION is not set
-# CONFIG_CMD_INI is not set
-# CONFIG_CMD_DATE is not set
-CONFIG_CMD_TIME=y
-# CONFIG_CMD_GETTIME is not set
-# CONFIG_CMD_PAUSE is not set
-# CONFIG_CMD_RNG is not set
-# CONFIG_CMD_KASLRSEED is not set
-CONFIG_CMD_SLEEP=y
-# CONFIG_CMD_TIMER is not set
-# CONFIG_CMD_SYSBOOT is not set
-# CONFIG_CMD_QFW is not set
-# CONFIG_CMD_PSTORE is not set
-# CONFIG_CMD_TERMINAL is not set
-# CONFIG_CMD_UUID is not set
-CONFIG_CMD_VIDCONSOLE=y
-# CONFIG_CMD_SELECT_FONT is not set
-
-#
-# TI specific command line interface
-#
-
-#
-# Power commands
-#
-CONFIG_CMD_PMIC=y
-CONFIG_CMD_REGULATOR=y
-
-#
-# Security commands
-#
-# CONFIG_CMD_AES is not set
-# CONFIG_CMD_BLOB is not set
-# CONFIG_CMD_HASH is not set
-# CONFIG_CMD_HVC is not set
-# CONFIG_CMD_SMC is not set
-
-#
-# Firmware commands
-#
-CONFIG_CMD_CROS_EC=y
-
-#
-# Filesystem commands
-#
-# CONFIG_CMD_BTRFS is not set
-# CONFIG_CMD_EROFS is not set
-CONFIG_CMD_EXT2=y
-CONFIG_CMD_EXT4=y
-# CONFIG_CMD_EXT4_WRITE is not set
-CONFIG_CMD_FAT=y
-# CONFIG_CMD_SQUASHFS is not set
-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_ZFS is not set
-
-#
-# Debug commands
-#
-# CONFIG_CMD_DIAG is not set
-# CONFIG_CMD_EVENT is not set
-CONFIG_CMD_LOG=y
-# CONFIG_CMD_UBI is not set
-CONFIG_MMC_SPEED_MODE_SET=y
-
-#
-# Partition Types
-#
-CONFIG_PARTITIONS=y
-CONFIG_SPL_PARTITIONS=y
-# CONFIG_MAC_PARTITION is not set
-# CONFIG_SPL_MAC_PARTITION is not set
-CONFIG_DOS_PARTITION=y
-CONFIG_SPL_DOS_PARTITION=y
-CONFIG_ISO_PARTITION=y
-# CONFIG_SPL_ISO_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_SPL_AMIGA_PARTITION is not set
-CONFIG_EFI_PARTITION=y
-CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128
-CONFIG_EFI_PARTITION_ENTRIES_OFF=0
-CONFIG_SPL_EFI_PARTITION=y
-CONFIG_PARTITION_UUIDS=y
-CONFIG_SPL_PARTITION_UUIDS=y
-CONFIG_PARTITION_TYPE_GUID=y
-# CONFIG_SPL_PARTITION_TYPE_GUID is not set
-CONFIG_SUPPORT_OF_CONTROL=y
-CONFIG_PYLIBFDT=y
-CONFIG_DTOC=y
-CONFIG_BINMAN=y
-
-#
-# Device Tree Control
-#
-CONFIG_OF_CONTROL=y
-CONFIG_OF_REAL=y
-CONFIG_SPL_OF_CONTROL=y
-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="rockchip/rk3399-gru-bob"
-# CONFIG_MULTI_DTB_FIT is not set
-# CONFIG_SPL_MULTI_DTB_FIT is not set
-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
-# CONFIG_SPL_OF_PLATDATA is not set
-CONFIG_SPL_OF_REAL=y
-
-#
-# Environment
-#
-CONFIG_ENV_SUPPORT=y
-CONFIG_SAVEENV=y
-# CONFIG_ENV_OVERWRITE is not set
-# CONFIG_OVERWRITE_ETHADDR_ONCE is not set
-CONFIG_ENV_MIN_ENTRIES=64
-CONFIG_ENV_MAX_ENTRIES=512
-CONFIG_ENV_IS_DEFAULT=y
-CONFIG_ENV_IS_NOWHERE=y
-# CONFIG_ENV_IS_IN_EEPROM is not set
-# CONFIG_ENV_IS_IN_FAT is not set
-# CONFIG_ENV_IS_IN_EXT4 is not set
-# CONFIG_ENV_IS_IN_FLASH is not set
-# CONFIG_ENV_IS_IN_MMC is not set
-# CONFIG_ENV_IS_IN_NAND is not set
-# CONFIG_ENV_IS_IN_NVRAM is not set
-# CONFIG_ENV_IS_IN_ONENAND is not set
-# CONFIG_ENV_IS_IN_REMOTE is not set
-# CONFIG_ENV_IS_IN_SPI_FLASH is not set
-# CONFIG_SYS_REDUNDAND_ENVIRONMENT is not set
-CONFIG_SYS_RELOC_GD_ENV_ADDR=y
-# CONFIG_USE_DEFAULT_ENV_FILE is not set
-# CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG is not set
-# CONFIG_ENV_IMPORT_FDT is not set
-# CONFIG_ENV_APPEND is not set
-# CONFIG_ENV_WRITEABLE_LIST is not set
-# CONFIG_ENV_ACCESS_IGNORE_FORCE is not set
-# CONFIG_USE_BOOTFILE is not set
-# CONFIG_USE_ETHPRIME is not set
-# CONFIG_USE_HOSTNAME is not set
-# CONFIG_VERSION_VARIABLE is not set
-CONFIG_NET=y
-CONFIG_ARP_TIMEOUT=5000
-CONFIG_NET_RETRY_COUNT=5
-# CONFIG_PROT_UDP is not set
-CONFIG_BOOTDEV_ETH=y
-# CONFIG_BOOTP_SEND_HOSTNAME is not set
-# CONFIG_NET_RANDOM_ETHADDR is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_IP_DEFRAG is not set
-# CONFIG_SYS_FAULT_ECHO_LINK_DOWN is not set
-CONFIG_TFTP_BLOCKSIZE=1468
-# CONFIG_TFTP_PORT is not set
-CONFIG_TFTP_WINDOWSIZE=1
-# CONFIG_TFTP_TSIZE is not set
-# CONFIG_SERVERIP_FROM_PROXYDHCP is not set
-CONFIG_SERVERIP_FROM_PROXYDHCP_DELAY_MS=100
-# CONFIG_KEEP_SERVERADDR is not set
-# CONFIG_UDP_CHECKSUM is not set
-# CONFIG_BOOTP_SERVERIP is not set
-CONFIG_BOOTP_MAX_ROOT_PATH_LEN=64
-# CONFIG_USE_GATEWAYIP is not set
-# CONFIG_USE_IPADDR is not set
-# CONFIG_USE_NETMASK is not set
-# CONFIG_USE_ROOTPATH is not set
-# CONFIG_USE_SERVERIP is not set
-# CONFIG_PROT_TCP is not set
-# CONFIG_IPV6 is not set
-CONFIG_SYS_RX_ETH_BUFFER=4
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_DM=y
-CONFIG_SPL_DM=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
-CONFIG_DM_STDIO=y
-CONFIG_DM_SEQ_ALIAS=y
-CONFIG_SPL_DM_SEQ_ALIAS=y
-CONFIG_SPL_DM_INLINE_OFNODE=y
-# CONFIG_DM_DMA is not set
-CONFIG_REGMAP=y
-CONFIG_SPL_REGMAP=y
-CONFIG_SYSCON=y
-CONFIG_SPL_SYSCON=y
-# CONFIG_DEVRES is not set
-CONFIG_SIMPLE_BUS=y
-CONFIG_SPL_SIMPLE_BUS=y
-# CONFIG_SIMPLE_BUS_CORRECT_RANGE is not set
-CONFIG_OF_TRANSLATE=y
-# CONFIG_SPL_OF_TRANSLATE is not set
-# CONFIG_TRANSLATION_OFFSET 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
-# CONFIG_ADC_SANDBOX is not set
-# CONFIG_SARADC_MESON is not set
-CONFIG_SARADC_ROCKCHIP=y
-# CONFIG_ADC_IMX93 is not set
-# CONFIG_SATA is not set
-# CONFIG_SCSI_AHCI is not set
-
-#
-# SATA/SCSI device support
-#
-# CONFIG_AXI is not set
-
-#
-# Bus devices
-#
-CONFIG_BLK=y
-CONFIG_SPL_BLK=y
-CONFIG_BLOCK_CACHE=y
-# CONFIG_BLKMAP is not set
-# CONFIG_SPL_BLOCK_CACHE is not set
-# CONFIG_EFI_MEDIA is not set
-# CONFIG_SPL_BLK_FS is not set
-# 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
-
-#
-# Button Support
-#
-# CONFIG_BUTTON is not set
-
-#
-# Cache Controller drivers
-#
-# CONFIG_CACHE is not set
-# CONFIG_L2X0_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
-#
-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
-# CONFIG_CLK_MPC83XX is not set
-# CONFIG_CLK_XLNX_CLKWZRD is not set
-# CONFIG_CLK_AT91 is not set
-# CONFIG_CLK_RCAR is not set
-# CONFIG_CLK_RCAR_CPG_LIB is not set
-# CONFIG_CLK_SIFIVE is not set
-# CONFIG_CLK_TI_AM3_DPLL is not set
-# CONFIG_CLK_TI_CTRL is not set
-# CONFIG_CLK_TI_GATE is not set
-# CONFIG_CLK_K3 is not set
-# CONFIG_SPL_CLK_K3 is not set
-# CONFIG_CPU is not set
-
-#
-# Hardware crypto devices
-#
-# CONFIG_DM_HASH is not set
-# CONFIG_FSL_CAAM is not set
-CONFIG_CAAM_64BIT=y
-# CONFIG_SYS_FSL_SEC_BE is not set
-# CONFIG_SYS_FSL_SEC_LE is not set
-# CONFIG_FSL_DCP_RNG is not set
-# CONFIG_NPCM_AES is not set
-# CONFIG_NPCM_SHA is not set
-# CONFIG_DDR_SPD is not set
-# CONFIG_IMX_SNPS_DDR_PHY is not set
-
-#
-# Demo for driver model
-#
-# CONFIG_DM_DEMO is not set
-
-#
-# DFU support
-#
-
-#
-# DMA Support
-#
-# CONFIG_DMA is not set
-# CONFIG_DMA_LPC32XX is not set
-# CONFIG_TI_EDMA3 is not set
-# CONFIG_DMA_LEGACY is not set
-
-#
-# Extcon Support
-#
-# CONFIG_EXTCON is not set
-
-#
-# Fastboot support
-#
-# CONFIG_UDP_FUNCTION_FASTBOOT is not set
-# CONFIG_TCP_FUNCTION_FASTBOOT is not set
-CONFIG_FIRMWARE=y
-# CONFIG_SPL_FIRMWARE is not set
-CONFIG_ARM_PSCI_FW=y
-# CONFIG_ZYNQMP_FIRMWARE is not set
-# CONFIG_ARM_SMCCC_FEATURES is not set
-# CONFIG_ARM_FFA_TRANSPORT is not set
-# CONFIG_SCMI_FIRMWARE is not set
-# CONFIG_DM_FUZZING_ENGINE is not set
-
-#
-# FPGA support
-#
-# CONFIG_FPGA_ALTERA is not set
-# CONFIG_FPGA_SOCFPGA is not set
-# CONFIG_FPGA_LATTICE is not set
-# CONFIG_FPGA_XILINX is not set
-# CONFIG_DM_FPGA is not set
-# CONFIG_FWU_MDATA is not set
-CONFIG_GPIO=y
-CONFIG_SPL_DM_GPIO=y
-# CONFIG_GPIO_HOG is not set
-# CONFIG_SPL_GPIO_HOG is not set
-# CONFIG_DM_GPIO_LOOKUP_LABEL is not set
-# CONFIG_SPL_DM_GPIO_LOOKUP_LABEL is not set
-# CONFIG_ALTERA_PIO is not set
-# CONFIG_BCM2835_GPIO is not set
-# CONFIG_DWAPB_GPIO is not set
-# CONFIG_AT91_GPIO is not set
-# CONFIG_ATMEL_PIO4 is not set
-# CONFIG_ASPEED_GPIO is not set
-# CONFIG_DA8XX_GPIO is not set
-# CONFIG_FXL6408_GPIO is not set
-# CONFIG_HIKEY_GPIO is not set
-# CONFIG_INTEL_BROADWELL_GPIO is not set
-# CONFIG_INTEL_GPIO is not set
-# CONFIG_INTEL_ICH6_GPIO is not set
-# CONFIG_IMX_RGPIO2P is not set
-# CONFIG_IPROC_GPIO is not set
-# CONFIG_HSDK_CREG_GPIO is not set
-# CONFIG_KIRKWOOD_GPIO is not set
-# CONFIG_LPC32XX_GPIO is not set
-# CONFIG_MAX7320_GPIO is not set
-# CONFIG_MCP230XX_GPIO is not set
-# CONFIG_MSM_GPIO is not set
-# CONFIG_MXC_GPIO is not set
-# CONFIG_MXS_GPIO is not set
-# CONFIG_NPCM_GPIO is not set
-# CONFIG_CMD_PCA953X is not set
-# CONFIG_PCF8575_GPIO is not set
-CONFIG_ROCKCHIP_GPIO=y
-# CONFIG_XILINX_GPIO is not set
-# CONFIG_TCA642X is not set
-# CONFIG_TEGRA_GPIO is not set
-# CONFIG_TEGRA186_GPIO is not set
-# CONFIG_VYBRID_GPIO is not set
-# CONFIG_SIFIVE_GPIO is not set
-# CONFIG_ZYNQ_GPIO is not set
-# CONFIG_DM_74X164 is not set
-# CONFIG_DM_PCA953X is not set
-# CONFIG_SPL_DM_PCA953X is not set
-# CONFIG_PCA953X is not set
-# CONFIG_MPC8XXX_GPIO is not set
-# CONFIG_MPC8XX_GPIO is not set
-# CONFIG_NX_GPIO is not set
-# CONFIG_NOMADIK_GPIO is not set
-# CONFIG_ZYNQMP_GPIO_MODEPIN is not set
-# CONFIG_SLG7XL45106_I2C_GPO is not set
-# CONFIG_FTGPIO010 is not set
-# CONFIG_ADP5585_GPIO is not set
-
-#
-# Hardware Spinlock Support
-#
-# CONFIG_DM_HWSPINLOCK is not set
-CONFIG_I2C=y
-CONFIG_DM_I2C=y
-CONFIG_SPL_DM_I2C=y
-CONFIG_I2C_CROS_EC_TUNNEL=y
-# CONFIG_I2C_CROS_EC_LDO is not set
-# CONFIG_I2C_SET_DEFAULT_BUS_NUM is not set
-# CONFIG_DM_I2C_GPIO is not set
-# CONFIG_SYS_I2C_IPROC is not set
-# CONFIG_SYS_I2C_FSL is not set
-# CONFIG_SYS_I2C_CADENCE is not set
-# CONFIG_SYS_I2C_DW is not set
-# CONFIG_SYS_I2C_INTEL is not set
-# CONFIG_SYS_I2C_IMX_LPI2C is not set
-# CONFIG_SYS_I2C_MTK is not set
-# CONFIG_SYS_I2C_MICROCHIP is not set
-# CONFIG_SYS_I2C_MXC is not set
-# CONFIG_SYS_I2C_NEXELL is not set
-# CONFIG_SYS_I2C_NPCM is not set
-# CONFIG_SYS_I2C_OCORES is not set
-CONFIG_SYS_I2C_ROCKCHIP=y
-# CONFIG_SYS_I2C_SOFT is not set
-# CONFIG_SYS_I2C_MV is not set
-# CONFIG_SYS_I2C_MVTWSI is not set
-# CONFIG_SYS_I2C_XILINX_XIIC is not set
-# CONFIG_SYS_I2C_IHS is not set
-CONFIG_I2C_MUX=y
-# CONFIG_SPL_I2C_MUX is not set
-# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
-# CONFIG_I2C_MUX_PCA954x is not set
-# CONFIG_I2C_MUX_GPIO is not set
-CONFIG_INPUT=y
-# CONFIG_SPL_INPUT is not set
-CONFIG_DM_KEYBOARD=y
-# CONFIG_SPL_DM_KEYBOARD is not set
-# CONFIG_APPLE_SPI_KEYB is not set
-# CONFIG_BUTTON_KEYBOARD is not set
-CONFIG_CROS_EC_KEYB=y
-# CONFIG_I8042_KEYB is not set
-# CONFIG_TEGRA_KEYBOARD is not set
-# CONFIG_TWL4030_INPUT is not set
-
-#
-# IOMMU device drivers
-#
-# CONFIG_IOMMU is not set
-
-#
-# LED Support
-#
-# CONFIG_LED is not set
-# CONFIG_SPL_LED is not set
-# CONFIG_LED_STATUS is not set
-
-#
-# Mailbox Controller Support
-#
-# CONFIG_DM_MAILBOX is not set
-
-#
-# Memory Controller drivers
-#
-# CONFIG_MEMORY is not set
-# CONFIG_ATMEL_EBI is not set
-# CONFIG_MFD_ATMEL_SMC is not set
-
-#
-# Multifunction device drivers
-#
-CONFIG_MISC=y
-CONFIG_SPL_MISC=y
-# CONFIG_NVMEM is not set
-# CONFIG_SPL_NVMEM is not set
-# CONFIG_ALTERA_SYSID is not set
-# CONFIG_ATSHA204A is not set
-# 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
-# CONFIG_VEXPRESS_CONFIG is not set
-CONFIG_CROS_EC=y
-# CONFIG_SPL_CROS_EC is not set
-# CONFIG_CROS_EC_I2C is not set
-# CONFIG_CROS_EC_LPC is not set
-# CONFIG_SPL_CROS_EC_LPC is not set
-CONFIG_CROS_EC_SPI=y
-# CONFIG_DS4510 is not set
-# CONFIG_FSL_SEC_MON is not set
-# CONFIG_IRQ is not set
-# CONFIG_NPCM_HOST is not set
-# CONFIG_NUVOTON_NCT6102D is not set
-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
-# CONFIG_I2C_EEPROM is not set
-# CONFIG_SPL_I2C_EEPROM is not set
-# CONFIG_GDSYS_RXAUI_CTRL is not set
-# CONFIG_GDSYS_IOEP is not set
-# CONFIG_MPC83XX_SERDES is not set
-# CONFIG_FS_LOADER is not set
-# CONFIG_SPL_FS_LOADER is not set
-# CONFIG_GDSYS_SOC is not set
-# CONFIG_IHS_FPGA is not set
-# 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
-#
-CONFIG_MMC=y
-CONFIG_MMC_WRITE=y
-CONFIG_MMC_PWRSEQ=y
-# CONFIG_MMC_BROKEN_CD is not set
-CONFIG_DM_MMC=y
-CONFIG_SPL_DM_MMC=y
-# CONFIG_MMC_SPI is not set
-# CONFIG_ARM_PL180_MMCI is not set
-CONFIG_MMC_QUIRKS=y
-CONFIG_SYS_MMC_MAX_BLK_COUNT=65535
-CONFIG_MMC_HW_PARTITIONING=y
-# CONFIG_SUPPORT_EMMC_RPMB is not set
-# CONFIG_SUPPORT_EMMC_BOOT is not set
-CONFIG_MMC_IO_VOLTAGE=y
-CONFIG_MMC_UHS_SUPPORT=y
-CONFIG_MMC_HS400_ES_SUPPORT=y
-CONFIG_MMC_HS400_SUPPORT=y
-CONFIG_MMC_HS200_SUPPORT=y
-CONFIG_MMC_VERBOSE=y
-# CONFIG_MMC_TRACE is not set
-CONFIG_MMC_DW=y
-# CONFIG_MMC_DW_CORTINA is not set
-# CONFIG_MMC_DW_K3 is not set
-CONFIG_MMC_DW_ROCKCHIP=y
-# CONFIG_MMC_DW_SNPS is not set
-# CONFIG_MMC_MXC is not set
-# CONFIG_MMC_PCI is not set
-# CONFIG_MMC_OMAP_HS is not set
-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
-# CONFIG_MMC_SDHCI_MSM is not set
-# CONFIG_MMC_SDHCI_NPCM is not set
-CONFIG_MMC_SDHCI_ROCKCHIP=y
-# CONFIG_MMC_SDHCI_S5P is not set
-# CONFIG_MMC_SDHCI_STI is not set
-# CONFIG_MMC_SDHCI_XENON is not set
-# CONFIG_MMC_SDHCI_TANGIER is not set
-# CONFIG_MMC_SDHCI_ZYNQ is not set
-# CONFIG_MMC_PITON is not set
-# CONFIG_STM32_SDMMC2 is not set
-# CONFIG_FTSDC010 is not set
-# CONFIG_FSL_ESDHC is not set
-# CONFIG_FSL_ESDHC_IMX is not set
-
-#
-# MTD Support
-#
-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
-# CONFIG_USE_SYS_MAX_FLASH_BANKS is not set
-# CONFIG_MTD_RAW_NAND is not set
-
-#
-# SPI Flash Support
-#
-CONFIG_DM_SPI_FLASH=y
-CONFIG_SPI_FLASH=y
-CONFIG_SF_DEFAULT_BUS=1
-CONFIG_SF_DEFAULT_CS=0
-# CONFIG_BOOTDEV_SPI_FLASH is not set
-# CONFIG_SPI_FLASH_SFDP_SUPPORT is not set
-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
-#
-# CONFIG_UBI_SILENCE_MSG is not set
-# CONFIG_MTD_UBI is not set
-# CONFIG_NVMXIP is not set
-# CONFIG_NVMXIP_QSPI is not set
-
-#
-# Multiplexer drivers
-#
-# CONFIG_MULTIPLEXER is not set
-# CONFIG_BITBANGMII is not set
-# CONFIG_MV88E6352_SWITCH is not set
-CONFIG_PHYLIB=y
-# CONFIG_PHY_ADDR_ENABLE is not set
-# CONFIG_B53_SWITCH is not set
-# CONFIG_MV88E61XX_SWITCH is not set
-# CONFIG_PHYLIB_10G is not set
-# CONFIG_PHY_ADIN is not set
-# CONFIG_PHY_AQUANTIA is not set
-# CONFIG_PHY_ATHEROS is not set
-# CONFIG_SPL_PHY_ATHEROS is not set
-# CONFIG_PHY_BROADCOM is not set
-# CONFIG_PHY_CORTINA is not set
-# CONFIG_PHY_DAVICOM is not set
-# CONFIG_PHY_ET1011C is not set
-# CONFIG_PHY_LXT is not set
-# CONFIG_PHY_MARVELL is not set
-# CONFIG_PHY_MARVELL_10G is not set
-# CONFIG_PHY_MESON_GXL is not set
-# CONFIG_PHY_MICREL is not set
-# CONFIG_PHY_MOTORCOMM is not set
-# CONFIG_PHY_MSCC is not set
-# CONFIG_PHY_NATSEMI is not set
-# CONFIG_PHY_NXP_C45_TJA11XX is not set
-# CONFIG_PHY_NXP_TJA11XX is not set
-# CONFIG_PHY_REALTEK is not set
-# CONFIG_PHY_SMSC is not set
-# CONFIG_PHY_TERANETICS is not set
-# CONFIG_PHY_TI is not set
-# CONFIG_PHY_TI_DP83867 is not set
-# CONFIG_PHY_TI_DP83869 is not set
-# CONFIG_PHY_TI_GENERIC is not set
-# CONFIG_PHY_VITESSE is not set
-# CONFIG_PHY_XILINX is not set
-# CONFIG_PHY_XILINX_GMII2RGMII is not set
-# CONFIG_PHY_XWAY is not set
-# CONFIG_PHY_ETHERNET_ID is not set
-# CONFIG_PHY_FIXED is not set
-# CONFIG_PHY_NCSI is not set
-# CONFIG_FSL_MEMAC is not set
-CONFIG_PHY_RESET_DELAY=0
-# CONFIG_FSL_PFE is not set
-CONFIG_ETH=y
-CONFIG_DM_ETH=y
-# CONFIG_DM_MDIO is not set
-# CONFIG_DM_ETH_PHY is not set
-CONFIG_NETDEVICES=y
-CONFIG_PHY_GIGE=y
-# CONFIG_ALTERA_TSE is not set
-# CONFIG_BCM_SF2_ETH is not set
-# CONFIG_BCMGENET is not set
-# CONFIG_BNXT_ETH is not set
-# CONFIG_CALXEDA_XGMAC is not set
-# CONFIG_DRIVER_DM9000 is not set
-# CONFIG_DWC_ETH_QOS is not set
-# CONFIG_EEPRO100 is not set
-CONFIG_ETH_DESIGNWARE=y
-# CONFIG_ETH_DESIGNWARE_MESON8B is not set
-# CONFIG_ETH_DESIGNWARE_SOCFPGA is not set
-# CONFIG_ETH_DESIGNWARE_S700 is not set
-# CONFIG_DW_ALTDESCRIPTOR is not set
-# CONFIG_ETHOC is not set
-# CONFIG_FMAN_ENET is not set
-# CONFIG_FTMAC100 is not set
-# CONFIG_FTGMAC100 is not set
-# CONFIG_MCFFEC is not set
-# CONFIG_KS8851_MLL is not set
-# CONFIG_LITEETH is not set
-# CONFIG_MACB is not set
-# CONFIG_NET_NPCM750 is not set
-# CONFIG_PCH_GBE is not set
-# CONFIG_RGMII is not set
-# CONFIG_MII is not set
-# CONFIG_RMII is not set
-# CONFIG_PCNET is not set
-# CONFIG_QE_UEC is not set
-# CONFIG_RTL8139 is not set
-# CONFIG_SMC911X is not set
-# CONFIG_SUN7I_GMAC is not set
-# CONFIG_SUN4I_EMAC is not set
-# CONFIG_SUN8I_EMAC is not set
-# CONFIG_SH_ETHER is not set
-# CONFIG_DRIVER_TI_CPSW is not set
-# CONFIG_DRIVER_TI_EMAC is not set
-# CONFIG_DRIVER_TI_KEYSTONE_NET is not set
-# CONFIG_TULIP is not set
-# CONFIG_XILINX_AXIEMAC is not set
-# CONFIG_VSC7385_ENET is not set
-# CONFIG_XILINX_EMACLITE is not set
-# CONFIG_ZYNQ_GEM is not set
-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
-
-#
-# PCI Endpoint
-#
-# CONFIG_PCI_ENDPOINT is not set
-# CONFIG_X86_PCH7 is not set
-# CONFIG_X86_PCH9 is not set
-
-#
-# PHY Subsystem
-#
-CONFIG_PHY=y
-# CONFIG_SPL_PHY is not set
-# CONFIG_NOP_PHY is not set
-# CONFIG_MIPI_DPHY_HELPERS is not set
-# CONFIG_BCM_SR_PCIE_PHY is not set
-# CONFIG_OMAP_USB2_PHY is not set
-
-#
-# 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
-# CONFIG_PHY_ROCKCHIP_SNPS_PCIE3 is not set
-# CONFIG_PHY_ROCKCHIP_USBDP is not set
-CONFIG_PHY_ROCKCHIP_TYPEC=y
-# CONFIG_PHY_CADENCE_SIERRA is not set
-# CONFIG_PHY_CADENCE_TORRENT is not set
-# CONFIG_MSM8916_USB_PHY is not set
-# CONFIG_MVEBU_COMPHY_SUPPORT is not set
-
-#
-# Pin controllers
-#
-CONFIG_PINCTRL=y
-CONFIG_PINCTRL_FULL=y
-CONFIG_PINCTRL_GENERIC=y
-CONFIG_PINMUX=y
-# CONFIG_PINCONF is not set
-CONFIG_PINCONF_RECURSIVE=y
-CONFIG_SPL_PINCTRL=y
-CONFIG_SPL_PINCTRL_FULL=y
-CONFIG_SPL_PINCTRL_GENERIC=y
-CONFIG_SPL_PINMUX=y
-# CONFIG_SPL_PINCONF is not set
-CONFIG_SPL_PINCONF_RECURSIVE=y
-# CONFIG_PINCTRL_AT91 is not set
-# CONFIG_PINCTRL_AT91PIO4 is not set
-# CONFIG_PINCTRL_INTEL is not set
-# CONFIG_PINCTRL_QE is not set
-# CONFIG_PINCTRL_ROCKCHIP_RV1108 is not set
-# CONFIG_PINCTRL_SINGLE is not set
-# CONFIG_PINCTRL_STM32 is not set
-# CONFIG_PINCTRL_STMFX is not set
-# CONFIG_SPL_PINCTRL_STMFX is not set
-# 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
-# CONFIG_SPL_ACPI_PMC is not set
-
-#
-# Power Domain Support
-#
-# CONFIG_POWER_DOMAIN is not set
-CONFIG_DM_PMIC=y
-CONFIG_SPL_DM_PMIC=y
-CONFIG_PMIC_CHILDREN=y
-CONFIG_SPL_PMIC_CHILDREN=y
-# CONFIG_PMIC_AB8500 is not set
-# CONFIG_PMIC_ACT8846 is not set
-# CONFIG_PMIC_AXP is not set
-# CONFIG_SPL_PMIC_AXP is not set
-# CONFIG_DM_PMIC_DA9063 is not set
-# CONFIG_SPL_DM_PMIC_DA9063 is not set
-# CONFIG_PMIC_AS3722 is not set
-# CONFIG_DM_PMIC_BD71837 is not set
-# CONFIG_SPL_DM_PMIC_BD71837 is not set
-# CONFIG_DM_PMIC_FAN53555 is not set
-# CONFIG_DM_PMIC_MP5416 is not set
-# CONFIG_SPL_DM_PMIC_MP5416 is not set
-# CONFIG_DM_PMIC_PCA9450 is not set
-# 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
-# CONFIG_PMIC_MAX8997 is not set
-# CONFIG_PMIC_QCOM is not set
-CONFIG_PMIC_RK8XX=y
-# CONFIG_SPL_PMIC_RK8XX is not set
-# CONFIG_PMIC_S2MPS11 is not set
-# CONFIG_DM_PMIC_SANDBOX is not set
-# CONFIG_PMIC_S5M8767 is not set
-# CONFIG_PMIC_RN5T567 is not set
-# CONFIG_SPL_PMIC_RN5T567 is not set
-# CONFIG_PMIC_TPS65090 is not set
-# CONFIG_PMIC_PALMAS is not set
-# 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
-# CONFIG_SPL_POWER_TPS62362 is not set
-# CONFIG_SPL_POWER_TPS65910 is not set
-CONFIG_DM_REGULATOR=y
-CONFIG_REGULATOR_PWM=y
-# CONFIG_SPL_REGULATOR_PWM is not set
-CONFIG_DM_REGULATOR_COMMON=y
-CONFIG_DM_REGULATOR_FIXED=y
-# CONFIG_SPL_DM_REGULATOR_FIXED is not set
-CONFIG_DM_REGULATOR_GPIO=y
-# CONFIG_SPL_DM_REGULATOR_GPIO is not set
-CONFIG_REGULATOR_RK8XX=y
-# CONFIG_DM_REGULATOR_PBIAS is not set
-# CONFIG_DM_REGULATOR_TPS62360 is not set
-# CONFIG_DM_REGULATOR_ANATOP is not set
-# CONFIG_DM_REGULATOR_SCMI is not set
-# CONFIG_TPS6586X_POWER is not set
-# CONFIG_POWER_MT6323 is not set
-CONFIG_DM_PWM=y
-# CONFIG_PWM_ASPEED is not set
-# CONFIG_PWM_CADENCE_TTC is not set
-CONFIG_PWM_CROS_EC=y
-# CONFIG_PWM_EXYNOS is not set
-# CONFIG_PWM_IMX is not set
-# CONFIG_PWM_MESON is not set
-# CONFIG_PWM_MTK is not set
-CONFIG_PWM_ROCKCHIP=y
-# CONFIG_PWM_SANDBOX is not set
-# CONFIG_PWM_SIFIVE is not set
-# CONFIG_PWM_TEGRA is not set
-# CONFIG_PWM_SUNXI is not set
-# CONFIG_U_QE is not set
-CONFIG_RAM=y
-CONFIG_SPL_RAM=y
-# CONFIG_STM32_SDRAM is not set
-# CONFIG_MPC83XX_SDRAM is not set
-# CONFIG_K3_DDRSS is not set
-# CONFIG_IMXRT_SDRAM is not set
-# CONFIG_CADENCE_DDR_CTRL is not set
-CONFIG_RAM_ROCKCHIP=y
-CONFIG_ROCKCHIP_SDRAM_COMMON=y
-CONFIG_RAM_ROCKCHIP_DEBUG=y
-# CONFIG_RAM_ROCKCHIP_DDR4 is not set
-# CONFIG_RAM_ROCKCHIP_LPDDR2 is not set
-# CONFIG_RAM_ROCKCHIP_LPDDR3 is not set
-# CONFIG_RAM_ROCKCHIP_LPDDR4 is not set
-
-#
-# Reboot Mode Support
-#
-# CONFIG_DM_REBOOT_MODE is not set
-
-#
-# Remote Processor drivers
-#
-CONFIG_REMOTEPROC_MAX_FW_SIZE=0x10000
-
-#
-# Reset Controller Support
-#
-# CONFIG_RESET_AST2500 is not set
-# CONFIG_RESET_AST2600 is not set
-CONFIG_RESET_ROCKCHIP=y
-# CONFIG_RESET_HISILICON is not set
-# CONFIG_RESET_SYSCON is not set
-# 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
-#
-# CONFIG_DM_RTC is not set
-# CONFIG_SPL_DM_RTC is not set
-# CONFIG_RTC_ENABLE_32KHZ_OUTPUT is not set
-# CONFIG_RTC_DS1337 is not set
-# CONFIG_RTC_DS1338 is not set
-# CONFIG_RTC_DS1374 is not set
-# CONFIG_RTC_DS3231 is not set
-# CONFIG_RTC_PCF8563 is not set
-# CONFIG_RTC_PT7C4338 is not set
-# CONFIG_RTC_PL031 is not set
-# CONFIG_RTC_S35392A is not set
-# CONFIG_RTC_MC13XXX is not set
-# CONFIG_RTC_MC146818 is not set
-# CONFIG_RTC_M41T62 is not set
-# CONFIG_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
-CONFIG_SPL_SERIAL_PRESENT=y
-CONFIG_DM_SERIAL=y
-# CONFIG_SERIAL_RX_BUFFER is not set
-# CONFIG_SERIAL_PUTS is not set
-# CONFIG_SERIAL_SEARCH_ALL is not set
-# CONFIG_SERIAL_PROBE_ALL is not set
-CONFIG_SPL_DM_SERIAL=y
-# CONFIG_VPL_DM_SERIAL is not set
-CONFIG_DEBUG_UART_NS16550=y
-CONFIG_SPL_DEBUG_UART_BASE=0xff1a0000
-CONFIG_DEBUG_UART_SHIFT=2
-# CONFIG_DEBUG_UART_ANNOUNCE is not set
-# CONFIG_DEBUG_UART_SKIP_INIT is not set
-# CONFIG_DEBUG_UART_NS16550_CHECK_ENABLED is not set
-# CONFIG_ALTERA_JTAG_UART is not set
-# CONFIG_ALTERA_UART is not set
-# CONFIG_ARC_SERIAL is not set
-# CONFIG_ARM_DCC is not set
-# CONFIG_ATMEL_USART is not set
-# CONFIG_BCM6345_SERIAL is not set
-# CONFIG_COREBOOT_SERIAL is not set
-# CONFIG_CORTINA_UART is not set
-# CONFIG_FSL_LINFLEXUART is not set
-# CONFIG_FSL_LPUART is not set
-# CONFIG_MVEBU_A3700_UART is not set
-# CONFIG_MCFUART is not set
-# CONFIG_NULLDEV_SERIAL is not set
-CONFIG_SYS_NS16550=y
-# CONFIG_NS16550_DYNAMIC is not set
-CONFIG_SYS_NS16550_MEM32=y
-# CONFIG_SYS_NS16550_PORT_MAPPED is not set
-# CONFIG_PL01X_SERIAL is not set
-# CONFIG_ROCKCHIP_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
-
-#
-# Sound support
-#
-# CONFIG_SOUND is not set
-
-#
-# 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
-CONFIG_SPI_MEM=y
-# CONFIG_SPI_DIRMAP is not set
-# CONFIG_ALTERA_SPI is not set
-# CONFIG_APPLE_SPI is not set
-# CONFIG_ATCSPI200_SPI is not set
-# CONFIG_ATMEL_SPI is not set
-# CONFIG_BCMSTB_SPI is not set
-# 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
-# CONFIG_FSL_QSPI is not set
-# CONFIG_GXP_SPI is not set
-# CONFIG_ICH_SPI is not set
-# CONFIG_IPROC_QSPI is not set
-# CONFIG_KIRKWOOD_SPI is not set
-# CONFIG_MICROCHIP_COREQSPI is not set
-# CONFIG_MPC8XXX_SPI is not set
-# CONFIG_MTK_SNOR is not set
-# CONFIG_MTK_SNFI_SPI is not set
-# CONFIG_MTK_SPIM is not set
-# CONFIG_MVEBU_A3700_SPI is not set
-# CONFIG_MXS_SPI is not set
-# CONFIG_SPI_MXIC is not set
-# CONFIG_NPCM_FIU_SPI is not set
-# CONFIG_NPCM_PSPI is not set
-# CONFIG_NXP_FSPI is not set
-# CONFIG_OMAP3_SPI is not set
-# CONFIG_PL022_SPI is not set
-# CONFIG_ROCKCHIP_SFC is not set
-CONFIG_ROCKCHIP_SPI=y
-# CONFIG_SPI_ASPEED_SMC is not set
-# CONFIG_SPI_SIFIVE is not set
-# CONFIG_SOFT_SPI is not set
-# CONFIG_SPI_SN_F_OSPI is not set
-# CONFIG_SPI_SUNXI is not set
-# CONFIG_TEGRA114_SPI is not set
-# CONFIG_TEGRA20_SFLASH is not set
-# CONFIG_TEGRA20_SLINK is not set
-# CONFIG_TEGRA210_QSPI is not set
-# CONFIG_TI_QSPI is not set
-# CONFIG_XILINX_SPI is not set
-# CONFIG_ZYNQ_SPI is not set
-# CONFIG_ZYNQ_QSPI is not set
-# CONFIG_ZYNQMP_GQSPI is not set
-# CONFIG_SH_QSPI is not set
-# CONFIG_MXC_SPI is not set
-
-#
-# SPMI support
-#
-# CONFIG_SPMI is not set
-# CONFIG_SYSINFO is not set
-
-#
-# System reset device drivers
-#
-CONFIG_SYSRESET=y
-CONFIG_SPL_SYSRESET=y
-CONFIG_SYSRESET_CMD_RESET=y
-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
-# CONFIG_SYSRESET_SYSCON is not set
-# CONFIG_SYSRESET_WATCHDOG is not set
-# CONFIG_SYSRESET_RESETCTL is not set
-# CONFIG_SYSRESET_MPC83XX is not set
-# CONFIG_TEE is not set
-# CONFIG_DM_THERMAL is not set
-
-#
-# Timer Support
-#
-# CONFIG_TIMER is not set
-
-#
-# TPM support
-#
-CONFIG_USB=y
-CONFIG_DM_USB=y
-CONFIG_SPL_DM_USB=y
-# CONFIG_DM_USB_GADGET is not set
-# CONFIG_SPL_DM_USB_GADGET is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_HOST=y
-# CONFIG_SPL_USB_HOST is not set
-CONFIG_USB_XHCI_HCD=y
-# 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
-# CONFIG_USB_EHCI_MSM is not set
-# CONFIG_USB_EHCI_PCI is not set
-# CONFIG_USB_EHCI_ZYNQ is not set
-CONFIG_USB_EHCI_GENERIC=y
-# CONFIG_USB_EHCI_FSL is not set
-CONFIG_USB_OHCI_NEW=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_OHCI_GENERIC=y
-# CONFIG_USB_OHCI_DA8XX is not set
-# CONFIG_SYS_OHCI_SWAP_REG_ACCESS is not set
-# CONFIG_USB_UHCI_HCD is not set
-# CONFIG_USB_DWC2 is not set
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_ISP1760 is not set
-# CONFIG_USB_CDNS3 is not set
-CONFIG_USB_DWC3=y
-
-#
-# Platform Glue Driver Support
-#
-# CONFIG_USB_DWC3_OMAP is not set
-CONFIG_USB_DWC3_GENERIC=y
-# CONFIG_SPL_USB_DWC3_GENERIC is not set
-# CONFIG_USB_DWC3_LAYERSCAPE is not set
-
-#
-# PHY Subsystem
-#
-# CONFIG_USB_DWC3_PHY_OMAP is not set
-# CONFIG_USB_DWC3_PHY_SAMSUNG is not set
-
-#
-# Legacy MUSB Support
-#
-# CONFIG_USB_MUSB_HCD is not set
-# CONFIG_USB_MUSB_UDC is not set
-
-#
-# MUSB Controller Driver
-#
-# CONFIG_USB_MUSB_HOST is not set
-# CONFIG_USB_MUSB_PIO_ONLY is not set
-
-#
-# USB Phy
-#
-# CONFIG_TWL4030_USB is not set
-# CONFIG_ROCKCHIP_USB2_PHY is not set
-
-#
-# ULPI drivers
-#
-
-#
-# USB peripherals
-#
-CONFIG_USB_STORAGE=y
-CONFIG_USB_KEYBOARD=y
-# CONFIG_USB_ONBOARD_HUB is not set
-CONFIG_USB_HUB_DEBOUNCE_TIMEOUT=1000
-CONFIG_USB_KEYBOARD_FN_KEYS=y
-CONFIG_SYS_USB_EVENT_POLL=y
-# CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE is not set
-# CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP is not set
-CONFIG_USB_HOST_ETHER=y
-CONFIG_USB_ETHER_ASIX=y
-CONFIG_USB_ETHER_ASIX88179=y
-# CONFIG_USB_ETHER_LAN75XX is not set
-# CONFIG_USB_ETHER_LAN78XX is not set
-CONFIG_USB_ETHER_MCS7830=y
-CONFIG_USB_ETHER_RTL8152=y
-CONFIG_USB_ETHER_SMSC95XX=y
-# CONFIG_USB_GADGET is not set
-# CONFIG_SPL_USB_GADGET is not set
-
-#
-# UFS Host Controller Support
-#
-# CONFIG_TI_J721E_UFS is not set
-
-#
-# Graphics support
-#
-CONFIG_VIDEO=y
-# CONFIG_VIDEO_FONT_4X6 is not set
-CONFIG_VIDEO_FONT_8X16=y
-# CONFIG_VIDEO_FONT_SUN12X22 is not set
-# CONFIG_VIDEO_FONT_16X32 is not set
-CONFIG_VIDEO_LOGO=y
-CONFIG_BACKLIGHT=y
-CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE=0x0
-# CONFIG_VIDEO_COPY is not set
-CONFIG_VIDEO_DAMAGE=y
-CONFIG_BACKLIGHT_PWM=y
-# CONFIG_BACKLIGHT_GPIO is not set
-CONFIG_VIDEO_BPP8=y
-CONFIG_VIDEO_BPP16=y
-CONFIG_VIDEO_BPP32=y
-CONFIG_VIDEO_ANSI=y
-# CONFIG_VIDEO_MIPI_DSI is not set
-CONFIG_CONSOLE_NORMAL=y
-# CONFIG_CONSOLE_ROTATION is not set
-# CONFIG_CONSOLE_TRUETYPE is not set
-CONFIG_SYS_WHITE_ON_BLACK=y
-# CONFIG_NO_FB_CLEAR is not set
-CONFIG_PANEL=y
-CONFIG_SIMPLE_PANEL=y
-# CONFIG_PANEL_HX8238D is not set
-
-#
-# TrueType Fonts
-#
-# CONFIG_VIDCONSOLE_AS_LCD is not set
-# CONFIG_VIDEO_BOCHS is not set
-# CONFIG_VIDEO_VESA is not set
-# CONFIG_VIDEO_LCD_ANX9804 is not set
-# CONFIG_ATMEL_LCD_BGR555 is not set
-# CONFIG_VIDEO_BCM2835 is not set
-# 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
-# CONFIG_VIDEO_MESON is not set
-# CONFIG_VIDEO_MVEBU is not set
-CONFIG_I2C_EDID=y
-CONFIG_DISPLAY=y
-# CONFIG_NXP_TDA19988 is not set
-# CONFIG_ATMEL_HLCD is not set
-# CONFIG_BACKLIGHT_LM3533 is not set
-# CONFIG_AM335X_LCD is not set
-# CONFIG_VIDEO_EXYNOS is not set
-# CONFIG_LOGICORE_DP_TX is not set
-CONFIG_VIDEO_ROCKCHIP=y
-CONFIG_VIDEO_ROCKCHIP_MAX_XRES=1280
-CONFIG_VIDEO_ROCKCHIP_MAX_YRES=800
-CONFIG_DISPLAY_ROCKCHIP_EDP=y
-# CONFIG_DISPLAY_ROCKCHIP_LVDS is not set
-# CONFIG_DISPLAY_ROCKCHIP_HDMI is not set
-# CONFIG_DISPLAY_ROCKCHIP_MIPI is not set
-# CONFIG_DISPLAY_ROCKCHIP_DW_MIPI is not set
-# CONFIG_VIDEO_ARM_MALIDP is not set
-# CONFIG_VIDEO_STM32 is not set
-# 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
-# CONFIG_VIDEO_MXS is not set
-# CONFIG_VIDEO_SEPS525 is not set
-CONFIG_CONSOLE_SCROLL_LINES=1
-# CONFIG_VIDEO_SIMPLE is not set
-# CONFIG_VIDEO_DT_SIMPLEFB is not set
-# CONFIG_VIDEO_MCDE_SIMPLE is not set
-# 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
-# CONFIG_BMP_24BPP is not set
-# CONFIG_BMP_32BPP is not set
-# CONFIG_SPL_VIDEO is not set
-
-#
-# VirtIO Drivers
-#
-# CONFIG_VIRTIO_MMIO is not set
-
-#
-# 1-Wire support
-#
-# CONFIG_W1 is not set
-
-#
-# 1-wire EEPROM support
-#
-# CONFIG_W1_EEPROM is not set
-
-#
-# Watchdog Timer Support
-#
-# CONFIG_WATCHDOG is not set
-CONFIG_WATCHDOG_TIMEOUT_MSECS=60000
-# CONFIG_IMX_WATCHDOG is not set
-# CONFIG_ULP_WATCHDOG is not set
-# CONFIG_WDT is not set
-# CONFIG_SPL_WDT is not set
-# CONFIG_PHYS_TO_BUS is not set
-
-#
-# File systems
-#
-# CONFIG_FS_BTRFS is not set
-# CONFIG_FS_CBFS is not set
-# CONFIG_SPL_FS_CBFS is not set
-CONFIG_FS_EXT4=y
-# CONFIG_EXT4_WRITE is not set
-CONFIG_FS_FAT=y
-CONFIG_FAT_WRITE=y
-CONFIG_FS_FAT_MAX_CLUSTSIZE=65536
-# CONFIG_FS_JFFS2 is not set
-# CONFIG_UBIFS_SILENCE_MSG is not set
-# CONFIG_UBIFS_SILENCE_DEBUG_DUMP is not set
-# CONFIG_FS_CRAMFS is not set
-# CONFIG_YAFFS2 is not set
-# CONFIG_FS_SQUASHFS is not set
-# CONFIG_FS_EROFS is not set
-
-#
-# Library routines
-#
-# CONFIG_ADDR_MAP is not set
-# CONFIG_SYS_TIMER_COUNTS_DOWN is not set
-# CONFIG_PHYSMEM is not set
-# CONFIG_BCH is not set
-# CONFIG_BINMAN_FDT is not set
-# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set
-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
-CONFIG_PRINTF=y
-CONFIG_SPL_PRINTF=y
-CONFIG_SPRINTF=y
-CONFIG_SPL_SPRINTF=y
-CONFIG_STRTO=y
-CONFIG_SPL_STRTO=y
-CONFIG_SYS_HZ=1000
-CONFIG_SPL_USE_TINY_PRINTF=y
-CONFIG_PANIC_HANG=y
-CONFIG_REGEX=y
-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
-# CONFIG_CIRCBUF is not set
-CONFIG_CMD_DHRYSTONE=y
-
-#
-# Security support
-#
-# CONFIG_AES is not set
-# CONFIG_ECDSA is not set
-# CONFIG_RSA is not set
-# CONFIG_TPM is not set
-# CONFIG_SPL_TPM is not set
-
-#
-# Android Verified Boot
-#
-
-#
-# Hashing Support
-#
-# CONFIG_BLAKE2 is not set
-CONFIG_SHA1=y
-CONFIG_SHA256=y
-# CONFIG_SHA512 is not set
-# CONFIG_SHA384 is not set
-# CONFIG_SHA_HW_ACCEL is not set
-CONFIG_SPL_CRC32=y
-CONFIG_SPL_SHA1=y
-CONFIG_SPL_SHA256=y
-# CONFIG_SPL_SHA512 is not set
-# CONFIG_SPL_SHA384 is not set
-# CONFIG_SPL_SHA_HW_ACCEL is not set
-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
-
-#
-# Compression Support
-#
-CONFIG_LZ4=y
-CONFIG_LZMA=y
-# CONFIG_LZO is not set
-CONFIG_GZIP=y
-# CONFIG_ZLIB_UNCOMPRESS is not set
-# CONFIG_BZIP2 is not set
-CONFIG_ZLIB=y
-# CONFIG_ZSTD is not set
-# CONFIG_SPL_BZIP2 is not set
-# CONFIG_SPL_LZ4 is not set
-# CONFIG_SPL_LZMA is not set
-CONFIG_VPL_LZMA=y
-# CONFIG_SPL_LZO is not set
-# CONFIG_SPL_GZIP is not set
-# CONFIG_SPL_ZSTD is not set
-CONFIG_ERRNO_STR=y
-# CONFIG_HEXDUMP is not set
-CONFIG_GETOPT=y
-CONFIG_OF_LIBFDT=y
-CONFIG_OF_LIBFDT_ASSUME_MASK=0x0
-CONFIG_SYS_FDT_PAD=0x3000
-CONFIG_SPL_OF_LIBFDT=y
-CONFIG_SPL_OF_LIBFDT_ASSUME_MASK=0xff
-
-#
-# System tables
-#
-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_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=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
-CONFIG_EFI_CAPSULE_MAX=15
-CONFIG_EFI_DEVICE_PATH_TO_TEXT=y
-CONFIG_EFI_DEVICE_PATH_UTIL=y
-CONFIG_EFI_DT_FIXUP=y
-CONFIG_EFI_LOADER_HII=y
-CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y
-CONFIG_EFI_UNICODE_CAPITALIZATION=y
-# CONFIG_EFI_LOADER_BOUNCE_BUFFER is not set
-CONFIG_EFI_PLATFORM_LANG_CODES="en-US"
-CONFIG_EFI_HAVE_RUNTIME_RESET=y
-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
-# CONFIG_TEST_FDTDEC is not set
-CONFIG_LIB_ELF=y
-CONFIG_LMB=y
-CONFIG_LMB_USE_MAX_REGIONS=y
-CONFIG_LMB_MAX_REGIONS=16
-# CONFIG_PHANDLE_CHECK_SEQ is not set
-
-#
-# Testing
-#
-# CONFIG_UNIT_TEST is not set
-# CONFIG_SPL_UNIT_TEST is not set
-# CONFIG_POST is not set
-
-#
-# Tools options
-#
-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
-CONFIG_TOOLS_FIT_RSASSA_PSS=y
-CONFIG_TOOLS_FIT_SIGNATURE=y
-CONFIG_TOOLS_FIT_SIGNATURE_MAX_SIZE=0x10000000
-CONFIG_TOOLS_FIT_VERBOSE=y
-CONFIG_TOOLS_MD5=y
-CONFIG_TOOLS_OF_LIBFDT=y
-CONFIG_TOOLS_SHA1=y
-CONFIG_TOOLS_SHA256=y
-CONFIG_TOOLS_SHA384=y
-CONFIG_TOOLS_SHA512=y
-# CONFIG_TOOLS_MKEFICAPSULE is not set
-# CONFIG_FSPI_CONF_HEADER is not set
-# CONFIG_TOOLS_MKFWUMDATA is not set
diff --git a/config/u-boot/gru_bob/target.cfg b/config/u-boot/gru_bob/target.cfg
deleted file mode 100644
index f7d4d7d9..00000000
--- a/config/u-boot/gru_bob/target.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-tree="default"
-xtree="default"
-xarch="aarch64-elf arm-eabi"
diff --git a/config/u-boot/gru_kevin/config/default b/config/u-boot/gru_kevin/config/default
deleted file mode 100644
index 1bf46d24..00000000
--- a/config/u-boot/gru_kevin/config/default
+++ /dev/null
@@ -1,2408 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# U-Boot 2024.07 Configuration
-#
-
-#
-# 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
-CONFIG_ARM=y
-# CONFIG_M68K is not set
-# CONFIG_MICROBLAZE is not set
-# CONFIG_MIPS is not set
-# CONFIG_NIOS2 is not set
-# CONFIG_PPC is not set
-# CONFIG_RISCV is not set
-# CONFIG_SANDBOX is not set
-# CONFIG_SH is not set
-# CONFIG_X86 is not set
-# CONFIG_XTENSA is not set
-CONFIG_SYS_ARCH="arm"
-CONFIG_SYS_CPU="armv8"
-CONFIG_SYS_SOC="rk3399"
-CONFIG_SYS_VENDOR="google"
-CONFIG_SYS_BOARD="gru"
-CONFIG_SYS_CONFIG_NAME="gru"
-
-#
-# Skipping low level initialization functions
-#
-CONFIG_SKIP_LOWLEVEL_INIT=y
-# CONFIG_SPL_SKIP_LOWLEVEL_INIT is not set
-# CONFIG_TPL_SKIP_LOWLEVEL_INIT is not set
-# CONFIG_SKIP_LOWLEVEL_INIT_ONLY is not set
-# CONFIG_SPL_SKIP_LOWLEVEL_INIT_ONLY is not set
-# 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=y
-
-#
-# ARM architecture
-#
-CONFIG_ARM64=y
-CONFIG_ARM64_CRC32=y
-CONFIG_COUNTER_FREQUENCY=24000000
-CONFIG_POSITION_INDEPENDENT=y
-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
-# CONFIG_SYS_ARM_CACHE_CP15 is not set
-# CONFIG_SYS_ARM_MMU is not set
-# CONFIG_SYS_ARM_MPU is not set
-CONFIG_SYS_ARM_ARCH=8
-CONFIG_SYS_ARM_CACHE_WRITEBACK=y
-# CONFIG_SYS_ARM_CACHE_WRITETHROUGH is not set
-# CONFIG_SYS_ARM_CACHE_WRITEALLOC is not set
-# CONFIG_ARCH_CPU_INIT is not set
-CONFIG_SYS_ARCH_TIMER=y
-CONFIG_ARM_SMCCC=y
-# CONFIG_SYS_L2_PL310 is not set
-# CONFIG_SPL_SYS_L2_PL310 is not set
-# CONFIG_SYS_L2CACHE_OFF is not set
-CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y
-# CONFIG_USE_ARCH_MEMCPY is not set
-# CONFIG_SPL_USE_ARCH_MEMCPY is not set
-# CONFIG_USE_ARCH_MEMSET is not set
-# CONFIG_SPL_USE_ARCH_MEMSET is not set
-CONFIG_ARM64_SUPPORT_AARCH32=y
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_HISTB is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_MVEBU is not set
-# CONFIG_ARCH_ORION5X 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_BCMNS3 is not set
-# CONFIG_ARCH_EXYNOS is not set
-# CONFIG_ARCH_S5PC1XX is not set
-# CONFIG_ARCH_HIGHBANK is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_IPQ40XX is not set
-# CONFIG_ARCH_KEYSTONE is not set
-# CONFIG_ARCH_K3 is not set
-# CONFIG_ARCH_OMAP2PLUS is not set
-# CONFIG_ARCH_MESON is not set
-# CONFIG_ARCH_MEDIATEK is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_IMX8 is not set
-# CONFIG_ARCH_IMX8M is not set
-# CONFIG_ARCH_IMX8ULP is not set
-# CONFIG_ARCH_IMX9 is not set
-# CONFIG_ARCH_IMXRT is not set
-# CONFIG_ARCH_MX23 is not set
-# CONFIG_ARCH_MX28 is not set
-# CONFIG_ARCH_MX31 is not set
-# CONFIG_ARCH_MX7ULP is not set
-# CONFIG_ARCH_MX7 is not set
-# CONFIG_ARCH_MX6 is not set
-# CONFIG_ARCH_MX5 is not set
-# CONFIG_ARCH_NEXELL is not set
-# CONFIG_ARCH_NPCM is not set
-# CONFIG_ARCH_APPLE is not set
-# CONFIG_ARCH_OWL is not set
-# CONFIG_ARCH_QEMU 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
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_VERSAL is not set
-# CONFIG_ARCH_VERSAL_NET is not set
-# CONFIG_ARCH_VF610 is not set
-# CONFIG_ARCH_ZYNQ is not set
-# CONFIG_ARCH_ZYNQMP_R5 is not set
-# CONFIG_ARCH_ZYNQMP is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_VEXPRESS64 is not set
-# CONFIG_TARGET_CORSTONE1000 is not set
-# CONFIG_TARGET_TOTAL_COMPUTE is not set
-# CONFIG_TARGET_LS2080A_EMU is not set
-# CONFIG_TARGET_LS1088AQDS is not set
-# CONFIG_TARGET_LS2080AQDS is not set
-# CONFIG_TARGET_LS2080ARDB is not set
-# CONFIG_TARGET_LS2081ARDB is not set
-# CONFIG_TARGET_LX2160ARDB is not set
-# CONFIG_TARGET_LX2160AQDS is not set
-# CONFIG_TARGET_LX2162AQDS is not set
-# CONFIG_TARGET_HIKEY is not set
-# CONFIG_TARGET_HIKEY960 is not set
-# CONFIG_TARGET_POPLAR is not set
-# CONFIG_TARGET_LS1012AQDS is not set
-# CONFIG_TARGET_LS1012ARDB is not set
-# CONFIG_TARGET_LS1012A2G5RDB is not set
-# CONFIG_TARGET_LS1012AFRWY is not set
-# CONFIG_TARGET_LS1012AFRDM is not set
-# CONFIG_TARGET_LS1028AQDS is not set
-# CONFIG_TARGET_LS1028ARDB is not set
-# CONFIG_TARGET_LS1088ARDB is not set
-# CONFIG_TARGET_LS1021AQDS is not set
-# CONFIG_TARGET_LS1021ATWR is not set
-# CONFIG_TARGET_PG_WCOM_SELI8 is not set
-# CONFIG_TARGET_PG_WCOM_EXPU1 is not set
-# CONFIG_TARGET_LS1021ATSN is not set
-# CONFIG_TARGET_LS1021AIOT is not set
-# CONFIG_TARGET_LS1043AQDS is not set
-# CONFIG_TARGET_LS1043ARDB is not set
-# CONFIG_TARGET_LS1046AQDS is not set
-# CONFIG_TARGET_LS1046ARDB is not set
-# CONFIG_TARGET_LS1046AFRWY is not set
-# CONFIG_TARGET_SL28 is not set
-# CONFIG_TARGET_TEN64 is not set
-# CONFIG_ARCH_UNIPHIER is not set
-# CONFIG_ARCH_SYNQUACER is not set
-# CONFIG_ARCH_STM32 is not set
-# CONFIG_ARCH_STI is not set
-# CONFIG_ARCH_STM32MP is not set
-CONFIG_ARCH_ROCKCHIP=y
-# CONFIG_ARCH_OCTEONTX is not set
-# CONFIG_ARCH_OCTEONTX2 is not set
-# CONFIG_TARGET_THUNDERX_88XX is not set
-# 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
-# CONFIG_STATIC_MACH_TYPE is not set
-CONFIG_TEXT_BASE=0x18000000
-CONFIG_SYS_MALLOC_LEN=0x2000000
-CONFIG_SYS_MALLOC_F_LEN=0x4000
-CONFIG_SPL_GPIO=y
-CONFIG_SPL_LIBCOMMON_SUPPORT=y
-CONFIG_SPL_LIBGENERIC_SUPPORT=y
-CONFIG_NR_DRAM_BANKS=1
-CONFIG_SPL_LDSCRIPT="arch/arm/cpu/armv8/u-boot-spl.lds"
-CONFIG_ENV_SOURCE_FILE=""
-CONFIG_SF_DEFAULT_SPEED=20000000
-CONFIG_SF_DEFAULT_MODE=0x0
-CONFIG_ENV_SIZE=0x8000
-CONFIG_DM_GPIO=y
-CONFIG_SPL_DM_SPI=y
-CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-gru-kevin"
-CONFIG_SPL_TEXT_BASE=0xff8c2000
-CONFIG_OF_LIBFDT_OVERLAY=y
-CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000
-CONFIG_DM_RESET=y
-CONFIG_SYS_MONITOR_LEN=0
-# CONFIG_ROCKCHIP_PX30 is not set
-# CONFIG_ROCKCHIP_RK3036 is not set
-# CONFIG_ROCKCHIP_RK3066 is not set
-# CONFIG_ROCKCHIP_RK3128 is not set
-# CONFIG_ROCKCHIP_RK3188 is not set
-# CONFIG_ROCKCHIP_RK322X is not set
-# CONFIG_ROCKCHIP_RK3288 is not set
-# CONFIG_ROCKCHIP_RK3308 is not set
-# CONFIG_ROCKCHIP_RK3328 is not set
-# CONFIG_ROCKCHIP_RK3368 is not set
-CONFIG_ROCKCHIP_RK3399=y
-# CONFIG_ROCKCHIP_RK3568 is not set
-# CONFIG_ROCKCHIP_RK3588 is not set
-# CONFIG_ROCKCHIP_RV1108 is not set
-# CONFIG_ROCKCHIP_RV1126 is not set
-# CONFIG_ROCKCHIP_USB_UART is not set
-# CONFIG_SPL_ROCKCHIP_BACK_TO_BROM is not set
-CONFIG_ROCKCHIP_COMMON_BOARD=y
-CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y
-# CONFIG_ROCKCHIP_EXTERNAL_TPL is not set
-CONFIG_ROCKCHIP_BOOT_MODE_REG=0
-# CONFIG_ROCKCHIP_RK8XX_DISABLE_BOOT_ON_POWERON is not set
-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 is not set
-CONFIG_SPL_STACK_R_ADDR=0x04000000
-# CONFIG_TARGET_CHROMEBOOK_BOB is not set
-CONFIG_TARGET_CHROMEBOOK_KEVIN=y
-# CONFIG_TARGET_EVB_RK3399 is not set
-# CONFIG_TARGET_PINEBOOK_PRO_RK3399 is not set
-# 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=0x0
-CONFIG_DEBUG_UART_BASE=0xff1a0000
-CONFIG_DEBUG_UART_CLOCK=24000000
-CONFIG_DEBUG_UART_BOARD_INIT=y
-CONFIG_IDENT_STRING=""
-CONFIG_SYS_CLK_FREQ=0
-# CONFIG_CHIP_DIP_SCAN is not set
-# CONFIG_SPL_FS_FAT is not set
-# CONFIG_SPL_LIBDISK_SUPPORT is not set
-CONFIG_SPL_SPI_FLASH_SUPPORT=y
-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=y
-# CONFIG_ARMV8_SWITCH_TO_EL1 is not set
-
-#
-# ARMv8 secure monitor firmware
-#
-# CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT is not set
-# CONFIG_SPL_ARMV8_SEC_FIRMWARE_SUPPORT is not set
-# CONFIG_SPL_RECOVER_DATA_SECTION is not set
-CONFIG_PSCI_RESET=y
-# CONFIG_ARMV8_PSCI is not set
-# CONFIG_ARMV8_EA_EL3_FIRST 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
-# CONFIG_IMX_SECO_DEK_ENCAP is not set
-# CONFIG_IMX_ELE_DEK_ENCAP is not set
-# CONFIG_CMD_HDMIDETECT is not set
-CONFIG_IMX_DCD_ADDR=0x00910000
-CONFIG_SYS_MEM_TOP_HIDE=0x0
-CONFIG_SYS_LOAD_ADDR=0x800800
-
-#
-# ARM debug
-#
-CONFIG_SPL_PAYLOAD="u-boot.bin"
-CONFIG_BUILD_TARGET=""
-# CONFIG_PCI is not set
-CONFIG_FWU_NUM_BANKS=2
-CONFIG_FWU_NUM_IMAGES_PER_BANK=2
-CONFIG_DEBUG_UART=y
-# CONFIG_AHCI is not set
-# CONFIG_OF_BOARD_FIXUP is not set
-
-#
-# Functionality shared between NXP SoCs
-#
-# CONFIG_NXP_ESBC is not set
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=130300
-CONFIG_CLANG_VERSION=0
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set
-# CONFIG_CC_OPTIMIZE_FOR_DEBUG is not set
-# CONFIG_OPTIMIZE_INLINING is not set
-# CONFIG_SPL_OPTIMIZE_INLINING is not set
-CONFIG_ARCH_SUPPORTS_LTO=y
-# CONFIG_LTO is not set
-CONFIG_CC_HAS_ASM_INLINE=y
-# CONFIG_XEN is not set
-CONFIG_ENV_VARS_UBOOT_CONFIG=y
-# CONFIG_SYS_BOOT_GET_CMDLINE is not set
-# CONFIG_SYS_BOOT_GET_KBD is not set
-CONFIG_SYS_MALLOC_F=y
-# CONFIG_VALGRIND is not set
-CONFIG_EXPERT=y
-CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y
-CONFIG_SPL_SYS_MALLOC_CLEAR_ON_INIT=y
-# CONFIG_SYS_MALLOC_DEFAULT_TO_INIT is not set
-# CONFIG_TOOLS_DEBUG is not set
-CONFIG_PHYS_64BIT=y
-CONFIG_FDT_64BIT=y
-CONFIG_HAS_ROM=y
-CONFIG_SPL_IMAGE="spl/u-boot-spl.bin"
-CONFIG_REMAKE_ELF=y
-# CONFIG_HAS_BOARD_SIZE_LIMIT is not set
-# CONFIG_SYS_CUSTOM_LDSCRIPT is not set
-CONFIG_PLATFORM_ELFENTRY="_start"
-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
-
-#
-# Boot options
-#
-
-#
-# Boot images
-#
-# CONFIG_ANDROID_BOOT_IMAGE is not set
-# CONFIG_TIMESTAMP is not set
-CONFIG_FIT=y
-CONFIG_FIT_EXTERNAL_OFFSET=0x0
-CONFIG_FIT_FULL_CHECK=y
-# CONFIG_FIT_SIGNATURE is not set
-# CONFIG_FIT_CIPHER is not set
-# CONFIG_FIT_VERBOSE is not set
-# CONFIG_FIT_BEST_MATCH is not set
-CONFIG_FIT_PRINT=y
-CONFIG_SPL_FIT=y
-# CONFIG_SPL_FIT_PRINT is not set
-# CONFIG_SPL_FIT_FULL_CHECK is not set
-# CONFIG_SPL_FIT_SIGNATURE is not set
-CONFIG_SPL_LOAD_FIT=y
-CONFIG_SPL_LOAD_FIT_ADDRESS=0x0
-# CONFIG_SPL_LOAD_FIT_APPLY_OVERLAY is not set
-# CONFIG_SPL_LOAD_FIT_FULL is not set
-# CONFIG_SPL_FIT_IMAGE_POST_PROCESS is not set
-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
-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
-CONFIG_BOOTMETH_VBE_REQUEST=y
-# CONFIG_SPL_BOOTMETH_VBE_REQUEST is not set
-CONFIG_BOOTMETH_VBE_SIMPLE=y
-CONFIG_BOOTMETH_VBE_SIMPLE_OS=y
-# CONFIG_SPL_BOOTMETH_VBE_SIMPLE is not set
-CONFIG_EXPO=y
-CONFIG_BOOTMETH_SCRIPT=y
-CONFIG_LEGACY_IMAGE_FORMAT=y
-CONFIG_SYS_BOOTM_LEN=0x4000000
-CONFIG_SUPPORT_RAW_INITRD=y
-# CONFIG_CHROMEOS is not set
-# CONFIG_CHROMEOS_VBOOT is not set
-# CONFIG_RAMBOOT_PBL is not set
-CONFIG_SYS_BOOT_RAMDISK_HIGH=y
-# CONFIG_DISTRO_DEFAULTS is not set
-
-#
-# Boot timing
-#
-# CONFIG_BOOTSTAGE is not set
-CONFIG_BOOTSTAGE_STASH_SIZE=0x1000
-# CONFIG_SHOW_BOOT_PROGRESS is not set
-# CONFIG_SPL_SHOW_BOOT_PROGRESS is not set
-
-#
-# Boot media
-#
-# CONFIG_NAND_BOOT is not set
-# CONFIG_ONENAND_BOOT is not set
-# CONFIG_QSPI_BOOT is not set
-# CONFIG_SATA_BOOT is not set
-# CONFIG_SD_BOOT is not set
-# CONFIG_SD_BOOT_QSPI is not set
-# CONFIG_SPI_BOOT is not set
-
-#
-# Autoboot options
-#
-CONFIG_AUTOBOOT=y
-CONFIG_BOOTDELAY=2
-# CONFIG_AUTOBOOT_KEYED is not set
-# CONFIG_AUTOBOOT_USE_MENUKEY is not set
-# CONFIG_AUTOBOOT_MENU_SHOW is not set
-# CONFIG_BOOT_RETRY is not set
-
-#
-# 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
-CONFIG_BOOTCOMMAND="bootflow scan -lb"
-# CONFIG_USE_PREBOOT is not set
-CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-gru-kevin.dtb"
-# CONFIG_SAVE_PREV_BL_FDT_ADDR is not set
-# CONFIG_SAVE_PREV_BL_INITRAMFS_START_ADDR is not set
-
-#
-# Configuration editor
-#
-# CONFIG_CEDIT is not set
-
-#
-# Console
-#
-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
-# CONFIG_SILENT_CONSOLE is not set
-# CONFIG_SPL_SILENT_CONSOLE is not set
-# 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
-# CONFIG_SYS_CONSOLE_ENV_OVERWRITE is not set
-# CONFIG_SYS_CONSOLE_INFO_QUIET is not set
-CONFIG_SYS_STDIO_DEREGISTER=y
-# CONFIG_SPL_SYS_STDIO_DEREGISTER is not set
-CONFIG_SYS_DEVICE_NULLDEV=y
-
-#
-# Logging
-#
-CONFIG_LOG=y
-CONFIG_LOG_MAX_LEVEL=6
-CONFIG_LOG_DEFAULT_LEVEL=6
-CONFIG_LOG_CONSOLE=y
-# CONFIG_LOGF_FILE is not set
-# CONFIG_LOGF_LINE is not set
-# CONFIG_LOGF_FUNC is not set
-CONFIG_LOGF_FUNC_PAD=20
-# CONFIG_LOG_SYSLOG is not set
-# CONFIG_SPL_LOG is not set
-# CONFIG_LOG_ERROR_RETURN is not set
-
-#
-# Init options
-#
-# CONFIG_BOARD_TYPES is not set
-# CONFIG_DISPLAY_CPUINFO is not set
-CONFIG_DISPLAY_BOARDINFO=y
-CONFIG_DISPLAY_BOARDINFO_LATE=y
-
-#
-# Start-up hooks
-#
-# CONFIG_CYCLIC is not set
-CONFIG_EVENT=y
-CONFIG_EVENT_DYNAMIC=y
-# CONFIG_EVENT_DEBUG is not set
-# CONFIG_ARCH_MISC_INIT is not set
-# CONFIG_BOARD_EARLY_INIT_F is not set
-CONFIG_BOARD_EARLY_INIT_R=y
-# CONFIG_BOARD_POSTCLK_INIT is not set
-CONFIG_BOARD_LATE_INIT=y
-# CONFIG_CLOCKS is not set
-# CONFIG_HWCONFIG 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
-# CONFIG_RESET_PHY_R is not set
-
-#
-# Security support
-#
-CONFIG_HASH=y
-CONFIG_SPL_HASH=y
-# CONFIG_STACKPROTECTOR is not set
-# CONFIG_BOARD_RNG_SEED is not set
-
-#
-# Update support
-#
-# CONFIG_UPDATE_TFTP is not set
-# CONFIG_ANDROID_AB is not set
-
-#
-# Blob list
-#
-CONFIG_BLOBLIST=y
-CONFIG_SPL_BLOBLIST=y
-CONFIG_BLOBLIST_FIXED=y
-# CONFIG_BLOBLIST_ALLOC is not set
-CONFIG_BLOBLIST_ADDR=0x100000
-CONFIG_BLOBLIST_SIZE=0x1000
-CONFIG_BLOBLIST_SIZE_RELOC=0x1000
-CONFIG_SPL_BLOBLIST_FIXED=y
-# CONFIG_SPL_BLOBLIST_ALLOC is not set
-CONFIG_SUPPORT_SPL=y
-CONFIG_SUPPORT_TPL=y
-
-#
-# SPL configuration options
-#
-CONFIG_SPL_FRAMEWORK=y
-# CONFIG_SPL_FRAMEWORK_BOARD_INIT_F is not set
-CONFIG_SPL_MAX_SIZE=0x1e000
-CONFIG_SPL_PAD_TO=0x7f8000
-# CONFIG_SPL_NO_BSS_LIMIT is not set
-CONFIG_SPL_BSS_LIMIT=y
-# CONFIG_SPL_FOOTPRINT_LIMIT is not set
-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
-CONFIG_SPL_BINMAN_SYMBOLS=y
-CONFIG_SPL_BINMAN_UBOOT_SYMBOLS=y
-CONFIG_HANDOFF=y
-CONFIG_SPL_HANDOFF=y
-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_SEPARATE_BSS=y
-# 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
-CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x4000
-CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET=0x0
-# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION is not set
-# CONFIG_SPL_FIT_IMAGE_TINY is not set
-# CONFIG_SPL_CACHE is not set
-# CONFIG_SPL_CPU is not set
-# CONFIG_SPL_CRYPTO is not set
-# CONFIG_SPL_DMA is not set
-# CONFIG_SPL_ENV_SUPPORT is not set
-# CONFIG_SPL_FS_EXT4 is not set
-# CONFIG_SPL_FS_SQUASHFS is not set
-# CONFIG_SPL_FAT_WRITE is not set
-# CONFIG_SPL_FPGA is not set
-# CONFIG_SPL_I2C is not set
-# CONFIG_SPL_DM_MAILBOX is not set
-# CONFIG_SPL_MEMORY is not set
-# CONFIG_SPL_MPC8XXX_INIT_DDR 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
-# CONFIG_SPL_NAND_ECC is not set
-# CONFIG_SPL_NAND_SIMPLE is not set
-# CONFIG_SPL_UBI is not set
-CONFIG_SPL_DM_SPI_FLASH=y
-# CONFIG_SPL_NET is not set
-# CONFIG_SPL_NOR_SUPPORT is not set
-# CONFIG_SPL_XIP_SUPPORT is not set
-# CONFIG_SPL_ONENAND_SUPPORT is not set
-# CONFIG_SPL_OS_BOOT is not set
-# CONFIG_SPL_PCI is not set
-# CONFIG_SPL_PCH is not set
-# CONFIG_SPL_POST_MEM_SUPPORT is not set
-# CONFIG_SPL_DM_RESET is not set
-# CONFIG_SPL_POWER is not set
-# CONFIG_SPL_POWER_DOMAIN is not set
-# CONFIG_SPL_RAM_SUPPORT is not set
-# CONFIG_SPL_REMOTEPROC is not set
-# CONFIG_SPL_RTC is not set
-# CONFIG_SPL_SATA is not set
-# CONFIG_SPL_NVME is not set
-CONFIG_SPL_SPI_FLASH_TINY=y
-# CONFIG_SPL_SPI_FLASH_MTD is not set
-CONFIG_SPL_SPI_LOAD=y
-CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
-# CONFIG_SPL_THERMAL is not set
-# CONFIG_SPL_WATCHDOG is not set
-# CONFIG_SPL_YMODEM_SUPPORT is not set
-CONFIG_SPL_ATF=y
-# CONFIG_SPL_ATF_LOAD_IMAGE_V2 is not set
-CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
-# CONFIG_SPL_OPTEE_IMAGE is not set
-CONFIG_SPL_TARGET=""
-# CONFIG_TPL is not set
-# CONFIG_VPL is not set
-CONFIG_CMDLINE=y
-CONFIG_HUSH_PARSER=y
-
-#
-# Hush flavor to use
-#
-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=64
-CONFIG_SYS_XTRACE=y
-
-#
-# Commands
-#
-
-#
-# Info commands
-#
-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
-#
-CONFIG_CMD_BOOTD=y
-CONFIG_CMD_BOOTM=y
-CONFIG_CMD_BOOTDEV=y
-CONFIG_CMD_BOOTFLOW=y
-CONFIG_CMD_BOOTFLOW_FULL=y
-CONFIG_CMD_BOOTMETH=y
-CONFIG_BOOTM_EFI=y
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTI=y
-CONFIG_BOOTM_LINUX=y
-CONFIG_BOOTM_NETBSD=y
-# CONFIG_BOOTM_OPENRTOS is not set
-# CONFIG_BOOTM_OSE is not set
-CONFIG_BOOTM_PLAN9=y
-CONFIG_BOOTM_RTEMS=y
-CONFIG_CMD_VBE=y
-CONFIG_BOOTM_VXWORKS=y
-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_SYS_XIMG_LEN=0x800000
-# CONFIG_CMD_SPL is not set
-
-#
-# Environment commands
-#
-# CONFIG_CMD_ASKENV is not set
-CONFIG_CMD_EXPORTENV=y
-CONFIG_CMD_IMPORTENV=y
-CONFIG_CMD_EDITENV=y
-# CONFIG_CMD_GREPENV is not set
-CONFIG_CMD_SAVEENV=y
-# CONFIG_CMD_ERASEENV is not set
-CONFIG_CMD_ENV_EXISTS=y
-# CONFIG_CMD_ENV_CALLBACK is not set
-# CONFIG_CMD_ENV_FLAGS is not set
-CONFIG_CMD_NVEDIT_EFI=y
-# CONFIG_CMD_NVEDIT_INDIRECT is not set
-# CONFIG_CMD_NVEDIT_INFO is not set
-# CONFIG_CMD_NVEDIT_LOAD is not set
-# CONFIG_CMD_NVEDIT_SELECT is not set
-
-#
-# Memory commands
-#
-# CONFIG_CMD_BINOP is not set
-CONFIG_CMD_BLOBLIST=y
-CONFIG_CMD_CRC32=y
-# CONFIG_CRC32_VERIFY is not set
-# CONFIG_CMD_EEPROM is not set
-CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=0
-# CONFIG_LOOPW is not set
-# CONFIG_CMD_MD5SUM is not set
-# CONFIG_CMD_MEMINFO is not set
-CONFIG_CMD_MEMORY=y
-# CONFIG_CMD_MEM_SEARCH is not set
-# CONFIG_CMD_MX_CYCLIC is not set
-CONFIG_CMD_RANDOM=y
-# CONFIG_CMD_MEMTEST is not set
-# CONFIG_CMD_SHA1SUM is not set
-# CONFIG_CMD_STRINGS is not set
-
-#
-# Compression commands
-#
-CONFIG_CMD_LZMADEC=y
-CONFIG_CMD_UNLZ4=y
-CONFIG_CMD_UNZIP=y
-# CONFIG_CMD_ZIP is not set
-
-#
-# Device access commands
-#
-# CONFIG_CMD_ARMFLASH is not set
-# CONFIG_CMD_ADC 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
-# CONFIG_CMD_DFU is not set
-CONFIG_CMD_DM=y
-# CONFIG_CMD_FPGAD is not set
-# CONFIG_CMD_FUSE is not set
-CONFIG_CMD_GPIO=y
-# CONFIG_CMD_GPIO_READ is not set
-# CONFIG_CMD_PWM is not set
-CONFIG_CMD_GPT=y
-# CONFIG_CMD_GPT_RENAME is not set
-# CONFIG_CMD_IDE is not set
-# CONFIG_CMD_IO is not set
-# CONFIG_CMD_IOTRACE is not set
-CONFIG_CMD_I2C=y
-CONFIG_CMD_LOADB=y
-# CONFIG_CMD_LOADM is not set
-CONFIG_CMD_LOADS=y
-# CONFIG_LOADS_ECHO is not set
-# CONFIG_CMD_SAVES is not set
-# CONFIG_SYS_LOADS_BAUD_CHANGE is not set
-CONFIG_CMD_LOADXY_TIMEOUT=90
-# CONFIG_CMD_LSBLK is not set
-# CONFIG_CMD_MBR is not set
-# 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
-CONFIG_CMD_PINMUX=y
-CONFIG_CMD_POWEROFF=y
-# CONFIG_CMD_READ is not set
-# CONFIG_CMD_SATA is not set
-# CONFIG_CMD_SDRAM is not set
-CONFIG_CMD_SF=y
-CONFIG_CMD_SF_TEST=y
-CONFIG_CMD_SPI=y
-CONFIG_DEFAULT_SPI_BUS=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
-
-#
-# Shell scripting commands
-#
-# CONFIG_CMD_CAT is not set
-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
-#
-CONFIG_CMD_NET=y
-CONFIG_CMD_BOOTP=y
-CONFIG_CMD_DHCP=y
-# CONFIG_BOOTP_MAY_FAIL is not set
-CONFIG_BOOTP_BOOTPATH=y
-# CONFIG_BOOTP_VENDOREX is not set
-# CONFIG_BOOTP_BOOTFILESIZE is not set
-CONFIG_BOOTP_DNS=y
-# CONFIG_BOOTP_DNS2 is not set
-CONFIG_BOOTP_GATEWAY=y
-CONFIG_BOOTP_HOSTNAME=y
-# CONFIG_BOOTP_PREFER_SERVERIP is not set
-CONFIG_BOOTP_SUBNETMASK=y
-# CONFIG_BOOTP_NISDOMAIN is not set
-# CONFIG_BOOTP_NTPSERVER is not set
-# 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
-# CONFIG_CMD_TFTPSRV is not set
-CONFIG_NET_TFTP_VARS=y
-# CONFIG_CMD_RARP is not set
-# CONFIG_CMD_NFS is not set
-# CONFIG_SYS_DISABLE_AUTOLOAD is not set
-# CONFIG_CMD_WGET is not set
-CONFIG_CMD_MII=y
-CONFIG_CMD_MDIO=y
-CONFIG_CMD_PING=y
-# CONFIG_CMD_CDP is not set
-# CONFIG_CMD_SNTP is not set
-# CONFIG_CMD_DNS is not set
-# CONFIG_CMD_LINK_LOCAL is not set
-# CONFIG_CMD_ETHSW is not set
-CONFIG_CMD_PXE=y
-# CONFIG_CMD_WOL is not set
-
-#
-# Misc commands
-#
-# CONFIG_CMD_2048 is not set
-# CONFIG_CMD_BMP is not set
-# CONFIG_CMD_BSP is not set
-CONFIG_CMD_BLOCK_CACHE=y
-# CONFIG_CMD_CACHE is not set
-# CONFIG_CMD_CONITRACE is not set
-CONFIG_CMD_CLS=y
-CONFIG_CMD_EFIDEBUG=y
-CONFIG_CMD_EFICONFIG=y
-# CONFIG_CMD_EXCEPTION is not set
-# CONFIG_CMD_INI is not set
-# CONFIG_CMD_DATE is not set
-CONFIG_CMD_TIME=y
-# CONFIG_CMD_GETTIME is not set
-# CONFIG_CMD_PAUSE is not set
-# CONFIG_CMD_RNG is not set
-# CONFIG_CMD_KASLRSEED is not set
-CONFIG_CMD_SLEEP=y
-# CONFIG_CMD_TIMER is not set
-# CONFIG_CMD_SYSBOOT is not set
-# CONFIG_CMD_QFW is not set
-# CONFIG_CMD_PSTORE is not set
-# CONFIG_CMD_TERMINAL is not set
-# CONFIG_CMD_UUID is not set
-CONFIG_CMD_VIDCONSOLE=y
-# CONFIG_CMD_SELECT_FONT is not set
-
-#
-# TI specific command line interface
-#
-
-#
-# Power commands
-#
-CONFIG_CMD_PMIC=y
-CONFIG_CMD_REGULATOR=y
-
-#
-# Security commands
-#
-# CONFIG_CMD_AES is not set
-# CONFIG_CMD_BLOB is not set
-# CONFIG_CMD_HASH is not set
-# CONFIG_CMD_HVC is not set
-# CONFIG_CMD_SMC is not set
-
-#
-# Firmware commands
-#
-CONFIG_CMD_CROS_EC=y
-
-#
-# Filesystem commands
-#
-# CONFIG_CMD_BTRFS is not set
-# CONFIG_CMD_EROFS is not set
-CONFIG_CMD_EXT2=y
-CONFIG_CMD_EXT4=y
-# CONFIG_CMD_EXT4_WRITE is not set
-CONFIG_CMD_FAT=y
-# CONFIG_CMD_SQUASHFS is not set
-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_ZFS is not set
-
-#
-# Debug commands
-#
-# CONFIG_CMD_DIAG is not set
-# CONFIG_CMD_EVENT is not set
-CONFIG_CMD_LOG=y
-# CONFIG_CMD_UBI is not set
-CONFIG_MMC_SPEED_MODE_SET=y
-
-#
-# Partition Types
-#
-CONFIG_PARTITIONS=y
-CONFIG_SPL_PARTITIONS=y
-# CONFIG_MAC_PARTITION is not set
-# CONFIG_SPL_MAC_PARTITION is not set
-CONFIG_DOS_PARTITION=y
-CONFIG_SPL_DOS_PARTITION=y
-CONFIG_ISO_PARTITION=y
-# CONFIG_SPL_ISO_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_SPL_AMIGA_PARTITION is not set
-CONFIG_EFI_PARTITION=y
-CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128
-CONFIG_EFI_PARTITION_ENTRIES_OFF=0
-CONFIG_SPL_EFI_PARTITION=y
-CONFIG_PARTITION_UUIDS=y
-CONFIG_SPL_PARTITION_UUIDS=y
-CONFIG_PARTITION_TYPE_GUID=y
-# CONFIG_SPL_PARTITION_TYPE_GUID is not set
-CONFIG_SUPPORT_OF_CONTROL=y
-CONFIG_PYLIBFDT=y
-CONFIG_DTOC=y
-CONFIG_BINMAN=y
-
-#
-# Device Tree Control
-#
-CONFIG_OF_CONTROL=y
-CONFIG_OF_REAL=y
-CONFIG_SPL_OF_CONTROL=y
-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="rockchip/rk3399-gru-kevin"
-# CONFIG_MULTI_DTB_FIT is not set
-# CONFIG_SPL_MULTI_DTB_FIT is not set
-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
-# CONFIG_SPL_OF_PLATDATA is not set
-CONFIG_SPL_OF_REAL=y
-
-#
-# Environment
-#
-CONFIG_ENV_SUPPORT=y
-CONFIG_SAVEENV=y
-# CONFIG_ENV_OVERWRITE is not set
-# CONFIG_OVERWRITE_ETHADDR_ONCE is not set
-CONFIG_ENV_MIN_ENTRIES=64
-CONFIG_ENV_MAX_ENTRIES=512
-CONFIG_ENV_IS_DEFAULT=y
-CONFIG_ENV_IS_NOWHERE=y
-# CONFIG_ENV_IS_IN_EEPROM is not set
-# CONFIG_ENV_IS_IN_FAT is not set
-# CONFIG_ENV_IS_IN_EXT4 is not set
-# CONFIG_ENV_IS_IN_FLASH is not set
-# CONFIG_ENV_IS_IN_MMC is not set
-# CONFIG_ENV_IS_IN_NAND is not set
-# CONFIG_ENV_IS_IN_NVRAM is not set
-# CONFIG_ENV_IS_IN_ONENAND is not set
-# CONFIG_ENV_IS_IN_REMOTE is not set
-# CONFIG_ENV_IS_IN_SPI_FLASH is not set
-# CONFIG_SYS_REDUNDAND_ENVIRONMENT is not set
-CONFIG_SYS_RELOC_GD_ENV_ADDR=y
-# CONFIG_USE_DEFAULT_ENV_FILE is not set
-# CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG is not set
-# CONFIG_ENV_IMPORT_FDT is not set
-# CONFIG_ENV_APPEND is not set
-# CONFIG_ENV_WRITEABLE_LIST is not set
-# CONFIG_ENV_ACCESS_IGNORE_FORCE is not set
-# CONFIG_USE_BOOTFILE is not set
-# CONFIG_USE_ETHPRIME is not set
-# CONFIG_USE_HOSTNAME is not set
-# CONFIG_VERSION_VARIABLE is not set
-CONFIG_NET=y
-CONFIG_ARP_TIMEOUT=5000
-CONFIG_NET_RETRY_COUNT=5
-# CONFIG_PROT_UDP is not set
-CONFIG_BOOTDEV_ETH=y
-# CONFIG_BOOTP_SEND_HOSTNAME is not set
-# CONFIG_NET_RANDOM_ETHADDR is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_IP_DEFRAG is not set
-# CONFIG_SYS_FAULT_ECHO_LINK_DOWN is not set
-CONFIG_TFTP_BLOCKSIZE=1468
-# CONFIG_TFTP_PORT is not set
-CONFIG_TFTP_WINDOWSIZE=1
-# CONFIG_TFTP_TSIZE is not set
-# CONFIG_SERVERIP_FROM_PROXYDHCP is not set
-CONFIG_SERVERIP_FROM_PROXYDHCP_DELAY_MS=100
-# CONFIG_KEEP_SERVERADDR is not set
-# CONFIG_UDP_CHECKSUM is not set
-# CONFIG_BOOTP_SERVERIP is not set
-CONFIG_BOOTP_MAX_ROOT_PATH_LEN=64
-# CONFIG_USE_GATEWAYIP is not set
-# CONFIG_USE_IPADDR is not set
-# CONFIG_USE_NETMASK is not set
-# CONFIG_USE_ROOTPATH is not set
-# CONFIG_USE_SERVERIP is not set
-# CONFIG_PROT_TCP is not set
-# CONFIG_IPV6 is not set
-CONFIG_SYS_RX_ETH_BUFFER=4
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_DM=y
-CONFIG_SPL_DM=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
-CONFIG_DM_STDIO=y
-CONFIG_DM_SEQ_ALIAS=y
-CONFIG_SPL_DM_SEQ_ALIAS=y
-CONFIG_SPL_DM_INLINE_OFNODE=y
-# CONFIG_DM_DMA is not set
-CONFIG_REGMAP=y
-CONFIG_SPL_REGMAP=y
-CONFIG_SYSCON=y
-CONFIG_SPL_SYSCON=y
-# CONFIG_DEVRES is not set
-CONFIG_SIMPLE_BUS=y
-CONFIG_SPL_SIMPLE_BUS=y
-# CONFIG_SIMPLE_BUS_CORRECT_RANGE is not set
-CONFIG_OF_TRANSLATE=y
-# CONFIG_SPL_OF_TRANSLATE is not set
-# CONFIG_TRANSLATION_OFFSET 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
-# CONFIG_ADC_SANDBOX is not set
-# CONFIG_SARADC_MESON is not set
-CONFIG_SARADC_ROCKCHIP=y
-# CONFIG_ADC_IMX93 is not set
-# CONFIG_SATA is not set
-# CONFIG_SCSI_AHCI is not set
-
-#
-# SATA/SCSI device support
-#
-# CONFIG_AXI is not set
-
-#
-# Bus devices
-#
-CONFIG_BLK=y
-CONFIG_SPL_BLK=y
-CONFIG_BLOCK_CACHE=y
-# CONFIG_BLKMAP is not set
-# CONFIG_SPL_BLOCK_CACHE is not set
-# CONFIG_EFI_MEDIA is not set
-# CONFIG_SPL_BLK_FS is not set
-# 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
-
-#
-# Button Support
-#
-# CONFIG_BUTTON is not set
-
-#
-# Cache Controller drivers
-#
-# CONFIG_CACHE is not set
-# CONFIG_L2X0_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
-#
-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
-# CONFIG_CLK_MPC83XX is not set
-# CONFIG_CLK_XLNX_CLKWZRD is not set
-# CONFIG_CLK_AT91 is not set
-# CONFIG_CLK_RCAR is not set
-# CONFIG_CLK_RCAR_CPG_LIB is not set
-# CONFIG_CLK_SIFIVE is not set
-# CONFIG_CLK_TI_AM3_DPLL is not set
-# CONFIG_CLK_TI_CTRL is not set
-# CONFIG_CLK_TI_GATE is not set
-# CONFIG_CLK_K3 is not set
-# CONFIG_SPL_CLK_K3 is not set
-# CONFIG_CPU is not set
-
-#
-# Hardware crypto devices
-#
-# CONFIG_DM_HASH is not set
-# CONFIG_FSL_CAAM is not set
-CONFIG_CAAM_64BIT=y
-# CONFIG_SYS_FSL_SEC_BE is not set
-# CONFIG_SYS_FSL_SEC_LE is not set
-# CONFIG_FSL_DCP_RNG is not set
-# CONFIG_NPCM_AES is not set
-# CONFIG_NPCM_SHA is not set
-# CONFIG_DDR_SPD is not set
-# CONFIG_IMX_SNPS_DDR_PHY is not set
-
-#
-# Demo for driver model
-#
-# CONFIG_DM_DEMO is not set
-
-#
-# DFU support
-#
-
-#
-# DMA Support
-#
-# CONFIG_DMA is not set
-# CONFIG_DMA_LPC32XX is not set
-# CONFIG_TI_EDMA3 is not set
-# CONFIG_DMA_LEGACY is not set
-
-#
-# Extcon Support
-#
-# CONFIG_EXTCON is not set
-
-#
-# Fastboot support
-#
-# CONFIG_UDP_FUNCTION_FASTBOOT is not set
-# CONFIG_TCP_FUNCTION_FASTBOOT is not set
-CONFIG_FIRMWARE=y
-# CONFIG_SPL_FIRMWARE is not set
-CONFIG_ARM_PSCI_FW=y
-# CONFIG_ZYNQMP_FIRMWARE is not set
-# CONFIG_ARM_SMCCC_FEATURES is not set
-# CONFIG_ARM_FFA_TRANSPORT is not set
-# CONFIG_SCMI_FIRMWARE is not set
-# CONFIG_DM_FUZZING_ENGINE is not set
-
-#
-# FPGA support
-#
-# CONFIG_FPGA_ALTERA is not set
-# CONFIG_FPGA_SOCFPGA is not set
-# CONFIG_FPGA_LATTICE is not set
-# CONFIG_FPGA_XILINX is not set
-# CONFIG_DM_FPGA is not set
-# CONFIG_FWU_MDATA is not set
-CONFIG_GPIO=y
-CONFIG_SPL_DM_GPIO=y
-# CONFIG_GPIO_HOG is not set
-# CONFIG_SPL_GPIO_HOG is not set
-# CONFIG_DM_GPIO_LOOKUP_LABEL is not set
-# CONFIG_SPL_DM_GPIO_LOOKUP_LABEL is not set
-# CONFIG_ALTERA_PIO is not set
-# CONFIG_BCM2835_GPIO is not set
-# CONFIG_DWAPB_GPIO is not set
-# CONFIG_AT91_GPIO is not set
-# CONFIG_ATMEL_PIO4 is not set
-# CONFIG_ASPEED_GPIO is not set
-# CONFIG_DA8XX_GPIO is not set
-# CONFIG_FXL6408_GPIO is not set
-# CONFIG_HIKEY_GPIO is not set
-# CONFIG_INTEL_BROADWELL_GPIO is not set
-# CONFIG_INTEL_GPIO is not set
-# CONFIG_INTEL_ICH6_GPIO is not set
-# CONFIG_IMX_RGPIO2P is not set
-# CONFIG_IPROC_GPIO is not set
-# CONFIG_HSDK_CREG_GPIO is not set
-# CONFIG_KIRKWOOD_GPIO is not set
-# CONFIG_LPC32XX_GPIO is not set
-# CONFIG_MAX7320_GPIO is not set
-# CONFIG_MCP230XX_GPIO is not set
-# CONFIG_MSM_GPIO is not set
-# CONFIG_MXC_GPIO is not set
-# CONFIG_MXS_GPIO is not set
-# CONFIG_NPCM_GPIO is not set
-# CONFIG_CMD_PCA953X is not set
-# CONFIG_PCF8575_GPIO is not set
-CONFIG_ROCKCHIP_GPIO=y
-# CONFIG_XILINX_GPIO is not set
-# CONFIG_TCA642X is not set
-# CONFIG_TEGRA_GPIO is not set
-# CONFIG_TEGRA186_GPIO is not set
-# CONFIG_VYBRID_GPIO is not set
-# CONFIG_SIFIVE_GPIO is not set
-# CONFIG_ZYNQ_GPIO is not set
-# CONFIG_DM_74X164 is not set
-# CONFIG_DM_PCA953X is not set
-# CONFIG_SPL_DM_PCA953X is not set
-# CONFIG_PCA953X is not set
-# CONFIG_MPC8XXX_GPIO is not set
-# CONFIG_MPC8XX_GPIO is not set
-# CONFIG_NX_GPIO is not set
-# CONFIG_NOMADIK_GPIO is not set
-# CONFIG_ZYNQMP_GPIO_MODEPIN is not set
-# CONFIG_SLG7XL45106_I2C_GPO is not set
-# CONFIG_FTGPIO010 is not set
-# CONFIG_ADP5585_GPIO is not set
-
-#
-# Hardware Spinlock Support
-#
-# CONFIG_DM_HWSPINLOCK is not set
-CONFIG_I2C=y
-CONFIG_DM_I2C=y
-CONFIG_SPL_DM_I2C=y
-CONFIG_I2C_CROS_EC_TUNNEL=y
-# CONFIG_I2C_CROS_EC_LDO is not set
-# CONFIG_I2C_SET_DEFAULT_BUS_NUM is not set
-# CONFIG_DM_I2C_GPIO is not set
-# CONFIG_SYS_I2C_IPROC is not set
-# CONFIG_SYS_I2C_FSL is not set
-# CONFIG_SYS_I2C_CADENCE is not set
-# CONFIG_SYS_I2C_DW is not set
-# CONFIG_SYS_I2C_INTEL is not set
-# CONFIG_SYS_I2C_IMX_LPI2C is not set
-# CONFIG_SYS_I2C_MTK is not set
-# CONFIG_SYS_I2C_MICROCHIP is not set
-# CONFIG_SYS_I2C_MXC is not set
-# CONFIG_SYS_I2C_NEXELL is not set
-# CONFIG_SYS_I2C_NPCM is not set
-# CONFIG_SYS_I2C_OCORES is not set
-CONFIG_SYS_I2C_ROCKCHIP=y
-# CONFIG_SYS_I2C_SOFT is not set
-# CONFIG_SYS_I2C_MV is not set
-# CONFIG_SYS_I2C_MVTWSI is not set
-# CONFIG_SYS_I2C_XILINX_XIIC is not set
-# CONFIG_SYS_I2C_IHS is not set
-CONFIG_I2C_MUX=y
-# CONFIG_SPL_I2C_MUX is not set
-# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
-# CONFIG_I2C_MUX_PCA954x is not set
-# CONFIG_I2C_MUX_GPIO is not set
-CONFIG_INPUT=y
-# CONFIG_SPL_INPUT is not set
-CONFIG_DM_KEYBOARD=y
-# CONFIG_SPL_DM_KEYBOARD is not set
-# CONFIG_APPLE_SPI_KEYB is not set
-# CONFIG_BUTTON_KEYBOARD is not set
-CONFIG_CROS_EC_KEYB=y
-# CONFIG_I8042_KEYB is not set
-# CONFIG_TEGRA_KEYBOARD is not set
-# CONFIG_TWL4030_INPUT is not set
-
-#
-# IOMMU device drivers
-#
-# CONFIG_IOMMU is not set
-
-#
-# LED Support
-#
-# CONFIG_LED is not set
-# CONFIG_SPL_LED is not set
-# CONFIG_LED_STATUS is not set
-
-#
-# Mailbox Controller Support
-#
-# CONFIG_DM_MAILBOX is not set
-
-#
-# Memory Controller drivers
-#
-# CONFIG_MEMORY is not set
-# CONFIG_ATMEL_EBI is not set
-# CONFIG_MFD_ATMEL_SMC is not set
-
-#
-# Multifunction device drivers
-#
-CONFIG_MISC=y
-CONFIG_SPL_MISC=y
-# CONFIG_NVMEM is not set
-# CONFIG_SPL_NVMEM is not set
-# CONFIG_ALTERA_SYSID is not set
-# CONFIG_ATSHA204A is not set
-# 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
-# CONFIG_VEXPRESS_CONFIG is not set
-CONFIG_CROS_EC=y
-# CONFIG_SPL_CROS_EC is not set
-# CONFIG_CROS_EC_I2C is not set
-# CONFIG_CROS_EC_LPC is not set
-# CONFIG_SPL_CROS_EC_LPC is not set
-CONFIG_CROS_EC_SPI=y
-# CONFIG_DS4510 is not set
-# CONFIG_FSL_SEC_MON is not set
-# CONFIG_IRQ is not set
-# CONFIG_NPCM_HOST is not set
-# CONFIG_NUVOTON_NCT6102D is not set
-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
-# CONFIG_I2C_EEPROM is not set
-# CONFIG_SPL_I2C_EEPROM is not set
-# CONFIG_GDSYS_RXAUI_CTRL is not set
-# CONFIG_GDSYS_IOEP is not set
-# CONFIG_MPC83XX_SERDES is not set
-# CONFIG_FS_LOADER is not set
-# CONFIG_SPL_FS_LOADER is not set
-# CONFIG_GDSYS_SOC is not set
-# CONFIG_IHS_FPGA is not set
-# 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
-#
-CONFIG_MMC=y
-CONFIG_MMC_WRITE=y
-CONFIG_MMC_PWRSEQ=y
-# CONFIG_MMC_BROKEN_CD is not set
-CONFIG_DM_MMC=y
-CONFIG_SPL_DM_MMC=y
-# CONFIG_MMC_SPI is not set
-# CONFIG_ARM_PL180_MMCI is not set
-CONFIG_MMC_QUIRKS=y
-CONFIG_SYS_MMC_MAX_BLK_COUNT=65535
-CONFIG_MMC_HW_PARTITIONING=y
-# CONFIG_SUPPORT_EMMC_RPMB is not set
-# CONFIG_SUPPORT_EMMC_BOOT is not set
-CONFIG_MMC_IO_VOLTAGE=y
-CONFIG_MMC_UHS_SUPPORT=y
-CONFIG_MMC_HS400_ES_SUPPORT=y
-CONFIG_MMC_HS400_SUPPORT=y
-CONFIG_MMC_HS200_SUPPORT=y
-CONFIG_MMC_VERBOSE=y
-# CONFIG_MMC_TRACE is not set
-CONFIG_MMC_DW=y
-# CONFIG_MMC_DW_CORTINA is not set
-# CONFIG_MMC_DW_K3 is not set
-CONFIG_MMC_DW_ROCKCHIP=y
-# CONFIG_MMC_DW_SNPS is not set
-# CONFIG_MMC_MXC is not set
-# CONFIG_MMC_PCI is not set
-# CONFIG_MMC_OMAP_HS is not set
-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
-# CONFIG_MMC_SDHCI_MSM is not set
-# CONFIG_MMC_SDHCI_NPCM is not set
-CONFIG_MMC_SDHCI_ROCKCHIP=y
-# CONFIG_MMC_SDHCI_S5P is not set
-# CONFIG_MMC_SDHCI_STI is not set
-# CONFIG_MMC_SDHCI_XENON is not set
-# CONFIG_MMC_SDHCI_TANGIER is not set
-# CONFIG_MMC_SDHCI_ZYNQ is not set
-# CONFIG_MMC_PITON is not set
-# CONFIG_STM32_SDMMC2 is not set
-# CONFIG_FTSDC010 is not set
-# CONFIG_FSL_ESDHC is not set
-# CONFIG_FSL_ESDHC_IMX is not set
-
-#
-# MTD Support
-#
-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
-# CONFIG_USE_SYS_MAX_FLASH_BANKS is not set
-# CONFIG_MTD_RAW_NAND is not set
-
-#
-# SPI Flash Support
-#
-CONFIG_DM_SPI_FLASH=y
-CONFIG_SPI_FLASH=y
-CONFIG_SF_DEFAULT_BUS=1
-CONFIG_SF_DEFAULT_CS=0
-# CONFIG_BOOTDEV_SPI_FLASH is not set
-# CONFIG_SPI_FLASH_SFDP_SUPPORT is not set
-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
-#
-# CONFIG_UBI_SILENCE_MSG is not set
-# CONFIG_MTD_UBI is not set
-# CONFIG_NVMXIP is not set
-# CONFIG_NVMXIP_QSPI is not set
-
-#
-# Multiplexer drivers
-#
-# CONFIG_MULTIPLEXER is not set
-# CONFIG_BITBANGMII is not set
-# CONFIG_MV88E6352_SWITCH is not set
-CONFIG_PHYLIB=y
-# CONFIG_PHY_ADDR_ENABLE is not set
-# CONFIG_B53_SWITCH is not set
-# CONFIG_MV88E61XX_SWITCH is not set
-# CONFIG_PHYLIB_10G is not set
-# CONFIG_PHY_ADIN is not set
-# CONFIG_PHY_AQUANTIA is not set
-# CONFIG_PHY_ATHEROS is not set
-# CONFIG_SPL_PHY_ATHEROS is not set
-# CONFIG_PHY_BROADCOM is not set
-# CONFIG_PHY_CORTINA is not set
-# CONFIG_PHY_DAVICOM is not set
-# CONFIG_PHY_ET1011C is not set
-# CONFIG_PHY_LXT is not set
-# CONFIG_PHY_MARVELL is not set
-# CONFIG_PHY_MARVELL_10G is not set
-# CONFIG_PHY_MESON_GXL is not set
-# CONFIG_PHY_MICREL is not set
-# CONFIG_PHY_MOTORCOMM is not set
-# CONFIG_PHY_MSCC is not set
-# CONFIG_PHY_NATSEMI is not set
-# CONFIG_PHY_NXP_C45_TJA11XX is not set
-# CONFIG_PHY_NXP_TJA11XX is not set
-# CONFIG_PHY_REALTEK is not set
-# CONFIG_PHY_SMSC is not set
-# CONFIG_PHY_TERANETICS is not set
-# CONFIG_PHY_TI is not set
-# CONFIG_PHY_TI_DP83867 is not set
-# CONFIG_PHY_TI_DP83869 is not set
-# CONFIG_PHY_TI_GENERIC is not set
-# CONFIG_PHY_VITESSE is not set
-# CONFIG_PHY_XILINX is not set
-# CONFIG_PHY_XILINX_GMII2RGMII is not set
-# CONFIG_PHY_XWAY is not set
-# CONFIG_PHY_ETHERNET_ID is not set
-# CONFIG_PHY_FIXED is not set
-# CONFIG_PHY_NCSI is not set
-# CONFIG_FSL_MEMAC is not set
-CONFIG_PHY_RESET_DELAY=0
-# CONFIG_FSL_PFE is not set
-CONFIG_ETH=y
-CONFIG_DM_ETH=y
-# CONFIG_DM_MDIO is not set
-# CONFIG_DM_ETH_PHY is not set
-CONFIG_NETDEVICES=y
-CONFIG_PHY_GIGE=y
-# CONFIG_ALTERA_TSE is not set
-# CONFIG_BCM_SF2_ETH is not set
-# CONFIG_BCMGENET is not set
-# CONFIG_BNXT_ETH is not set
-# CONFIG_CALXEDA_XGMAC is not set
-# CONFIG_DRIVER_DM9000 is not set
-# CONFIG_DWC_ETH_QOS is not set
-# CONFIG_EEPRO100 is not set
-CONFIG_ETH_DESIGNWARE=y
-# CONFIG_ETH_DESIGNWARE_MESON8B is not set
-# CONFIG_ETH_DESIGNWARE_SOCFPGA is not set
-# CONFIG_ETH_DESIGNWARE_S700 is not set
-# CONFIG_DW_ALTDESCRIPTOR is not set
-# CONFIG_ETHOC is not set
-# CONFIG_FMAN_ENET is not set
-# CONFIG_FTMAC100 is not set
-# CONFIG_FTGMAC100 is not set
-# CONFIG_MCFFEC is not set
-# CONFIG_KS8851_MLL is not set
-# CONFIG_LITEETH is not set
-# CONFIG_MACB is not set
-# CONFIG_NET_NPCM750 is not set
-# CONFIG_PCH_GBE is not set
-# CONFIG_RGMII is not set
-# CONFIG_MII is not set
-# CONFIG_RMII is not set
-# CONFIG_PCNET is not set
-# CONFIG_QE_UEC is not set
-# CONFIG_RTL8139 is not set
-# CONFIG_SMC911X is not set
-# CONFIG_SUN7I_GMAC is not set
-# CONFIG_SUN4I_EMAC is not set
-# CONFIG_SUN8I_EMAC is not set
-# CONFIG_SH_ETHER is not set
-# CONFIG_DRIVER_TI_CPSW is not set
-# CONFIG_DRIVER_TI_EMAC is not set
-# CONFIG_DRIVER_TI_KEYSTONE_NET is not set
-# CONFIG_TULIP is not set
-# CONFIG_XILINX_AXIEMAC is not set
-# CONFIG_VSC7385_ENET is not set
-# CONFIG_XILINX_EMACLITE is not set
-# CONFIG_ZYNQ_GEM is not set
-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
-
-#
-# PCI Endpoint
-#
-# CONFIG_PCI_ENDPOINT is not set
-# CONFIG_X86_PCH7 is not set
-# CONFIG_X86_PCH9 is not set
-
-#
-# PHY Subsystem
-#
-CONFIG_PHY=y
-# CONFIG_SPL_PHY is not set
-# CONFIG_NOP_PHY is not set
-# CONFIG_MIPI_DPHY_HELPERS is not set
-# CONFIG_BCM_SR_PCIE_PHY is not set
-# CONFIG_OMAP_USB2_PHY is not set
-
-#
-# 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
-# CONFIG_PHY_ROCKCHIP_SNPS_PCIE3 is not set
-# CONFIG_PHY_ROCKCHIP_USBDP is not set
-CONFIG_PHY_ROCKCHIP_TYPEC=y
-# CONFIG_PHY_CADENCE_SIERRA is not set
-# CONFIG_PHY_CADENCE_TORRENT is not set
-# CONFIG_MSM8916_USB_PHY is not set
-# CONFIG_MVEBU_COMPHY_SUPPORT is not set
-
-#
-# Pin controllers
-#
-CONFIG_PINCTRL=y
-CONFIG_PINCTRL_FULL=y
-CONFIG_PINCTRL_GENERIC=y
-CONFIG_PINMUX=y
-# CONFIG_PINCONF is not set
-CONFIG_PINCONF_RECURSIVE=y
-CONFIG_SPL_PINCTRL=y
-CONFIG_SPL_PINCTRL_FULL=y
-CONFIG_SPL_PINCTRL_GENERIC=y
-CONFIG_SPL_PINMUX=y
-# CONFIG_SPL_PINCONF is not set
-CONFIG_SPL_PINCONF_RECURSIVE=y
-# CONFIG_PINCTRL_AT91 is not set
-# CONFIG_PINCTRL_AT91PIO4 is not set
-# CONFIG_PINCTRL_INTEL is not set
-# CONFIG_PINCTRL_QE is not set
-# CONFIG_PINCTRL_ROCKCHIP_RV1108 is not set
-# CONFIG_PINCTRL_SINGLE is not set
-# CONFIG_PINCTRL_STM32 is not set
-# CONFIG_PINCTRL_STMFX is not set
-# CONFIG_SPL_PINCTRL_STMFX is not set
-# 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
-# CONFIG_SPL_ACPI_PMC is not set
-
-#
-# Power Domain Support
-#
-# CONFIG_POWER_DOMAIN is not set
-CONFIG_DM_PMIC=y
-CONFIG_SPL_DM_PMIC=y
-CONFIG_PMIC_CHILDREN=y
-CONFIG_SPL_PMIC_CHILDREN=y
-# CONFIG_PMIC_AB8500 is not set
-# CONFIG_PMIC_ACT8846 is not set
-# CONFIG_PMIC_AXP is not set
-# CONFIG_SPL_PMIC_AXP is not set
-# CONFIG_DM_PMIC_DA9063 is not set
-# CONFIG_SPL_DM_PMIC_DA9063 is not set
-# CONFIG_PMIC_AS3722 is not set
-# CONFIG_DM_PMIC_BD71837 is not set
-# CONFIG_SPL_DM_PMIC_BD71837 is not set
-# CONFIG_DM_PMIC_FAN53555 is not set
-# CONFIG_DM_PMIC_MP5416 is not set
-# CONFIG_SPL_DM_PMIC_MP5416 is not set
-# CONFIG_DM_PMIC_PCA9450 is not set
-# 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
-# CONFIG_PMIC_MAX8997 is not set
-# CONFIG_PMIC_QCOM is not set
-CONFIG_PMIC_RK8XX=y
-# CONFIG_SPL_PMIC_RK8XX is not set
-# CONFIG_PMIC_S2MPS11 is not set
-# CONFIG_DM_PMIC_SANDBOX is not set
-# CONFIG_PMIC_S5M8767 is not set
-# CONFIG_PMIC_RN5T567 is not set
-# CONFIG_SPL_PMIC_RN5T567 is not set
-# CONFIG_PMIC_TPS65090 is not set
-# CONFIG_PMIC_PALMAS is not set
-# 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
-# CONFIG_SPL_POWER_TPS62362 is not set
-# CONFIG_SPL_POWER_TPS65910 is not set
-CONFIG_DM_REGULATOR=y
-CONFIG_REGULATOR_PWM=y
-# CONFIG_SPL_REGULATOR_PWM is not set
-CONFIG_DM_REGULATOR_COMMON=y
-CONFIG_DM_REGULATOR_FIXED=y
-# CONFIG_SPL_DM_REGULATOR_FIXED is not set
-CONFIG_DM_REGULATOR_GPIO=y
-# CONFIG_SPL_DM_REGULATOR_GPIO is not set
-CONFIG_REGULATOR_RK8XX=y
-# CONFIG_DM_REGULATOR_PBIAS is not set
-# CONFIG_DM_REGULATOR_TPS62360 is not set
-# CONFIG_DM_REGULATOR_ANATOP is not set
-# CONFIG_DM_REGULATOR_SCMI is not set
-# CONFIG_TPS6586X_POWER is not set
-# CONFIG_POWER_MT6323 is not set
-CONFIG_DM_PWM=y
-# CONFIG_PWM_ASPEED is not set
-# CONFIG_PWM_CADENCE_TTC is not set
-CONFIG_PWM_CROS_EC=y
-# CONFIG_PWM_EXYNOS is not set
-# CONFIG_PWM_IMX is not set
-# CONFIG_PWM_MESON is not set
-# CONFIG_PWM_MTK is not set
-CONFIG_PWM_ROCKCHIP=y
-# CONFIG_PWM_SANDBOX is not set
-# CONFIG_PWM_SIFIVE is not set
-# CONFIG_PWM_TEGRA is not set
-# CONFIG_PWM_SUNXI is not set
-# CONFIG_U_QE is not set
-CONFIG_RAM=y
-CONFIG_SPL_RAM=y
-# CONFIG_STM32_SDRAM is not set
-# CONFIG_MPC83XX_SDRAM is not set
-# CONFIG_K3_DDRSS is not set
-# CONFIG_IMXRT_SDRAM is not set
-# CONFIG_CADENCE_DDR_CTRL is not set
-CONFIG_RAM_ROCKCHIP=y
-CONFIG_ROCKCHIP_SDRAM_COMMON=y
-CONFIG_RAM_ROCKCHIP_DEBUG=y
-# CONFIG_RAM_ROCKCHIP_DDR4 is not set
-# CONFIG_RAM_ROCKCHIP_LPDDR2 is not set
-# CONFIG_RAM_ROCKCHIP_LPDDR3 is not set
-# CONFIG_RAM_ROCKCHIP_LPDDR4 is not set
-
-#
-# Reboot Mode Support
-#
-# CONFIG_DM_REBOOT_MODE is not set
-
-#
-# Remote Processor drivers
-#
-CONFIG_REMOTEPROC_MAX_FW_SIZE=0x10000
-
-#
-# Reset Controller Support
-#
-# CONFIG_RESET_AST2500 is not set
-# CONFIG_RESET_AST2600 is not set
-CONFIG_RESET_ROCKCHIP=y
-# CONFIG_RESET_HISILICON is not set
-# CONFIG_RESET_SYSCON is not set
-# 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
-#
-# CONFIG_DM_RTC is not set
-# CONFIG_SPL_DM_RTC is not set
-# CONFIG_RTC_ENABLE_32KHZ_OUTPUT is not set
-# CONFIG_RTC_DS1337 is not set
-# CONFIG_RTC_DS1338 is not set
-# CONFIG_RTC_DS1374 is not set
-# CONFIG_RTC_DS3231 is not set
-# CONFIG_RTC_PCF8563 is not set
-# CONFIG_RTC_PT7C4338 is not set
-# CONFIG_RTC_PL031 is not set
-# CONFIG_RTC_S35392A is not set
-# CONFIG_RTC_MC13XXX is not set
-# CONFIG_RTC_MC146818 is not set
-# CONFIG_RTC_M41T62 is not set
-# CONFIG_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
-CONFIG_SPL_SERIAL_PRESENT=y
-CONFIG_DM_SERIAL=y
-# CONFIG_SERIAL_RX_BUFFER is not set
-# CONFIG_SERIAL_PUTS is not set
-# CONFIG_SERIAL_SEARCH_ALL is not set
-# CONFIG_SERIAL_PROBE_ALL is not set
-CONFIG_SPL_DM_SERIAL=y
-# CONFIG_VPL_DM_SERIAL is not set
-CONFIG_DEBUG_UART_NS16550=y
-CONFIG_SPL_DEBUG_UART_BASE=0xff1a0000
-CONFIG_DEBUG_UART_SHIFT=2
-# CONFIG_DEBUG_UART_ANNOUNCE is not set
-# CONFIG_DEBUG_UART_SKIP_INIT is not set
-# CONFIG_DEBUG_UART_NS16550_CHECK_ENABLED is not set
-# CONFIG_ALTERA_JTAG_UART is not set
-# CONFIG_ALTERA_UART is not set
-# CONFIG_ARC_SERIAL is not set
-# CONFIG_ARM_DCC is not set
-# CONFIG_ATMEL_USART is not set
-# CONFIG_BCM6345_SERIAL is not set
-# CONFIG_COREBOOT_SERIAL is not set
-# CONFIG_CORTINA_UART is not set
-# CONFIG_FSL_LINFLEXUART is not set
-# CONFIG_FSL_LPUART is not set
-# CONFIG_MVEBU_A3700_UART is not set
-# CONFIG_MCFUART is not set
-# CONFIG_NULLDEV_SERIAL is not set
-CONFIG_SYS_NS16550=y
-# CONFIG_NS16550_DYNAMIC is not set
-CONFIG_SYS_NS16550_MEM32=y
-# CONFIG_SYS_NS16550_PORT_MAPPED is not set
-# CONFIG_PL01X_SERIAL is not set
-# CONFIG_ROCKCHIP_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
-
-#
-# Sound support
-#
-# CONFIG_SOUND is not set
-
-#
-# 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
-CONFIG_SPI_MEM=y
-# CONFIG_SPI_DIRMAP is not set
-# CONFIG_ALTERA_SPI is not set
-# CONFIG_APPLE_SPI is not set
-# CONFIG_ATCSPI200_SPI is not set
-# CONFIG_ATMEL_SPI is not set
-# CONFIG_BCMSTB_SPI is not set
-# 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
-# CONFIG_FSL_QSPI is not set
-# CONFIG_GXP_SPI is not set
-# CONFIG_ICH_SPI is not set
-# CONFIG_IPROC_QSPI is not set
-# CONFIG_KIRKWOOD_SPI is not set
-# CONFIG_MICROCHIP_COREQSPI is not set
-# CONFIG_MPC8XXX_SPI is not set
-# CONFIG_MTK_SNOR is not set
-# CONFIG_MTK_SNFI_SPI is not set
-# CONFIG_MTK_SPIM is not set
-# CONFIG_MVEBU_A3700_SPI is not set
-# CONFIG_MXS_SPI is not set
-# CONFIG_SPI_MXIC is not set
-# CONFIG_NPCM_FIU_SPI is not set
-# CONFIG_NPCM_PSPI is not set
-# CONFIG_NXP_FSPI is not set
-# CONFIG_OMAP3_SPI is not set
-# CONFIG_PL022_SPI is not set
-# CONFIG_ROCKCHIP_SFC is not set
-CONFIG_ROCKCHIP_SPI=y
-# CONFIG_SPI_ASPEED_SMC is not set
-# CONFIG_SPI_SIFIVE is not set
-# CONFIG_SOFT_SPI is not set
-# CONFIG_SPI_SN_F_OSPI is not set
-# CONFIG_SPI_SUNXI is not set
-# CONFIG_TEGRA114_SPI is not set
-# CONFIG_TEGRA20_SFLASH is not set
-# CONFIG_TEGRA20_SLINK is not set
-# CONFIG_TEGRA210_QSPI is not set
-# CONFIG_TI_QSPI is not set
-# CONFIG_XILINX_SPI is not set
-# CONFIG_ZYNQ_SPI is not set
-# CONFIG_ZYNQ_QSPI is not set
-# CONFIG_ZYNQMP_GQSPI is not set
-# CONFIG_SH_QSPI is not set
-# CONFIG_MXC_SPI is not set
-
-#
-# SPMI support
-#
-# CONFIG_SPMI is not set
-# CONFIG_SYSINFO is not set
-
-#
-# System reset device drivers
-#
-CONFIG_SYSRESET=y
-CONFIG_SPL_SYSRESET=y
-CONFIG_SYSRESET_CMD_RESET=y
-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
-# CONFIG_SYSRESET_SYSCON is not set
-# CONFIG_SYSRESET_WATCHDOG is not set
-# CONFIG_SYSRESET_RESETCTL is not set
-# CONFIG_SYSRESET_MPC83XX is not set
-# CONFIG_TEE is not set
-# CONFIG_DM_THERMAL is not set
-
-#
-# Timer Support
-#
-# CONFIG_TIMER is not set
-
-#
-# TPM support
-#
-CONFIG_USB=y
-CONFIG_DM_USB=y
-CONFIG_SPL_DM_USB=y
-# CONFIG_DM_USB_GADGET is not set
-# CONFIG_SPL_DM_USB_GADGET is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_HOST=y
-# CONFIG_SPL_USB_HOST is not set
-CONFIG_USB_XHCI_HCD=y
-# 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
-# CONFIG_USB_EHCI_MSM is not set
-# CONFIG_USB_EHCI_PCI is not set
-# CONFIG_USB_EHCI_ZYNQ is not set
-CONFIG_USB_EHCI_GENERIC=y
-# CONFIG_USB_EHCI_FSL is not set
-CONFIG_USB_OHCI_NEW=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_OHCI_GENERIC=y
-# CONFIG_USB_OHCI_DA8XX is not set
-# CONFIG_SYS_OHCI_SWAP_REG_ACCESS is not set
-# CONFIG_USB_UHCI_HCD is not set
-# CONFIG_USB_DWC2 is not set
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_ISP1760 is not set
-# CONFIG_USB_CDNS3 is not set
-CONFIG_USB_DWC3=y
-
-#
-# Platform Glue Driver Support
-#
-# CONFIG_USB_DWC3_OMAP is not set
-CONFIG_USB_DWC3_GENERIC=y
-# CONFIG_SPL_USB_DWC3_GENERIC is not set
-# CONFIG_USB_DWC3_LAYERSCAPE is not set
-
-#
-# PHY Subsystem
-#
-# CONFIG_USB_DWC3_PHY_OMAP is not set
-# CONFIG_USB_DWC3_PHY_SAMSUNG is not set
-
-#
-# Legacy MUSB Support
-#
-# CONFIG_USB_MUSB_HCD is not set
-# CONFIG_USB_MUSB_UDC is not set
-
-#
-# MUSB Controller Driver
-#
-# CONFIG_USB_MUSB_HOST is not set
-# CONFIG_USB_MUSB_PIO_ONLY is not set
-
-#
-# USB Phy
-#
-# CONFIG_TWL4030_USB is not set
-# CONFIG_ROCKCHIP_USB2_PHY is not set
-
-#
-# ULPI drivers
-#
-
-#
-# USB peripherals
-#
-CONFIG_USB_STORAGE=y
-CONFIG_USB_KEYBOARD=y
-# CONFIG_USB_ONBOARD_HUB is not set
-CONFIG_USB_HUB_DEBOUNCE_TIMEOUT=1000
-CONFIG_USB_KEYBOARD_FN_KEYS=y
-CONFIG_SYS_USB_EVENT_POLL=y
-# CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE is not set
-# CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP is not set
-CONFIG_USB_HOST_ETHER=y
-CONFIG_USB_ETHER_ASIX=y
-CONFIG_USB_ETHER_ASIX88179=y
-# CONFIG_USB_ETHER_LAN75XX is not set
-# CONFIG_USB_ETHER_LAN78XX is not set
-CONFIG_USB_ETHER_MCS7830=y
-CONFIG_USB_ETHER_RTL8152=y
-CONFIG_USB_ETHER_SMSC95XX=y
-# CONFIG_USB_GADGET is not set
-# CONFIG_SPL_USB_GADGET is not set
-
-#
-# UFS Host Controller Support
-#
-# CONFIG_TI_J721E_UFS is not set
-
-#
-# Graphics support
-#
-CONFIG_VIDEO=y
-# CONFIG_VIDEO_FONT_4X6 is not set
-# CONFIG_VIDEO_FONT_8X16 is not set
-# CONFIG_VIDEO_FONT_SUN12X22 is not set
-CONFIG_VIDEO_FONT_16X32=y
-CONFIG_VIDEO_LOGO=y
-CONFIG_BACKLIGHT=y
-CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE=0x0
-# CONFIG_VIDEO_COPY is not set
-CONFIG_VIDEO_DAMAGE=y
-CONFIG_BACKLIGHT_PWM=y
-# CONFIG_BACKLIGHT_GPIO is not set
-CONFIG_VIDEO_BPP8=y
-CONFIG_VIDEO_BPP16=y
-CONFIG_VIDEO_BPP32=y
-CONFIG_VIDEO_ANSI=y
-# CONFIG_VIDEO_MIPI_DSI is not set
-CONFIG_CONSOLE_NORMAL=y
-# CONFIG_CONSOLE_ROTATION is not set
-# CONFIG_CONSOLE_TRUETYPE is not set
-CONFIG_SYS_WHITE_ON_BLACK=y
-# CONFIG_NO_FB_CLEAR is not set
-CONFIG_PANEL=y
-CONFIG_SIMPLE_PANEL=y
-# CONFIG_PANEL_HX8238D is not set
-
-#
-# TrueType Fonts
-#
-# CONFIG_VIDCONSOLE_AS_LCD is not set
-# CONFIG_VIDEO_BOCHS is not set
-# CONFIG_VIDEO_VESA is not set
-# CONFIG_VIDEO_LCD_ANX9804 is not set
-# CONFIG_ATMEL_LCD_BGR555 is not set
-# CONFIG_VIDEO_BCM2835 is not set
-# 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
-# CONFIG_VIDEO_MESON is not set
-# CONFIG_VIDEO_MVEBU is not set
-CONFIG_I2C_EDID=y
-CONFIG_DISPLAY=y
-# CONFIG_NXP_TDA19988 is not set
-# CONFIG_ATMEL_HLCD is not set
-# CONFIG_BACKLIGHT_LM3533 is not set
-# CONFIG_AM335X_LCD is not set
-# CONFIG_VIDEO_EXYNOS is not set
-# CONFIG_LOGICORE_DP_TX is not set
-CONFIG_VIDEO_ROCKCHIP=y
-CONFIG_VIDEO_ROCKCHIP_MAX_XRES=2400
-CONFIG_VIDEO_ROCKCHIP_MAX_YRES=1600
-CONFIG_DISPLAY_ROCKCHIP_EDP=y
-# CONFIG_DISPLAY_ROCKCHIP_LVDS is not set
-# CONFIG_DISPLAY_ROCKCHIP_HDMI is not set
-# CONFIG_DISPLAY_ROCKCHIP_MIPI is not set
-# CONFIG_DISPLAY_ROCKCHIP_DW_MIPI is not set
-# CONFIG_VIDEO_ARM_MALIDP is not set
-# CONFIG_VIDEO_STM32 is not set
-# 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
-# CONFIG_VIDEO_MXS is not set
-# CONFIG_VIDEO_SEPS525 is not set
-CONFIG_CONSOLE_SCROLL_LINES=1
-# CONFIG_VIDEO_SIMPLE is not set
-# CONFIG_VIDEO_DT_SIMPLEFB is not set
-# CONFIG_VIDEO_MCDE_SIMPLE is not set
-# 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
-# CONFIG_BMP_24BPP is not set
-# CONFIG_BMP_32BPP is not set
-# CONFIG_SPL_VIDEO is not set
-
-#
-# VirtIO Drivers
-#
-# CONFIG_VIRTIO_MMIO is not set
-
-#
-# 1-Wire support
-#
-# CONFIG_W1 is not set
-
-#
-# 1-wire EEPROM support
-#
-# CONFIG_W1_EEPROM is not set
-
-#
-# Watchdog Timer Support
-#
-# CONFIG_WATCHDOG is not set
-CONFIG_WATCHDOG_TIMEOUT_MSECS=60000
-# CONFIG_IMX_WATCHDOG is not set
-# CONFIG_ULP_WATCHDOG is not set
-# CONFIG_WDT is not set
-# CONFIG_SPL_WDT is not set
-# CONFIG_PHYS_TO_BUS is not set
-
-#
-# File systems
-#
-# CONFIG_FS_BTRFS is not set
-# CONFIG_FS_CBFS is not set
-# CONFIG_SPL_FS_CBFS is not set
-CONFIG_FS_EXT4=y
-# CONFIG_EXT4_WRITE is not set
-CONFIG_FS_FAT=y
-CONFIG_FAT_WRITE=y
-CONFIG_FS_FAT_MAX_CLUSTSIZE=65536
-# CONFIG_FS_JFFS2 is not set
-# CONFIG_UBIFS_SILENCE_MSG is not set
-# CONFIG_UBIFS_SILENCE_DEBUG_DUMP is not set
-# CONFIG_FS_CRAMFS is not set
-# CONFIG_YAFFS2 is not set
-# CONFIG_FS_SQUASHFS is not set
-# CONFIG_FS_EROFS is not set
-
-#
-# Library routines
-#
-# CONFIG_ADDR_MAP is not set
-# CONFIG_SYS_TIMER_COUNTS_DOWN is not set
-# CONFIG_PHYSMEM is not set
-# CONFIG_BCH is not set
-# CONFIG_BINMAN_FDT is not set
-# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set
-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
-CONFIG_PRINTF=y
-CONFIG_SPL_PRINTF=y
-CONFIG_SPRINTF=y
-CONFIG_SPL_SPRINTF=y
-CONFIG_STRTO=y
-CONFIG_SPL_STRTO=y
-CONFIG_SYS_HZ=1000
-CONFIG_SPL_USE_TINY_PRINTF=y
-CONFIG_PANIC_HANG=y
-CONFIG_REGEX=y
-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
-# CONFIG_CIRCBUF is not set
-CONFIG_CMD_DHRYSTONE=y
-
-#
-# Security support
-#
-# CONFIG_AES is not set
-# CONFIG_ECDSA is not set
-# CONFIG_RSA is not set
-# CONFIG_TPM is not set
-# CONFIG_SPL_TPM is not set
-
-#
-# Android Verified Boot
-#
-
-#
-# Hashing Support
-#
-# CONFIG_BLAKE2 is not set
-CONFIG_SHA1=y
-CONFIG_SHA256=y
-# CONFIG_SHA512 is not set
-# CONFIG_SHA384 is not set
-# CONFIG_SHA_HW_ACCEL is not set
-CONFIG_SPL_CRC32=y
-CONFIG_SPL_SHA1=y
-CONFIG_SPL_SHA256=y
-# CONFIG_SPL_SHA512 is not set
-# CONFIG_SPL_SHA384 is not set
-# CONFIG_SPL_SHA_HW_ACCEL is not set
-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
-
-#
-# Compression Support
-#
-CONFIG_LZ4=y
-CONFIG_LZMA=y
-# CONFIG_LZO is not set
-CONFIG_GZIP=y
-# CONFIG_ZLIB_UNCOMPRESS is not set
-# CONFIG_BZIP2 is not set
-CONFIG_ZLIB=y
-# CONFIG_ZSTD is not set
-# CONFIG_SPL_BZIP2 is not set
-# CONFIG_SPL_LZ4 is not set
-# CONFIG_SPL_LZMA is not set
-CONFIG_VPL_LZMA=y
-# CONFIG_SPL_LZO is not set
-# CONFIG_SPL_GZIP is not set
-# CONFIG_SPL_ZSTD is not set
-CONFIG_ERRNO_STR=y
-# CONFIG_HEXDUMP is not set
-CONFIG_GETOPT=y
-CONFIG_OF_LIBFDT=y
-CONFIG_OF_LIBFDT_ASSUME_MASK=0x0
-CONFIG_SYS_FDT_PAD=0x3000
-CONFIG_SPL_OF_LIBFDT=y
-CONFIG_SPL_OF_LIBFDT_ASSUME_MASK=0xff
-
-#
-# System tables
-#
-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_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=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
-CONFIG_EFI_CAPSULE_MAX=15
-CONFIG_EFI_DEVICE_PATH_TO_TEXT=y
-CONFIG_EFI_DEVICE_PATH_UTIL=y
-CONFIG_EFI_DT_FIXUP=y
-CONFIG_EFI_LOADER_HII=y
-CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y
-CONFIG_EFI_UNICODE_CAPITALIZATION=y
-# CONFIG_EFI_LOADER_BOUNCE_BUFFER is not set
-CONFIG_EFI_PLATFORM_LANG_CODES="en-US"
-CONFIG_EFI_HAVE_RUNTIME_RESET=y
-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
-# CONFIG_TEST_FDTDEC is not set
-CONFIG_LIB_ELF=y
-CONFIG_LMB=y
-CONFIG_LMB_USE_MAX_REGIONS=y
-CONFIG_LMB_MAX_REGIONS=16
-# CONFIG_PHANDLE_CHECK_SEQ is not set
-
-#
-# Testing
-#
-# CONFIG_UNIT_TEST is not set
-# CONFIG_SPL_UNIT_TEST is not set
-# CONFIG_POST is not set
-
-#
-# Tools options
-#
-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
-CONFIG_TOOLS_FIT_RSASSA_PSS=y
-CONFIG_TOOLS_FIT_SIGNATURE=y
-CONFIG_TOOLS_FIT_SIGNATURE_MAX_SIZE=0x10000000
-CONFIG_TOOLS_FIT_VERBOSE=y
-CONFIG_TOOLS_MD5=y
-CONFIG_TOOLS_OF_LIBFDT=y
-CONFIG_TOOLS_SHA1=y
-CONFIG_TOOLS_SHA256=y
-CONFIG_TOOLS_SHA384=y
-CONFIG_TOOLS_SHA512=y
-# CONFIG_TOOLS_MKEFICAPSULE is not set
-# CONFIG_FSPI_CONF_HEADER is not set
-# CONFIG_TOOLS_MKFWUMDATA is not set
diff --git a/config/u-boot/gru_kevin/target.cfg b/config/u-boot/gru_kevin/target.cfg
deleted file mode 100644
index f7d4d7d9..00000000
--- a/config/u-boot/gru_kevin/target.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-tree="default"
-xtree="default"
-xarch="aarch64-elf arm-eabi"
diff --git a/config/u-boot/qemu_arm64_12mb/config/default b/config/u-boot/qemu_arm64_12mb/config/default
deleted file mode 100644
index 65c6e684..00000000
--- a/config/u-boot/qemu_arm64_12mb/config/default
+++ /dev/null
@@ -1,1803 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# U-Boot 2024.07 Configuration
-#
-
-#
-# 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
-CONFIG_ARM=y
-# CONFIG_M68K is not set
-# CONFIG_MICROBLAZE is not set
-# CONFIG_MIPS is not set
-# CONFIG_NIOS2 is not set
-# CONFIG_PPC is not set
-# CONFIG_RISCV is not set
-# CONFIG_SANDBOX is not set
-# CONFIG_SH is not set
-# CONFIG_X86 is not set
-# CONFIG_XTENSA is not set
-CONFIG_SYS_ARCH="arm"
-CONFIG_SYS_CPU="armv8"
-CONFIG_SYS_VENDOR="emulation"
-CONFIG_SYS_BOARD="qemu-arm"
-CONFIG_SYS_CONFIG_NAME="qemu-arm"
-
-#
-# Skipping low level initialization functions
-#
-# CONFIG_SKIP_LOWLEVEL_INIT is not set
-# CONFIG_SKIP_LOWLEVEL_INIT_ONLY is not set
-# CONFIG_SYS_ICACHE_OFF is not set
-# CONFIG_SYS_DCACHE_OFF is not set
-
-#
-# ARM architecture
-#
-CONFIG_ARM64=y
-CONFIG_ARM64_CRC32=y
-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
-# CONFIG_SYS_ARM_CACHE_CP15 is not set
-# CONFIG_SYS_ARM_MMU is not set
-# CONFIG_SYS_ARM_MPU is not set
-CONFIG_SYS_ARM_ARCH=8
-CONFIG_SYS_ARM_CACHE_WRITEBACK=y
-# CONFIG_SYS_ARM_CACHE_WRITETHROUGH is not set
-# CONFIG_SYS_ARM_CACHE_WRITEALLOC is not set
-# CONFIG_ARCH_CPU_INIT is not set
-CONFIG_SYS_ARCH_TIMER=y
-CONFIG_ARM_SMCCC=y
-# CONFIG_SYS_L2_PL310 is not set
-# CONFIG_SPL_SYS_L2_PL310 is not set
-# CONFIG_SYS_L2CACHE_OFF is not set
-# CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK is not set
-# CONFIG_USE_ARCH_MEMCPY is not set
-# CONFIG_USE_ARCH_MEMSET is not set
-CONFIG_ARM64_SUPPORT_AARCH32=y
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_HISTB is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_MVEBU is not set
-# CONFIG_ARCH_ORION5X 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_BCMNS3 is not set
-# CONFIG_ARCH_EXYNOS is not set
-# CONFIG_ARCH_S5PC1XX is not set
-# CONFIG_ARCH_HIGHBANK is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_IPQ40XX is not set
-# CONFIG_ARCH_KEYSTONE is not set
-# CONFIG_ARCH_K3 is not set
-# CONFIG_ARCH_OMAP2PLUS is not set
-# CONFIG_ARCH_MESON is not set
-# CONFIG_ARCH_MEDIATEK is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_IMX8 is not set
-# CONFIG_ARCH_IMX8M is not set
-# CONFIG_ARCH_IMX8ULP is not set
-# CONFIG_ARCH_IMX9 is not set
-# CONFIG_ARCH_IMXRT is not set
-# CONFIG_ARCH_MX23 is not set
-# CONFIG_ARCH_MX28 is not set
-# CONFIG_ARCH_MX31 is not set
-# CONFIG_ARCH_MX7ULP is not set
-# CONFIG_ARCH_MX7 is not set
-# CONFIG_ARCH_MX6 is not set
-# CONFIG_ARCH_MX5 is not set
-# CONFIG_ARCH_NEXELL is not set
-# CONFIG_ARCH_NPCM is not set
-# CONFIG_ARCH_APPLE is not set
-# CONFIG_ARCH_OWL is not set
-CONFIG_ARCH_QEMU=y
-# CONFIG_ARCH_RENESAS is not set
-# CONFIG_ARCH_SNAPDRAGON is not set
-# CONFIG_ARCH_SOCFPGA is not set
-# CONFIG_ARCH_SUNXI is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_VERSAL is not set
-# CONFIG_ARCH_VERSAL_NET is not set
-# CONFIG_ARCH_VF610 is not set
-# CONFIG_ARCH_ZYNQ is not set
-# CONFIG_ARCH_ZYNQMP_R5 is not set
-# CONFIG_ARCH_ZYNQMP is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_VEXPRESS64 is not set
-# CONFIG_TARGET_CORSTONE1000 is not set
-# CONFIG_TARGET_TOTAL_COMPUTE is not set
-# CONFIG_TARGET_LS2080A_EMU is not set
-# CONFIG_TARGET_LS1088AQDS is not set
-# CONFIG_TARGET_LS2080AQDS is not set
-# CONFIG_TARGET_LS2080ARDB is not set
-# CONFIG_TARGET_LS2081ARDB is not set
-# CONFIG_TARGET_LX2160ARDB is not set
-# CONFIG_TARGET_LX2160AQDS is not set
-# CONFIG_TARGET_LX2162AQDS is not set
-# CONFIG_TARGET_HIKEY is not set
-# CONFIG_TARGET_HIKEY960 is not set
-# CONFIG_TARGET_POPLAR is not set
-# CONFIG_TARGET_LS1012AQDS is not set
-# CONFIG_TARGET_LS1012ARDB is not set
-# CONFIG_TARGET_LS1012A2G5RDB is not set
-# CONFIG_TARGET_LS1012AFRWY is not set
-# CONFIG_TARGET_LS1012AFRDM is not set
-# CONFIG_TARGET_LS1028AQDS is not set
-# CONFIG_TARGET_LS1028ARDB is not set
-# CONFIG_TARGET_LS1088ARDB is not set
-# CONFIG_TARGET_LS1021AQDS is not set
-# CONFIG_TARGET_LS1021ATWR is not set
-# CONFIG_TARGET_PG_WCOM_SELI8 is not set
-# CONFIG_TARGET_PG_WCOM_EXPU1 is not set
-# CONFIG_TARGET_LS1021ATSN is not set
-# CONFIG_TARGET_LS1021AIOT is not set
-# CONFIG_TARGET_LS1043AQDS is not set
-# CONFIG_TARGET_LS1043ARDB is not set
-# CONFIG_TARGET_LS1046AQDS is not set
-# CONFIG_TARGET_LS1046ARDB is not set
-# CONFIG_TARGET_LS1046AFRWY is not set
-# CONFIG_TARGET_SL28 is not set
-# CONFIG_TARGET_TEN64 is not set
-# CONFIG_ARCH_UNIPHIER is not set
-# CONFIG_ARCH_SYNQUACER is not set
-# CONFIG_ARCH_STM32 is not set
-# CONFIG_ARCH_STI is not set
-# CONFIG_ARCH_STM32MP is not set
-# CONFIG_ARCH_ROCKCHIP is not set
-# CONFIG_ARCH_OCTEONTX is not set
-# CONFIG_ARCH_OCTEONTX2 is not set
-# CONFIG_TARGET_THUNDERX_88XX is not set
-# 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
-# CONFIG_STATIC_MACH_TYPE is not set
-CONFIG_TEXT_BASE=0x50000000
-CONFIG_SYS_MALLOC_LEN=0x1000000
-CONFIG_SYS_MALLOC_F_LEN=0x2000
-CONFIG_NR_DRAM_BANKS=1
-CONFIG_ENV_SOURCE_FILE=""
-CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
-CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x40200000
-CONFIG_ENV_SIZE=0x40000
-# CONFIG_DM_GPIO is not set
-CONFIG_DEFAULT_DEVICE_TREE="qemu-arm64"
-CONFIG_BOARD_SPECIFIC_OPTIONS=y
-# CONFIG_OF_LIBFDT_OVERLAY is not set
-CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000
-# CONFIG_DM_RESET is not set
-CONFIG_SYS_MONITOR_LEN=0
-# CONFIG_TARGET_QEMU_ARM_32BIT is not set
-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=0x0
-CONFIG_DEBUG_UART_BASE=0x9000000
-CONFIG_DEBUG_UART_CLOCK=0
-# CONFIG_DEBUG_UART_BOARD_INIT is not set
-CONFIG_IDENT_STRING=""
-CONFIG_SYS_CLK_FREQ=0
-# CONFIG_CHIP_DIP_SCAN is not set
-# CONFIG_CMO_BY_VA_ONLY is not set
-# CONFIG_ARMV8_MULTIENTRY is not set
-# CONFIG_ARMV8_SET_SMPEN is not set
-# CONFIG_ARMV8_SWITCH_TO_EL1 is not set
-
-#
-# ARMv8 secure monitor firmware
-#
-# CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT is not set
-CONFIG_PSCI_RESET=y
-# CONFIG_ARMV8_PSCI is not set
-# CONFIG_ARMV8_EA_EL3_FIRST 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
-# CONFIG_IMX_SECO_DEK_ENCAP is not set
-# CONFIG_IMX_ELE_DEK_ENCAP is not set
-# CONFIG_CMD_HDMIDETECT is not set
-CONFIG_IMX_DCD_ADDR=0x00910000
-CONFIG_SYS_MEM_TOP_HIDE=0x0
-CONFIG_SYS_LOAD_ADDR=0x40200000
-CONFIG_MTDPARTS_NOR0="64m(u-boot)"
-CONFIG_MTDPARTS_NOR1="64m(u-boot-env)"
-
-#
-# ARM debug
-#
-CONFIG_BUILD_TARGET=""
-# CONFIG_SYS_PCI_64BIT is not set
-CONFIG_PCI=y
-CONFIG_FWU_NUM_BANKS=2
-CONFIG_FWU_NUM_IMAGES_PER_BANK=2
-CONFIG_DEBUG_UART=y
-CONFIG_AHCI=y
-# CONFIG_OF_BOARD_FIXUP is not set
-
-#
-# Functionality shared between NXP SoCs
-#
-# CONFIG_NXP_ESBC is not set
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=130300
-CONFIG_CLANG_VERSION=0
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set
-# CONFIG_CC_OPTIMIZE_FOR_DEBUG is not set
-# CONFIG_OPTIMIZE_INLINING is not set
-CONFIG_ARCH_SUPPORTS_LTO=y
-# CONFIG_LTO is not set
-CONFIG_CC_HAS_ASM_INLINE=y
-# CONFIG_XEN is not set
-CONFIG_ENV_VARS_UBOOT_CONFIG=y
-# CONFIG_SYS_BOOT_GET_CMDLINE is not set
-# CONFIG_SYS_BOOT_GET_KBD is not set
-CONFIG_SYS_MALLOC_F=y
-# CONFIG_VALGRIND is not set
-CONFIG_EXPERT=y
-CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y
-# CONFIG_SYS_MALLOC_DEFAULT_TO_INIT is not set
-# CONFIG_TOOLS_DEBUG is not set
-CONFIG_PHYS_64BIT=y
-CONFIG_FDT_64BIT=y
-# CONFIG_REMAKE_ELF is not set
-# CONFIG_HAS_BOARD_SIZE_LIMIT is not set
-# CONFIG_SYS_CUSTOM_LDSCRIPT is not set
-CONFIG_PLATFORM_ELFENTRY="_start"
-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
-
-#
-# Boot options
-#
-
-#
-# Boot images
-#
-# CONFIG_ANDROID_BOOT_IMAGE is not set
-CONFIG_TIMESTAMP=y
-CONFIG_FIT=y
-CONFIG_FIT_EXTERNAL_OFFSET=0x0
-CONFIG_FIT_FULL_CHECK=y
-CONFIG_FIT_SIGNATURE=y
-CONFIG_FIT_SIGNATURE_MAX_SIZE=0x10000000
-# CONFIG_FIT_RSASSA_PSS is not set
-# CONFIG_FIT_CIPHER is not set
-CONFIG_FIT_VERBOSE=y
-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
-CONFIG_BOOTMETH_VBE_SIMPLE=y
-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_CHROMEOS is not set
-# CONFIG_CHROMEOS_VBOOT is not set
-# CONFIG_RAMBOOT_PBL is not set
-CONFIG_SYS_BOOT_RAMDISK_HIGH=y
-# CONFIG_DISTRO_DEFAULTS is not set
-
-#
-# Boot timing
-#
-# CONFIG_BOOTSTAGE is not set
-CONFIG_BOOTSTAGE_STASH_SIZE=0x1000
-# CONFIG_SHOW_BOOT_PROGRESS is not set
-
-#
-# Boot media
-#
-# CONFIG_NAND_BOOT is not set
-# CONFIG_ONENAND_BOOT is not set
-# CONFIG_QSPI_BOOT is not set
-# CONFIG_SATA_BOOT is not set
-# CONFIG_SD_BOOT is not set
-# CONFIG_SD_BOOT_QSPI is not set
-# CONFIG_SPI_BOOT is not set
-
-#
-# Autoboot options
-#
-CONFIG_AUTOBOOT=y
-CONFIG_BOOTDELAY=2
-# CONFIG_AUTOBOOT_KEYED is not set
-# CONFIG_AUTOBOOT_USE_MENUKEY is not set
-# CONFIG_BOOT_RETRY is not set
-
-#
-# 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
-CONFIG_BOOTCOMMAND="bootflow scan -lb"
-CONFIG_USE_PREBOOT=y
-CONFIG_PREBOOT="usb start"
-CONFIG_PREBOOT_DEFINED=y
-CONFIG_DEFAULT_FDT_FILE=""
-# CONFIG_SAVE_PREV_BL_FDT_ADDR is not set
-# CONFIG_SAVE_PREV_BL_INITRAMFS_START_ADDR is not set
-
-#
-# Configuration editor
-#
-# CONFIG_CEDIT is not set
-
-#
-# Console
-#
-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
-# CONFIG_SPL_SILENT_CONSOLE is not set
-# 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
-# CONFIG_SYS_CONSOLE_ENV_OVERWRITE is not set
-# CONFIG_SYS_CONSOLE_INFO_QUIET is not set
-CONFIG_SYS_STDIO_DEREGISTER=y
-# CONFIG_SPL_SYS_STDIO_DEREGISTER is not set
-CONFIG_SYS_DEVICE_NULLDEV=y
-
-#
-# Logging
-#
-# CONFIG_LOG is not set
-
-#
-# Init options
-#
-# CONFIG_BOARD_TYPES is not set
-# CONFIG_DISPLAY_CPUINFO is not set
-# CONFIG_DISPLAY_BOARDINFO is not set
-# CONFIG_DISPLAY_BOARDINFO_LATE is not set
-
-#
-# Start-up hooks
-#
-# CONFIG_CYCLIC is not set
-CONFIG_EVENT=y
-CONFIG_EVENT_DYNAMIC=y
-# CONFIG_EVENT_DEBUG is not set
-# CONFIG_ARCH_MISC_INIT is not set
-# CONFIG_BOARD_EARLY_INIT_F is not set
-# CONFIG_BOARD_EARLY_INIT_R is not set
-# CONFIG_BOARD_POSTCLK_INIT is not set
-CONFIG_BOARD_LATE_INIT=y
-# CONFIG_CLOCKS is not set
-# CONFIG_HWCONFIG 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
-CONFIG_PCI_INIT_R=y
-# CONFIG_RESET_PHY_R is not set
-
-#
-# Security support
-#
-CONFIG_HASH=y
-# CONFIG_STACKPROTECTOR is not set
-# CONFIG_BOARD_RNG_SEED is not set
-
-#
-# Update support
-#
-CONFIG_UPDATE_COMMON=y
-CONFIG_UPDATE_TFTP_CNT_MAX=0
-CONFIG_UPDATE_TFTP_MSEC_MAX=100
-CONFIG_UPDATE_LOAD_ADDR=0x100000
-# CONFIG_UPDATE_FIT is not set
-# CONFIG_ANDROID_AB is not set
-
-#
-# Blob list
-#
-# CONFIG_BLOBLIST is not set
-CONFIG_IMAGE_SIGN_INFO=y
-CONFIG_CMDLINE=y
-CONFIG_HUSH_PARSER=y
-
-#
-# Hush flavor to use
-#
-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=64
-CONFIG_SYS_XTRACE=y
-
-#
-# Commands
-#
-
-#
-# Info commands
-#
-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
-#
-CONFIG_CMD_BOOTD=y
-CONFIG_CMD_BOOTM=y
-CONFIG_CMD_BOOTDEV=y
-CONFIG_CMD_BOOTFLOW=y
-CONFIG_CMD_BOOTFLOW_FULL=y
-CONFIG_CMD_BOOTMETH=y
-CONFIG_BOOTM_EFI=y
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTI=y
-CONFIG_BOOTM_LINUX=y
-CONFIG_BOOTM_NETBSD=y
-# CONFIG_BOOTM_OPENRTOS is not set
-# CONFIG_BOOTM_OSE is not set
-CONFIG_BOOTM_PLAN9=y
-CONFIG_BOOTM_RTEMS=y
-CONFIG_CMD_VBE=y
-CONFIG_BOOTM_VXWORKS=y
-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_SYS_XIMG_LEN=0x800000
-
-#
-# Environment commands
-#
-# CONFIG_CMD_ASKENV is not set
-CONFIG_CMD_EXPORTENV=y
-CONFIG_CMD_IMPORTENV=y
-CONFIG_CMD_EDITENV=y
-# CONFIG_CMD_GREPENV is not set
-CONFIG_CMD_SAVEENV=y
-# CONFIG_CMD_ERASEENV is not set
-CONFIG_CMD_ENV_EXISTS=y
-# CONFIG_CMD_ENV_CALLBACK is not set
-# CONFIG_CMD_ENV_FLAGS is not set
-CONFIG_CMD_NVEDIT_EFI=y
-# CONFIG_CMD_NVEDIT_INDIRECT is not set
-# CONFIG_CMD_NVEDIT_INFO is not set
-# CONFIG_CMD_NVEDIT_LOAD is not set
-# CONFIG_CMD_NVEDIT_SELECT is not set
-
-#
-# Memory commands
-#
-# CONFIG_CMD_BINOP is not set
-CONFIG_CMD_CRC32=y
-# CONFIG_CRC32_VERIFY is not set
-# CONFIG_LOOPW is not set
-# CONFIG_CMD_MD5SUM is not set
-# CONFIG_CMD_MEMINFO is not set
-CONFIG_CMD_MEMORY=y
-# CONFIG_CMD_MEM_SEARCH is not set
-# CONFIG_CMD_MX_CYCLIC is not set
-CONFIG_CMD_RANDOM=y
-# CONFIG_CMD_MEMTEST is not set
-# CONFIG_CMD_SHA1SUM is not set
-# CONFIG_CMD_STRINGS is not set
-
-#
-# Compression commands
-#
-CONFIG_CMD_LZMADEC=y
-CONFIG_CMD_UNLZ4=y
-CONFIG_CMD_UNZIP=y
-# CONFIG_CMD_ZIP is not set
-
-#
-# 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
-CONFIG_CMD_DFU=y
-CONFIG_CMD_DM=y
-CONFIG_CMD_FLASH=y
-# CONFIG_CMD_FPGAD is not set
-# CONFIG_CMD_FUSE is not set
-# CONFIG_CMD_GPIO is not set
-# CONFIG_CMD_GPT is not set
-# CONFIG_CMD_IDE is not set
-# CONFIG_CMD_IO is not set
-# CONFIG_CMD_IOTRACE is not set
-# CONFIG_CMD_I2C is not set
-CONFIG_CMD_LOADB=y
-# CONFIG_CMD_LOADM is not set
-CONFIG_CMD_LOADS=y
-# CONFIG_LOADS_ECHO is not set
-# CONFIG_CMD_SAVES is not set
-# CONFIG_SYS_LOADS_BAUD_CHANGE is not set
-CONFIG_CMD_LOADXY_TIMEOUT=90
-# CONFIG_CMD_LSBLK is not set
-# 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
-CONFIG_CMD_PART=y
-CONFIG_CMD_PCI=y
-# CONFIG_CMD_PCI_MPS is not set
-CONFIG_CMD_POWEROFF=y
-# CONFIG_CMD_READ is not set
-# CONFIG_CMD_SATA is not set
-CONFIG_CMD_SCSI=y
-# CONFIG_CMD_SDRAM is not set
-# 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_VIRTIO=y
-# CONFIG_CMD_WRITE is not set
-
-#
-# Shell scripting commands
-#
-# CONFIG_CMD_CAT is not set
-CONFIG_CMD_ECHO=y
-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
-#
-CONFIG_CMD_NET=y
-CONFIG_CMD_BOOTP=y
-CONFIG_CMD_DHCP=y
-# CONFIG_BOOTP_MAY_FAIL is not set
-CONFIG_BOOTP_BOOTPATH=y
-# CONFIG_BOOTP_VENDOREX is not set
-# CONFIG_BOOTP_BOOTFILESIZE is not set
-CONFIG_BOOTP_DNS=y
-# CONFIG_BOOTP_DNS2 is not set
-CONFIG_BOOTP_GATEWAY=y
-CONFIG_BOOTP_HOSTNAME=y
-# CONFIG_BOOTP_PREFER_SERVERIP is not set
-CONFIG_BOOTP_SUBNETMASK=y
-# CONFIG_BOOTP_NISDOMAIN is not set
-# CONFIG_BOOTP_NTPSERVER is not set
-# 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
-# CONFIG_CMD_TFTPSRV is not set
-CONFIG_NET_TFTP_VARS=y
-# CONFIG_CMD_RARP is not set
-# CONFIG_CMD_NFS is not set
-# CONFIG_SYS_DISABLE_AUTOLOAD is not set
-# CONFIG_CMD_WGET is not set
-CONFIG_CMD_MII=y
-CONFIG_CMD_PING=y
-# CONFIG_CMD_CDP is not set
-# CONFIG_CMD_SNTP is not set
-# CONFIG_CMD_DNS is not set
-# CONFIG_CMD_LINK_LOCAL is not set
-# CONFIG_CMD_ETHSW is not set
-CONFIG_CMD_PXE=y
-# CONFIG_CMD_WOL is not set
-
-#
-# Misc commands
-#
-# CONFIG_CMD_2048 is not set
-# CONFIG_CMD_BMP is not set
-# CONFIG_CMD_BSP is not set
-CONFIG_CMD_BLOCK_CACHE=y
-# CONFIG_CMD_CACHE is not set
-# CONFIG_CMD_CONITRACE is not set
-CONFIG_CMD_CLS=y
-# CONFIG_CMD_EFIDEBUG is not set
-CONFIG_CMD_EFICONFIG=y
-# CONFIG_CMD_EXCEPTION is not set
-# CONFIG_CMD_INI is not set
-CONFIG_CMD_DATE=y
-# CONFIG_CMD_RTC is not set
-# CONFIG_CMD_TIME is not set
-# CONFIG_CMD_GETTIME is not set
-# CONFIG_CMD_PAUSE is not set
-# CONFIG_CMD_RNG is not set
-# CONFIG_CMD_KASLRSEED is not set
-CONFIG_CMD_SLEEP=y
-# CONFIG_CMD_TIMER is not set
-# CONFIG_CMD_SYSBOOT is not set
-CONFIG_CMD_QFW=y
-# CONFIG_CMD_PSTORE is not set
-# CONFIG_CMD_TERMINAL is not set
-# CONFIG_CMD_UUID is not set
-CONFIG_CMD_VIDCONSOLE=y
-# CONFIG_CMD_SELECT_FONT is not set
-
-#
-# TI specific command line interface
-#
-
-#
-# Power commands
-#
-
-#
-# Security commands
-#
-# CONFIG_CMD_AES is not set
-# CONFIG_CMD_BLOB is not set
-# CONFIG_CMD_HASH is not set
-# CONFIG_CMD_HVC is not set
-# CONFIG_CMD_SMC is not set
-CONFIG_CMD_TPM_V1=y
-CONFIG_CMD_TPM_V2=y
-CONFIG_CMD_TPM=y
-# CONFIG_CMD_TPM_TEST is not set
-
-#
-# Firmware commands
-#
-
-#
-# Filesystem commands
-#
-# CONFIG_CMD_BTRFS is not set
-# CONFIG_CMD_EROFS is not set
-CONFIG_CMD_EXT2=y
-CONFIG_CMD_EXT4=y
-# CONFIG_CMD_EXT4_WRITE is not set
-CONFIG_CMD_FAT=y
-# CONFIG_CMD_SQUASHFS is not set
-CONFIG_CMD_FS_GENERIC=y
-# CONFIG_CMD_FS_UUID is not set
-# CONFIG_CMD_JFFS2 is not set
-CONFIG_CMD_MTDPARTS=y
-# CONFIG_CMD_MTDPARTS_SPREAD is not set
-# CONFIG_CMD_MTDPARTS_SHOW_NET_SIZES is not set
-# CONFIG_CMD_ZFS is not set
-
-#
-# Debug commands
-#
-# CONFIG_CMD_DIAG is not set
-# CONFIG_CMD_EVENT is not set
-# CONFIG_CMD_LOG is not set
-# CONFIG_CMD_UBI is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITIONS=y
-# CONFIG_MAC_PARTITION is not set
-CONFIG_DOS_PARTITION=y
-CONFIG_ISO_PARTITION=y
-# CONFIG_AMIGA_PARTITION is not set
-CONFIG_EFI_PARTITION=y
-CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128
-CONFIG_EFI_PARTITION_ENTRIES_OFF=0
-CONFIG_PARTITION_UUIDS=y
-# CONFIG_PARTITION_TYPE_GUID is not set
-CONFIG_SUPPORT_OF_CONTROL=y
-
-#
-# Device Tree Control
-#
-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
-CONFIG_OF_HAS_PRIOR_STAGE=y
-CONFIG_OF_OMIT_DTB=y
-CONFIG_DEVICE_TREE_INCLUDES=""
-CONFIG_OF_LIST="qemu-arm64"
-# CONFIG_MULTI_DTB_FIT is not set
-CONFIG_OF_TAG_MIGRATE=y
-# CONFIG_OF_DTB_PROPS_REMOVE is not set
-
-#
-# Environment
-#
-CONFIG_ENV_SUPPORT=y
-CONFIG_SAVEENV=y
-# CONFIG_ENV_OVERWRITE is not set
-# CONFIG_OVERWRITE_ETHADDR_ONCE is not set
-CONFIG_ENV_MIN_ENTRIES=64
-CONFIG_ENV_MAX_ENTRIES=512
-CONFIG_ENV_IS_DEFAULT=y
-CONFIG_ENV_IS_NOWHERE=y
-# CONFIG_ENV_IS_IN_EEPROM is not set
-# CONFIG_ENV_IS_IN_FAT is not set
-# CONFIG_ENV_IS_IN_EXT4 is not set
-# CONFIG_ENV_IS_IN_FLASH is not set
-# CONFIG_ENV_IS_IN_NAND is not set
-# CONFIG_ENV_IS_IN_NVRAM is not set
-# CONFIG_ENV_IS_IN_ONENAND is not set
-# CONFIG_ENV_IS_IN_REMOTE is not set
-# CONFIG_SYS_REDUNDAND_ENVIRONMENT is not set
-# CONFIG_SYS_RELOC_GD_ENV_ADDR is not set
-# CONFIG_USE_DEFAULT_ENV_FILE is not set
-# CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG is not set
-# CONFIG_ENV_IMPORT_FDT is not set
-# CONFIG_ENV_APPEND is not set
-# CONFIG_ENV_WRITEABLE_LIST is not set
-# CONFIG_ENV_ACCESS_IGNORE_FORCE is not set
-# CONFIG_USE_BOOTFILE is not set
-# CONFIG_USE_ETHPRIME is not set
-# CONFIG_USE_HOSTNAME is not set
-# CONFIG_VERSION_VARIABLE is not set
-CONFIG_NET=y
-CONFIG_ARP_TIMEOUT=5000
-CONFIG_NET_RETRY_COUNT=5
-# CONFIG_PROT_UDP is not set
-CONFIG_BOOTDEV_ETH=y
-# CONFIG_BOOTP_SEND_HOSTNAME is not set
-# CONFIG_NET_RANDOM_ETHADDR is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_IP_DEFRAG is not set
-# CONFIG_SYS_FAULT_ECHO_LINK_DOWN is not set
-CONFIG_TFTP_BLOCKSIZE=1468
-# CONFIG_TFTP_PORT is not set
-CONFIG_TFTP_WINDOWSIZE=1
-# CONFIG_TFTP_TSIZE is not set
-# CONFIG_SERVERIP_FROM_PROXYDHCP is not set
-CONFIG_SERVERIP_FROM_PROXYDHCP_DELAY_MS=100
-# CONFIG_KEEP_SERVERADDR is not set
-# CONFIG_UDP_CHECKSUM is not set
-# CONFIG_BOOTP_SERVERIP is not set
-CONFIG_BOOTP_MAX_ROOT_PATH_LEN=64
-# CONFIG_USE_GATEWAYIP is not set
-# CONFIG_USE_IPADDR is not set
-# CONFIG_USE_NETMASK is not set
-# CONFIG_USE_ROOTPATH is not set
-# CONFIG_USE_SERVERIP is not set
-# CONFIG_PROT_TCP is not set
-# CONFIG_IPV6 is not set
-CONFIG_SYS_RX_ETH_BUFFER=4
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_DM=y
-# CONFIG_DM_WARN is not set
-# CONFIG_DM_DEBUG is not set
-# CONFIG_DM_STATS is not set
-CONFIG_DM_DEVICE_REMOVE=y
-CONFIG_DM_EVENT=y
-CONFIG_DM_STDIO=y
-CONFIG_DM_SEQ_ALIAS=y
-# CONFIG_DM_DMA is not set
-# CONFIG_REGMAP is not set
-# CONFIG_DEVRES is not set
-CONFIG_SIMPLE_BUS=y
-# CONFIG_SIMPLE_BUS_CORRECT_RANGE is not set
-CONFIG_OF_TRANSLATE=y
-# CONFIG_TRANSLATION_OFFSET is not set
-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_SATA is not set
-CONFIG_LIBATA=y
-CONFIG_SCSI_AHCI=y
-
-#
-# SATA/SCSI device support
-#
-CONFIG_AHCI_PCI=y
-# CONFIG_DWC_AHCI is not set
-# CONFIG_DWC_AHSATA is not set
-# CONFIG_MTK_AHCI is not set
-# CONFIG_SUNXI_AHCI is not set
-# CONFIG_AXI is not set
-
-#
-# Bus devices
-#
-CONFIG_BLK=y
-CONFIG_BLOCK_CACHE=y
-# CONFIG_BLKMAP is not set
-# CONFIG_EFI_MEDIA is not set
-# 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
-
-#
-# Button Support
-#
-# CONFIG_BUTTON is not set
-
-#
-# Cache Controller drivers
-#
-# CONFIG_CACHE is not set
-# CONFIG_L2X0_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
-#
-# CONFIG_CLK is not set
-# CONFIG_CLK_CCF is not set
-# CONFIG_CLK_RCAR is not set
-# CONFIG_CLK_RCAR_CPG_LIB is not set
-# CONFIG_CPU is not set
-
-#
-# Hardware crypto devices
-#
-# CONFIG_DM_HASH is not set
-# CONFIG_FSL_CAAM is not set
-CONFIG_CAAM_64BIT=y
-# CONFIG_SYS_FSL_SEC_BE is not set
-# CONFIG_SYS_FSL_SEC_LE is not set
-# CONFIG_FSL_DCP_RNG is not set
-# CONFIG_NPCM_AES is not set
-# CONFIG_NPCM_SHA is not set
-# CONFIG_DDR_SPD is not set
-# CONFIG_IMX_SNPS_DDR_PHY is not set
-
-#
-# Demo for driver model
-#
-# CONFIG_DM_DEMO is not set
-
-#
-# DFU support
-#
-CONFIG_DFU=y
-CONFIG_DFU_OVER_TFTP=y
-CONFIG_DFU_WRITE_ALT=y
-CONFIG_DFU_TFTP=y
-# CONFIG_DFU_TIMEOUT is not set
-CONFIG_DFU_MTD=y
-CONFIG_DFU_RAM=y
-# 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
-#
-# CONFIG_DMA is not set
-# CONFIG_DMA_LPC32XX is not set
-# CONFIG_TI_EDMA3 is not set
-# CONFIG_DMA_LEGACY is not set
-
-#
-# Extcon Support
-#
-# CONFIG_EXTCON is not set
-
-#
-# Fastboot support
-#
-# CONFIG_UDP_FUNCTION_FASTBOOT is not set
-# CONFIG_TCP_FUNCTION_FASTBOOT is not set
-CONFIG_FIRMWARE=y
-CONFIG_ARM_PSCI_FW=y
-# CONFIG_ZYNQMP_FIRMWARE is not set
-# CONFIG_ARM_SMCCC_FEATURES is not set
-# CONFIG_ARM_FFA_TRANSPORT is not set
-# CONFIG_SCMI_FIRMWARE is not set
-# CONFIG_DM_FUZZING_ENGINE is not set
-
-#
-# FPGA support
-#
-# CONFIG_FPGA_ALTERA is not set
-# CONFIG_FPGA_SOCFPGA is not set
-# CONFIG_FPGA_LATTICE is not set
-# CONFIG_FPGA_XILINX is not set
-# CONFIG_DM_FPGA is not set
-# CONFIG_FWU_MDATA is not set
-CONFIG_GPIO=y
-# CONFIG_AT91_GPIO is not set
-# CONFIG_ASPEED_GPIO is not set
-# CONFIG_DA8XX_GPIO is not set
-# CONFIG_INTEL_BROADWELL_GPIO is not set
-# CONFIG_IMX_RGPIO2P is not set
-# CONFIG_IPROC_GPIO is not set
-# CONFIG_KIRKWOOD_GPIO is not set
-# CONFIG_LPC32XX_GPIO is not set
-# CONFIG_MCP230XX_GPIO is not set
-# CONFIG_MXC_GPIO is not set
-# CONFIG_MXS_GPIO is not set
-# CONFIG_CMD_PCA953X is not set
-# CONFIG_TCA642X is not set
-# CONFIG_VYBRID_GPIO is not set
-# CONFIG_PCA953X is not set
-
-#
-# Hardware Spinlock Support
-#
-# CONFIG_DM_HWSPINLOCK is not set
-CONFIG_I2C=y
-# CONFIG_DM_I2C is not set
-# CONFIG_SYS_I2C_LEGACY is not set
-# CONFIG_SYS_I2C_FSL is not set
-# CONFIG_SYS_I2C_DW is not set
-# CONFIG_SYS_I2C_IMX_LPI2C is not set
-# CONFIG_SYS_I2C_MTK is not set
-# CONFIG_SYS_I2C_MICROCHIP is not set
-# CONFIG_SYS_I2C_MXC is not set
-# CONFIG_SYS_I2C_NPCM is not set
-# CONFIG_SYS_I2C_SOFT is not set
-# CONFIG_SYS_I2C_MV is not set
-# CONFIG_SYS_I2C_MVTWSI is not set
-CONFIG_INPUT=y
-CONFIG_DM_KEYBOARD=y
-# CONFIG_BUTTON_KEYBOARD is not set
-# CONFIG_CROS_EC_KEYB is not set
-# CONFIG_I8042_KEYB is not set
-# CONFIG_TEGRA_KEYBOARD is not set
-# CONFIG_TWL4030_INPUT is not set
-
-#
-# IOMMU device drivers
-#
-# CONFIG_IOMMU is not set
-
-#
-# LED Support
-#
-# CONFIG_LED is not set
-# CONFIG_LED_STATUS is not set
-
-#
-# Mailbox Controller Support
-#
-# CONFIG_DM_MAILBOX is not set
-
-#
-# Memory Controller drivers
-#
-# CONFIG_MEMORY is not set
-# CONFIG_ATMEL_EBI is not set
-# CONFIG_MFD_ATMEL_SMC is not set
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MISC is not set
-# CONFIG_NVMEM is not set
-# CONFIG_SPL_NVMEM is not set
-# CONFIG_SMSC_LPC47M is not set
-# CONFIG_SMSC_SIO1007 is not set
-# CONFIG_CROS_EC is not set
-# CONFIG_DS4510 is not set
-# CONFIG_FSL_SEC_MON is not set
-# CONFIG_IRQ is not set
-# CONFIG_NUVOTON_NCT6102D is not set
-# CONFIG_PWRSEQ is not set
-# CONFIG_PCA9551_LED is not set
-# CONFIG_TEST_DRV is not set
-# CONFIG_USB_HUB_USB251XB is not set
-# CONFIG_TWL4030_LED is not set
-# CONFIG_WINBOND_W83627 is not set
-CONFIG_QFW=y
-CONFIG_QFW_MMIO=y
-CONFIG_QFW_SMBIOS=y
-# CONFIG_FS_LOADER is not set
-
-#
-# MMC Host controller Support
-#
-# CONFIG_MMC is not set
-# CONFIG_MMC_BROKEN_CD is not set
-# CONFIG_DM_MMC is not set
-# CONFIG_FSL_ESDHC is not set
-# CONFIG_FSL_ESDHC_IMX is not set
-
-#
-# MTD Support
-#
-CONFIG_MTD_PARTITIONS=y
-CONFIG_MTD=y
-CONFIG_DM_MTD=y
-CONFIG_MTD_NOR_FLASH=y
-# CONFIG_MTD_CONCAT is not set
-CONFIG_SYS_MTDPARTS_RUNTIME=y
-CONFIG_FLASH_CFI_DRIVER=y
-CONFIG_SYS_FLASH_CFI_WIDTH_8BIT=y
-# CONFIG_SYS_FLASH_CFI_WIDTH_16BIT is not set
-# CONFIG_SYS_FLASH_CFI_WIDTH_32BIT is not set
-# CONFIG_SYS_FLASH_CFI_WIDTH_64BIT is not set
-CONFIG_SYS_FLASH_CFI_WIDTH=0x1
-CONFIG_FLASH_SHOW_PROGRESS=0
-CONFIG_CFI_FLASH=y
-CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y
-# CONFIG_SYS_CFI_FLASH_STATUS_POLL is not set
-CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
-# CONFIG_SYS_FLASH_EMPTY_INFO is not set
-# CONFIG_FLASH_SPANSION_S29WS_N is not set
-CONFIG_FLASH_CFI_MTD=y
-# CONFIG_SYS_FLASH_PROTECTION is not set
-CONFIG_SYS_FLASH_CFI=y
-# CONFIG_SYS_FLASH_QUIET_TEST is not set
-# CONFIG_SYS_FLASH_CHECKSUM is not set
-# CONFIG_FLASH_VERIFY is not set
-# CONFIG_ALTERA_QSPI is not set
-CONFIG_SYS_MAX_FLASH_SECT=256
-# CONFIG_SAMSUNG_ONENAND is not set
-CONFIG_USE_SYS_MAX_FLASH_BANKS=y
-CONFIG_SYS_MAX_FLASH_BANKS=2
-CONFIG_SYS_MAX_FLASH_BANKS_DETECT=y
-# CONFIG_MTD_RAW_NAND is not set
-
-#
-# SPI Flash Support
-#
-# CONFIG_SPI_FLASH is not set
-
-#
-# UBI support
-#
-# CONFIG_UBI_SILENCE_MSG is not set
-# CONFIG_MTD_UBI is not set
-# CONFIG_NVMXIP is not set
-# CONFIG_NVMXIP_QSPI is not set
-
-#
-# Multiplexer drivers
-#
-# CONFIG_MULTIPLEXER is not set
-# CONFIG_BITBANGMII is not set
-# CONFIG_MV88E6352_SWITCH is not set
-# CONFIG_PHYLIB is not set
-# CONFIG_FSL_MEMAC is not set
-CONFIG_PHY_RESET_DELAY=0
-# CONFIG_FSL_PFE is not set
-CONFIG_ETH=y
-CONFIG_DM_ETH=y
-# CONFIG_DM_ETH_PHY is not set
-CONFIG_NETDEVICES=y
-# CONFIG_PHY_GIGE is not set
-# CONFIG_ALTERA_TSE is not set
-# CONFIG_BCM_SF2_ETH is not set
-# CONFIG_BCMGENET is not set
-# CONFIG_BNXT_ETH is not set
-# CONFIG_CALXEDA_XGMAC is not set
-# CONFIG_DRIVER_DM9000 is not set
-# CONFIG_DWC_ETH_QOS is not set
-CONFIG_E1000=y
-# CONFIG_E1000_NO_NVM is not set
-# CONFIG_E1000_SPI_GENERIC is not set
-# CONFIG_E1000_SPI is not set
-# CONFIG_CMD_E1000 is not set
-# CONFIG_EEPRO100 is not set
-# CONFIG_ETH_DESIGNWARE is not set
-# CONFIG_ETH_DESIGNWARE_MESON8B is not set
-# CONFIG_ETHOC is not set
-# CONFIG_FMAN_ENET is not set
-# CONFIG_FTMAC100 is not set
-# CONFIG_FTGMAC100 is not set
-# CONFIG_MCFFEC is not set
-# CONFIG_KS8851_MLL is not set
-# CONFIG_LITEETH is not set
-# CONFIG_MACB is not set
-# CONFIG_NET_NPCM750 is not set
-# CONFIG_PCH_GBE is not set
-# CONFIG_RGMII is not set
-# CONFIG_MII is not set
-# CONFIG_RMII is not set
-# CONFIG_PCNET is not set
-# CONFIG_QE_UEC is not set
-# CONFIG_RTL8139 is not set
-# CONFIG_RTL8169 is not set
-# CONFIG_SMC911X is not set
-# CONFIG_SUN7I_GMAC is not set
-# CONFIG_SUN4I_EMAC is not set
-# CONFIG_SUN8I_EMAC is not set
-# CONFIG_SH_ETHER is not set
-# CONFIG_DRIVER_TI_CPSW is not set
-# CONFIG_DRIVER_TI_EMAC is not set
-# CONFIG_DRIVER_TI_KEYSTONE_NET is not set
-# CONFIG_TULIP is not set
-# CONFIG_XILINX_AXIEMAC is not set
-# CONFIG_VSC7385_ENET is not set
-# CONFIG_XILINX_EMACLITE is not set
-# CONFIG_ZYNQ_GEM is not set
-# 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
-CONFIG_NVME_PCI=y
-# CONFIG_DM_PCI_COMPAT is not set
-CONFIG_PCI_PNP=y
-# CONFIG_PCI_REGION_MULTI_ENTRY is not set
-# CONFIG_PCI_CONFIG_HOST_BRIDGE is not set
-# CONFIG_PCI_SRIOV is not set
-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
-# CONFIG_PCI_XILINX is not set
-# CONFIG_PCIE_LAYERSCAPE_RC is not set
-# CONFIG_PCIE_LAYERSCAPE_EP is not set
-# CONFIG_PCIE_LAYERSCAPE_GEN4 is not set
-# CONFIG_PCIE_INTEL_FPGA is not set
-# CONFIG_PCIE_IPROC is not set
-# CONFIG_PCI_KEYSTONE is not set
-# CONFIG_PCIE_STARFIVE_JH7110 is not set
-
-#
-# PCI Endpoint
-#
-# CONFIG_PCI_ENDPOINT is not set
-# CONFIG_X86_PCH7 is not set
-# CONFIG_X86_PCH9 is not set
-
-#
-# PHY Subsystem
-#
-# CONFIG_PHY is not set
-# CONFIG_MIPI_DPHY_HELPERS is not set
-
-#
-# Rockchip PHY driver
-#
-# CONFIG_MVEBU_COMPHY_SUPPORT is not set
-
-#
-# 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
-
-#
-# Power Domain Support
-#
-# CONFIG_POWER_DOMAIN is not set
-# CONFIG_DM_PMIC is not set
-# CONFIG_PMIC_TPS65217 is not set
-# CONFIG_POWER_TPS65218 is not set
-# CONFIG_POWER_TPS62362 is not set
-# CONFIG_DM_REGULATOR is not set
-# CONFIG_TPS6586X_POWER is not set
-# CONFIG_POWER_MT6323 is not set
-# CONFIG_DM_PWM is not set
-# CONFIG_PWM_IMX is not set
-# CONFIG_PWM_SANDBOX is not set
-# CONFIG_U_QE is not set
-# CONFIG_RAM is not set
-
-#
-# Reboot Mode Support
-#
-# CONFIG_DM_REBOOT_MODE is not set
-
-#
-# Remote Processor drivers
-#
-CONFIG_REMOTEPROC_MAX_FW_SIZE=0x10000
-
-#
-# Reset Controller Support
-#
-# CONFIG_RESET_SCMI is not set
-CONFIG_DM_RNG=y
-# CONFIG_RNG_MSM is not set
-# 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
-
-#
-# Real Time Clock
-#
-CONFIG_DM_RTC=y
-# CONFIG_RTC_ENABLE_32KHZ_OUTPUT is not set
-# CONFIG_RTC_PCF2127 is not set
-# CONFIG_RTC_DS1307 is not set
-# CONFIG_RTC_DS1337 is not set
-# 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
-# CONFIG_RTC_RV3028 is not set
-# CONFIG_RTC_RV3029 is not set
-# CONFIG_RTC_RV8803 is not set
-# CONFIG_RTC_RX8010SJ is not set
-# CONFIG_RTC_RX8025 is not set
-CONFIG_RTC_PL031=y
-# CONFIG_RTC_MV is not set
-# CONFIG_RTC_S35392A is not set
-# CONFIG_RTC_MC146818 is not set
-# CONFIG_RTC_M41T62 is not set
-# CONFIG_RTC_STM32 is not set
-# CONFIG_RTC_ABX80X is not set
-CONFIG_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
-CONFIG_DM_SERIAL=y
-# CONFIG_SERIAL_RX_BUFFER is not set
-# CONFIG_SERIAL_PUTS is not set
-# CONFIG_SERIAL_SEARCH_ALL is not set
-# CONFIG_SERIAL_PROBE_ALL is not set
-# CONFIG_VPL_DM_SERIAL is not set
-# CONFIG_DEBUG_UART_PL010 is not set
-CONFIG_DEBUG_UART_PL011=y
-CONFIG_DEBUG_UART_SHIFT=2
-# CONFIG_DEBUG_UART_ANNOUNCE is not set
-# CONFIG_DEBUG_UART_SKIP_INIT is not set
-# CONFIG_ALTERA_JTAG_UART is not set
-# CONFIG_ALTERA_UART is not set
-# CONFIG_ARC_SERIAL is not set
-# CONFIG_ARM_DCC is not set
-# CONFIG_ATMEL_USART is not set
-# CONFIG_BCM6345_SERIAL is not set
-# CONFIG_COREBOOT_SERIAL is not set
-# CONFIG_CORTINA_UART is not set
-# CONFIG_FSL_LINFLEXUART is not set
-# CONFIG_FSL_LPUART is not set
-# CONFIG_MVEBU_A3700_UART is not set
-# CONFIG_MCFUART is not set
-# CONFIG_NULLDEV_SERIAL is not set
-# 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
-
-#
-# Sound support
-#
-# CONFIG_SOUND is not set
-# CONFIG_SOUND_MAX98357A is not set
-
-#
-# 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
-
-#
-# SPMI support
-#
-# CONFIG_SPMI is not set
-# CONFIG_SYSINFO is not set
-
-#
-# System reset device drivers
-#
-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
-# CONFIG_SYSRESET_RESETCTL is not set
-# CONFIG_SYSRESET_MPC83XX is not set
-# CONFIG_TEE is not set
-# CONFIG_DM_THERMAL is not set
-
-#
-# Timer Support
-#
-# CONFIG_TIMER is not set
-
-#
-# TPM support
-#
-CONFIG_TPM_V1=y
-# CONFIG_TPM_ATMEL_TWI is not set
-# CONFIG_TPM_AUTH_SESSIONS is not set
-# CONFIG_TPM_FLUSH_RESOURCES is not set
-# CONFIG_TPM_LOAD_KEY_BY_SHA1 is not set
-# CONFIG_TPM_LIST_RESOURCES is not set
-CONFIG_TPM_V2=y
-CONFIG_TPM2_MMIO=y
-CONFIG_USB=y
-CONFIG_DM_USB=y
-# CONFIG_DM_USB_GADGET is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_HOST=y
-CONFIG_USB_XHCI_HCD=y
-# CONFIG_USB_XHCI_DWC3 is not set
-# CONFIG_USB_XHCI_DWC3_OF_SIMPLE is not set
-CONFIG_USB_XHCI_PCI=y
-# CONFIG_USB_XHCI_FSL is not set
-# CONFIG_USB_XHCI_BRCM is not set
-CONFIG_USB_EHCI_HCD=y
-# CONFIG_USB_EHCI_MSM is not set
-CONFIG_USB_EHCI_PCI=y
-# CONFIG_USB_EHCI_ZYNQ is not set
-# CONFIG_USB_EHCI_GENERIC is not set
-# CONFIG_USB_EHCI_FSL is not set
-# CONFIG_USB_OHCI_HCD is not set
-# CONFIG_USB_UHCI_HCD is not set
-# CONFIG_USB_DWC2 is not set
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_ISP1760 is not set
-# CONFIG_USB_CDNS3 is not set
-# CONFIG_USB_DWC3 is not set
-
-#
-# Legacy MUSB Support
-#
-# CONFIG_USB_MUSB_HCD is not set
-# CONFIG_USB_MUSB_UDC is not set
-
-#
-# MUSB Controller Driver
-#
-# CONFIG_USB_MUSB_HOST is not set
-# CONFIG_USB_MUSB_PIO_ONLY is not set
-
-#
-# USB Phy
-#
-# CONFIG_TWL4030_USB is not set
-# CONFIG_ROCKCHIP_USB2_PHY is not set
-
-#
-# ULPI drivers
-#
-
-#
-# USB peripherals
-#
-CONFIG_USB_STORAGE=y
-CONFIG_USB_KEYBOARD=y
-# CONFIG_USB_ONBOARD_HUB is not set
-CONFIG_USB_HUB_DEBOUNCE_TIMEOUT=1000
-CONFIG_USB_KEYBOARD_FN_KEYS=y
-CONFIG_SYS_USB_EVENT_POLL=y
-# CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE is not set
-# CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP is not set
-# CONFIG_USB_HOST_ETHER is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_SPL_USB_GADGET is not set
-
-#
-# UFS Host Controller Support
-#
-# CONFIG_UFS is not set
-# CONFIG_TI_J721E_UFS is not set
-
-#
-# Graphics support
-#
-CONFIG_VIDEO=y
-# CONFIG_VIDEO_FONT_4X6 is not set
-CONFIG_VIDEO_FONT_8X16=y
-# CONFIG_VIDEO_FONT_SUN12X22 is not set
-# CONFIG_VIDEO_FONT_16X32 is not set
-CONFIG_VIDEO_LOGO=y
-CONFIG_BACKLIGHT=y
-CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE=0x800000
-# CONFIG_VIDEO_COPY is not set
-# CONFIG_VIDEO_DAMAGE is not set
-# CONFIG_BACKLIGHT_GPIO is not set
-CONFIG_VIDEO_BPP8=y
-CONFIG_VIDEO_BPP16=y
-CONFIG_VIDEO_BPP32=y
-CONFIG_VIDEO_ANSI=y
-# CONFIG_VIDEO_MIPI_DSI is not set
-CONFIG_CONSOLE_NORMAL=y
-# CONFIG_CONSOLE_ROTATION is not set
-# CONFIG_CONSOLE_TRUETYPE is not set
-CONFIG_SYS_WHITE_ON_BLACK=y
-# CONFIG_NO_FB_CLEAR is not set
-CONFIG_PANEL=y
-# CONFIG_PANEL_HX8238D is not set
-
-#
-# TrueType Fonts
-#
-# CONFIG_VIDCONSOLE_AS_LCD is not set
-CONFIG_VIDEO_BOCHS=y
-CONFIG_VIDEO_BOCHS_SIZE_X=1280
-CONFIG_VIDEO_BOCHS_SIZE_Y=1024
-# CONFIG_VIDEO_VESA is not set
-# CONFIG_VIDEO_LCD_ANX9804 is not set
-# CONFIG_ATMEL_LCD_BGR555 is not set
-# CONFIG_VIDEO_BCM2835 is not set
-# 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
-# CONFIG_VIDEO_MESON is not set
-# CONFIG_VIDEO_MVEBU is not set
-# CONFIG_I2C_EDID is not set
-# CONFIG_DISPLAY is not set
-# CONFIG_ATMEL_HLCD is not set
-# CONFIG_BACKLIGHT_LM3533 is not set
-# CONFIG_AM335X_LCD is not set
-# CONFIG_VIDEO_EXYNOS is not set
-# CONFIG_VIDEO_ROCKCHIP is not set
-# CONFIG_VIDEO_ARM_MALIDP is not set
-# CONFIG_VIDEO_STM32 is not set
-# CONFIG_VIDEO_TIDSS is not set
-# CONFIG_VIDEO_TEGRA124 is not set
-# CONFIG_VIDEO_BRIDGE is not set
-# CONFIG_VIDEO_TEGRA20 is not set
-# CONFIG_TEGRA_BACKLIGHT_PWM is not set
-# CONFIG_VIDEO_MXS is not set
-CONFIG_CONSOLE_SCROLL_LINES=1
-# CONFIG_VIDEO_SIMPLE is not set
-# CONFIG_VIDEO_DT_SIMPLEFB is not set
-# CONFIG_VIDEO_MCDE_SIMPLE is not set
-# 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
-# CONFIG_BMP_24BPP is not set
-# CONFIG_BMP_32BPP is not set
-
-#
-# VirtIO Drivers
-#
-CONFIG_VIRTIO=y
-CONFIG_VIRTIO_MMIO=y
-CONFIG_VIRTIO_PCI=y
-CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_NET=y
-CONFIG_VIRTIO_BLK=y
-CONFIG_VIRTIO_RNG=y
-
-#
-# 1-Wire support
-#
-# CONFIG_W1 is not set
-
-#
-# 1-wire EEPROM support
-#
-# CONFIG_W1_EEPROM is not set
-
-#
-# Watchdog Timer Support
-#
-# CONFIG_WATCHDOG is not set
-CONFIG_WATCHDOG_TIMEOUT_MSECS=60000
-# CONFIG_IMX_WATCHDOG is not set
-# CONFIG_ULP_WATCHDOG is not set
-# CONFIG_WDT is not set
-# CONFIG_PHYS_TO_BUS is not set
-
-#
-# File systems
-#
-# CONFIG_FS_BTRFS is not set
-# CONFIG_FS_CBFS is not set
-CONFIG_FS_EXT4=y
-# CONFIG_EXT4_WRITE is not set
-CONFIG_FS_FAT=y
-CONFIG_FAT_WRITE=y
-CONFIG_FS_FAT_MAX_CLUSTSIZE=65536
-# CONFIG_FS_JFFS2 is not set
-# CONFIG_UBIFS_SILENCE_MSG is not set
-# CONFIG_UBIFS_SILENCE_DEBUG_DUMP is not set
-# CONFIG_FS_CRAMFS is not set
-# CONFIG_YAFFS2 is not set
-# CONFIG_FS_SQUASHFS is not set
-# CONFIG_FS_EROFS is not set
-
-#
-# Library routines
-#
-# CONFIG_ADDR_MAP is not set
-# CONFIG_SYS_TIMER_COUNTS_DOWN is not set
-# CONFIG_PHYSMEM is not set
-# CONFIG_BCH is not set
-# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set
-CONFIG_CHARSET=y
-# CONFIG_DYNAMIC_CRC_TABLE is not set
-CONFIG_LIB_UUID=y
-# CONFIG_RANDOM_UUID is not set
-CONFIG_SEMIHOSTING=y
-CONFIG_SEMIHOSTING_FALLBACK=y
-CONFIG_PRINTF=y
-CONFIG_SPRINTF=y
-CONFIG_STRTO=y
-CONFIG_SYS_HZ=1000
-# CONFIG_PANIC_HANG is not set
-CONFIG_REGEX=y
-CONFIG_LIB_RAND=y
-# CONFIG_LIB_HW_RAND is not set
-CONFIG_SUPPORT_ACPI=y
-# CONFIG_ACPI is not set
-# CONFIG_BITREVERSE is not set
-# CONFIG_TRACE is not set
-# CONFIG_CIRCBUF is not set
-# CONFIG_CMD_DHRYSTONE is not set
-
-#
-# Security support
-#
-# CONFIG_AES is not set
-# CONFIG_ECDSA is not set
-CONFIG_RSA=y
-CONFIG_RSA_VERIFY=y
-# CONFIG_RSA_VERIFY_WITH_PKEY is not set
-CONFIG_RSA_SOFTWARE_EXP=y
-# CONFIG_ASYMMETRIC_KEY_TYPE is not set
-CONFIG_TPM=y
-
-#
-# Android Verified Boot
-#
-
-#
-# Hashing Support
-#
-# CONFIG_BLAKE2 is not set
-CONFIG_SHA1=y
-CONFIG_SHA256=y
-CONFIG_SHA512=y
-CONFIG_SHA384=y
-# CONFIG_SHA_HW_ACCEL is not set
-CONFIG_MD5=y
-CONFIG_CRC8=y
-CONFIG_CRC32=y
-
-#
-# Compression Support
-#
-CONFIG_LZ4=y
-CONFIG_LZMA=y
-# CONFIG_LZO is not set
-CONFIG_GZIP=y
-# CONFIG_ZLIB_UNCOMPRESS is not set
-# CONFIG_BZIP2 is not set
-CONFIG_ZLIB=y
-# CONFIG_ZSTD is not set
-CONFIG_VPL_LZMA=y
-# CONFIG_SPL_GZIP is not set
-# CONFIG_ERRNO_STR is not set
-CONFIG_HEXDUMP=y
-# CONFIG_GETOPT is not set
-CONFIG_OF_LIBFDT=y
-CONFIG_OF_LIBFDT_ASSUME_MASK=0x0
-CONFIG_SYS_FDT_PAD=0x3000
-
-#
-# 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_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=131072
-CONFIG_EFI_GET_TIME=y
-CONFIG_EFI_SET_TIME=y
-# 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
-CONFIG_EFI_CAPSULE_MAX=15
-CONFIG_EFI_DEVICE_PATH_TO_TEXT=y
-CONFIG_EFI_DEVICE_PATH_UTIL=y
-CONFIG_EFI_DT_FIXUP=y
-CONFIG_EFI_LOADER_HII=y
-CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y
-CONFIG_EFI_UNICODE_CAPITALIZATION=y
-# CONFIG_EFI_LOADER_BOUNCE_BUFFER is not set
-CONFIG_EFI_PLATFORM_LANG_CODES="en-US"
-CONFIG_EFI_HAVE_RUNTIME_RESET=y
-CONFIG_EFI_RNG_PROTOCOL=y
-CONFIG_EFI_TCG2_PROTOCOL=y
-CONFIG_EFI_TCG2_PROTOCOL_EVENTLOG_SIZE=65536
-# CONFIG_EFI_TCG2_PROTOCOL_MEASURE_DTB is not set
-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
-# CONFIG_TEST_FDTDEC is not set
-CONFIG_LIB_DATE=y
-CONFIG_LIB_ELF=y
-CONFIG_LMB=y
-CONFIG_LMB_USE_MAX_REGIONS=y
-CONFIG_LMB_MAX_REGIONS=16
-# CONFIG_PHANDLE_CHECK_SEQ is not set
-
-#
-# Testing
-#
-# CONFIG_UNIT_TEST is not set
-# CONFIG_POST is not set
-
-#
-# Tools options
-#
-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
-CONFIG_TOOLS_FIT_RSASSA_PSS=y
-CONFIG_TOOLS_FIT_SIGNATURE=y
-CONFIG_TOOLS_FIT_SIGNATURE_MAX_SIZE=0x10000000
-CONFIG_TOOLS_FIT_VERBOSE=y
-CONFIG_TOOLS_MD5=y
-CONFIG_TOOLS_OF_LIBFDT=y
-CONFIG_TOOLS_SHA1=y
-CONFIG_TOOLS_SHA256=y
-CONFIG_TOOLS_SHA384=y
-CONFIG_TOOLS_SHA512=y
-# CONFIG_TOOLS_MKEFICAPSULE is not set
-# CONFIG_FSPI_CONF_HEADER is not set
-# CONFIG_TOOLS_MKFWUMDATA is not set
diff --git a/config/u-boot/qemu_arm64_12mb/target.cfg b/config/u-boot/qemu_arm64_12mb/target.cfg
deleted file mode 100644
index f7d4d7d9..00000000
--- a/config/u-boot/qemu_arm64_12mb/target.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-tree="default"
-xtree="default"
-xarch="aarch64-elf arm-eabi"