diff options
Diffstat (limited to 'config/u-boot')
31 files changed, 3075 insertions, 423 deletions
diff --git a/config/u-boot/amd64coreboot/config/default b/config/u-boot/amd64coreboot/config/default index fdd0ccf2..d44de2d3 100644 --- a/config/u-boot/amd64coreboot/config/default +++ b/config/u-boot/amd64coreboot/config/default @@ -500,6 +500,7 @@ CONFIG_CMD_BOOTM=y CONFIG_CMD_BOOTDEV=y CONFIG_CMD_BOOTFLOW=y CONFIG_CMD_BOOTFLOW_FULL=y +CONFIG_CMD_BOOTFLOW_BOOTDELAY=8 CONFIG_CMD_BOOTMETH=y CONFIG_BOOTM_EFI=y CONFIG_BOOTM_ELF=y diff --git a/config/u-boot/amd64coreboot/target.cfg b/config/u-boot/amd64coreboot/target.cfg index 80e024ea..8b89408e 100644 --- a/config/u-boot/amd64coreboot/target.cfg +++ b/config/u-boot/amd64coreboot/target.cfg @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + tree="x86_64" # test building with x86_64 hostcc by commenting these: # xtree="default" # coreboot tree containing crossgcc diff --git a/config/u-boot/default/patches/0001-clk-rockchip-rk3399-Set-hardcoded-clock-rates-same-a.patch b/config/u-boot/default/patches/0001-clk-rockchip-rk3399-Set-hardcoded-clock-rates-same-a.patch index 32647ed0..8227b076 100644 --- a/config/u-boot/default/patches/0001-clk-rockchip-rk3399-Set-hardcoded-clock-rates-same-a.patch +++ b/config/u-boot/default/patches/0001-clk-rockchip-rk3399-Set-hardcoded-clock-rates-same-a.patch @@ -1,4 +1,4 @@ -From bc5204d0d28bb431186fd106f9a79f69bfad005d Mon Sep 17 00:00:00 2001 +From ee94f55d37fc8c133faa5055184f75f99830cfdc Mon Sep 17 00:00:00 2001 From: Alper Nebi Yasak <alpernebiyasak@gmail.com> Date: Fri, 8 Oct 2021 17:33:22 +0300 Subject: [PATCH] clk: rockchip: rk3399: Set hardcoded clock rates same as @@ -60,7 +60,7 @@ index d941a129f3e5..54035c0df1f3 100644 #define PWM_CLOCK_HZ PMU_PCLK_HZ diff --git a/drivers/clk/rockchip/clk_rk3399.c b/drivers/clk/rockchip/clk_rk3399.c -index 24cefebd1b2a..6f874bd347e0 100644 +index 6e87db18be07..1b8ffe9e794e 100644 --- a/drivers/clk/rockchip/clk_rk3399.c +++ b/drivers/clk/rockchip/clk_rk3399.c @@ -53,10 +53,11 @@ struct pll_div { @@ -72,7 +72,7 @@ index 24cefebd1b2a..6f874bd347e0 100644 +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) + #if !defined(CONFIG_XPL_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 @@ -96,5 +96,5 @@ index 24cefebd1b2a..6f874bd347e0 100644 /* configure perihp aclk, hclk, pclk */ aclk_div = GPLL_HZ / PERIHP_ACLK_HZ - 1; -- -2.45.2 +2.49.0 diff --git a/config/u-boot/default/patches/0002-video-improve-UEFI-experience-on-DM_VIDEO.patch b/config/u-boot/default/patches/0002-video-improve-UEFI-experience-on-DM_VIDEO.patch index bb264b00..e2de311c 100644 --- a/config/u-boot/default/patches/0002-video-improve-UEFI-experience-on-DM_VIDEO.patch +++ b/config/u-boot/default/patches/0002-video-improve-UEFI-experience-on-DM_VIDEO.patch @@ -1,4 +1,4 @@ -From 03750188cbe305cd8383178a1ee476de2aa5953e Mon Sep 17 00:00:00 2001 +From 780d8ffe985441824a242e5b853721dfe14435dd 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 @@ -36,7 +36,7 @@ index 939363653f6c..6b531718276f 100644 vc_priv->y_charsize = fontdata->height; if (vid_priv->rot % 2) { diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c -index 80e7adf6a1a4..8b2ef51f1b3b 100644 +index ebe96bf0c2f3..8613c464040f 100644 --- a/drivers/video/vidconsole-uclass.c +++ b/drivers/video/vidconsole-uclass.c @@ -57,6 +57,26 @@ int vidconsole_entry_start(struct udevice *dev) @@ -84,7 +84,7 @@ index 80e7adf6a1a4..8b2ef51f1b3b 100644 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) +@@ -286,6 +310,14 @@ static void vidconsole_escape_char(struct udevice *dev, char ch) break; } @@ -99,7 +99,7 @@ index 80e7adf6a1a4..8b2ef51f1b3b 100644 case 'J': { int mode; -@@ -458,6 +490,11 @@ int vidconsole_put_char(struct udevice *dev, char ch) +@@ -460,6 +492,11 @@ int vidconsole_put_char(struct udevice *dev, char ch) struct vidconsole_priv *priv = dev_get_uclass_priv(dev); int cp, ret; @@ -111,7 +111,7 @@ index 80e7adf6a1a4..8b2ef51f1b3b 100644 if (priv->escape) { vidconsole_escape_char(dev, ch); return 0; -@@ -472,6 +509,7 @@ int vidconsole_put_char(struct udevice *dev, char ch) +@@ -474,6 +511,7 @@ int vidconsole_put_char(struct udevice *dev, char ch) /* beep */ break; case '\r': @@ -119,7 +119,7 @@ index 80e7adf6a1a4..8b2ef51f1b3b 100644 priv->xcur_frac = priv->xstart_frac; break; case '\n': -@@ -479,6 +517,7 @@ int vidconsole_put_char(struct udevice *dev, char ch) +@@ -481,6 +519,7 @@ int vidconsole_put_char(struct udevice *dev, char ch) vidconsole_entry_start(dev); break; case '\t': /* Tab (8 chars alignment) */ @@ -127,7 +127,7 @@ index 80e7adf6a1a4..8b2ef51f1b3b 100644 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) +@@ -505,6 +544,8 @@ int vidconsole_put_char(struct udevice *dev, char ch) break; } @@ -136,7 +136,7 @@ index 80e7adf6a1a4..8b2ef51f1b3b 100644 return 0; } -@@ -723,6 +764,7 @@ static int vidconsole_pre_probe(struct udevice *dev) +@@ -725,6 +766,7 @@ static int vidconsole_pre_probe(struct udevice *dev) struct video_priv *vid_priv = dev_get_uclass_priv(vid); priv->xsize_frac = VID_TO_POS(vid_priv->xsize); @@ -145,10 +145,10 @@ index 80e7adf6a1a4..8b2ef51f1b3b 100644 return 0; } diff --git a/include/video_console.h b/include/video_console.h -index 8b5928dc5ebb..00c5ecb664b9 100644 +index 723d2315606d..17a9aa3f9295 100644 --- a/include/video_console.h +++ b/include/video_console.h -@@ -66,6 +66,7 @@ struct vidconsole_priv { +@@ -74,6 +74,7 @@ struct vidconsole_priv { int escape_len; int row_saved; int col_saved; @@ -157,10 +157,10 @@ index 8b5928dc5ebb..00c5ecb664b9 100644 char utf8_buf[5]; }; -- -2.45.2 +2.49.0 -From f63a54996fdaac7ff995e26fd4318a09a9c14dff Mon Sep 17 00:00:00 2001 +From b2b921d7bc69b505562cf02d1b4c6f6d4325c7d5 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 @@ -196,10 +196,10 @@ index a3023c82567c..2f8d8d323c2b 100644 ret = con_out->output_string(con_out, text); if (ret != EFI_ST_SUCCESS) { -- -2.45.2 +2.49.0 -From cc05aa26c43c35e9155d958400532005ae7eeede Mon Sep 17 00:00:00 2001 +From 082422499a5f2689e715df68bfd025a5cc15cc64 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 @@ -242,5 +242,5 @@ index 2f8d8d323c2b..02209a5bf224 100644 ret = con_out->output_string(con_out, text); if (ret != EFI_ST_SUCCESS) { -- -2.45.2 +2.49.0 diff --git a/config/u-boot/default/patches/0003-Add-video-damage-tracking.patch b/config/u-boot/default/patches/0003-Add-video-damage-tracking.patch index 07a5fe8c..18c93ab8 100644 --- a/config/u-boot/default/patches/0003-Add-video-damage-tracking.patch +++ b/config/u-boot/default/patches/0003-Add-video-damage-tracking.patch @@ -1,4 +1,4 @@ -From c3ae7d7f7af47e747f85f06662e26f434c25c891 Mon Sep 17 00:00:00 2001 +From dae1f9cafd3d2061336f5d230ebc1f236423fa0e 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 @@ -19,10 +19,10 @@ Link: https://lore.kernel.org/u-boot/20230821135111.3558478-2-alpernebiyasak@gma 1 file changed, 58 insertions(+), 11 deletions(-) diff --git a/test/dm/video.c b/test/dm/video.c -index 7dfbeb9555d1..14e6af5181f1 100644 +index e347c1403fda..01fa9e1b2415 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); +@@ -54,9 +54,6 @@ DM_TEST(dm_test_video_base, UTF_SCAN_PDATA | UTF_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. * @@ -301,10 +301,10 @@ index 7dfbeb9555d1..14e6af5181f1 100644 return 0; } -- -2.45.2 +2.49.0 -From 575ebe8b5d9ae9c9818b4deb708f8a69f9f9a9b1 Mon Sep 17 00:00:00 2001 +From 3c4f71fb10a827db53d6ed637e39afb5cc19a871 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 @@ -328,10 +328,10 @@ Link: https://lore.kernel.org/u-boot/20230821135111.3558478-3-alpernebiyasak@gma 1 file changed, 41 insertions(+), 35 deletions(-) diff --git a/test/dm/video.c b/test/dm/video.c -index 14e6af5181f1..50374cafc009 100644 +index 01fa9e1b2415..edb1b4ede8c9 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); +@@ -56,22 +56,28 @@ DM_TEST(dm_test_video_base, UTF_SCAN_PDATA | UTF_SCAN_FDT); * * @uts: Test state * @dev: Video device @@ -614,10 +614,10 @@ index 14e6af5181f1..50374cafc009 100644 return 0; -- -2.45.2 +2.49.0 -From d1fddc8cbe64a5532ddc43d0b1413ff7cc1bf618 Mon Sep 17 00:00:00 2001 +From ecd9200f2068ab8bbeda5c7b8ddc4b8d7ca6b038 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 @@ -637,13 +637,13 @@ Link: https://lore.kernel.org/u-boot/20230821135111.3558478-4-alpernebiyasak@gma 1 file changed, 54 insertions(+) diff --git a/test/dm/video.c b/test/dm/video.c -index 50374cafc009..4798f2205a99 100644 +index edb1b4ede8c9..80e65d66dbaf 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); + DM_TEST(dm_test_video_truetype_bs, UTF_SCAN_PDATA | UTF_SCAN_FDT); + +/* Test partial rendering onto hardware frame buffer */ +static int dm_test_video_copy(struct unit_test_state *uts) @@ -697,12 +697,12 @@ index 50374cafc009..4798f2205a99 100644 + + return 0; +} -+DM_TEST(dm_test_video_copy, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT); ++DM_TEST(dm_test_video_copy, UTF_SCAN_PDATA | UTF_SCAN_FDT); -- -2.45.2 +2.49.0 -From 700a7cdc62fa08f425c05db2061f06c56d96d5b6 Mon Sep 17 00:00:00 2001 +From 6ecfb63749d955fc28e6312583865c902ffb1175 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 @@ -728,7 +728,7 @@ Reviewed-by: Simon Glass <sjg@chromium.org> 3 files changed, 86 insertions(+), 2 deletions(-) diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig -index 6e79694fd192..d7da655cea62 100644 +index 3c3cebaacd02..5d67067891be 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -98,6 +98,19 @@ config VIDEO_COPY @@ -752,10 +752,10 @@ index 6e79694fd192..d7da655cea62 100644 bool "Generic PWM based Backlight Driver" depends on BACKLIGHT && DM_PWM diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c -index a5aa8dd52954..b95f2dbc7703 100644 +index ff4f21995859..da035e5c92b7 100644 --- a/drivers/video/video-uclass.c +++ b/drivers/video/video-uclass.c -@@ -352,6 +352,34 @@ void video_set_default_colors(struct udevice *dev, bool invert) +@@ -367,6 +367,34 @@ void video_set_default_colors(struct udevice *dev, bool invert) priv->colour_bg = video_index_to_colour(priv, back); } @@ -790,7 +790,7 @@ index a5aa8dd52954..b95f2dbc7703 100644 /* Flush video activity to the caches */ int video_sync(struct udevice *vid, bool force) { -@@ -385,6 +413,13 @@ int video_sync(struct udevice *vid, bool force) +@@ -400,6 +428,13 @@ int video_sync(struct udevice *vid, bool force) #endif priv->last_sync = get_timer(0); @@ -805,10 +805,10 @@ index a5aa8dd52954..b95f2dbc7703 100644 } diff --git a/include/video.h b/include/video.h -index 4013a949983f..835d7734cb75 100644 +index a1f7fd7e839c..7eed112e00c4 100644 --- a/include/video.h +++ b/include/video.h -@@ -88,6 +88,11 @@ enum video_format { +@@ -85,6 +85,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 @@ -820,7 +820,7 @@ index 4013a949983f..835d7734cb75 100644 * @line_length: Length of each frame buffer line, in bytes. This can be * set by the driver, but if not, the uclass will set it after * probing -@@ -116,6 +121,12 @@ struct video_priv { +@@ -113,6 +118,12 @@ struct video_priv { void *fb; int fb_size; void *copy_fb; @@ -877,10 +877,10 @@ index 4013a949983f..835d7734cb75 100644 * video_is_active() - Test if one video device it active * -- -2.45.2 +2.49.0 -From b84ee524454fbfebd71532532bf2e28ad97ef676 Mon Sep 17 00:00:00 2001 +From c23d99983901910dadf43f2b4d0b833a0a6d6c92 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 @@ -899,10 +899,10 @@ Link: https://lore.kernel.org/u-boot/20230821135111.3558478-6-alpernebiyasak@gma 1 file changed, 4 insertions(+) diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c -index b95f2dbc7703..6906b2b83623 100644 +index da035e5c92b7..1c07613539f2 100644 --- a/drivers/video/video-uclass.c +++ b/drivers/video/video-uclass.c -@@ -201,6 +201,8 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend, +@@ -214,6 +214,8 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend, if (ret) return ret; @@ -911,7 +911,7 @@ index b95f2dbc7703..6906b2b83623 100644 return 0; } -@@ -250,6 +252,8 @@ int video_fill(struct udevice *dev, u32 colour) +@@ -262,6 +264,8 @@ int video_fill(struct udevice *dev, u32 colour) if (ret) return ret; @@ -921,10 +921,10 @@ index b95f2dbc7703..6906b2b83623 100644 } -- -2.45.2 +2.49.0 -From b18a1ef92e2a003771a4a846c592302c1e92bd83 Mon Sep 17 00:00:00 2001 +From bc55519e74270926ee3680002c58fdeb21cd41ce 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 @@ -1112,7 +1112,7 @@ index a3f8c6352f83..f11dc3a0b075 100644 } diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c -index c435162d3f94..6a17f732fc26 100644 +index 17a29817664f..073ddcfb6950 100644 --- a/drivers/video/console_truetype.c +++ b/drivers/video/console_truetype.c @@ -190,6 +190,7 @@ struct console_tt_store { @@ -1172,10 +1172,10 @@ index c435162d3f94..6a17f732fc26 100644 if (ret) return ret; -- -2.45.2 +2.49.0 -From 991d7e646de88fd019059679f659761072412e15 Mon Sep 17 00:00:00 2001 +From e759e3ab52f4373d4f2487d857118b3f0b5998b2 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 @@ -1194,10 +1194,10 @@ Link: https://lore.kernel.org/u-boot/20230821135111.3558478-8-alpernebiyasak@gma 2 files changed, 57 insertions(+) diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig -index dc5fcdbd1c9e..5e5ad60ee057 100644 +index 861a1f4cd90e..8bf36ff325d8 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig -@@ -319,6 +319,7 @@ CONFIG_USB_ETH_CDC=y +@@ -328,6 +328,7 @@ CONFIG_USB_ETH_CDC=y CONFIG_VIDEO=y CONFIG_VIDEO_FONT_SUN12X22=y CONFIG_VIDEO_COPY=y @@ -1206,13 +1206,13 @@ index dc5fcdbd1c9e..5e5ad60ee057 100644 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 +index 80e65d66dbaf..e76fa986d359 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); + DM_TEST(dm_test_video_copy, UTF_SCAN_PDATA | UTF_SCAN_FDT); + +/* Test video damage tracking */ +static int dm_test_video_damage(struct unit_test_state *uts) @@ -1268,12 +1268,12 @@ index 4798f2205a99..119c43153165 100644 + + return 0; +} -+DM_TEST(dm_test_video_damage, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT); ++DM_TEST(dm_test_video_damage, UTF_SCAN_PDATA | UTF_SCAN_FDT); -- -2.45.2 +2.49.0 -From f74688b9828f83306dea8553eafe61b5d81fbbe0 Mon Sep 17 00:00:00 2001 +From aa9d791d839b1004809b4a6cba38cd0bfd3dafa9 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 @@ -1303,10 +1303,10 @@ index ad512d99a1b9..78de95607924 100644 fb = (uchar *)(priv->fb + y * priv->line_length + x * bpix / 8); ret = video_sync_copy(dev, start, fb); -- -2.45.2 +2.49.0 -From 791b0accde45ada93fdf61773f8c7e69b934e55e Mon Sep 17 00:00:00 2001 +From 68262daa712e3202149aa0249bcff233234b6dfa 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 @@ -1326,10 +1326,10 @@ Link: https://lore.kernel.org/u-boot/20230821135111.3558478-10-alpernebiyasak@gm 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 +index 4593975be5af..3abb47d610e6 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; +@@ -26,6 +26,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 @@ -1337,7 +1337,7 @@ index 41e12fa72460..1694e23dcc62 100644 * @bpix: bits per pixel * @fb: frame buffer */ -@@ -32,6 +33,7 @@ struct efi_gop_obj { +@@ -34,6 +35,7 @@ struct efi_gop_obj { struct efi_gop ops; struct efi_gop_mode_info info; struct efi_gop_mode mode; @@ -1345,7 +1345,7 @@ index 41e12fa72460..1694e23dcc62 100644 /* 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, +@@ -122,6 +124,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); @@ -1353,7 +1353,7 @@ index 41e12fa72460..1694e23dcc62 100644 if (delta) { /* Check for 4 byte alignment */ -@@ -243,6 +246,9 @@ static __always_inline efi_status_t gop_blt_int(struct efi_gop *this, +@@ -245,6 +248,9 @@ static __always_inline efi_status_t gop_blt_int(struct efi_gop *this, dlineoff += dwidth; } @@ -1363,7 +1363,7 @@ index 41e12fa72460..1694e23dcc62 100644 return EFI_SUCCESS; } -@@ -549,6 +555,7 @@ efi_status_t efi_gop_register(void) +@@ -551,6 +557,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); @@ -1372,10 +1372,10 @@ index 41e12fa72460..1694e23dcc62 100644 return EFI_SUCCESS; } -- -2.45.2 +2.49.0 -From 1b0905d54711c6c170de575a36e66006b8a6583a Mon Sep 17 00:00:00 2001 +From b9d38bb68233d917a84c589b098699bd9ef08d70 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 @@ -1396,10 +1396,10 @@ Link: https://lore.kernel.org/u-boot/20230821135111.3558478-11-alpernebiyasak@gm 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c -index 6906b2b83623..3f6572a124ea 100644 +index 1c07613539f2..2dffcc229f6f 100644 --- a/drivers/video/video-uclass.c +++ b/drivers/video/video-uclass.c -@@ -384,6 +384,40 @@ void video_damage(struct udevice *vid, int x, int y, int width, int height) +@@ -399,6 +399,40 @@ void video_damage(struct udevice *vid, int x, int y, int width, int height) } #endif @@ -1440,7 +1440,7 @@ index 6906b2b83623..3f6572a124ea 100644 /* Flush video activity to the caches */ int video_sync(struct udevice *vid, bool force) { -@@ -407,11 +441,10 @@ int video_sync(struct udevice *vid, bool force) +@@ -422,11 +456,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) @@ -1457,10 +1457,10 @@ index 6906b2b83623..3f6572a124ea 100644 sandbox_sdl_sync(priv->fb); #endif -- -2.45.2 +2.49.0 -From 4c02e522cb00b84cfa61004c32b4e5ae28457c58 Mon Sep 17 00:00:00 2001 +From bcb0061c373dca651760928ec6f8e13842b26e55 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 @@ -1493,20 +1493,20 @@ Link: https://lore.kernel.org/u-boot/20230821135111.3558478-12-alpernebiyasak@gm drivers/video/Kconfig | 5 ++ drivers/video/console_normal.c | 13 +---- drivers/video/console_rotate.c | 44 +++----------- - drivers/video/console_truetype.c | 16 +----- + drivers/video/console_truetype.c | 20 +------ 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(-) + 11 files changed, 43 insertions(+), 251 deletions(-) diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig -index 5e5ad60ee057..dc5fcdbd1c9e 100644 +index 8bf36ff325d8..861a1f4cd90e 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig -@@ -319,7 +319,6 @@ CONFIG_USB_ETH_CDC=y +@@ -328,7 +328,6 @@ CONFIG_USB_ETH_CDC=y CONFIG_VIDEO=y CONFIG_VIDEO_FONT_SUN12X22=y CONFIG_VIDEO_COPY=y @@ -1515,7 +1515,7 @@ index 5e5ad60ee057..dc5fcdbd1c9e 100644 CONFIG_CONSOLE_TRUETYPE=y CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig -index d7da655cea62..d6497819ea73 100644 +index 5d67067891be..964174b01acc 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -89,11 +89,14 @@ config VIDEO_PCI_DEFAULT_FB_SIZE @@ -1729,7 +1729,7 @@ index f11dc3a0b075..886b25dcfafc 100644 return ret; diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c -index 6a17f732fc26..58dcd8e050c3 100644 +index 073ddcfb6950..56c3af3d5aad 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) @@ -1786,11 +1786,29 @@ index 6a17f732fc26..58dcd8e050c3 100644 free(data); return width_frac; +@@ -872,7 +862,6 @@ static int truetype_set_cursor_visible(struct udevice *dev, bool visible, + uint row, width, height, xoff; + void *start, *line; + uint out, val; +- int ret; + + if (xpl_phase() <= PHASE_SPL) + return -ENOSYS; +@@ -962,9 +951,6 @@ static int truetype_set_cursor_visible(struct udevice *dev, bool visible, + + line += vid_priv->line_length; + } +- ret = vidconsole_sync_copy(dev, start, line); +- if (ret) +- return ret; + + return video_sync(vid, true); + } diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c -index 8b2ef51f1b3b..bcc46a08cbbd 100644 +index 8613c464040f..ce6c8bb70cb7 100644 --- a/drivers/video/vidconsole-uclass.c +++ b/drivers/video/vidconsole-uclass.c -@@ -801,22 +801,6 @@ UCLASS_DRIVER(vidconsole) = { +@@ -803,22 +803,6 @@ UCLASS_DRIVER(vidconsole) = { .per_device_auto = sizeof(struct vidconsole_priv), }; @@ -1814,10 +1832,10 @@ index 8b2ef51f1b3b..bcc46a08cbbd 100644 { int ret; diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c -index 3f6572a124ea..845db1c9b6d3 100644 +index 2dffcc229f6f..eeee5d960838 100644 --- a/drivers/video/video-uclass.c +++ b/drivers/video/video-uclass.c -@@ -158,7 +158,7 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend, +@@ -171,7 +171,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; @@ -1826,7 +1844,7 @@ index 3f6572a124ea..845db1c9b6d3 100644 start = priv->fb + ystart * priv->line_length; start += xstart * VNBYTES(priv->bpix); -@@ -197,9 +197,6 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend, +@@ -210,9 +210,6 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend, } line += priv->line_length; } @@ -1836,7 +1854,7 @@ index 3f6572a124ea..845db1c9b6d3 100644 video_damage(dev, xstart, ystart, xend - xstart, yend - ystart); -@@ -223,7 +220,6 @@ int video_reserve_from_bloblist(struct video_handoff *ho) +@@ -235,7 +232,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); @@ -1844,7 +1862,7 @@ index 3f6572a124ea..845db1c9b6d3 100644 switch (priv->bpix) { case VIDEO_BPP16: -@@ -248,9 +244,6 @@ int video_fill(struct udevice *dev, u32 colour) +@@ -260,9 +256,6 @@ int video_fill(struct udevice *dev, u32 colour) memset(priv->fb, colour, priv->fb_size); break; } @@ -1854,7 +1872,7 @@ index 3f6572a124ea..845db1c9b6d3 100644 video_damage(dev, 0, 0, priv->xsize, priv->ysize); -@@ -418,6 +411,27 @@ static void video_flush_dcache(struct udevice *vid, bool use_copy) +@@ -433,6 +426,27 @@ static void video_flush_dcache(struct udevice *vid, bool use_copy) } #endif @@ -1882,7 +1900,7 @@ index 3f6572a124ea..845db1c9b6d3 100644 /* Flush video activity to the caches */ int video_sync(struct udevice *vid, bool force) { -@@ -425,6 +439,9 @@ int video_sync(struct udevice *vid, bool force) +@@ -440,6 +454,9 @@ int video_sync(struct udevice *vid, bool force) struct video_ops *ops = video_get_ops(vid); int ret; @@ -1892,7 +1910,7 @@ index 3f6572a124ea..845db1c9b6d3 100644 if (ops && ops->video_sync) { ret = ops->video_sync(vid); if (ret) -@@ -508,69 +525,6 @@ int video_get_ysize(struct udevice *dev) +@@ -523,69 +540,6 @@ int video_get_ysize(struct udevice *dev) return priv->ysize; } @@ -1987,7 +2005,7 @@ index 78de95607924..1f267d45812c 100644 return video_sync(dev, false); } diff --git a/include/video.h b/include/video.h -index 835d7734cb75..705076facfb5 100644 +index 7eed112e00c4..2fe2f73a865b 100644 --- a/include/video.h +++ b/include/video.h @@ -355,43 +355,6 @@ void video_set_default_colors(struct udevice *dev, bool invert); @@ -2035,10 +2053,10 @@ index 835d7734cb75..705076facfb5 100644 /** * video_damage() - Notify the video subsystem about screen updates. diff --git a/include/video_console.h b/include/video_console.h -index 00c5ecb664b9..ead0e05e4003 100644 +index 17a9aa3f9295..b228c725fd80 100644 --- a/include/video_console.h +++ b/include/video_console.h -@@ -530,56 +530,4 @@ void vidconsole_list_fonts(struct udevice *dev); +@@ -538,56 +538,4 @@ void vidconsole_list_fonts(struct udevice *dev); */ int vidconsole_get_font_size(struct udevice *dev, const char **name, uint *sizep); @@ -2096,7 +2114,7 @@ index 00c5ecb664b9..ead0e05e4003 100644 - #endif diff --git a/test/dm/video.c b/test/dm/video.c -index 119c43153165..9b7bb51a3dd9 100644 +index e76fa986d359..021f4b3fa733 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, @@ -2117,10 +2135,10 @@ index 119c43153165..9b7bb51a3dd9 100644 return 0; } -- -2.45.2 +2.49.0 -From 174b8b118c02e7cadf9ad56462b481c91f4a3343 Mon Sep 17 00:00:00 2001 +From 631692ed7090a8cfd0b2a3b3f23c295644f1393e 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 @@ -2145,10 +2163,10 @@ Link: https://lore.kernel.org/u-boot/20230821135111.3558478-13-alpernebiyasak@gm 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c -index 845db1c9b6d3..5416e0d9030b 100644 +index eeee5d960838..6c5a86d85dbc 100644 --- a/drivers/video/video-uclass.c +++ b/drivers/video/video-uclass.c -@@ -383,6 +383,9 @@ static void video_flush_dcache(struct udevice *vid, bool use_copy) +@@ -398,6 +398,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; @@ -2158,7 +2176,7 @@ index 845db1c9b6d3..5416e0d9030b 100644 if (!priv->flush_dcache) return; -@@ -452,17 +455,12 @@ int video_sync(struct udevice *vid, bool force) +@@ -467,17 +470,12 @@ int video_sync(struct udevice *vid, bool force) get_timer(priv->last_sync) < CONFIG_VIDEO_SYNC_MS) return 0; @@ -2179,10 +2197,10 @@ index 845db1c9b6d3..5416e0d9030b 100644 #endif priv->last_sync = get_timer(0); -- -2.45.2 +2.49.0 -From 2a1af00665464023c38903eeb75a0c89099892fb Mon Sep 17 00:00:00 2001 +From 08f3add44c202053f5ba882cb2f440e8e470229c 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 @@ -2214,10 +2232,10 @@ Link: https://lore.kernel.org/u-boot/20230821135111.3558478-14-alpernebiyasak@gm 9 files changed, 16 insertions(+) diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig -index 17666814c52e..1ba0d2c1c8d7 100644 +index ba1b15414379..bb1ea961704e 100644 --- a/arch/arm/mach-sunxi/Kconfig +++ b/arch/arm/mach-sunxi/Kconfig -@@ -863,6 +863,7 @@ config VIDEO_SUNXI +@@ -882,6 +882,7 @@ config VIDEO_SUNXI depends on !SUNXI_GEN_NCAT2 select VIDEO select DISPLAY @@ -2226,7 +2244,7 @@ index 17666814c52e..1ba0d2c1c8d7 100644 default y ---help--- diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig -index d6497819ea73..8fb69e0b16c2 100644 +index 964174b01acc..6e1577ae6871 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -534,6 +534,7 @@ config VIDEO_LCD_ANX9804 @@ -2245,7 +2263,7 @@ index d6497819ea73..8fb69e0b16c2 100644 help The graphics processor already sets up the display so this driver simply checks the resolution and then sets up the frame buffer with -@@ -706,6 +708,7 @@ source "drivers/video/meson/Kconfig" +@@ -715,6 +717,7 @@ source "drivers/video/meson/Kconfig" config VIDEO_MVEBU bool "Armada XP LCD controller" @@ -2253,7 +2271,7 @@ index d6497819ea73..8fb69e0b16c2 100644 ---help--- Support for the LCD controller integrated in the Marvell Armada XP SoC. -@@ -740,6 +743,7 @@ config NXP_TDA19988 +@@ -749,6 +752,7 @@ config NXP_TDA19988 config ATMEL_HLCD bool "Enable ATMEL video support using HLCDC" @@ -2261,7 +2279,7 @@ index d6497819ea73..8fb69e0b16c2 100644 help HLCDC supports video output to an attached LCD panel. -@@ -816,6 +820,7 @@ source "drivers/video/tidss/Kconfig" +@@ -825,6 +829,7 @@ source "drivers/video/tidss/Kconfig" config VIDEO_TEGRA124 bool "Enable video support on Tegra124" @@ -2269,7 +2287,7 @@ index d6497819ea73..8fb69e0b16c2 100644 help Tegra124 supports many video output options including eDP and HDMI. At present only eDP is supported by U-Boot. This option -@@ -830,6 +835,7 @@ source "drivers/video/imx/Kconfig" +@@ -839,6 +844,7 @@ source "drivers/video/imx/Kconfig" config VIDEO_MXS bool "Enable video support on i.MX28/i.MX6UL/i.MX7 SoCs" @@ -2277,7 +2295,7 @@ index d6497819ea73..8fb69e0b16c2 100644 help Enable framebuffer driver for i.MX28/i.MX6UL/i.MX7 processors -@@ -892,6 +898,7 @@ config VIDEO_DW_MIPI_DSI +@@ -901,6 +907,7 @@ config VIDEO_DW_MIPI_DSI config VIDEO_SIMPLE bool "Simple display driver for preconfigured display" @@ -2285,7 +2303,7 @@ index d6497819ea73..8fb69e0b16c2 100644 help Enables a simple generic display driver which utilizes the simple-framebuffer devicetree bindings. -@@ -910,6 +917,7 @@ config VIDEO_DT_SIMPLEFB +@@ -919,6 +926,7 @@ config VIDEO_DT_SIMPLEFB config VIDEO_MCDE_SIMPLE bool "Simple driver for ST-Ericsson MCDE with preconfigured display" @@ -2377,5 +2395,5 @@ index 95086f3a5d66..3291b3ceb8d5 100644 TIDSS supports video output options LVDS and DPI . This option enables these supports which can be used on -- -2.45.2 +2.49.0 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 index fc3dea4d..5307f378 100644 --- 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 @@ -1,4 +1,4 @@ -From ec8f5b8e949995eb34b7e54b9f06894eb38d02b4 Mon Sep 17 00:00:00 2001 +From faa87ed4d2ff07e9e8cc98cd08cbb34c905c1ac6 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 @@ -17,18 +17,18 @@ Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 34dd029d0cda..d5d89bd2e35c 100644 +index a7593e8a1680..30deb760bf8f 100644 --- a/Makefile +++ b/Makefile -@@ -1375,7 +1375,7 @@ cmd_binman = $(srctree)/tools/binman/binman $(if $(BINMAN_DEBUG),-D) \ - --toolpath $(objtree)/tools \ +@@ -1410,7 +1410,7 @@ cmd_binman = $(srctree)/tools/binman/binman $(if $(BINMAN_DEBUG),-D) \ $(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 \ + build -u -d $(binman_dtb) -O . -m \ + --allow-missing --fake-ext-blobs \ +- $(if $(BINMAN_ALLOW_MISSING),--ignore-missing) \ ++ --ignore-missing \ -I . -I $(srctree) -I $(srctree)/board/$(BOARDDIR) \ - -I $(dt_dir) -a of-list=$(CONFIG_OF_LIST) \ + $(foreach f,$(of_list_dirs),-I $(f)) -a of-list=$(of_list) \ $(foreach f,$(BINMAN_INDIRS),-I $(f)) \ -- -2.45.2 +2.49.0 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 index 45a6ab4a..018da338 100644 --- 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 @@ -1,4 +1,4 @@ -From 9685041c19bcc61ca847a59e93c716d23df51898 Mon Sep 17 00:00:00 2001 +From d02163324baeb817ed55df41fac863cab4be038c 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 @@ -18,7 +18,7 @@ Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> 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 6bdc892bd913..f4457c1b9b48 100644 +index 5517176aa4a0..9f40cf1e0208 100644 --- a/arch/arm/dts/rk3399-gru-u-boot.dtsi +++ b/arch/arm/dts/rk3399-gru-u-boot.dtsi @@ -27,6 +27,9 @@ &cros_ec { @@ -30,7 +30,7 @@ index 6bdc892bd913..f4457c1b9b48 100644 + /delete-property/ assigned-clock-rates; }; - &pp1800_audio { + &emmc_phy { -- -2.45.2 +2.49.0 diff --git a/config/u-boot/default/patches/0006-Support-auto-boot-timeout-delay-bootflow-menu.patch b/config/u-boot/default/patches/0006-Support-auto-boot-timeout-delay-bootflow-menu.patch new file mode 100644 index 00000000..ffc7b581 --- /dev/null +++ b/config/u-boot/default/patches/0006-Support-auto-boot-timeout-delay-bootflow-menu.patch @@ -0,0 +1,302 @@ +From d9371422ac74ea73d1620f01300a7136a7649754 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 06:52:39 +0000 +Subject: [PATCH 1/1] Support auto-boot timeout delay bootflow menu + +The bootflow menu cannot currently auto-boot a selected entry, +which means that the user must press enter to boot their system. +This can be a problem on headless setups; for example, it is not +currently feasible to set up a headless server with U-Boot, when +using it to boot via UEFI on a coreboot setup. + +This patch adds the following build-time configuration option: + +CONFIG_CMD_BOOTFLOW_BOOTDELAY + +This creates a timeout delay in the given number of seconds. +If an arrow key is press to navigate the menu, the timer is +disabled and the user must then press enter to boot the selected +option. When this happens, the timeout display is replaced by +the old message indicating that the user should press enter. + +The default boot delay is 30 seconds, and the timeout is enabled +by default. Setting it to zero will restore the old behaviour, +whereby no timeout is provided and the user must press enter. + +If a negative integer is provided, the timer will default to +zero. The timer value is further filtered by modulus of 100, +so that the maximum number of seconds allowed is 99 seconds. + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/bootflow_menu.c | 117 +++++++++++++++++++++++++++++++++++-- + cmd/Kconfig | 12 ++++ + doc/usage/cmd/bootflow.rst | 11 ++++ + include/bootflow.h | 10 +++- + 4 files changed, 143 insertions(+), 7 deletions(-) + +diff --git a/boot/bootflow_menu.c b/boot/bootflow_menu.c +index 9d0dc352f9..172139b187 100644 +--- a/boot/bootflow_menu.c ++++ b/boot/bootflow_menu.c +@@ -30,7 +30,7 @@ struct menu_priv { + int num_bootflows; + }; + +-int bootflow_menu_new(struct expo **expp) ++int bootflow_menu_new(struct expo **expp, const char *prompt) + { + struct udevice *last_bootdev; + struct scene_obj_menu *menu; +@@ -54,7 +54,7 @@ int bootflow_menu_new(struct expo **expp) + return log_msg_ret("scn", ret); + + ret |= scene_txt_str(scn, "prompt", OBJ_PROMPT, STR_PROMPT, +- "UP and DOWN to choose, ENTER to select", NULL); ++ prompt, NULL); + + ret = scene_menu(scn, "main", OBJ_MENU, &menu); + ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100); +@@ -138,6 +138,29 @@ int bootflow_menu_new(struct expo **expp) + return 0; + } + ++int bootflow_menu_show_countdown(struct expo *exp, char *prompt, ++ char bootflow_delay) ++{ ++ char *i; ++ ++ if (prompt == NULL) ++ return 0; ++ if (strlen(prompt) < 2) ++ return 0; ++ ++ i = prompt + strlen(prompt) - 2; ++ ++ if (bootflow_delay >= 10) { ++ *(i) = 48 + (bootflow_delay / 10); ++ *(i + 1) = 48 + (bootflow_delay % 10); ++ } else { ++ *(i) = 48 + bootflow_delay; ++ *(i + 1) = ' '; ++ } ++ ++ return expo_render(exp); ++} ++ + int bootflow_menu_apply_theme(struct expo *exp, ofnode node) + { + struct menu_priv *priv = exp->priv; +@@ -184,14 +207,62 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + struct expo *exp; + uint sel_id; + bool done; +- int ret; ++ int i, ret; ++ ++ /* Auto-boot countdown */ ++ char bootflow_delay_secs, *prompt; ++ int bootflow_time, bootflow_delay; ++ bool skip_render_once = false; ++ bool bootflow_countdown = false; ++ ++ /* TODO: perhaps set based on defconfig? */ ++ /* WARNING: These two strings must be of the same length. */ ++ char promptChoice[] = "UP and DOWN to choose, ENTER to select"; ++ char promptTimeout[] = "UP and DOWN to choose. Auto-boot in "; ++/* ++ // Uncomment if the strings become configurable (defconfig): ++ // (to prevent buffer overflows) ++ char promptDefault[] = "UP and DOWN to choose, ENTER to select"; ++ if (promptTimeout = NULL) ++ promptTimeout = promptDefault; ++ if (promptChoice = NULL) ++ promptChoice = promptDefault; ++ if (strlen(promptChoice) < 2) ++ promptChoice = promptDefault; ++ if (strlen(promptTimeout) < 2) ++ promptTimeout = promptDefault; ++ if (strlen(promptChoice) != strlen(promptTimeout)) ++ promptChoice = promptTimeout; ++*/ ++ prompt = promptChoice; ++ ++ bootflow_delay_secs = 15; /* TODO: set based on defconfig. */ ++ ++#if defined(CONFIG_CMD_BOOTFLOW_BOOTDELAY) ++ /* If set to zero, the auto-boot timeout is disabled. */ ++ bootflow_delay_secs = CONFIG_CMD_BOOTFLOW_BOOTDELAY; ++#else ++ bootflow_delay_secs = 30; ++#endif ++ ++ if (bootflow_delay_secs < 0) ++ bootflow_delay_secs = 0; /* disable countdown if negative */ ++ bootflow_delay_secs %= 100; /* No higher than 99 seconds */ ++ ++ if (bootflow_delay_secs > 0) { ++ bootflow_countdown = true; /* enable auto-boot countdown */ ++ prompt = promptTimeout; ++ bootflow_time = 0; /* Time elapsed in milliseconds */ ++ bootflow_delay = ++ (int)bootflow_delay_secs * 1000; /* milliseconds */ ++ } + + cli_ch_init(cch); + + sel_bflow = NULL; + *bflowp = NULL; + +- ret = bootflow_menu_new(&exp); ++ ret = bootflow_menu_new(&exp, prompt); + if (ret) + return log_msg_ret("exp", ret); + +@@ -216,12 +287,20 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + if (text_mode) + expo_set_text_mode(exp, text_mode); + ++ if (bootflow_countdown) { ++ ret = bootflow_menu_show_countdown(exp, prompt, ++ bootflow_delay_secs); ++ skip_render_once = true; /* Don't print menu twice on start */ ++ } + done = false; + do { + struct expo_action act; + int ichar, key; + +- ret = expo_render(exp); ++ if (skip_render_once) ++ skip_render_once = false; ++ else ++ ret = expo_render(exp); + if (ret) + break; + +@@ -231,7 +310,23 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + schedule(); + mdelay(2); + ichar = cli_ch_process(cch, -ETIMEDOUT); ++ if (bootflow_countdown) { ++ bootflow_delay -= 2; ++ bootflow_time += 2; ++ if (bootflow_delay <= 0) ++ ichar='\n'; ++ if (bootflow_time < 1000) ++ continue; ++ bootflow_time = 0; ++ --bootflow_delay_secs; ++ ret = bootflow_menu_show_countdown(exp, ++ prompt, bootflow_delay_secs); ++ if (ret) ++ break; ++ } + } ++ if (ret) ++ break; + if (!ichar) { + ichar = getchar(); + ichar = cli_ch_process(cch, ichar); +@@ -265,6 +360,17 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + break; + } + } ++ if (bootflow_countdown) { ++ /* A key press interrupted the auto-boot timeout */ ++ bootflow_countdown = false; ++ if (strlen(prompt) == strlen(promptChoice)) { ++ /* "Auto-boot in" becomes "Press ENTER" */ ++ (void) memcpy(prompt, promptChoice, ++ strlen(promptChoice)); ++ ret = expo_render(exp); ++ skip_render_once = true; ++ } ++ } + } while (!done); + + if (ret) +@@ -272,7 +378,6 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + + if (sel_id) { + struct bootflow *bflow; +- int i; + + for (ret = bootflow_first_glob(&bflow), i = 0; !ret && i < 36; + ret = bootflow_next_glob(&bflow), i++) { +diff --git a/cmd/Kconfig b/cmd/Kconfig +index 978f44eda4..0303869625 100644 +--- a/cmd/Kconfig ++++ b/cmd/Kconfig +@@ -288,6 +288,7 @@ config CMD_BOOTDEV + config CMD_BOOTFLOW + bool "bootflow" + depends on BOOTSTD ++ select CMD_BOOTFLOW_BOOTDELAY + default y + help + Support scanning for bootflows available with the bootdevs. The +@@ -303,6 +304,17 @@ config CMD_BOOTFLOW_FULL + + This command is not necessary for bootstd to work. + ++config CMD_BOOTFLOW_BOOTDELAY ++ int "bootflow - delay in seconds before booting the first menu option" ++ depends on CMD_BOOTFLOW ++ default 30 ++ help ++ On the bootflow menu, wait for the defined number of seconds before ++ automatically booting. Unless interrupted, this will auto-boot the ++ first option in the generated list of boot options. ++ ++ Set this to zero if you wish to disable the auto-boot timeout. ++ + config CMD_BOOTMETH + bool "bootmeth" + depends on BOOTSTD +diff --git a/doc/usage/cmd/bootflow.rst b/doc/usage/cmd/bootflow.rst +index 5d41fe37a7..728f294274 100644 +--- a/doc/usage/cmd/bootflow.rst ++++ b/doc/usage/cmd/bootflow.rst +@@ -32,6 +32,17 @@ Note that `CONFIG_BOOTSTD_FULL` (which enables `CONFIG_CMD_BOOTFLOW_FULL) must + be enabled to obtain full functionality with this command. Otherwise, it only + supports `bootflow scan` which scans and boots the first available bootflow. + ++The `CONFIG_CMD_BOOTFLOW_BOOTDELAY` option can be set, defining (in seconds) the ++amount of time that U-Boot will wait; after this time passes, it will ++automatically boot the first item when generating a bootflow menu. If the value ++is set to zero, the timeout is disabled and the user must press enter; if it's ++negative, the timeout is disabled, and the maximum number of seconds is 99 ++seconds. If a value higher than 100 is provided, the value is changed to a ++modulus of 100 (remainder of the value divided by 100). ++ ++If the `CONFIG_BOOTFLOW_BOOTFLOW` option is undefined, the timeout will default ++to 30 seconds. ++ + bootflow scan + ~~~~~~~~~~~~~ + +diff --git a/include/bootflow.h b/include/bootflow.h +index 4d2fc7b69b..9f4245caa7 100644 +--- a/include/bootflow.h ++++ b/include/bootflow.h +@@ -452,7 +452,15 @@ int bootflow_iter_check_system(const struct bootflow_iter *iter); + * @expp: Returns the expo created + * Returns 0 on success, -ve on error + */ +-int bootflow_menu_new(struct expo **expp); ++int bootflow_menu_new(struct expo **expp, const char *prompt); ++ ++/** ++ * bootflow_menu_show_countdown() - Show countdown timer for auto-boot ++ * ++ * Returns the value of expo_render() ++ */ ++int bootflow_menu_show_countdown(struct expo *exp, char *prompt, ++ char bootflow_delay); + + /** + * bootflow_menu_apply_theme() - Apply a theme to a bootmenu +-- +2.39.5 + diff --git a/config/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch b/config/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch new file mode 100644 index 00000000..8a09fa7d --- /dev/null +++ b/config/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch @@ -0,0 +1,213 @@ +From 4ff0f509aa28eb8e85f1c0c9929c63996c646bb8 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 18:20:19 +0000 +Subject: [PATCH 1/1] Libreboot branding/version on the bootflow menu + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/bootflow_menu.c | 2 +- + drivers/video/u_boot_logo.bmp | Bin 6932 -> 27350 bytes + 2 files changed, 1 insertion(+), 1 deletion(-) + +diff --git a/boot/bootflow_menu.c b/boot/bootflow_menu.c +index 84831915a2..8e26ec2aef 100644 +--- a/boot/bootflow_menu.c ++++ b/boot/bootflow_menu.c +@@ -59,7 +59,7 @@ int bootflow_menu_new(struct expo **expp, const char *prompt) + ret = scene_menu(scn, "main", OBJ_MENU, &menu); + ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100); + ret |= scene_txt_str(scn, "title", OBJ_MENU_TITLE, STR_MENU_TITLE, +- "U-Boot - Boot Menu", NULL); ++ "Libreboot 25.06 Luminous Lemon (U-Boot menu): https://libreboot.org/", NULL); + ret |= scene_menu_set_title(scn, OBJ_MENU, OBJ_PROMPT); + + logo = video_get_u_boot_logo(); +diff --git a/drivers/video/u_boot_logo.bmp b/drivers/video/u_boot_logo.bmp +index 47f1e9b99789584d2f6dd71e954b51927b35d783..bc9ae001badb25bc900058c167a47247ef91dc7c 100644 +GIT binary patch +literal 27350 +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 + +literal 6932 +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 + +-- +2.39.5 + diff --git a/config/u-boot/default/patches/0008-change-the-logo-back-to-the-plain-libreboot-one.patch b/config/u-boot/default/patches/0008-change-the-logo-back-to-the-plain-libreboot-one.patch new file mode 100644 index 00000000..febc2372 --- /dev/null +++ b/config/u-boot/default/patches/0008-change-the-logo-back-to-the-plain-libreboot-one.patch @@ -0,0 +1,157 @@ +From d721edb391618fca096ec7f63a2fbc9df0af9231 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Tue, 17 Dec 2024 12:59:54 +0000 +Subject: [PATCH 1/1] change the logo back to the plain libreboot one + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + drivers/video/u_boot_logo.bmp | Bin 27350 -> 27350 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +diff --git a/drivers/video/u_boot_logo.bmp b/drivers/video/u_boot_logo.bmp +index bc9ae001badb25bc900058c167a47247ef91dc7c..c9262cd206cc3cf5297daa94b696fcf102fc22b5 100644 +GIT binary patch +literal 27350 +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 +HHU0e$+Zn$= + +literal 27350 +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 + +-- +2.39.5 + diff --git a/config/u-boot/default/target.cfg b/config/u-boot/default/target.cfg index 29c24af2..f3c856d4 100644 --- a/config/u-boot/default/target.cfg +++ b/config/u-boot/default/target.cfg @@ -1,2 +1,4 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + tree="default" -rev="f919c3a889f0ec7d63a48b5d0ed064386b0980bd" # v2024.10 +rev="34820924edbc4ec7803eb89d9852f4b870fa760a" # v2025.04 diff --git a/config/u-boot/gru_bob/config/default b/config/u-boot/gru_bob/config/default index 863a0fee..cc93540c 100644 --- a/config/u-boot/gru_bob/config/default +++ b/config/u-boot/gru_bob/config/default @@ -1,15 +1,17 @@ # # Automatically generated file; DO NOT EDIT. -# U-Boot 2024.10 Configuration +# U-Boot 2025.04 Configuration # # -# Compiler: gcc (Debian 14.2.0-8) 14.2.0 +# Compiler: gcc (Debian 14.2.0-19) 14.2.0 # CONFIG_CREATE_ARCH_SYMLINK=y +CONFIG_HAVE_SETJMP=y CONFIG_SUPPORT_LITTLE_ENDIAN=y CONFIG_SYS_CACHE_SHIFT_6=y CONFIG_64BIT=y +CONFIG_SPL_64BIT=y CONFIG_SYS_CACHELINE_SIZE=64 CONFIG_LINKER_LIST_ALIGN=8 # CONFIG_ARC is not set @@ -39,10 +41,11 @@ CONFIG_SKIP_LOWLEVEL_INIT=y # 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_TPL_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 +# CONFIG_SPL_SYS_DCACHE_OFF is not set # # ARM architecture @@ -51,9 +54,9 @@ 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_INIT_SP_RELATIVE is not set CONFIG_LNX_KRNL_IMG_TEXT_OFFSET_BASE=0x18000000 +# CONFIG_DRIVER_GICV2 is not set # CONFIG_GIC_V3_ITS is not set # CONFIG_GICV3_SUPPORT_GIC600 is not set CONFIG_STATIC_RELA=y @@ -75,8 +78,10 @@ CONFIG_ARM_SMCCC=y CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y # CONFIG_USE_ARCH_MEMCPY is not set # CONFIG_SPL_USE_ARCH_MEMCPY is not set +# CONFIG_TPL_USE_ARCH_MEMCPY is not set # CONFIG_USE_ARCH_MEMSET is not set # CONFIG_SPL_USE_ARCH_MEMSET is not set +# CONFIG_TPL_USE_ARCH_MEMSET is not set CONFIG_ARM64_SUPPORT_AARCH32=y # CONFIG_ARCH_AT91 is not set # CONFIG_ARCH_DAVINCI is not set @@ -100,6 +105,7 @@ CONFIG_ARM64_SUPPORT_AARCH32=y # CONFIG_ARCH_OMAP2PLUS is not set # CONFIG_ARCH_MESON is not set # CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MMP is not set # CONFIG_ARCH_LPC32XX is not set # CONFIG_ARCH_IMX8 is not set # CONFIG_ARCH_IMX8M is not set @@ -183,23 +189,25 @@ CONFIG_ARCH_ROCKCHIP=y # 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_SYS_MALLOC_F_LEN=0x10000 +CONFIG_BLOBLIST_SIZE_RELOC=0x1000 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_HAS_CUSTOM_SYS_INIT_SP_ADDR=y +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x3f00000 CONFIG_SF_DEFAULT_SPEED=20000000 CONFIG_SF_DEFAULT_MODE=0x0 CONFIG_ENV_SIZE=0x1f000 CONFIG_DM_GPIO=y CONFIG_SPL_DM_SPI=y CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-gru-bob" -CONFIG_SPL_TEXT_BASE=0xff8c2000 +CONFIG_DDR_SI_TEST=y CONFIG_OF_LIBFDT_OVERLAY=y CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000 CONFIG_DM_RESET=y @@ -221,16 +229,20 @@ CONFIG_ROCKCHIP_RK3399=y # CONFIG_ROCKCHIP_RV1126 is not set # CONFIG_ROCKCHIP_USB_UART is not set # CONFIG_SPL_ROCKCHIP_BACK_TO_BROM is not set +CONFIG_TPL_ROCKCHIP_BACK_TO_BROM=y CONFIG_ROCKCHIP_COMMON_BOARD=y CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y +CONFIG_TPL_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_ROCKCHIP_SPL_RESERVE_IRAM=0x0 +CONFIG_ROCKCHIP_BROM_HELPER=y # CONFIG_SPL_ROCKCHIP_EARLYRETURN_TO_BROM is not set CONFIG_ROCKCHIP_DISABLE_FORCE_JTAG=y +# CONFIG_TPL_ROCKCHIP_EARLYRETURN_TO_BROM is not set # CONFIG_SPL_MMC is not set CONFIG_ROCKCHIP_SPI_IMAGE=y CONFIG_ROCKCHIP_COMMON_STACK_ADDR=y @@ -238,8 +250,12 @@ 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_TPL_SYS_MALLOC_F_LEN=0x4000 +CONFIG_TPL_LIBCOMMON_SUPPORT=y +CONFIG_TPL_LIBGENERIC_SUPPORT=y +CONFIG_TPL_SERIAL=y # CONFIG_SPL_DRIVERS_MISC is not set -CONFIG_SPL_STACK_R_ADDR=0x04000000 +CONFIG_SPL_STACK_R_ADDR=0x3e00000 CONFIG_TARGET_CHROMEBOOK_BOB=y # CONFIG_TARGET_CHROMEBOOK_KEVIN is not set # CONFIG_TARGET_EVB_RK3399 is not set @@ -250,14 +266,20 @@ CONFIG_TARGET_CHROMEBOOK_BOB=y # 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_TPL_SYS_MALLOC_F=y +CONFIG_SPL_SYS_MALLOC_F_LEN=0x8000 +CONFIG_SPL_TEXT_BASE=0x0 CONFIG_SPL_HAS_BSS_LINKER_SECTION=y -CONFIG_SPL_BSS_START_ADDR=0xff8e0000 -CONFIG_SPL_BSS_MAX_SIZE=0x10000 +CONFIG_SPL_BSS_START_ADDR=0x3f80000 +CONFIG_SPL_BSS_MAX_SIZE=0x8000 CONFIG_SPL_STACK_R=y -CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x4000 +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x200000 +CONFIG_SYS_BOOTM_LEN=0x4000000 +CONFIG_SYS_LOAD_ADDR=0x800800 CONFIG_WATCHDOG_TIMEOUT_MSECS=60000 +CONFIG_SPL_OF_LIBFDT_ASSUME_MASK=0xff +CONFIG_SF_DEFAULT_BUS=1 +CONFIG_SF_DEFAULT_CS=0 CONFIG_SPL_SYS_MALLOC_F=y CONFIG_ERR_PTR_OFFSET=0x0 CONFIG_SPL_SIZE_LIMIT=0x0 @@ -293,24 +315,18 @@ CONFIG_PSCI_RESET=y 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_TPL_MAX_SIZE=0x2e000 +CONFIG_SPL_PAYLOAD="tpl/u-boot-with-tpl.bin" CONFIG_BUILD_TARGET="" # CONFIG_PCI is not set CONFIG_FWU_NUM_BANKS=2 CONFIG_FWU_NUM_IMAGES_PER_BANK=2 +CONFIG_TPL_SIZE_LIMIT=0x0 CONFIG_DEBUG_UART=y # CONFIG_AHCI is not set # CONFIG_OF_BOARD_FIXUP is not set @@ -336,6 +352,7 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y # CONFIG_SPL_OPTIMIZE_INLINING is not set CONFIG_ARCH_SUPPORTS_LTO=y # CONFIG_LTO is not set +# CONFIG_TPL_OPTIMIZE_INLINING is not set CONFIG_CC_HAS_ASM_INLINE=y # CONFIG_XEN is not set CONFIG_ENV_VARS_UBOOT_CONFIG=y @@ -357,8 +374,6 @@ CONFIG_REMAKE_ELF=y # 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 @@ -371,6 +386,63 @@ CONFIG_SYS_UBOOT_START=0x18000000 # # +# UEFI Support +# +CONFIG_EFI_LOADER=y +CONFIG_EFI_BINARY_EXEC=y +# CONFIG_EFI_SECURE_BOOT is not set + +# +# UEFI services +# +CONFIG_EFI_HAVE_RUNTIME_RESET=y + +# +# UEFI Variables +# +# 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_PLATFORM_LANG_CODES="en-US" + +# +# Capsule support +# +# CONFIG_EFI_RUNTIME_UPDATE_CAPSULE is not set +# CONFIG_EFI_CAPSULE_ON_DISK is not set +CONFIG_EFI_CAPSULE_MAX=15 + +# +# UEFI protocol support +# +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_RNG_PROTOCOL=y +CONFIG_EFI_LOAD_FILE2_INITRD=y +# CONFIG_EFI_IP4_CONFIG2_PROTOCOL is not set + +# +# Misc options +# +# CONFIG_EFI_LOADER_BOUNCE_BUFFER is not set +CONFIG_EFI_ECPT=y +CONFIG_EFI_EBBR_2_1_CONFORMANCE=y +# CONFIG_EFI_SCROLL_ON_CLEAR_SCREEN is not set + +# +# EFI bootmanager +# +CONFIG_EFI_BOOTMGR=y +# CONFIG_EFI_HTTP_BOOT is not set +CONFIG_BOOTEFI_HELLO_COMPILE=y +CONFIG_BOOTEFI_TESTAPP_COMPILE=y + +# # Boot images # # CONFIG_ANDROID_BOOT_IMAGE is not set @@ -378,22 +450,26 @@ CONFIG_SYS_UBOOT_START=0x18000000 CONFIG_FIT=y CONFIG_FIT_EXTERNAL_OFFSET=0x0 CONFIG_FIT_FULL_CHECK=y -# CONFIG_FIT_SIGNATURE is not set +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 is not set # CONFIG_FIT_BEST_MATCH is not set CONFIG_FIT_PRINT=y CONFIG_SPL_FIT=y +# CONFIG_TPL_FIT is not set # CONFIG_SPL_FIT_PRINT is not set -# CONFIG_SPL_FIT_FULL_CHECK is not set -# CONFIG_SPL_FIT_SIGNATURE is not set +CONFIG_SPL_FIT_FULL_CHECK=y +CONFIG_SPL_FIT_SIGNATURE=y +CONFIG_SPL_FIT_SIGNATURE_MAX_SIZE=0x10000000 +# CONFIG_SPL_FIT_RSASSA_PSS 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_TPL_LOAD_FIT 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 @@ -403,6 +479,7 @@ CONFIG_BOOTSTD=y CONFIG_BOOTSTD_FULL=y CONFIG_BOOTSTD_DEFAULTS=y CONFIG_BOOTSTD_BOOTCOMMAND=y +CONFIG_BOOTSTD_MENU=y CONFIG_BOOTMETH_GLOBAL=y # CONFIG_BOOTMETH_ANDROID is not set # CONFIG_BOOTMETH_CROS is not set @@ -413,15 +490,17 @@ CONFIG_BOOTMETH_EFI_BOOTMGR=y CONFIG_BOOTMETH_VBE=y CONFIG_BOOTMETH_DISTRO=y # CONFIG_SPL_BOOTMETH_VBE is not set +CONFIG_TPL_BOOTMETH_VBE=y CONFIG_BOOTMETH_VBE_REQUEST=y # CONFIG_SPL_BOOTMETH_VBE_REQUEST is not set CONFIG_BOOTMETH_VBE_SIMPLE=y +# CONFIG_BOOTMETH_VBE_ABREC is not set CONFIG_BOOTMETH_VBE_SIMPLE_OS=y # CONFIG_SPL_BOOTMETH_VBE_SIMPLE is not set CONFIG_EXPO=y CONFIG_BOOTMETH_SCRIPT=y +# CONFIG_UPL is not set 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 @@ -475,7 +554,7 @@ 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_BOOTCOMMAND="bootflow scan -l; if bootflow menu; then cls; bootflow boot; fi" CONFIG_USE_PREBOOT=y CONFIG_PREBOOT="usb start" CONFIG_PREBOOT_DEFINED=y @@ -498,6 +577,7 @@ CONFIG_SYS_PBSIZE=1044 # CONFIG_DISABLE_CONSOLE is not set CONFIG_LOGLEVEL=4 CONFIG_SPL_LOGLEVEL=4 +CONFIG_TPL_LOGLEVEL=4 # CONFIG_SILENT_CONSOLE is not set # CONFIG_SPL_SILENT_CONSOLE is not set # CONFIG_TPL_SILENT_CONSOLE is not set @@ -526,6 +606,7 @@ CONFIG_LOG_CONSOLE=y CONFIG_LOGF_FUNC_PAD=20 # CONFIG_LOG_SYSLOG is not set # CONFIG_SPL_LOG is not set +# CONFIG_TPL_LOG is not set # CONFIG_LOG_ERROR_RETURN is not set # @@ -562,6 +643,7 @@ CONFIG_MISC_INIT_R=y # Security support # CONFIG_HASH=y +# CONFIG_HASH_CRC8 is not set CONFIG_SPL_HASH=y # CONFIG_STACKPROTECTOR is not set # CONFIG_BOARD_RNG_SEED is not set @@ -577,11 +659,11 @@ CONFIG_SPL_HASH=y # CONFIG_BLOBLIST=y CONFIG_SPL_BLOBLIST=y +# CONFIG_TPL_BLOBLIST is not set 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 @@ -592,7 +674,7 @@ CONFIG_SUPPORT_TPL=y # CONFIG_SPL_FRAMEWORK=y # CONFIG_SPL_FRAMEWORK_BOARD_INIT_F is not set -CONFIG_SPL_MAX_SIZE=0x1e000 +CONFIG_SPL_MAX_SIZE=0x40000 CONFIG_SPL_PAD_TO=0x7f8000 # CONFIG_SPL_NO_BSS_LIMIT is not set CONFIG_SPL_BSS_LIMIT=y @@ -606,24 +688,27 @@ CONFIG_HANDOFF=y CONFIG_SPL_HANDOFF=y # CONFIG_SPL_SOC_INIT is not set CONFIG_SPL_BOARD_INIT=y +CONFIG_SPL_LOAD_BLOCK=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_SHARES_INIT_SP_ADDR=y 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_SPL_SYS_MMCSD_RAW_MODE=y CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y +# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION is not set +# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE is not set 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_CRYPTO=y # CONFIG_SPL_DMA is not set # CONFIG_SPL_ENV_SUPPORT is not set # CONFIG_SPL_FS_EXT4 is not set @@ -640,6 +725,7 @@ CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET=0x0 # CONFIG_SPL_NAND_DRIVERS is not set # CONFIG_SPL_NAND_ECC is not set # CONFIG_SPL_NAND_SIMPLE is not set +# CONFIG_SPL_RELOC_LOADER is not set # CONFIG_SPL_UBI is not set CONFIG_SPL_DM_SPI_FLASH=y # CONFIG_SPL_NET is not set @@ -653,7 +739,7 @@ CONFIG_SPL_DM_SPI_FLASH=y # 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_RAM_DEVICE is not set # CONFIG_SPL_REMOTEPROC is not set # CONFIG_SPL_RTC is not set # CONFIG_SPL_SATA is not set @@ -661,7 +747,7 @@ CONFIG_SPL_DM_SPI_FLASH=y 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_SYS_SPI_U_BOOT_OFFS=0xE0000 # CONFIG_SPL_THERMAL is not set # CONFIG_SPL_WATCHDOG is not set # CONFIG_SPL_YMODEM_SUPPORT is not set @@ -670,8 +756,42 @@ CONFIG_SPL_ATF=y CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y # CONFIG_SPL_OPTEE_IMAGE is not set CONFIG_SPL_TARGET="" -# CONFIG_TPL is not set +CONFIG_TPL=y + +# +# TPL configuration options +# +CONFIG_TPL_BINMAN_SYMBOLS=y +CONFIG_TPL_BINMAN_UBOOT_SYMBOLS=y +CONFIG_TPL_FRAMEWORK=y +CONFIG_TPL_BANNER_PRINT=y +# CONFIG_TPL_BOARD_INIT is not set +CONFIG_TPL_SYS_MALLOC_SIMPLE=y +CONFIG_TPL_SEPARATE_BSS=y +CONFIG_TPL_NEEDS_SEPARATE_STACK=y +# CONFIG_TPL_POWER is not set +CONFIG_TPL_BOOTROM_SUPPORT=y +# CONFIG_TPL_CRC32 is not set +# CONFIG_TPL_DRIVERS_MISC is not set +# CONFIG_TPL_ENV_SUPPORT is not set +CONFIG_TPL_GPIO=y +# CONFIG_TPL_I2C is not set +# CONFIG_TPL_MPC8XXX_INIT_DDR is not set +# CONFIG_TPL_MMC is not set +# CONFIG_TPL_NAND_SUPPORT is not set +# CONFIG_TPL_PCI is not set +# CONFIG_TPL_PCH is not set +# CONFIG_TPL_RAM_SUPPORT is not set +# CONFIG_TPL_RELOC_LOADER is not set +# CONFIG_TPL_RTC is not set +# CONFIG_TPL_SPI_FLASH_SUPPORT is not set +# CONFIG_TPL_SPI is not set +# CONFIG_TPL_DM_SPI is not set +# CONFIG_TPL_DM_SPI_FLASH is not set +# CONFIG_TPL_YMODEM_SUPPORT is not set # CONFIG_VPL is not set +CONFIG_IMAGE_SIGN_INFO=y +CONFIG_SPL_IMAGE_SIGN_INFO=y CONFIG_CMDLINE=y CONFIG_HUSH_PARSER=y @@ -700,6 +820,7 @@ CONFIG_CMD_BDI=y # CONFIG_CMD_BDINFO_EXTRA is not set # CONFIG_CMD_CONFIG is not set CONFIG_CMD_CONSOLE=y +# CONFIG_CMD_UFETCH is not set # CONFIG_CMD_HISTORY is not set # CONFIG_CMD_LICENSE is not set # CONFIG_CMD_PMC is not set @@ -713,7 +834,9 @@ CONFIG_CMD_BOOTM=y CONFIG_CMD_BOOTDEV=y CONFIG_CMD_BOOTFLOW=y CONFIG_CMD_BOOTFLOW_FULL=y +CONFIG_CMD_BOOTFLOW_BOOTDELAY=30 CONFIG_CMD_BOOTMETH=y +CONFIG_CMD_BOOTSTD=y CONFIG_BOOTM_EFI=y CONFIG_BOOTM_ELF=y CONFIG_CMD_BOOTZ=y @@ -724,17 +847,18 @@ CONFIG_BOOTM_NETBSD=y # CONFIG_BOOTM_OSE is not set CONFIG_BOOTM_PLAN9=y CONFIG_BOOTM_RTEMS=y +# CONFIG_CMD_UPL is not set 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_BOOTVX=y # CONFIG_CMD_ELF_FDT_SETUP is not set CONFIG_CMD_FDT=y CONFIG_CMD_GO=y @@ -825,10 +949,10 @@ 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_MMC_SPEED_MODE_SET=y # 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 @@ -842,7 +966,6 @@ CONFIG_CMD_SPI=y CONFIG_DEFAULT_SPI_BUS=0 CONFIG_DEFAULT_SPI_MODE=0x0 CONFIG_CMD_USB=y -# CONFIG_CMD_USB_SDP is not set # CONFIG_CMD_RKMTD is not set # CONFIG_CMD_WRITE is not set @@ -855,13 +978,8 @@ 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 @@ -879,24 +997,25 @@ 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 +CONFIG_CMD_DHCP=y +# CONFIG_CMD_DNS is not set +CONFIG_CMD_MII=y +CONFIG_CMD_MDIO=y +CONFIG_CMD_PING=y +CONFIG_CMD_TFTPBOOT=y +# CONFIG_CMD_WGET is not set +CONFIG_CMD_PXE=y # # Misc commands @@ -978,7 +1097,6 @@ CONFIG_CMD_CYCLIC=y # CONFIG_CMD_EVENT is not set CONFIG_CMD_LOG=y # CONFIG_CMD_UBI is not set -CONFIG_MMC_SPEED_MODE_SET=y # # Partition Types @@ -987,6 +1105,7 @@ CONFIG_PARTITIONS=y CONFIG_SPL_PARTITIONS=y # CONFIG_MAC_PARTITION is not set # CONFIG_SPL_MAC_PARTITION is not set +# CONFIG_TEGRA_PARTITION is not set CONFIG_DOS_PARTITION=y CONFIG_SPL_DOS_PARTITION=y CONFIG_ISO_PARTITION=y @@ -1012,9 +1131,11 @@ CONFIG_BINMAN=y CONFIG_OF_CONTROL=y CONFIG_OF_REAL=y CONFIG_SPL_OF_CONTROL=y +CONFIG_TPL_OF_CONTROL=y CONFIG_OF_LIVE=y CONFIG_OF_UPSTREAM=y # CONFIG_OF_UPSTREAM_BUILD_VENDOR is not set +# CONFIG_OF_UPSTREAM_INCLUDE_LOCAL_FALLBACK_DTBOS is not set CONFIG_OF_SEPARATE=y # CONFIG_OF_EMBED is not set # CONFIG_OF_INITIAL_DTB_READONLY is not set @@ -1022,19 +1143,23 @@ CONFIG_OF_SEPARATE=y # CONFIG_OF_OMIT_DTB is not set CONFIG_DEVICE_TREE_INCLUDES="" CONFIG_OF_LIST="rockchip/rk3399-gru-bob" +CONFIG_OF_OVERLAY_LIST="" # 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_SPL_REMOVE_PROPS="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 +CONFIG_TPL_OF_REAL=y +# CONFIG_TPL_OF_PLATDATA is not set # # Environment # CONFIG_ENV_SUPPORT=y +CONFIG_ENV_CALLBACK_LIST_STATIC="" CONFIG_SAVEENV=y # CONFIG_ENV_OVERWRITE is not set # CONFIG_OVERWRITE_ETHADDR_ONCE is not set @@ -1063,17 +1188,20 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y # CONFIG_USE_ETHPRIME is not set # CONFIG_USE_HOSTNAME is not set # CONFIG_VERSION_VARIABLE is not set + +# +# Networking +# +# CONFIG_NO_NET is not set CONFIG_NET=y +# CONFIG_NET_LWIP is not set 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 @@ -1090,6 +1218,10 @@ CONFIG_BOOTP_MAX_ROOT_PATH_LEN=64 # CONFIG_USE_SERVERIP is not set # CONFIG_PROT_TCP is not set # CONFIG_IPV6 is not set +CONFIG_BOOTDEV_ETH=y +# CONFIG_NET_RANDOM_ETHADDR is not set +# CONFIG_WGET is not set +CONFIG_TFTP_BLOCKSIZE=1468 CONFIG_SYS_RX_ETH_BUFFER=4 # @@ -1101,6 +1233,7 @@ CONFIG_SYS_RX_ETH_BUFFER=4 # CONFIG_DM=y CONFIG_SPL_DM=y +CONFIG_TPL_DM=y # CONFIG_DM_WARN is not set # CONFIG_SPL_DM_WARN is not set # CONFIG_DM_DEBUG is not set @@ -1112,18 +1245,24 @@ CONFIG_DM_EVENT=y CONFIG_DM_STDIO=y CONFIG_DM_SEQ_ALIAS=y CONFIG_SPL_DM_SEQ_ALIAS=y +# CONFIG_TPL_DM_SEQ_ALIAS is not set CONFIG_SPL_DM_INLINE_OFNODE=y +CONFIG_TPL_DM_INLINE_OFNODE=y # CONFIG_DM_DMA is not set CONFIG_REGMAP=y CONFIG_SPL_REGMAP=y +CONFIG_TPL_REGMAP=y CONFIG_SYSCON=y CONFIG_SPL_SYSCON=y +CONFIG_TPL_SYSCON=y # CONFIG_DEVRES is not set CONFIG_SIMPLE_BUS=y CONFIG_SPL_SIMPLE_BUS=y +# CONFIG_TPL_SIMPLE_BUS is not set # CONFIG_SIMPLE_BUS_CORRECT_RANGE is not set CONFIG_OF_TRANSLATE=y # CONFIG_SPL_OF_TRANSLATE is not set +# CONFIG_TPL_OF_TRANSLATE is not set # CONFIG_TRANSLATION_OFFSET is not set CONFIG_OFNODE_MULTI_TREE=y CONFIG_OFNODE_MULTI_TREE_MAX=4 @@ -1148,11 +1287,11 @@ CONFIG_SARADC_ROCKCHIP=y # CONFIG_BLK=y CONFIG_SPL_BLK=y +# CONFIG_TPL_BLK is not set 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 @@ -1179,10 +1318,12 @@ CONFIG_BLOCK_CACHE=y # CONFIG_CLK=y CONFIG_SPL_CLK=y +CONFIG_TPL_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_STUB is not set # CONFIG_CLK_CDCE9XX is not set # CONFIG_CLK_ICS8N3QV01 is not set # CONFIG_CLK_K210 is not set @@ -1192,6 +1333,7 @@ CONFIG_SPL_CLK=y # CONFIG_CLK_AT91 is not set # CONFIG_CLK_RCAR is not set # CONFIG_CLK_RCAR_CPG_LIB is not set +# CONFIG_CLK_SOPHGO_CV1800B is not set # CONFIG_CLK_SIFIVE is not set # CONFIG_CLK_TI_AM3_DPLL is not set # CONFIG_CLK_TI_CTRL is not set @@ -1261,6 +1403,7 @@ CONFIG_ARM_PSCI_FW=y # CONFIG_FWU_MDATA is not set CONFIG_GPIO=y CONFIG_SPL_DM_GPIO=y +CONFIG_TPL_DM_GPIO=y # CONFIG_GPIO_HOG is not set # CONFIG_SPL_GPIO_HOG is not set # CONFIG_DM_GPIO_LOOKUP_LABEL is not set @@ -1271,6 +1414,8 @@ CONFIG_SPL_DM_GPIO=y # CONFIG_AT91_GPIO is not set # CONFIG_ATMEL_PIO4 is not set # CONFIG_ASPEED_GPIO is not set +# CONFIG_ASPEED_SGPIO is not set +# CONFIG_ASPEED_G7_GPIO is not set # CONFIG_DA8XX_GPIO is not set # CONFIG_FXL6408_GPIO is not set # CONFIG_HIKEY_GPIO is not set @@ -1288,6 +1433,7 @@ CONFIG_SPL_DM_GPIO=y # CONFIG_MXC_GPIO is not set # CONFIG_MXS_GPIO is not set # CONFIG_NPCM_GPIO is not set +# CONFIG_NPCM_SGPIO is not set # CONFIG_CMD_PCA953X is not set # CONFIG_PCF8575_GPIO is not set CONFIG_ROCKCHIP_GPIO=y @@ -1317,6 +1463,7 @@ CONFIG_ROCKCHIP_GPIO=y CONFIG_I2C=y CONFIG_DM_I2C=y CONFIG_SPL_DM_I2C=y +# CONFIG_TPL_DM_I2C is not set CONFIG_I2C_CROS_EC_TUNNEL=y # CONFIG_I2C_CROS_EC_LDO is not set # CONFIG_I2C_SET_DEFAULT_BUS_NUM is not set @@ -1347,8 +1494,10 @@ CONFIG_I2C_MUX=y # CONFIG_I2C_MUX_GPIO is not set CONFIG_INPUT=y # CONFIG_SPL_INPUT is not set +# CONFIG_TPL_INPUT is not set CONFIG_DM_KEYBOARD=y # CONFIG_SPL_DM_KEYBOARD is not set +# CONFIG_TPL_DM_KEYBOARD is not set # CONFIG_APPLE_SPI_KEYB is not set # CONFIG_BUTTON_KEYBOARD is not set CONFIG_CROS_EC_KEYB=y @@ -1365,6 +1514,8 @@ CONFIG_CROS_EC_KEYB=y # LED Support # # CONFIG_LED is not set +# CONFIG_LED_BOOT is not set +# CONFIG_LED_ACTIVITY is not set # CONFIG_SPL_LED is not set # CONFIG_LED_STATUS is not set @@ -1385,6 +1536,7 @@ CONFIG_CROS_EC_KEYB=y # CONFIG_MISC=y CONFIG_SPL_MISC=y +CONFIG_TPL_MISC=y # CONFIG_NVMEM is not set # CONFIG_SPL_NVMEM is not set # CONFIG_ALTERA_SYSID is not set @@ -1399,9 +1551,11 @@ CONFIG_ROCKCHIP_IODOMAIN=y # CONFIG_VEXPRESS_CONFIG is not set CONFIG_CROS_EC=y # CONFIG_SPL_CROS_EC is not set +# CONFIG_TPL_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_TPL_CROS_EC_LPC is not set CONFIG_CROS_EC_SPI=y # CONFIG_DS4510 is not set # CONFIG_FSL_SEC_MON is not set @@ -1439,6 +1593,7 @@ CONFIG_MMC_PWRSEQ=y # CONFIG_MMC_BROKEN_CD is not set CONFIG_DM_MMC=y CONFIG_SPL_DM_MMC=y +# CONFIG_TPL_DM_MMC is not set # CONFIG_MMC_SPI is not set # CONFIG_ARM_PL180_MMCI is not set CONFIG_MMC_QUIRKS=y @@ -1477,6 +1632,7 @@ CONFIG_MMC_SDHCI_ADMA_64BIT=y # CONFIG_MMC_SDHCI_NPCM is not set CONFIG_MMC_SDHCI_ROCKCHIP=y # CONFIG_MMC_SDHCI_S5P is not set +# CONFIG_MMC_SDHCI_SNPS is not set # CONFIG_MMC_SDHCI_STI is not set # CONFIG_MMC_SDHCI_XENON is not set # CONFIG_MMC_SDHCI_TANGIER is not set @@ -1497,7 +1653,6 @@ CONFIG_MTD=y # CONFIG_MTD_BLOCK 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 @@ -1507,8 +1662,6 @@ CONFIG_MTD=y # 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 @@ -1522,6 +1675,7 @@ CONFIG_SPI_FLASH_UNLOCK_ALL=y CONFIG_SPI_FLASH_GIGADEVICE=y # CONFIG_SPI_FLASH_ISSI is not set # CONFIG_SPI_FLASH_MACRONIX is not set +# CONFIG_SPI_FLASH_PUYA is not set # CONFIG_SPI_FLASH_SILICONKAISER is not set # CONFIG_SPI_FLASH_SPANSION is not set # CONFIG_SPI_FLASH_STMICRO is not set @@ -1690,6 +1844,7 @@ CONFIG_PINMUX=y # CONFIG_PINCONF is not set CONFIG_PINCONF_RECURSIVE=y CONFIG_SPL_PINCTRL=y +# CONFIG_TPL_PINCTRL is not set CONFIG_SPL_PINCTRL_FULL=y CONFIG_SPL_PINCTRL_GENERIC=y CONFIG_SPL_PINMUX=y @@ -1713,6 +1868,7 @@ CONFIG_POWER=y # CONFIG_POWER_LEGACY is not set # CONFIG_ACPI_PMC is not set # CONFIG_SPL_ACPI_PMC is not set +# CONFIG_TPL_ACPI_PMC is not set # # Power Domain Support @@ -1773,13 +1929,15 @@ CONFIG_DM_REGULATOR=y CONFIG_REGULATOR_PWM=y # CONFIG_SPL_REGULATOR_PWM is not set CONFIG_DM_REGULATOR_COMMON=y +CONFIG_SPL_DM_REGULATOR_COMMON=y CONFIG_DM_REGULATOR_FIXED=y -# CONFIG_SPL_DM_REGULATOR_FIXED is not set +CONFIG_SPL_DM_REGULATOR_FIXED=y 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_TPS6287X is not set # CONFIG_DM_REGULATOR_ANATOP is not set # CONFIG_DM_REGULATOR_SCMI is not set # CONFIG_TPS6586X_POWER is not set @@ -1800,6 +1958,7 @@ CONFIG_PWM_ROCKCHIP=y # CONFIG_U_QE is not set CONFIG_RAM=y CONFIG_SPL_RAM=y +CONFIG_TPL_RAM=y # CONFIG_STM32_SDRAM is not set # CONFIG_MPC83XX_SDRAM is not set # CONFIG_K3_DDRSS is not set @@ -1848,6 +2007,7 @@ CONFIG_RNG_ROCKCHIP=y # # CONFIG_DM_RTC is not set # CONFIG_SPL_DM_RTC is not set +# CONFIG_TPL_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 @@ -1855,7 +2015,6 @@ CONFIG_RNG_ROCKCHIP=y # 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 @@ -1868,15 +2027,18 @@ CONFIG_REQUIRE_SERIAL_CONSOLE=y # CONFIG_SPECIFY_CONSOLE_INDEX is not set CONFIG_SERIAL_PRESENT=y CONFIG_SPL_SERIAL_PRESENT=y +CONFIG_TPL_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_TPL_DM_SERIAL=y # CONFIG_VPL_DM_SERIAL is not set CONFIG_DEBUG_UART_NS16550=y CONFIG_SPL_DEBUG_UART_BASE=0xff1a0000 +CONFIG_TPL_DEBUG_UART_BASE=0xff1a0000 CONFIG_DEBUG_UART_SHIFT=2 # CONFIG_DEBUG_UART_ANNOUNCE is not set # CONFIG_DEBUG_UART_SKIP_INIT is not set @@ -1934,27 +2096,18 @@ CONFIG_SPI_MEM=y # 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 @@ -1968,17 +2121,11 @@ CONFIG_ROCKCHIP_SPI=y # 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 +# CONFIG_SPI_STACKED_PARALLEL is not set # # SPMI support @@ -1991,6 +2138,7 @@ CONFIG_ROCKCHIP_SPI=y # CONFIG_SYSRESET=y CONFIG_SPL_SYSRESET=y +CONFIG_TPL_SYSRESET=y CONFIG_SYSRESET_CMD_RESET=y CONFIG_SYSRESET_CMD_POWEROFF=y # CONFIG_SYSRESET_CV1800B is not set @@ -2026,6 +2174,7 @@ 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_GENERIC is not set # CONFIG_USB_XHCI_FSL is not set # CONFIG_USB_XHCI_BRCM is not set CONFIG_USB_EHCI_HCD=y @@ -2054,6 +2203,7 @@ CONFIG_USB_DWC3_GENERIC=y # CONFIG_SPL_USB_DWC3_GENERIC is not set # CONFIG_USB_DWC3_AM62 is not set # CONFIG_USB_DWC3_LAYERSCAPE is not set +# CONFIG_USB_DWC3_STI is not set # # PHY Subsystem @@ -2078,6 +2228,7 @@ CONFIG_USB_DWC3_GENERIC=y # # CONFIG_TWL4030_USB is not set # CONFIG_ROCKCHIP_USB2_PHY is not set +# CONFIG_TYPEC_TCPM is not set # # ULPI drivers @@ -2158,6 +2309,7 @@ CONFIG_SIMPLE_PANEL=y # 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_SHARP_LQ101R1SX01 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 @@ -2247,7 +2399,6 @@ CONFIG_FS_FAT_MAX_CLUSTSIZE=65536 # 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 @@ -2259,6 +2410,7 @@ CONFIG_FS_FAT_MAX_CLUSTSIZE=65536 # CONFIG_PHYSMEM is not set # CONFIG_BCH is not set # CONFIG_BINMAN_FDT is not set +CONFIG_BINMAN_DTB="" # CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set CONFIG_CHARSET=y # CONFIG_DYNAMIC_CRC_TABLE is not set @@ -2269,12 +2421,16 @@ CONFIG_SPL_LIB_UUID=y # CONFIG_SPL_SEMIHOSTING is not set CONFIG_PRINTF=y CONFIG_SPL_PRINTF=y +CONFIG_TPL_PRINTF=y CONFIG_SPRINTF=y CONFIG_SPL_SPRINTF=y +CONFIG_TPL_SPRINTF=y CONFIG_STRTO=y CONFIG_SPL_STRTO=y +CONFIG_TPL_STRTO=y CONFIG_SYS_HZ=1000 CONFIG_SPL_USE_TINY_PRINTF=y +CONFIG_TPL_USE_TINY_PRINTF=y CONFIG_PANIC_HANG=y CONFIG_REGEX=y CONFIG_LIB_RAND=y @@ -2283,19 +2439,48 @@ CONFIG_SUPPORT_ACPI=y # CONFIG_ACPI is not set # CONFIG_SPL_ACPI is not set # CONFIG_SPL_TINY_MEMSET is not set +CONFIG_TPL_TINY_MEMSET=y # CONFIG_BITREVERSE is not set # CONFIG_TRACE is not set # CONFIG_CIRCBUF is not set CONFIG_CMD_DHRYSTONE=y # +# Alternative crypto libraries +# +CONFIG_LEGACY_HASHING_AND_CRYPTO=y +# CONFIG_MBEDTLS_LIB is not set +CONFIG_LEGACY_HASHING=y +CONFIG_SHA1_LEGACY=y +CONFIG_SHA256_LEGACY=y +CONFIG_MD5_LEGACY=y +CONFIG_LEGACY_CRYPTO=y +CONFIG_SPL_LEGACY_HASHING_AND_CRYPTO=y +# CONFIG_SPL_MBEDTLS_LIB is not set +CONFIG_SPL_LEGACY_HASHING=y +CONFIG_SPL_SHA1_LEGACY=y +CONFIG_SPL_SHA256_LEGACY=y +CONFIG_SPL_LEGACY_CRYPTO=y +CONFIG_TPL_LEGACY_HASHING_AND_CRYPTO=y +# CONFIG_TPL_MBEDTLS_LIB is not set +CONFIG_TPL_LEGACY_HASHING=y + +# # Security support # # CONFIG_AES is not set # CONFIG_ECDSA is not set -# CONFIG_RSA is not set +CONFIG_RSA=y +CONFIG_SPL_RSA=y +CONFIG_SPL_RSA_VERIFY=y +CONFIG_RSA_VERIFY=y +# CONFIG_RSA_VERIFY_WITH_PKEY is not set +# CONFIG_SPL_RSA_VERIFY_WITH_PKEY is not set +CONFIG_RSA_SOFTWARE_EXP=y +# CONFIG_ASYMMETRIC_KEY_TYPE is not set # CONFIG_TPM is not set # CONFIG_SPL_TPM is not set +# CONFIG_TPL_TPM is not set # # Android Verified Boot @@ -2319,7 +2504,9 @@ CONFIG_SPL_SHA256=y CONFIG_MD5=y # CONFIG_SPL_MD5 is not set CONFIG_CRC8=y -# CONFIG_SPL_CRC8 is not set +CONFIG_SPL_CRC8=y +# CONFIG_TPL_CRC8 is not set +CONFIG_CRC16=y # CONFIG_SPL_CRC16 is not set CONFIG_CRC32=y @@ -2336,10 +2523,13 @@ CONFIG_ZLIB=y # CONFIG_ZSTD is not set # CONFIG_SPL_BZIP2 is not set # CONFIG_SPL_LZ4 is not set +# CONFIG_TPL_LZ4 is not set # CONFIG_SPL_LZMA is not set +# CONFIG_TPL_LZMA is not set CONFIG_VPL_LZMA=y # CONFIG_SPL_LZO is not set # CONFIG_SPL_GZIP is not set +# CONFIG_TPL_GZIP is not set # CONFIG_SPL_ZSTD is not set CONFIG_ERRNO_STR=y # CONFIG_HEXDUMP is not set @@ -2348,49 +2538,26 @@ 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 +CONFIG_TPL_OF_LIBFDT=y +CONFIG_TPL_OF_LIBFDT_ASSUME_MASK=0xff # # System tables # +# CONFIG_BLOBLIST_TABLES is not set CONFIG_GENERATE_SMBIOS_TABLE=y +# CONFIG_GENERATE_SMBIOS_TABLE_VERBOSE is not set # 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_LMB_ARCH_MEM_MAP is not set # CONFIG_PHANDLE_CHECK_SEQ is not set # @@ -2404,6 +2571,7 @@ CONFIG_LMB_MAX_REGIONS=16 # Tools options # CONFIG_MKIMAGE_DTC_PATH="dtc" +CONFIG_TOOLS_CRC16=y CONFIG_TOOLS_CRC32=y CONFIG_TOOLS_LIBCRYPTO=y CONFIG_TOOLS_KWBIMAGE=y diff --git a/config/u-boot/gru_bob/target.cfg b/config/u-boot/gru_bob/target.cfg index f7d4d7d9..e19603c2 100644 --- a/config/u-boot/gru_bob/target.cfg +++ b/config/u-boot/gru_bob/target.cfg @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + 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 index 1e14cdba..310fcb6f 100644 --- a/config/u-boot/gru_kevin/config/default +++ b/config/u-boot/gru_kevin/config/default @@ -1,15 +1,17 @@ # # Automatically generated file; DO NOT EDIT. -# U-Boot 2024.10 Configuration +# U-Boot 2025.04 Configuration # # -# Compiler: gcc (Debian 14.2.0-8) 14.2.0 +# Compiler: gcc (Debian 14.2.0-19) 14.2.0 # CONFIG_CREATE_ARCH_SYMLINK=y +CONFIG_HAVE_SETJMP=y CONFIG_SUPPORT_LITTLE_ENDIAN=y CONFIG_SYS_CACHE_SHIFT_6=y CONFIG_64BIT=y +CONFIG_SPL_64BIT=y CONFIG_SYS_CACHELINE_SIZE=64 CONFIG_LINKER_LIST_ALIGN=8 # CONFIG_ARC is not set @@ -39,10 +41,11 @@ CONFIG_SKIP_LOWLEVEL_INIT=y # 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_TPL_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 +# CONFIG_SPL_SYS_DCACHE_OFF is not set # # ARM architecture @@ -51,9 +54,9 @@ 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_INIT_SP_RELATIVE is not set CONFIG_LNX_KRNL_IMG_TEXT_OFFSET_BASE=0x18000000 +# CONFIG_DRIVER_GICV2 is not set # CONFIG_GIC_V3_ITS is not set # CONFIG_GICV3_SUPPORT_GIC600 is not set CONFIG_STATIC_RELA=y @@ -75,8 +78,10 @@ CONFIG_ARM_SMCCC=y CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y # CONFIG_USE_ARCH_MEMCPY is not set # CONFIG_SPL_USE_ARCH_MEMCPY is not set +# CONFIG_TPL_USE_ARCH_MEMCPY is not set # CONFIG_USE_ARCH_MEMSET is not set # CONFIG_SPL_USE_ARCH_MEMSET is not set +# CONFIG_TPL_USE_ARCH_MEMSET is not set CONFIG_ARM64_SUPPORT_AARCH32=y # CONFIG_ARCH_AT91 is not set # CONFIG_ARCH_DAVINCI is not set @@ -100,6 +105,7 @@ CONFIG_ARM64_SUPPORT_AARCH32=y # CONFIG_ARCH_OMAP2PLUS is not set # CONFIG_ARCH_MESON is not set # CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MMP is not set # CONFIG_ARCH_LPC32XX is not set # CONFIG_ARCH_IMX8 is not set # CONFIG_ARCH_IMX8M is not set @@ -183,23 +189,25 @@ CONFIG_ARCH_ROCKCHIP=y # 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_SYS_MALLOC_F_LEN=0x10000 +CONFIG_BLOBLIST_SIZE_RELOC=0x1000 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_HAS_CUSTOM_SYS_INIT_SP_ADDR=y +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x3f00000 CONFIG_SF_DEFAULT_SPEED=20000000 CONFIG_SF_DEFAULT_MODE=0x0 CONFIG_ENV_SIZE=0x1f000 CONFIG_DM_GPIO=y CONFIG_SPL_DM_SPI=y CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-gru-kevin" -CONFIG_SPL_TEXT_BASE=0xff8c2000 +CONFIG_DDR_SI_TEST=y CONFIG_OF_LIBFDT_OVERLAY=y CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000 CONFIG_DM_RESET=y @@ -221,16 +229,20 @@ CONFIG_ROCKCHIP_RK3399=y # CONFIG_ROCKCHIP_RV1126 is not set # CONFIG_ROCKCHIP_USB_UART is not set # CONFIG_SPL_ROCKCHIP_BACK_TO_BROM is not set +CONFIG_TPL_ROCKCHIP_BACK_TO_BROM=y CONFIG_ROCKCHIP_COMMON_BOARD=y CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y +CONFIG_TPL_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_ROCKCHIP_SPL_RESERVE_IRAM=0x0 +CONFIG_ROCKCHIP_BROM_HELPER=y # CONFIG_SPL_ROCKCHIP_EARLYRETURN_TO_BROM is not set CONFIG_ROCKCHIP_DISABLE_FORCE_JTAG=y +# CONFIG_TPL_ROCKCHIP_EARLYRETURN_TO_BROM is not set # CONFIG_SPL_MMC is not set CONFIG_ROCKCHIP_SPI_IMAGE=y CONFIG_ROCKCHIP_COMMON_STACK_ADDR=y @@ -238,8 +250,12 @@ 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_TPL_SYS_MALLOC_F_LEN=0x4000 +CONFIG_TPL_LIBCOMMON_SUPPORT=y +CONFIG_TPL_LIBGENERIC_SUPPORT=y +CONFIG_TPL_SERIAL=y # CONFIG_SPL_DRIVERS_MISC is not set -CONFIG_SPL_STACK_R_ADDR=0x04000000 +CONFIG_SPL_STACK_R_ADDR=0x3e00000 # CONFIG_TARGET_CHROMEBOOK_BOB is not set CONFIG_TARGET_CHROMEBOOK_KEVIN=y # CONFIG_TARGET_EVB_RK3399 is not set @@ -250,14 +266,20 @@ CONFIG_TARGET_CHROMEBOOK_KEVIN=y # 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_TPL_SYS_MALLOC_F=y +CONFIG_SPL_SYS_MALLOC_F_LEN=0x8000 +CONFIG_SPL_TEXT_BASE=0x0 CONFIG_SPL_HAS_BSS_LINKER_SECTION=y -CONFIG_SPL_BSS_START_ADDR=0xff8e0000 -CONFIG_SPL_BSS_MAX_SIZE=0x10000 +CONFIG_SPL_BSS_START_ADDR=0x3f80000 +CONFIG_SPL_BSS_MAX_SIZE=0x8000 CONFIG_SPL_STACK_R=y -CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x4000 +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x200000 +CONFIG_SYS_BOOTM_LEN=0x4000000 +CONFIG_SYS_LOAD_ADDR=0x800800 CONFIG_WATCHDOG_TIMEOUT_MSECS=60000 +CONFIG_SPL_OF_LIBFDT_ASSUME_MASK=0xff +CONFIG_SF_DEFAULT_BUS=1 +CONFIG_SF_DEFAULT_CS=0 CONFIG_SPL_SYS_MALLOC_F=y CONFIG_ERR_PTR_OFFSET=0x0 CONFIG_SPL_SIZE_LIMIT=0x0 @@ -293,24 +315,18 @@ CONFIG_PSCI_RESET=y 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_TPL_MAX_SIZE=0x2e000 +CONFIG_SPL_PAYLOAD="tpl/u-boot-with-tpl.bin" CONFIG_BUILD_TARGET="" # CONFIG_PCI is not set CONFIG_FWU_NUM_BANKS=2 CONFIG_FWU_NUM_IMAGES_PER_BANK=2 +CONFIG_TPL_SIZE_LIMIT=0x0 CONFIG_DEBUG_UART=y # CONFIG_AHCI is not set # CONFIG_OF_BOARD_FIXUP is not set @@ -336,6 +352,7 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y # CONFIG_SPL_OPTIMIZE_INLINING is not set CONFIG_ARCH_SUPPORTS_LTO=y # CONFIG_LTO is not set +# CONFIG_TPL_OPTIMIZE_INLINING is not set CONFIG_CC_HAS_ASM_INLINE=y # CONFIG_XEN is not set CONFIG_ENV_VARS_UBOOT_CONFIG=y @@ -357,8 +374,6 @@ CONFIG_REMAKE_ELF=y # 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 @@ -371,6 +386,63 @@ CONFIG_SYS_UBOOT_START=0x18000000 # # +# UEFI Support +# +CONFIG_EFI_LOADER=y +CONFIG_EFI_BINARY_EXEC=y +# CONFIG_EFI_SECURE_BOOT is not set + +# +# UEFI services +# +CONFIG_EFI_HAVE_RUNTIME_RESET=y + +# +# UEFI Variables +# +# 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_PLATFORM_LANG_CODES="en-US" + +# +# Capsule support +# +# CONFIG_EFI_RUNTIME_UPDATE_CAPSULE is not set +# CONFIG_EFI_CAPSULE_ON_DISK is not set +CONFIG_EFI_CAPSULE_MAX=15 + +# +# UEFI protocol support +# +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_RNG_PROTOCOL=y +CONFIG_EFI_LOAD_FILE2_INITRD=y +# CONFIG_EFI_IP4_CONFIG2_PROTOCOL is not set + +# +# Misc options +# +# CONFIG_EFI_LOADER_BOUNCE_BUFFER is not set +CONFIG_EFI_ECPT=y +CONFIG_EFI_EBBR_2_1_CONFORMANCE=y +# CONFIG_EFI_SCROLL_ON_CLEAR_SCREEN is not set + +# +# EFI bootmanager +# +CONFIG_EFI_BOOTMGR=y +# CONFIG_EFI_HTTP_BOOT is not set +CONFIG_BOOTEFI_HELLO_COMPILE=y +CONFIG_BOOTEFI_TESTAPP_COMPILE=y + +# # Boot images # # CONFIG_ANDROID_BOOT_IMAGE is not set @@ -378,22 +450,26 @@ CONFIG_SYS_UBOOT_START=0x18000000 CONFIG_FIT=y CONFIG_FIT_EXTERNAL_OFFSET=0x0 CONFIG_FIT_FULL_CHECK=y -# CONFIG_FIT_SIGNATURE is not set +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 is not set # CONFIG_FIT_BEST_MATCH is not set CONFIG_FIT_PRINT=y CONFIG_SPL_FIT=y +# CONFIG_TPL_FIT is not set # CONFIG_SPL_FIT_PRINT is not set -# CONFIG_SPL_FIT_FULL_CHECK is not set -# CONFIG_SPL_FIT_SIGNATURE is not set +CONFIG_SPL_FIT_FULL_CHECK=y +CONFIG_SPL_FIT_SIGNATURE=y +CONFIG_SPL_FIT_SIGNATURE_MAX_SIZE=0x10000000 +# CONFIG_SPL_FIT_RSASSA_PSS 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_TPL_LOAD_FIT 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 @@ -403,6 +479,7 @@ CONFIG_BOOTSTD=y CONFIG_BOOTSTD_FULL=y CONFIG_BOOTSTD_DEFAULTS=y CONFIG_BOOTSTD_BOOTCOMMAND=y +CONFIG_BOOTSTD_MENU=y CONFIG_BOOTMETH_GLOBAL=y # CONFIG_BOOTMETH_ANDROID is not set # CONFIG_BOOTMETH_CROS is not set @@ -413,15 +490,17 @@ CONFIG_BOOTMETH_EFI_BOOTMGR=y CONFIG_BOOTMETH_VBE=y CONFIG_BOOTMETH_DISTRO=y # CONFIG_SPL_BOOTMETH_VBE is not set +CONFIG_TPL_BOOTMETH_VBE=y CONFIG_BOOTMETH_VBE_REQUEST=y # CONFIG_SPL_BOOTMETH_VBE_REQUEST is not set CONFIG_BOOTMETH_VBE_SIMPLE=y +# CONFIG_BOOTMETH_VBE_ABREC is not set CONFIG_BOOTMETH_VBE_SIMPLE_OS=y # CONFIG_SPL_BOOTMETH_VBE_SIMPLE is not set CONFIG_EXPO=y CONFIG_BOOTMETH_SCRIPT=y +# CONFIG_UPL is not set 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 @@ -475,7 +554,7 @@ 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_BOOTCOMMAND="bootflow scan -l; if bootflow menu; then cls; bootflow boot; fi" CONFIG_USE_PREBOOT=y CONFIG_PREBOOT="usb start" CONFIG_PREBOOT_DEFINED=y @@ -498,6 +577,7 @@ CONFIG_SYS_PBSIZE=1044 # CONFIG_DISABLE_CONSOLE is not set CONFIG_LOGLEVEL=4 CONFIG_SPL_LOGLEVEL=4 +CONFIG_TPL_LOGLEVEL=4 # CONFIG_SILENT_CONSOLE is not set # CONFIG_SPL_SILENT_CONSOLE is not set # CONFIG_TPL_SILENT_CONSOLE is not set @@ -526,6 +606,7 @@ CONFIG_LOG_CONSOLE=y CONFIG_LOGF_FUNC_PAD=20 # CONFIG_LOG_SYSLOG is not set # CONFIG_SPL_LOG is not set +# CONFIG_TPL_LOG is not set # CONFIG_LOG_ERROR_RETURN is not set # @@ -562,6 +643,7 @@ CONFIG_MISC_INIT_R=y # Security support # CONFIG_HASH=y +# CONFIG_HASH_CRC8 is not set CONFIG_SPL_HASH=y # CONFIG_STACKPROTECTOR is not set # CONFIG_BOARD_RNG_SEED is not set @@ -577,11 +659,11 @@ CONFIG_SPL_HASH=y # CONFIG_BLOBLIST=y CONFIG_SPL_BLOBLIST=y +# CONFIG_TPL_BLOBLIST is not set 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 @@ -592,7 +674,7 @@ CONFIG_SUPPORT_TPL=y # CONFIG_SPL_FRAMEWORK=y # CONFIG_SPL_FRAMEWORK_BOARD_INIT_F is not set -CONFIG_SPL_MAX_SIZE=0x1e000 +CONFIG_SPL_MAX_SIZE=0x40000 CONFIG_SPL_PAD_TO=0x7f8000 # CONFIG_SPL_NO_BSS_LIMIT is not set CONFIG_SPL_BSS_LIMIT=y @@ -606,24 +688,27 @@ CONFIG_HANDOFF=y CONFIG_SPL_HANDOFF=y # CONFIG_SPL_SOC_INIT is not set CONFIG_SPL_BOARD_INIT=y +CONFIG_SPL_LOAD_BLOCK=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_SHARES_INIT_SP_ADDR=y 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_SPL_SYS_MMCSD_RAW_MODE=y CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y +# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION is not set +# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE is not set 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_CRYPTO=y # CONFIG_SPL_DMA is not set # CONFIG_SPL_ENV_SUPPORT is not set # CONFIG_SPL_FS_EXT4 is not set @@ -640,6 +725,7 @@ CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET=0x0 # CONFIG_SPL_NAND_DRIVERS is not set # CONFIG_SPL_NAND_ECC is not set # CONFIG_SPL_NAND_SIMPLE is not set +# CONFIG_SPL_RELOC_LOADER is not set # CONFIG_SPL_UBI is not set CONFIG_SPL_DM_SPI_FLASH=y # CONFIG_SPL_NET is not set @@ -653,7 +739,7 @@ CONFIG_SPL_DM_SPI_FLASH=y # 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_RAM_DEVICE is not set # CONFIG_SPL_REMOTEPROC is not set # CONFIG_SPL_RTC is not set # CONFIG_SPL_SATA is not set @@ -661,7 +747,7 @@ CONFIG_SPL_DM_SPI_FLASH=y 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_SYS_SPI_U_BOOT_OFFS=0xE0000 # CONFIG_SPL_THERMAL is not set # CONFIG_SPL_WATCHDOG is not set # CONFIG_SPL_YMODEM_SUPPORT is not set @@ -670,8 +756,42 @@ CONFIG_SPL_ATF=y CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y # CONFIG_SPL_OPTEE_IMAGE is not set CONFIG_SPL_TARGET="" -# CONFIG_TPL is not set +CONFIG_TPL=y + +# +# TPL configuration options +# +CONFIG_TPL_BINMAN_SYMBOLS=y +CONFIG_TPL_BINMAN_UBOOT_SYMBOLS=y +CONFIG_TPL_FRAMEWORK=y +CONFIG_TPL_BANNER_PRINT=y +# CONFIG_TPL_BOARD_INIT is not set +CONFIG_TPL_SYS_MALLOC_SIMPLE=y +CONFIG_TPL_SEPARATE_BSS=y +CONFIG_TPL_NEEDS_SEPARATE_STACK=y +# CONFIG_TPL_POWER is not set +CONFIG_TPL_BOOTROM_SUPPORT=y +# CONFIG_TPL_CRC32 is not set +# CONFIG_TPL_DRIVERS_MISC is not set +# CONFIG_TPL_ENV_SUPPORT is not set +CONFIG_TPL_GPIO=y +# CONFIG_TPL_I2C is not set +# CONFIG_TPL_MPC8XXX_INIT_DDR is not set +# CONFIG_TPL_MMC is not set +# CONFIG_TPL_NAND_SUPPORT is not set +# CONFIG_TPL_PCI is not set +# CONFIG_TPL_PCH is not set +# CONFIG_TPL_RAM_SUPPORT is not set +# CONFIG_TPL_RELOC_LOADER is not set +# CONFIG_TPL_RTC is not set +# CONFIG_TPL_SPI_FLASH_SUPPORT is not set +# CONFIG_TPL_SPI is not set +# CONFIG_TPL_DM_SPI is not set +# CONFIG_TPL_DM_SPI_FLASH is not set +# CONFIG_TPL_YMODEM_SUPPORT is not set # CONFIG_VPL is not set +CONFIG_IMAGE_SIGN_INFO=y +CONFIG_SPL_IMAGE_SIGN_INFO=y CONFIG_CMDLINE=y CONFIG_HUSH_PARSER=y @@ -700,6 +820,7 @@ CONFIG_CMD_BDI=y # CONFIG_CMD_BDINFO_EXTRA is not set # CONFIG_CMD_CONFIG is not set CONFIG_CMD_CONSOLE=y +# CONFIG_CMD_UFETCH is not set # CONFIG_CMD_HISTORY is not set # CONFIG_CMD_LICENSE is not set # CONFIG_CMD_PMC is not set @@ -713,7 +834,9 @@ CONFIG_CMD_BOOTM=y CONFIG_CMD_BOOTDEV=y CONFIG_CMD_BOOTFLOW=y CONFIG_CMD_BOOTFLOW_FULL=y +CONFIG_CMD_BOOTFLOW_BOOTDELAY=30 CONFIG_CMD_BOOTMETH=y +CONFIG_CMD_BOOTSTD=y CONFIG_BOOTM_EFI=y CONFIG_BOOTM_ELF=y CONFIG_CMD_BOOTZ=y @@ -724,17 +847,18 @@ CONFIG_BOOTM_NETBSD=y # CONFIG_BOOTM_OSE is not set CONFIG_BOOTM_PLAN9=y CONFIG_BOOTM_RTEMS=y +# CONFIG_CMD_UPL is not set 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_BOOTVX=y # CONFIG_CMD_ELF_FDT_SETUP is not set CONFIG_CMD_FDT=y CONFIG_CMD_GO=y @@ -825,10 +949,10 @@ 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_MMC_SPEED_MODE_SET=y # 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 @@ -842,7 +966,6 @@ CONFIG_CMD_SPI=y CONFIG_DEFAULT_SPI_BUS=0 CONFIG_DEFAULT_SPI_MODE=0x0 CONFIG_CMD_USB=y -# CONFIG_CMD_USB_SDP is not set # CONFIG_CMD_RKMTD is not set # CONFIG_CMD_WRITE is not set @@ -855,13 +978,8 @@ 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 @@ -879,24 +997,25 @@ 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 +CONFIG_CMD_DHCP=y +# CONFIG_CMD_DNS is not set +CONFIG_CMD_MII=y +CONFIG_CMD_MDIO=y +CONFIG_CMD_PING=y +CONFIG_CMD_TFTPBOOT=y +# CONFIG_CMD_WGET is not set +CONFIG_CMD_PXE=y # # Misc commands @@ -978,7 +1097,6 @@ CONFIG_CMD_CYCLIC=y # CONFIG_CMD_EVENT is not set CONFIG_CMD_LOG=y # CONFIG_CMD_UBI is not set -CONFIG_MMC_SPEED_MODE_SET=y # # Partition Types @@ -987,6 +1105,7 @@ CONFIG_PARTITIONS=y CONFIG_SPL_PARTITIONS=y # CONFIG_MAC_PARTITION is not set # CONFIG_SPL_MAC_PARTITION is not set +# CONFIG_TEGRA_PARTITION is not set CONFIG_DOS_PARTITION=y CONFIG_SPL_DOS_PARTITION=y CONFIG_ISO_PARTITION=y @@ -1012,9 +1131,11 @@ CONFIG_BINMAN=y CONFIG_OF_CONTROL=y CONFIG_OF_REAL=y CONFIG_SPL_OF_CONTROL=y +CONFIG_TPL_OF_CONTROL=y CONFIG_OF_LIVE=y CONFIG_OF_UPSTREAM=y # CONFIG_OF_UPSTREAM_BUILD_VENDOR is not set +# CONFIG_OF_UPSTREAM_INCLUDE_LOCAL_FALLBACK_DTBOS is not set CONFIG_OF_SEPARATE=y # CONFIG_OF_EMBED is not set # CONFIG_OF_INITIAL_DTB_READONLY is not set @@ -1022,19 +1143,23 @@ CONFIG_OF_SEPARATE=y # CONFIG_OF_OMIT_DTB is not set CONFIG_DEVICE_TREE_INCLUDES="" CONFIG_OF_LIST="rockchip/rk3399-gru-kevin" +CONFIG_OF_OVERLAY_LIST="" # 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_SPL_REMOVE_PROPS="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 +CONFIG_TPL_OF_REAL=y +# CONFIG_TPL_OF_PLATDATA is not set # # Environment # CONFIG_ENV_SUPPORT=y +CONFIG_ENV_CALLBACK_LIST_STATIC="" CONFIG_SAVEENV=y # CONFIG_ENV_OVERWRITE is not set # CONFIG_OVERWRITE_ETHADDR_ONCE is not set @@ -1063,17 +1188,20 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y # CONFIG_USE_ETHPRIME is not set # CONFIG_USE_HOSTNAME is not set # CONFIG_VERSION_VARIABLE is not set + +# +# Networking +# +# CONFIG_NO_NET is not set CONFIG_NET=y +# CONFIG_NET_LWIP is not set 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 @@ -1090,6 +1218,10 @@ CONFIG_BOOTP_MAX_ROOT_PATH_LEN=64 # CONFIG_USE_SERVERIP is not set # CONFIG_PROT_TCP is not set # CONFIG_IPV6 is not set +CONFIG_BOOTDEV_ETH=y +# CONFIG_NET_RANDOM_ETHADDR is not set +# CONFIG_WGET is not set +CONFIG_TFTP_BLOCKSIZE=1468 CONFIG_SYS_RX_ETH_BUFFER=4 # @@ -1101,6 +1233,7 @@ CONFIG_SYS_RX_ETH_BUFFER=4 # CONFIG_DM=y CONFIG_SPL_DM=y +CONFIG_TPL_DM=y # CONFIG_DM_WARN is not set # CONFIG_SPL_DM_WARN is not set # CONFIG_DM_DEBUG is not set @@ -1112,18 +1245,24 @@ CONFIG_DM_EVENT=y CONFIG_DM_STDIO=y CONFIG_DM_SEQ_ALIAS=y CONFIG_SPL_DM_SEQ_ALIAS=y +# CONFIG_TPL_DM_SEQ_ALIAS is not set CONFIG_SPL_DM_INLINE_OFNODE=y +CONFIG_TPL_DM_INLINE_OFNODE=y # CONFIG_DM_DMA is not set CONFIG_REGMAP=y CONFIG_SPL_REGMAP=y +CONFIG_TPL_REGMAP=y CONFIG_SYSCON=y CONFIG_SPL_SYSCON=y +CONFIG_TPL_SYSCON=y # CONFIG_DEVRES is not set CONFIG_SIMPLE_BUS=y CONFIG_SPL_SIMPLE_BUS=y +# CONFIG_TPL_SIMPLE_BUS is not set # CONFIG_SIMPLE_BUS_CORRECT_RANGE is not set CONFIG_OF_TRANSLATE=y # CONFIG_SPL_OF_TRANSLATE is not set +# CONFIG_TPL_OF_TRANSLATE is not set # CONFIG_TRANSLATION_OFFSET is not set CONFIG_OFNODE_MULTI_TREE=y CONFIG_OFNODE_MULTI_TREE_MAX=4 @@ -1148,11 +1287,11 @@ CONFIG_SARADC_ROCKCHIP=y # CONFIG_BLK=y CONFIG_SPL_BLK=y +# CONFIG_TPL_BLK is not set 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 @@ -1179,10 +1318,12 @@ CONFIG_BLOCK_CACHE=y # CONFIG_CLK=y CONFIG_SPL_CLK=y +CONFIG_TPL_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_STUB is not set # CONFIG_CLK_CDCE9XX is not set # CONFIG_CLK_ICS8N3QV01 is not set # CONFIG_CLK_K210 is not set @@ -1192,6 +1333,7 @@ CONFIG_SPL_CLK=y # CONFIG_CLK_AT91 is not set # CONFIG_CLK_RCAR is not set # CONFIG_CLK_RCAR_CPG_LIB is not set +# CONFIG_CLK_SOPHGO_CV1800B is not set # CONFIG_CLK_SIFIVE is not set # CONFIG_CLK_TI_AM3_DPLL is not set # CONFIG_CLK_TI_CTRL is not set @@ -1261,6 +1403,7 @@ CONFIG_ARM_PSCI_FW=y # CONFIG_FWU_MDATA is not set CONFIG_GPIO=y CONFIG_SPL_DM_GPIO=y +CONFIG_TPL_DM_GPIO=y # CONFIG_GPIO_HOG is not set # CONFIG_SPL_GPIO_HOG is not set # CONFIG_DM_GPIO_LOOKUP_LABEL is not set @@ -1271,6 +1414,8 @@ CONFIG_SPL_DM_GPIO=y # CONFIG_AT91_GPIO is not set # CONFIG_ATMEL_PIO4 is not set # CONFIG_ASPEED_GPIO is not set +# CONFIG_ASPEED_SGPIO is not set +# CONFIG_ASPEED_G7_GPIO is not set # CONFIG_DA8XX_GPIO is not set # CONFIG_FXL6408_GPIO is not set # CONFIG_HIKEY_GPIO is not set @@ -1288,6 +1433,7 @@ CONFIG_SPL_DM_GPIO=y # CONFIG_MXC_GPIO is not set # CONFIG_MXS_GPIO is not set # CONFIG_NPCM_GPIO is not set +# CONFIG_NPCM_SGPIO is not set # CONFIG_CMD_PCA953X is not set # CONFIG_PCF8575_GPIO is not set CONFIG_ROCKCHIP_GPIO=y @@ -1317,6 +1463,7 @@ CONFIG_ROCKCHIP_GPIO=y CONFIG_I2C=y CONFIG_DM_I2C=y CONFIG_SPL_DM_I2C=y +# CONFIG_TPL_DM_I2C is not set CONFIG_I2C_CROS_EC_TUNNEL=y # CONFIG_I2C_CROS_EC_LDO is not set # CONFIG_I2C_SET_DEFAULT_BUS_NUM is not set @@ -1347,8 +1494,10 @@ CONFIG_I2C_MUX=y # CONFIG_I2C_MUX_GPIO is not set CONFIG_INPUT=y # CONFIG_SPL_INPUT is not set +# CONFIG_TPL_INPUT is not set CONFIG_DM_KEYBOARD=y # CONFIG_SPL_DM_KEYBOARD is not set +# CONFIG_TPL_DM_KEYBOARD is not set # CONFIG_APPLE_SPI_KEYB is not set # CONFIG_BUTTON_KEYBOARD is not set CONFIG_CROS_EC_KEYB=y @@ -1365,6 +1514,8 @@ CONFIG_CROS_EC_KEYB=y # LED Support # # CONFIG_LED is not set +# CONFIG_LED_BOOT is not set +# CONFIG_LED_ACTIVITY is not set # CONFIG_SPL_LED is not set # CONFIG_LED_STATUS is not set @@ -1385,6 +1536,7 @@ CONFIG_CROS_EC_KEYB=y # CONFIG_MISC=y CONFIG_SPL_MISC=y +CONFIG_TPL_MISC=y # CONFIG_NVMEM is not set # CONFIG_SPL_NVMEM is not set # CONFIG_ALTERA_SYSID is not set @@ -1399,9 +1551,11 @@ CONFIG_ROCKCHIP_IODOMAIN=y # CONFIG_VEXPRESS_CONFIG is not set CONFIG_CROS_EC=y # CONFIG_SPL_CROS_EC is not set +# CONFIG_TPL_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_TPL_CROS_EC_LPC is not set CONFIG_CROS_EC_SPI=y # CONFIG_DS4510 is not set # CONFIG_FSL_SEC_MON is not set @@ -1439,6 +1593,7 @@ CONFIG_MMC_PWRSEQ=y # CONFIG_MMC_BROKEN_CD is not set CONFIG_DM_MMC=y CONFIG_SPL_DM_MMC=y +# CONFIG_TPL_DM_MMC is not set # CONFIG_MMC_SPI is not set # CONFIG_ARM_PL180_MMCI is not set CONFIG_MMC_QUIRKS=y @@ -1477,6 +1632,7 @@ CONFIG_MMC_SDHCI_ADMA_64BIT=y # CONFIG_MMC_SDHCI_NPCM is not set CONFIG_MMC_SDHCI_ROCKCHIP=y # CONFIG_MMC_SDHCI_S5P is not set +# CONFIG_MMC_SDHCI_SNPS is not set # CONFIG_MMC_SDHCI_STI is not set # CONFIG_MMC_SDHCI_XENON is not set # CONFIG_MMC_SDHCI_TANGIER is not set @@ -1497,7 +1653,6 @@ CONFIG_MTD=y # CONFIG_MTD_BLOCK 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 @@ -1507,8 +1662,6 @@ CONFIG_MTD=y # 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 @@ -1522,6 +1675,7 @@ CONFIG_SPI_FLASH_UNLOCK_ALL=y CONFIG_SPI_FLASH_GIGADEVICE=y # CONFIG_SPI_FLASH_ISSI is not set # CONFIG_SPI_FLASH_MACRONIX is not set +# CONFIG_SPI_FLASH_PUYA is not set # CONFIG_SPI_FLASH_SILICONKAISER is not set # CONFIG_SPI_FLASH_SPANSION is not set # CONFIG_SPI_FLASH_STMICRO is not set @@ -1690,6 +1844,7 @@ CONFIG_PINMUX=y # CONFIG_PINCONF is not set CONFIG_PINCONF_RECURSIVE=y CONFIG_SPL_PINCTRL=y +# CONFIG_TPL_PINCTRL is not set CONFIG_SPL_PINCTRL_FULL=y CONFIG_SPL_PINCTRL_GENERIC=y CONFIG_SPL_PINMUX=y @@ -1713,6 +1868,7 @@ CONFIG_POWER=y # CONFIG_POWER_LEGACY is not set # CONFIG_ACPI_PMC is not set # CONFIG_SPL_ACPI_PMC is not set +# CONFIG_TPL_ACPI_PMC is not set # # Power Domain Support @@ -1773,13 +1929,15 @@ CONFIG_DM_REGULATOR=y CONFIG_REGULATOR_PWM=y # CONFIG_SPL_REGULATOR_PWM is not set CONFIG_DM_REGULATOR_COMMON=y +CONFIG_SPL_DM_REGULATOR_COMMON=y CONFIG_DM_REGULATOR_FIXED=y -# CONFIG_SPL_DM_REGULATOR_FIXED is not set +CONFIG_SPL_DM_REGULATOR_FIXED=y 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_TPS6287X is not set # CONFIG_DM_REGULATOR_ANATOP is not set # CONFIG_DM_REGULATOR_SCMI is not set # CONFIG_TPS6586X_POWER is not set @@ -1800,6 +1958,7 @@ CONFIG_PWM_ROCKCHIP=y # CONFIG_U_QE is not set CONFIG_RAM=y CONFIG_SPL_RAM=y +CONFIG_TPL_RAM=y # CONFIG_STM32_SDRAM is not set # CONFIG_MPC83XX_SDRAM is not set # CONFIG_K3_DDRSS is not set @@ -1848,6 +2007,7 @@ CONFIG_RNG_ROCKCHIP=y # # CONFIG_DM_RTC is not set # CONFIG_SPL_DM_RTC is not set +# CONFIG_TPL_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 @@ -1855,7 +2015,6 @@ CONFIG_RNG_ROCKCHIP=y # 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 @@ -1868,15 +2027,18 @@ CONFIG_REQUIRE_SERIAL_CONSOLE=y # CONFIG_SPECIFY_CONSOLE_INDEX is not set CONFIG_SERIAL_PRESENT=y CONFIG_SPL_SERIAL_PRESENT=y +CONFIG_TPL_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_TPL_DM_SERIAL=y # CONFIG_VPL_DM_SERIAL is not set CONFIG_DEBUG_UART_NS16550=y CONFIG_SPL_DEBUG_UART_BASE=0xff1a0000 +CONFIG_TPL_DEBUG_UART_BASE=0xff1a0000 CONFIG_DEBUG_UART_SHIFT=2 # CONFIG_DEBUG_UART_ANNOUNCE is not set # CONFIG_DEBUG_UART_SKIP_INIT is not set @@ -1934,27 +2096,18 @@ CONFIG_SPI_MEM=y # 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 @@ -1968,17 +2121,11 @@ CONFIG_ROCKCHIP_SPI=y # 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 +# CONFIG_SPI_STACKED_PARALLEL is not set # # SPMI support @@ -1991,6 +2138,7 @@ CONFIG_ROCKCHIP_SPI=y # CONFIG_SYSRESET=y CONFIG_SPL_SYSRESET=y +CONFIG_TPL_SYSRESET=y CONFIG_SYSRESET_CMD_RESET=y CONFIG_SYSRESET_CMD_POWEROFF=y # CONFIG_SYSRESET_CV1800B is not set @@ -2026,6 +2174,7 @@ 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_GENERIC is not set # CONFIG_USB_XHCI_FSL is not set # CONFIG_USB_XHCI_BRCM is not set CONFIG_USB_EHCI_HCD=y @@ -2054,6 +2203,7 @@ CONFIG_USB_DWC3_GENERIC=y # CONFIG_SPL_USB_DWC3_GENERIC is not set # CONFIG_USB_DWC3_AM62 is not set # CONFIG_USB_DWC3_LAYERSCAPE is not set +# CONFIG_USB_DWC3_STI is not set # # PHY Subsystem @@ -2078,6 +2228,7 @@ CONFIG_USB_DWC3_GENERIC=y # # CONFIG_TWL4030_USB is not set # CONFIG_ROCKCHIP_USB2_PHY is not set +# CONFIG_TYPEC_TCPM is not set # # ULPI drivers @@ -2158,6 +2309,7 @@ CONFIG_SIMPLE_PANEL=y # 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_SHARP_LQ101R1SX01 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 @@ -2247,7 +2399,6 @@ CONFIG_FS_FAT_MAX_CLUSTSIZE=65536 # 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 @@ -2259,6 +2410,7 @@ CONFIG_FS_FAT_MAX_CLUSTSIZE=65536 # CONFIG_PHYSMEM is not set # CONFIG_BCH is not set # CONFIG_BINMAN_FDT is not set +CONFIG_BINMAN_DTB="" # CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set CONFIG_CHARSET=y # CONFIG_DYNAMIC_CRC_TABLE is not set @@ -2269,12 +2421,16 @@ CONFIG_SPL_LIB_UUID=y # CONFIG_SPL_SEMIHOSTING is not set CONFIG_PRINTF=y CONFIG_SPL_PRINTF=y +CONFIG_TPL_PRINTF=y CONFIG_SPRINTF=y CONFIG_SPL_SPRINTF=y +CONFIG_TPL_SPRINTF=y CONFIG_STRTO=y CONFIG_SPL_STRTO=y +CONFIG_TPL_STRTO=y CONFIG_SYS_HZ=1000 CONFIG_SPL_USE_TINY_PRINTF=y +CONFIG_TPL_USE_TINY_PRINTF=y CONFIG_PANIC_HANG=y CONFIG_REGEX=y CONFIG_LIB_RAND=y @@ -2283,19 +2439,48 @@ CONFIG_SUPPORT_ACPI=y # CONFIG_ACPI is not set # CONFIG_SPL_ACPI is not set # CONFIG_SPL_TINY_MEMSET is not set +CONFIG_TPL_TINY_MEMSET=y # CONFIG_BITREVERSE is not set # CONFIG_TRACE is not set # CONFIG_CIRCBUF is not set CONFIG_CMD_DHRYSTONE=y # +# Alternative crypto libraries +# +CONFIG_LEGACY_HASHING_AND_CRYPTO=y +# CONFIG_MBEDTLS_LIB is not set +CONFIG_LEGACY_HASHING=y +CONFIG_SHA1_LEGACY=y +CONFIG_SHA256_LEGACY=y +CONFIG_MD5_LEGACY=y +CONFIG_LEGACY_CRYPTO=y +CONFIG_SPL_LEGACY_HASHING_AND_CRYPTO=y +# CONFIG_SPL_MBEDTLS_LIB is not set +CONFIG_SPL_LEGACY_HASHING=y +CONFIG_SPL_SHA1_LEGACY=y +CONFIG_SPL_SHA256_LEGACY=y +CONFIG_SPL_LEGACY_CRYPTO=y +CONFIG_TPL_LEGACY_HASHING_AND_CRYPTO=y +# CONFIG_TPL_MBEDTLS_LIB is not set +CONFIG_TPL_LEGACY_HASHING=y + +# # Security support # # CONFIG_AES is not set # CONFIG_ECDSA is not set -# CONFIG_RSA is not set +CONFIG_RSA=y +CONFIG_SPL_RSA=y +CONFIG_SPL_RSA_VERIFY=y +CONFIG_RSA_VERIFY=y +# CONFIG_RSA_VERIFY_WITH_PKEY is not set +# CONFIG_SPL_RSA_VERIFY_WITH_PKEY is not set +CONFIG_RSA_SOFTWARE_EXP=y +# CONFIG_ASYMMETRIC_KEY_TYPE is not set # CONFIG_TPM is not set # CONFIG_SPL_TPM is not set +# CONFIG_TPL_TPM is not set # # Android Verified Boot @@ -2319,7 +2504,9 @@ CONFIG_SPL_SHA256=y CONFIG_MD5=y # CONFIG_SPL_MD5 is not set CONFIG_CRC8=y -# CONFIG_SPL_CRC8 is not set +CONFIG_SPL_CRC8=y +# CONFIG_TPL_CRC8 is not set +CONFIG_CRC16=y # CONFIG_SPL_CRC16 is not set CONFIG_CRC32=y @@ -2336,10 +2523,13 @@ CONFIG_ZLIB=y # CONFIG_ZSTD is not set # CONFIG_SPL_BZIP2 is not set # CONFIG_SPL_LZ4 is not set +# CONFIG_TPL_LZ4 is not set # CONFIG_SPL_LZMA is not set +# CONFIG_TPL_LZMA is not set CONFIG_VPL_LZMA=y # CONFIG_SPL_LZO is not set # CONFIG_SPL_GZIP is not set +# CONFIG_TPL_GZIP is not set # CONFIG_SPL_ZSTD is not set CONFIG_ERRNO_STR=y # CONFIG_HEXDUMP is not set @@ -2348,49 +2538,26 @@ 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 +CONFIG_TPL_OF_LIBFDT=y +CONFIG_TPL_OF_LIBFDT_ASSUME_MASK=0xff # # System tables # +# CONFIG_BLOBLIST_TABLES is not set CONFIG_GENERATE_SMBIOS_TABLE=y +# CONFIG_GENERATE_SMBIOS_TABLE_VERBOSE is not set # 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_LMB_ARCH_MEM_MAP is not set # CONFIG_PHANDLE_CHECK_SEQ is not set # @@ -2404,6 +2571,7 @@ CONFIG_LMB_MAX_REGIONS=16 # Tools options # CONFIG_MKIMAGE_DTC_PATH="dtc" +CONFIG_TOOLS_CRC16=y CONFIG_TOOLS_CRC32=y CONFIG_TOOLS_LIBCRYPTO=y CONFIG_TOOLS_KWBIMAGE=y diff --git a/config/u-boot/gru_kevin/target.cfg b/config/u-boot/gru_kevin/target.cfg index f7d4d7d9..e19603c2 100644 --- a/config/u-boot/gru_kevin/target.cfg +++ b/config/u-boot/gru_kevin/target.cfg @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + tree="default" xtree="default" xarch="aarch64-elf arm-eabi" diff --git a/config/u-boot/i386coreboot/config/default b/config/u-boot/i386coreboot/config/default index d01984d5..ba4fd18b 100644 --- a/config/u-boot/i386coreboot/config/default +++ b/config/u-boot/i386coreboot/config/default @@ -390,6 +390,7 @@ CONFIG_CMD_BOOTM=y CONFIG_CMD_BOOTDEV=y CONFIG_CMD_BOOTFLOW=y CONFIG_CMD_BOOTFLOW_FULL=y +CONFIG_CMD_BOOTFLOW_BOOTDELAY=8 CONFIG_CMD_BOOTMETH=y CONFIG_BOOTM_EFI=y CONFIG_BOOTM_ELF=y diff --git a/config/u-boot/i386coreboot/target.cfg b/config/u-boot/i386coreboot/target.cfg index cf3b36be..71cdde44 100644 --- a/config/u-boot/i386coreboot/target.cfg +++ b/config/u-boot/i386coreboot/target.cfg @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + tree="x86" # test building with x86_64 hostcc by commenting these: # xtree="default" # coreboot tree containing crossgcc diff --git a/config/u-boot/qemu_arm64_12mb/config/default b/config/u-boot/qemu_arm64_12mb/config/default index ecdef9e4..2cd0b94c 100644 --- a/config/u-boot/qemu_arm64_12mb/config/default +++ b/config/u-boot/qemu_arm64_12mb/config/default @@ -1,12 +1,13 @@ # # Automatically generated file; DO NOT EDIT. -# U-Boot 2024.10 Configuration +# U-Boot 2025.04 Configuration # # -# Compiler: gcc (Debian 14.2.0-8) 14.2.0 +# Compiler: gcc (Debian 14.2.0-19) 14.2.0 # CONFIG_CREATE_ARCH_SYMLINK=y +CONFIG_HAVE_SETJMP=y CONFIG_SUPPORT_LITTLE_ENDIAN=y CONFIG_SYS_CACHE_SHIFT_6=y CONFIG_64BIT=y @@ -46,6 +47,7 @@ CONFIG_ARM64_CRC32=y CONFIG_COUNTER_FREQUENCY=0 CONFIG_POSITION_INDEPENDENT=y # CONFIG_INIT_SP_RELATIVE is not set +# CONFIG_DRIVER_GICV2 is not set # CONFIG_GIC_V3_ITS is not set # CONFIG_GICV3_SUPPORT_GIC600 is not set CONFIG_STATIC_RELA=y @@ -90,6 +92,7 @@ CONFIG_ARM64_SUPPORT_AARCH32=y # CONFIG_ARCH_OMAP2PLUS is not set # CONFIG_ARCH_MESON is not set # CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MMP is not set # CONFIG_ARCH_LPC32XX is not set # CONFIG_ARCH_IMX8 is not set # CONFIG_ARCH_IMX8M is not set @@ -173,10 +176,10 @@ CONFIG_ARCH_QEMU=y # 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_BLOBLIST_SIZE_RELOC=0x2000 CONFIG_NR_DRAM_BANKS=1 CONFIG_ENV_SOURCE_FILE="" CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y @@ -184,6 +187,7 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x40200000 CONFIG_ENV_SIZE=0x40000 # CONFIG_DM_GPIO is not set CONFIG_DEFAULT_DEVICE_TREE="qemu-arm64" +CONFIG_DDR_SI_TEST=y CONFIG_BOARD_SPECIFIC_OPTIONS=y # CONFIG_OF_LIBFDT_OVERLAY is not set CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000 @@ -191,6 +195,9 @@ CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000 CONFIG_SYS_MONITOR_LEN=0 # CONFIG_TARGET_QEMU_ARM_32BIT is not set CONFIG_TARGET_QEMU_ARM_64BIT=y +# CONFIG_TARGET_QEMU_ARM_SBSA is not set +CONFIG_SYS_BOOTM_LEN=0x4000000 +CONFIG_SYS_LOAD_ADDR=0x40200000 CONFIG_WATCHDOG_TIMEOUT_MSECS=60000 CONFIG_ERR_PTR_OFFSET=0x0 CONFIG_PRE_CON_BUF_ADDR=0x40100000 @@ -217,15 +224,7 @@ CONFIG_PSCI_RESET=y 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)" @@ -279,8 +278,6 @@ CONFIG_FDT_64BIT=y # 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 @@ -295,6 +292,69 @@ CONFIG_SYS_MONITOR_BASE=0x50000000 # # +# UEFI Support +# +CONFIG_EFI_LOADER=y +CONFIG_EFI_BINARY_EXEC=y +# CONFIG_EFI_SECURE_BOOT is not set + +# +# UEFI services +# +CONFIG_EFI_GET_TIME=y +CONFIG_EFI_SET_TIME=y +CONFIG_EFI_HAVE_RUNTIME_RESET=y + +# +# UEFI Variables +# +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_PLATFORM_LANG_CODES="en-US" + +# +# Capsule support +# +# CONFIG_EFI_RUNTIME_UPDATE_CAPSULE is not set +# CONFIG_EFI_CAPSULE_ON_DISK is not set +CONFIG_EFI_CAPSULE_MAX=15 + +# +# UEFI protocol support +# +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_RNG_PROTOCOL=y +CONFIG_EFI_TCG2_PROTOCOL=y +# CONFIG_EFI_TCG2_PROTOCOL_MEASURE_DTB is not set +CONFIG_EFI_LOAD_FILE2_INITRD=y +CONFIG_EFI_IP4_CONFIG2_PROTOCOL=y +CONFIG_EFI_HTTP_PROTOCOL=y + +# +# Misc options +# +# CONFIG_EFI_LOADER_BOUNCE_BUFFER is not set +CONFIG_EFI_ECPT=y +CONFIG_EFI_EBBR_2_1_CONFORMANCE=y +# CONFIG_EFI_SCROLL_ON_CLEAR_SCREEN is not set + +# +# EFI bootmanager +# +CONFIG_EFI_BOOTMGR=y +CONFIG_EFI_HTTP_BOOT=y +CONFIG_BOOTEFI_HELLO_COMPILE=y +CONFIG_BOOTEFI_TESTAPP_COMPILE=y + +# # Boot images # # CONFIG_ANDROID_BOOT_IMAGE is not set @@ -318,6 +378,7 @@ CONFIG_BOOTSTD=y CONFIG_BOOTSTD_FULL=y CONFIG_BOOTSTD_DEFAULTS=y CONFIG_BOOTSTD_BOOTCOMMAND=y +CONFIG_BOOTSTD_MENU=y CONFIG_BOOTMETH_GLOBAL=y # CONFIG_BOOTMETH_ANDROID is not set # CONFIG_BOOTMETH_CROS is not set @@ -330,12 +391,13 @@ CONFIG_BOOTMETH_VBE=y CONFIG_BOOTMETH_DISTRO=y CONFIG_BOOTMETH_VBE_REQUEST=y CONFIG_BOOTMETH_VBE_SIMPLE=y +# CONFIG_BOOTMETH_VBE_ABREC is not set CONFIG_BOOTMETH_VBE_SIMPLE_OS=y CONFIG_EXPO=y CONFIG_BOOTMETH_SCRIPT=y +# CONFIG_UPL is not set 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 @@ -387,7 +449,7 @@ 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_BOOTCOMMAND="bootflow scan -l; if bootflow menu; then cls; bootflow boot; fi" CONFIG_USE_PREBOOT=y CONFIG_PREBOOT="usb start" CONFIG_PREBOOT_DEFINED=y @@ -464,6 +526,7 @@ CONFIG_PCI_INIT_R=y # Security support # CONFIG_HASH=y +# CONFIG_HASH_CRC8 is not set # CONFIG_STACKPROTECTOR is not set # CONFIG_BOARD_RNG_SEED is not set @@ -480,7 +543,10 @@ CONFIG_UPDATE_LOAD_ADDR=0x100000 # # Blob list # -# CONFIG_BLOBLIST is not set +CONFIG_BLOBLIST=y +# CONFIG_BLOBLIST_FIXED is not set +CONFIG_BLOBLIST_ALLOC=y +CONFIG_BLOBLIST_SIZE=0x400 CONFIG_IMAGE_SIGN_INFO=y CONFIG_CMDLINE=y CONFIG_HUSH_PARSER=y @@ -510,6 +576,7 @@ CONFIG_CMD_BDI=y # CONFIG_CMD_BDINFO_EXTRA is not set # CONFIG_CMD_CONFIG is not set CONFIG_CMD_CONSOLE=y +# CONFIG_CMD_UFETCH is not set # CONFIG_CMD_HISTORY is not set # CONFIG_CMD_LICENSE is not set # CONFIG_CMD_PMC is not set @@ -523,7 +590,9 @@ CONFIG_CMD_BOOTM=y CONFIG_CMD_BOOTDEV=y CONFIG_CMD_BOOTFLOW=y CONFIG_CMD_BOOTFLOW_FULL=y +CONFIG_CMD_BOOTFLOW_BOOTDELAY=30 CONFIG_CMD_BOOTMETH=y +CONFIG_CMD_BOOTSTD=y CONFIG_BOOTM_EFI=y CONFIG_BOOTM_ELF=y CONFIG_CMD_BOOTZ=y @@ -534,17 +603,18 @@ CONFIG_BOOTM_NETBSD=y # CONFIG_BOOTM_OSE is not set CONFIG_BOOTM_PLAN9=y CONFIG_BOOTM_RTEMS=y +# CONFIG_CMD_UPL is not set 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_BOOTVX=y # CONFIG_CMD_ELF_FDT_SETUP is not set CONFIG_CMD_FDT=y CONFIG_CMD_GO=y @@ -577,6 +647,7 @@ CONFIG_CMD_NVEDIT_EFI=y # Memory commands # # CONFIG_CMD_BINOP is not set +CONFIG_CMD_BLOBLIST=y CONFIG_CMD_CRC32=y # CONFIG_CRC32_VERIFY is not set # CONFIG_LOOPW is not set @@ -604,7 +675,6 @@ CONFIG_CMD_UNZIP=y # 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 @@ -630,7 +700,6 @@ 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 @@ -640,7 +709,6 @@ CONFIG_CMD_POWEROFF=y CONFIG_CMD_SCSI=y # CONFIG_CMD_SDRAM 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 @@ -655,13 +723,8 @@ 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 @@ -679,23 +742,24 @@ 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=y -CONFIG_CMD_MII=y -CONFIG_CMD_PING=y # CONFIG_CMD_CDP is not set # CONFIG_CMD_SNTP is not set -CONFIG_CMD_DNS=y # CONFIG_CMD_LINK_LOCAL is not set # CONFIG_CMD_ETHSW is not set -CONFIG_CMD_PXE=y # CONFIG_CMD_WOL is not set +CONFIG_CMD_DHCP=y +CONFIG_CMD_DNS=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y +CONFIG_CMD_TFTPBOOT=y +CONFIG_CMD_WGET=y +CONFIG_CMD_PXE=y # # Misc commands @@ -786,6 +850,7 @@ CONFIG_CMD_CYCLIC=y # CONFIG_PARTITIONS=y # CONFIG_MAC_PARTITION is not set +# CONFIG_TEGRA_PARTITION is not set CONFIG_DOS_PARTITION=y CONFIG_ISO_PARTITION=y # CONFIG_AMIGA_PARTITION is not set @@ -811,6 +876,7 @@ CONFIG_OF_HAS_PRIOR_STAGE=y CONFIG_OF_OMIT_DTB=y CONFIG_DEVICE_TREE_INCLUDES="" CONFIG_OF_LIST="qemu-arm64" +CONFIG_OF_OVERLAY_LIST="" # CONFIG_MULTI_DTB_FIT is not set CONFIG_OF_TAG_MIGRATE=y # CONFIG_OF_DTB_PROPS_REMOVE is not set @@ -819,6 +885,7 @@ CONFIG_OF_TAG_MIGRATE=y # Environment # CONFIG_ENV_SUPPORT=y +CONFIG_ENV_CALLBACK_LIST_STATIC="" CONFIG_SAVEENV=y # CONFIG_ENV_OVERWRITE is not set # CONFIG_OVERWRITE_ETHADDR_ONCE is not set @@ -845,17 +912,20 @@ CONFIG_ENV_IS_NOWHERE=y # CONFIG_USE_ETHPRIME is not set # CONFIG_USE_HOSTNAME is not set # CONFIG_VERSION_VARIABLE is not set + +# +# Networking +# +# CONFIG_NO_NET is not set CONFIG_NET=y +# CONFIG_NET_LWIP is not set 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 @@ -873,6 +943,10 @@ CONFIG_BOOTP_MAX_ROOT_PATH_LEN=64 CONFIG_PROT_TCP=y # CONFIG_PROT_TCP_SACK is not set # CONFIG_IPV6 is not set +CONFIG_BOOTDEV_ETH=y +# CONFIG_NET_RANDOM_ETHADDR is not set +CONFIG_WGET=y +CONFIG_TFTP_BLOCKSIZE=1468 CONFIG_SYS_RX_ETH_BUFFER=4 # @@ -912,6 +986,7 @@ CONFIG_AHCI_PCI=y # CONFIG_DWC_AHCI is not set # CONFIG_DWC_AHSATA is not set # CONFIG_MTK_AHCI is not set +# CONFIG_AHCI_GENERIC is not set # CONFIG_SUNXI_AHCI is not set # CONFIG_AXI is not set @@ -983,6 +1058,7 @@ CONFIG_DFU_TFTP=y CONFIG_DFU_MTD=y CONFIG_DFU_RAM=y # CONFIG_DFU_VIRT is not set +# CONFIG_DFU_SCSI is not set CONFIG_SET_DFU_ALT_INFO=y CONFIG_SYS_DFU_DATA_BUF_SIZE=0x800000 CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000 @@ -1026,6 +1102,8 @@ CONFIG_ARM_PSCI_FW=y CONFIG_GPIO=y # CONFIG_AT91_GPIO is not set # CONFIG_ASPEED_GPIO is not set +# CONFIG_ASPEED_SGPIO is not set +# CONFIG_ASPEED_G7_GPIO is not set # CONFIG_DA8XX_GPIO is not set # CONFIG_INTEL_BROADWELL_GPIO is not set # CONFIG_IMX_RGPIO2P is not set @@ -1074,6 +1152,8 @@ CONFIG_DM_KEYBOARD=y # LED Support # # CONFIG_LED is not set +# CONFIG_LED_BOOT is not set +# CONFIG_LED_ACTIVITY is not set # CONFIG_LED_STATUS is not set # @@ -1109,7 +1189,6 @@ CONFIG_DM_KEYBOARD=y # CONFIG_WINBOND_W83627 is not set CONFIG_QFW=y CONFIG_QFW_MMIO=y -CONFIG_QFW_SMBIOS=y # CONFIG_FS_LOADER is not set # @@ -1117,7 +1196,6 @@ CONFIG_QFW_SMBIOS=y # # 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 @@ -1250,6 +1328,7 @@ CONFIG_PCI_ENHANCED_ALLOCATION=y CONFIG_PCIE_ECAM_GENERIC=y # CONFIG_PCIE_ECAM_SYNQUACER is not set # CONFIG_PCI_FTPCI100 is not set +# CONFIG_PCIE_CDNS_TI is not set # CONFIG_PCI_PHYTIUM is not set # CONFIG_PCIE_FSL is not set # CONFIG_PCI_MPC85XX is not set @@ -1425,7 +1504,12 @@ CONFIG_PL01X_SERIAL=y # SPMI support # # CONFIG_SPMI is not set -# CONFIG_SYSINFO is not set +CONFIG_SYSINFO=y +# CONFIG_SYSINFO_EXTRA is not set +# CONFIG_SYSINFO_GAZERBEAM is not set +# CONFIG_SYSINFO_SANDBOX is not set +CONFIG_SYSINFO_SMBIOS=y +# CONFIG_SYSINFO_GPIO is not set # # System reset device drivers @@ -1458,6 +1542,7 @@ CONFIG_TPM_V1=y # CONFIG_TPM_LIST_RESOURCES is not set CONFIG_TPM_V2=y CONFIG_TPM2_MMIO=y +CONFIG_TPM2_EVENT_LOG_SIZE=65536 CONFIG_USB=y CONFIG_DM_USB=y # CONFIG_DM_USB_GADGET is not set @@ -1469,6 +1554,7 @@ 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_GENERIC is not set CONFIG_USB_XHCI_PCI=y # CONFIG_USB_XHCI_FSL is not set # CONFIG_USB_XHCI_BRCM is not set @@ -1503,6 +1589,7 @@ CONFIG_USB_EHCI_PCI=y # # CONFIG_TWL4030_USB is not set # CONFIG_ROCKCHIP_USB2_PHY is not set +# CONFIG_TYPEC_TCPM is not set # # ULPI drivers @@ -1577,6 +1664,7 @@ CONFIG_VIDEO_BOCHS_SIZE_Y=1024 # 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_SHARP_LQ101R1SX01 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 @@ -1655,7 +1743,6 @@ CONFIG_FS_FAT_MAX_CLUSTSIZE=65536 # 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 @@ -1689,6 +1776,22 @@ CONFIG_SUPPORT_ACPI=y # CONFIG_CMD_DHRYSTONE is not set # +# Alternative crypto libraries +# +# CONFIG_LEGACY_HASHING_AND_CRYPTO is not set +CONFIG_MBEDTLS_LIB=y +CONFIG_MBEDTLS_LIB_CRYPTO=y +CONFIG_SHA1_MBEDTLS=y +CONFIG_SHA256_MBEDTLS=y +CONFIG_SHA256_SMALLER=y +CONFIG_SHA512_MBEDTLS=y +CONFIG_SHA512_SMALLER=y +CONFIG_SHA384_MBEDTLS=y +CONFIG_MD5_MBEDTLS=y +# CONFIG_HKDF_MBEDTLS is not set +CONFIG_MBEDTLS_LIB_X509=y + +# # Security support # # CONFIG_AES is not set @@ -1699,6 +1802,7 @@ CONFIG_RSA_VERIFY=y CONFIG_RSA_SOFTWARE_EXP=y # CONFIG_ASYMMETRIC_KEY_TYPE is not set CONFIG_TPM=y +CONFIG_TPM_PCR_ALLOCATE=y # # Android Verified Boot @@ -1715,6 +1819,7 @@ CONFIG_SHA384=y # CONFIG_SHA_HW_ACCEL is not set CONFIG_MD5=y CONFIG_CRC8=y +CONFIG_CRC16=y CONFIG_CRC32=y # @@ -1730,6 +1835,7 @@ CONFIG_ZLIB=y # CONFIG_ZSTD is not set CONFIG_VPL_LZMA=y # CONFIG_SPL_GZIP is not set +# CONFIG_TPL_GZIP is not set # CONFIG_ERRNO_STR is not set CONFIG_HEXDUMP=y # CONFIG_GETOPT is not set @@ -1740,42 +1846,12 @@ CONFIG_SYS_FDT_PAD=0x3000 # # System tables # +# CONFIG_BLOBLIST_TABLES is not set CONFIG_GENERATE_SMBIOS_TABLE=y +CONFIG_GENERATE_SMBIOS_TABLE_VERBOSE=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=y # CONFIG_OPTEE_LIB is not set # CONFIG_OPTEE_IMAGE is not set # CONFIG_BOOTM_OPTEE is not set @@ -1783,8 +1859,7 @@ CONFIG_EFI_HTTP_BOOT=y CONFIG_LIB_DATE=y CONFIG_LIB_ELF=y CONFIG_LMB=y -CONFIG_LMB_USE_MAX_REGIONS=y -CONFIG_LMB_MAX_REGIONS=16 +# CONFIG_LMB_ARCH_MEM_MAP is not set # CONFIG_PHANDLE_CHECK_SEQ is not set # @@ -1797,6 +1872,7 @@ CONFIG_LMB_MAX_REGIONS=16 # Tools options # CONFIG_MKIMAGE_DTC_PATH="dtc" +CONFIG_TOOLS_CRC16=y CONFIG_TOOLS_CRC32=y CONFIG_TOOLS_LIBCRYPTO=y CONFIG_TOOLS_KWBIMAGE=y diff --git a/config/u-boot/qemu_arm64_12mb/target.cfg b/config/u-boot/qemu_arm64_12mb/target.cfg index f7d4d7d9..e19603c2 100644 --- a/config/u-boot/qemu_arm64_12mb/target.cfg +++ b/config/u-boot/qemu_arm64_12mb/target.cfg @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + tree="default" xtree="default" xarch="aarch64-elf arm-eabi" diff --git a/config/u-boot/x86/patches/0004-Support-auto-boot-timeout-delay-bootflow-menu.patch b/config/u-boot/x86/patches/0004-Support-auto-boot-timeout-delay-bootflow-menu.patch new file mode 100644 index 00000000..ffc7b581 --- /dev/null +++ b/config/u-boot/x86/patches/0004-Support-auto-boot-timeout-delay-bootflow-menu.patch @@ -0,0 +1,302 @@ +From d9371422ac74ea73d1620f01300a7136a7649754 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 06:52:39 +0000 +Subject: [PATCH 1/1] Support auto-boot timeout delay bootflow menu + +The bootflow menu cannot currently auto-boot a selected entry, +which means that the user must press enter to boot their system. +This can be a problem on headless setups; for example, it is not +currently feasible to set up a headless server with U-Boot, when +using it to boot via UEFI on a coreboot setup. + +This patch adds the following build-time configuration option: + +CONFIG_CMD_BOOTFLOW_BOOTDELAY + +This creates a timeout delay in the given number of seconds. +If an arrow key is press to navigate the menu, the timer is +disabled and the user must then press enter to boot the selected +option. When this happens, the timeout display is replaced by +the old message indicating that the user should press enter. + +The default boot delay is 30 seconds, and the timeout is enabled +by default. Setting it to zero will restore the old behaviour, +whereby no timeout is provided and the user must press enter. + +If a negative integer is provided, the timer will default to +zero. The timer value is further filtered by modulus of 100, +so that the maximum number of seconds allowed is 99 seconds. + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/bootflow_menu.c | 117 +++++++++++++++++++++++++++++++++++-- + cmd/Kconfig | 12 ++++ + doc/usage/cmd/bootflow.rst | 11 ++++ + include/bootflow.h | 10 +++- + 4 files changed, 143 insertions(+), 7 deletions(-) + +diff --git a/boot/bootflow_menu.c b/boot/bootflow_menu.c +index 9d0dc352f9..172139b187 100644 +--- a/boot/bootflow_menu.c ++++ b/boot/bootflow_menu.c +@@ -30,7 +30,7 @@ struct menu_priv { + int num_bootflows; + }; + +-int bootflow_menu_new(struct expo **expp) ++int bootflow_menu_new(struct expo **expp, const char *prompt) + { + struct udevice *last_bootdev; + struct scene_obj_menu *menu; +@@ -54,7 +54,7 @@ int bootflow_menu_new(struct expo **expp) + return log_msg_ret("scn", ret); + + ret |= scene_txt_str(scn, "prompt", OBJ_PROMPT, STR_PROMPT, +- "UP and DOWN to choose, ENTER to select", NULL); ++ prompt, NULL); + + ret = scene_menu(scn, "main", OBJ_MENU, &menu); + ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100); +@@ -138,6 +138,29 @@ int bootflow_menu_new(struct expo **expp) + return 0; + } + ++int bootflow_menu_show_countdown(struct expo *exp, char *prompt, ++ char bootflow_delay) ++{ ++ char *i; ++ ++ if (prompt == NULL) ++ return 0; ++ if (strlen(prompt) < 2) ++ return 0; ++ ++ i = prompt + strlen(prompt) - 2; ++ ++ if (bootflow_delay >= 10) { ++ *(i) = 48 + (bootflow_delay / 10); ++ *(i + 1) = 48 + (bootflow_delay % 10); ++ } else { ++ *(i) = 48 + bootflow_delay; ++ *(i + 1) = ' '; ++ } ++ ++ return expo_render(exp); ++} ++ + int bootflow_menu_apply_theme(struct expo *exp, ofnode node) + { + struct menu_priv *priv = exp->priv; +@@ -184,14 +207,62 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + struct expo *exp; + uint sel_id; + bool done; +- int ret; ++ int i, ret; ++ ++ /* Auto-boot countdown */ ++ char bootflow_delay_secs, *prompt; ++ int bootflow_time, bootflow_delay; ++ bool skip_render_once = false; ++ bool bootflow_countdown = false; ++ ++ /* TODO: perhaps set based on defconfig? */ ++ /* WARNING: These two strings must be of the same length. */ ++ char promptChoice[] = "UP and DOWN to choose, ENTER to select"; ++ char promptTimeout[] = "UP and DOWN to choose. Auto-boot in "; ++/* ++ // Uncomment if the strings become configurable (defconfig): ++ // (to prevent buffer overflows) ++ char promptDefault[] = "UP and DOWN to choose, ENTER to select"; ++ if (promptTimeout = NULL) ++ promptTimeout = promptDefault; ++ if (promptChoice = NULL) ++ promptChoice = promptDefault; ++ if (strlen(promptChoice) < 2) ++ promptChoice = promptDefault; ++ if (strlen(promptTimeout) < 2) ++ promptTimeout = promptDefault; ++ if (strlen(promptChoice) != strlen(promptTimeout)) ++ promptChoice = promptTimeout; ++*/ ++ prompt = promptChoice; ++ ++ bootflow_delay_secs = 15; /* TODO: set based on defconfig. */ ++ ++#if defined(CONFIG_CMD_BOOTFLOW_BOOTDELAY) ++ /* If set to zero, the auto-boot timeout is disabled. */ ++ bootflow_delay_secs = CONFIG_CMD_BOOTFLOW_BOOTDELAY; ++#else ++ bootflow_delay_secs = 30; ++#endif ++ ++ if (bootflow_delay_secs < 0) ++ bootflow_delay_secs = 0; /* disable countdown if negative */ ++ bootflow_delay_secs %= 100; /* No higher than 99 seconds */ ++ ++ if (bootflow_delay_secs > 0) { ++ bootflow_countdown = true; /* enable auto-boot countdown */ ++ prompt = promptTimeout; ++ bootflow_time = 0; /* Time elapsed in milliseconds */ ++ bootflow_delay = ++ (int)bootflow_delay_secs * 1000; /* milliseconds */ ++ } + + cli_ch_init(cch); + + sel_bflow = NULL; + *bflowp = NULL; + +- ret = bootflow_menu_new(&exp); ++ ret = bootflow_menu_new(&exp, prompt); + if (ret) + return log_msg_ret("exp", ret); + +@@ -216,12 +287,20 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + if (text_mode) + expo_set_text_mode(exp, text_mode); + ++ if (bootflow_countdown) { ++ ret = bootflow_menu_show_countdown(exp, prompt, ++ bootflow_delay_secs); ++ skip_render_once = true; /* Don't print menu twice on start */ ++ } + done = false; + do { + struct expo_action act; + int ichar, key; + +- ret = expo_render(exp); ++ if (skip_render_once) ++ skip_render_once = false; ++ else ++ ret = expo_render(exp); + if (ret) + break; + +@@ -231,7 +310,23 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + schedule(); + mdelay(2); + ichar = cli_ch_process(cch, -ETIMEDOUT); ++ if (bootflow_countdown) { ++ bootflow_delay -= 2; ++ bootflow_time += 2; ++ if (bootflow_delay <= 0) ++ ichar='\n'; ++ if (bootflow_time < 1000) ++ continue; ++ bootflow_time = 0; ++ --bootflow_delay_secs; ++ ret = bootflow_menu_show_countdown(exp, ++ prompt, bootflow_delay_secs); ++ if (ret) ++ break; ++ } + } ++ if (ret) ++ break; + if (!ichar) { + ichar = getchar(); + ichar = cli_ch_process(cch, ichar); +@@ -265,6 +360,17 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + break; + } + } ++ if (bootflow_countdown) { ++ /* A key press interrupted the auto-boot timeout */ ++ bootflow_countdown = false; ++ if (strlen(prompt) == strlen(promptChoice)) { ++ /* "Auto-boot in" becomes "Press ENTER" */ ++ (void) memcpy(prompt, promptChoice, ++ strlen(promptChoice)); ++ ret = expo_render(exp); ++ skip_render_once = true; ++ } ++ } + } while (!done); + + if (ret) +@@ -272,7 +378,6 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + + if (sel_id) { + struct bootflow *bflow; +- int i; + + for (ret = bootflow_first_glob(&bflow), i = 0; !ret && i < 36; + ret = bootflow_next_glob(&bflow), i++) { +diff --git a/cmd/Kconfig b/cmd/Kconfig +index 978f44eda4..0303869625 100644 +--- a/cmd/Kconfig ++++ b/cmd/Kconfig +@@ -288,6 +288,7 @@ config CMD_BOOTDEV + config CMD_BOOTFLOW + bool "bootflow" + depends on BOOTSTD ++ select CMD_BOOTFLOW_BOOTDELAY + default y + help + Support scanning for bootflows available with the bootdevs. The +@@ -303,6 +304,17 @@ config CMD_BOOTFLOW_FULL + + This command is not necessary for bootstd to work. + ++config CMD_BOOTFLOW_BOOTDELAY ++ int "bootflow - delay in seconds before booting the first menu option" ++ depends on CMD_BOOTFLOW ++ default 30 ++ help ++ On the bootflow menu, wait for the defined number of seconds before ++ automatically booting. Unless interrupted, this will auto-boot the ++ first option in the generated list of boot options. ++ ++ Set this to zero if you wish to disable the auto-boot timeout. ++ + config CMD_BOOTMETH + bool "bootmeth" + depends on BOOTSTD +diff --git a/doc/usage/cmd/bootflow.rst b/doc/usage/cmd/bootflow.rst +index 5d41fe37a7..728f294274 100644 +--- a/doc/usage/cmd/bootflow.rst ++++ b/doc/usage/cmd/bootflow.rst +@@ -32,6 +32,17 @@ Note that `CONFIG_BOOTSTD_FULL` (which enables `CONFIG_CMD_BOOTFLOW_FULL) must + be enabled to obtain full functionality with this command. Otherwise, it only + supports `bootflow scan` which scans and boots the first available bootflow. + ++The `CONFIG_CMD_BOOTFLOW_BOOTDELAY` option can be set, defining (in seconds) the ++amount of time that U-Boot will wait; after this time passes, it will ++automatically boot the first item when generating a bootflow menu. If the value ++is set to zero, the timeout is disabled and the user must press enter; if it's ++negative, the timeout is disabled, and the maximum number of seconds is 99 ++seconds. If a value higher than 100 is provided, the value is changed to a ++modulus of 100 (remainder of the value divided by 100). ++ ++If the `CONFIG_BOOTFLOW_BOOTFLOW` option is undefined, the timeout will default ++to 30 seconds. ++ + bootflow scan + ~~~~~~~~~~~~~ + +diff --git a/include/bootflow.h b/include/bootflow.h +index 4d2fc7b69b..9f4245caa7 100644 +--- a/include/bootflow.h ++++ b/include/bootflow.h +@@ -452,7 +452,15 @@ int bootflow_iter_check_system(const struct bootflow_iter *iter); + * @expp: Returns the expo created + * Returns 0 on success, -ve on error + */ +-int bootflow_menu_new(struct expo **expp); ++int bootflow_menu_new(struct expo **expp, const char *prompt); ++ ++/** ++ * bootflow_menu_show_countdown() - Show countdown timer for auto-boot ++ * ++ * Returns the value of expo_render() ++ */ ++int bootflow_menu_show_countdown(struct expo *exp, char *prompt, ++ char bootflow_delay); + + /** + * bootflow_menu_apply_theme() - Apply a theme to a bootmenu +-- +2.39.5 + diff --git a/config/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch b/config/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch new file mode 100644 index 00000000..8a09fa7d --- /dev/null +++ b/config/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch @@ -0,0 +1,213 @@ +From 4ff0f509aa28eb8e85f1c0c9929c63996c646bb8 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 18:20:19 +0000 +Subject: [PATCH 1/1] Libreboot branding/version on the bootflow menu + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/bootflow_menu.c | 2 +- + drivers/video/u_boot_logo.bmp | Bin 6932 -> 27350 bytes + 2 files changed, 1 insertion(+), 1 deletion(-) + +diff --git a/boot/bootflow_menu.c b/boot/bootflow_menu.c +index 84831915a2..8e26ec2aef 100644 +--- a/boot/bootflow_menu.c ++++ b/boot/bootflow_menu.c +@@ -59,7 +59,7 @@ int bootflow_menu_new(struct expo **expp, const char *prompt) + ret = scene_menu(scn, "main", OBJ_MENU, &menu); + ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100); + ret |= scene_txt_str(scn, "title", OBJ_MENU_TITLE, STR_MENU_TITLE, +- "U-Boot - Boot Menu", NULL); ++ "Libreboot 25.06 Luminous Lemon (U-Boot menu): https://libreboot.org/", NULL); + ret |= scene_menu_set_title(scn, OBJ_MENU, OBJ_PROMPT); + + logo = video_get_u_boot_logo(); +diff --git a/drivers/video/u_boot_logo.bmp b/drivers/video/u_boot_logo.bmp +index 47f1e9b99789584d2f6dd71e954b51927b35d783..bc9ae001badb25bc900058c167a47247ef91dc7c 100644 +GIT binary patch +literal 27350 +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 + +literal 6932 +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 + +-- +2.39.5 + diff --git a/config/u-boot/x86/patches/0006-i-made-it-purple.patch b/config/u-boot/x86/patches/0006-i-made-it-purple.patch new file mode 100644 index 00000000..594a1b35 --- /dev/null +++ b/config/u-boot/x86/patches/0006-i-made-it-purple.patch @@ -0,0 +1,33 @@ +From 9c1ceb5a5b302275da146149001f4210a1d7fc86 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 20:13:42 +0000 +Subject: [PATCH 1/1] i made it purple + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/expo.c | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/boot/expo.c b/boot/expo.c +index ed01483f1d..04726d1c9a 100644 +--- a/boot/expo.c ++++ b/boot/expo.c +@@ -189,13 +189,10 @@ int expo_render(struct expo *exp) + struct udevice *dev = exp->display; + struct video_priv *vid_priv = dev_get_uclass_priv(dev); + struct scene *scn = NULL; +- enum colour_idx back; +- u32 colour; + int ret; + +- back = CONFIG_IS_ENABLED(SYS_WHITE_ON_BLACK) ? VID_BLACK : VID_WHITE; +- colour = video_index_to_colour(vid_priv, back); +- ret = video_fill(dev, colour); ++ /* sexy libreboot purple background */ ++ ret = video_fill(dev, 0x280b22); /* #280b22 in HTML RGB notation */ + if (ret) + return log_msg_ret("fill", ret); + +-- +2.39.5 + diff --git a/config/u-boot/x86/patches/0007-change-the-logo-back-to-the-plain-libreboot-one.patch b/config/u-boot/x86/patches/0007-change-the-logo-back-to-the-plain-libreboot-one.patch new file mode 100644 index 00000000..febc2372 --- /dev/null +++ b/config/u-boot/x86/patches/0007-change-the-logo-back-to-the-plain-libreboot-one.patch @@ -0,0 +1,157 @@ +From d721edb391618fca096ec7f63a2fbc9df0af9231 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Tue, 17 Dec 2024 12:59:54 +0000 +Subject: [PATCH 1/1] change the logo back to the plain libreboot one + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + drivers/video/u_boot_logo.bmp | Bin 27350 -> 27350 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +diff --git a/drivers/video/u_boot_logo.bmp b/drivers/video/u_boot_logo.bmp +index bc9ae001badb25bc900058c167a47247ef91dc7c..c9262cd206cc3cf5297daa94b696fcf102fc22b5 100644 +GIT binary patch +literal 27350 +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 +HHU0e$+Zn$= + +literal 27350 +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 + +-- +2.39.5 + diff --git a/config/u-boot/x86/patches/0008-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch b/config/u-boot/x86/patches/0008-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch new file mode 100644 index 00000000..905b311c --- /dev/null +++ b/config/u-boot/x86/patches/0008-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch @@ -0,0 +1,61 @@ +From 3c61a3257ad5799202cac64020d3b4af21b72de3 Mon Sep 17 00:00:00 2001 +From: Markus Volk <f_l_k@t-online.de> +Date: Wed, 30 Oct 2024 06:07:16 +0100 +Subject: [PATCH 1/1] scripts/dtc/pylibfdt/libfdt.i_shipped: Use + SWIG_AppendOutput +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Swig has changed language specific AppendOutput functions. The helper +macro SWIG_AppendOutput remains unchanged. Use that instead +of SWIG_Python_AppendOutput, which would require an extra parameter +since swig 4.3.0. + +/home/flk/poky/build-test/tmp/work/qemux86_64-poky-linux/u-boot/2024.10/git/arch/x86/cpu/u-boot-64.lds +| scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’: +| scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’ +| 5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val); +| | ^~~~~~~~~~~~~~~~~~~~~~~~ + +Signed-off-by: Markus Volk <f_l_k@t-online.de> +Reported-by: Rudi Heitbaum <rudi@heitbaum.com> +Link: https://github.com/dgibson/dtc/pull/154 +--- + scripts/dtc/pylibfdt/libfdt.i_shipped | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped +index 56cc5d48f4..e4659489a9 100644 +--- a/scripts/dtc/pylibfdt/libfdt.i_shipped ++++ b/scripts/dtc/pylibfdt/libfdt.i_shipped +@@ -1037,7 +1037,7 @@ typedef uint32_t fdt32_t; + fdt_string(fdt1, fdt32_to_cpu($1->nameoff))); + buff = PyByteArray_FromStringAndSize( + (const char *)($1 + 1), fdt32_to_cpu($1->len)); +- resultobj = SWIG_Python_AppendOutput(resultobj, buff); ++ resultobj = SWIG_AppendOutput(resultobj, buff); + } + } + +@@ -1076,7 +1076,7 @@ typedef uint32_t fdt32_t; + + %typemap(argout) int *depth { + PyObject *val = Py_BuildValue("i", *arg$argnum); +- resultobj = SWIG_Python_AppendOutput(resultobj, val); ++ resultobj = SWIG_AppendOutput(resultobj, val); + } + + %apply int *depth { int *depth }; +@@ -1092,7 +1092,7 @@ typedef uint32_t fdt32_t; + if (PyTuple_GET_SIZE(resultobj) == 0) + resultobj = val; + else +- resultobj = SWIG_Python_AppendOutput(resultobj, val); ++ resultobj = SWIG_AppendOutput(resultobj, val); + } + } + +-- +2.39.5 + diff --git a/config/u-boot/x86/target.cfg b/config/u-boot/x86/target.cfg index 2a547e87..bf19e4a5 100644 --- a/config/u-boot/x86/target.cfg +++ b/config/u-boot/x86/target.cfg @@ -1,2 +1,4 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + tree="x86" rev="f919c3a889f0ec7d63a48b5d0ed064386b0980bd" # v2024.10 diff --git a/config/u-boot/x86_64/patches/0004-Support-auto-boot-timeout-delay-bootflow-menu.patch b/config/u-boot/x86_64/patches/0004-Support-auto-boot-timeout-delay-bootflow-menu.patch new file mode 100644 index 00000000..ffc7b581 --- /dev/null +++ b/config/u-boot/x86_64/patches/0004-Support-auto-boot-timeout-delay-bootflow-menu.patch @@ -0,0 +1,302 @@ +From d9371422ac74ea73d1620f01300a7136a7649754 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 06:52:39 +0000 +Subject: [PATCH 1/1] Support auto-boot timeout delay bootflow menu + +The bootflow menu cannot currently auto-boot a selected entry, +which means that the user must press enter to boot their system. +This can be a problem on headless setups; for example, it is not +currently feasible to set up a headless server with U-Boot, when +using it to boot via UEFI on a coreboot setup. + +This patch adds the following build-time configuration option: + +CONFIG_CMD_BOOTFLOW_BOOTDELAY + +This creates a timeout delay in the given number of seconds. +If an arrow key is press to navigate the menu, the timer is +disabled and the user must then press enter to boot the selected +option. When this happens, the timeout display is replaced by +the old message indicating that the user should press enter. + +The default boot delay is 30 seconds, and the timeout is enabled +by default. Setting it to zero will restore the old behaviour, +whereby no timeout is provided and the user must press enter. + +If a negative integer is provided, the timer will default to +zero. The timer value is further filtered by modulus of 100, +so that the maximum number of seconds allowed is 99 seconds. + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/bootflow_menu.c | 117 +++++++++++++++++++++++++++++++++++-- + cmd/Kconfig | 12 ++++ + doc/usage/cmd/bootflow.rst | 11 ++++ + include/bootflow.h | 10 +++- + 4 files changed, 143 insertions(+), 7 deletions(-) + +diff --git a/boot/bootflow_menu.c b/boot/bootflow_menu.c +index 9d0dc352f9..172139b187 100644 +--- a/boot/bootflow_menu.c ++++ b/boot/bootflow_menu.c +@@ -30,7 +30,7 @@ struct menu_priv { + int num_bootflows; + }; + +-int bootflow_menu_new(struct expo **expp) ++int bootflow_menu_new(struct expo **expp, const char *prompt) + { + struct udevice *last_bootdev; + struct scene_obj_menu *menu; +@@ -54,7 +54,7 @@ int bootflow_menu_new(struct expo **expp) + return log_msg_ret("scn", ret); + + ret |= scene_txt_str(scn, "prompt", OBJ_PROMPT, STR_PROMPT, +- "UP and DOWN to choose, ENTER to select", NULL); ++ prompt, NULL); + + ret = scene_menu(scn, "main", OBJ_MENU, &menu); + ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100); +@@ -138,6 +138,29 @@ int bootflow_menu_new(struct expo **expp) + return 0; + } + ++int bootflow_menu_show_countdown(struct expo *exp, char *prompt, ++ char bootflow_delay) ++{ ++ char *i; ++ ++ if (prompt == NULL) ++ return 0; ++ if (strlen(prompt) < 2) ++ return 0; ++ ++ i = prompt + strlen(prompt) - 2; ++ ++ if (bootflow_delay >= 10) { ++ *(i) = 48 + (bootflow_delay / 10); ++ *(i + 1) = 48 + (bootflow_delay % 10); ++ } else { ++ *(i) = 48 + bootflow_delay; ++ *(i + 1) = ' '; ++ } ++ ++ return expo_render(exp); ++} ++ + int bootflow_menu_apply_theme(struct expo *exp, ofnode node) + { + struct menu_priv *priv = exp->priv; +@@ -184,14 +207,62 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + struct expo *exp; + uint sel_id; + bool done; +- int ret; ++ int i, ret; ++ ++ /* Auto-boot countdown */ ++ char bootflow_delay_secs, *prompt; ++ int bootflow_time, bootflow_delay; ++ bool skip_render_once = false; ++ bool bootflow_countdown = false; ++ ++ /* TODO: perhaps set based on defconfig? */ ++ /* WARNING: These two strings must be of the same length. */ ++ char promptChoice[] = "UP and DOWN to choose, ENTER to select"; ++ char promptTimeout[] = "UP and DOWN to choose. Auto-boot in "; ++/* ++ // Uncomment if the strings become configurable (defconfig): ++ // (to prevent buffer overflows) ++ char promptDefault[] = "UP and DOWN to choose, ENTER to select"; ++ if (promptTimeout = NULL) ++ promptTimeout = promptDefault; ++ if (promptChoice = NULL) ++ promptChoice = promptDefault; ++ if (strlen(promptChoice) < 2) ++ promptChoice = promptDefault; ++ if (strlen(promptTimeout) < 2) ++ promptTimeout = promptDefault; ++ if (strlen(promptChoice) != strlen(promptTimeout)) ++ promptChoice = promptTimeout; ++*/ ++ prompt = promptChoice; ++ ++ bootflow_delay_secs = 15; /* TODO: set based on defconfig. */ ++ ++#if defined(CONFIG_CMD_BOOTFLOW_BOOTDELAY) ++ /* If set to zero, the auto-boot timeout is disabled. */ ++ bootflow_delay_secs = CONFIG_CMD_BOOTFLOW_BOOTDELAY; ++#else ++ bootflow_delay_secs = 30; ++#endif ++ ++ if (bootflow_delay_secs < 0) ++ bootflow_delay_secs = 0; /* disable countdown if negative */ ++ bootflow_delay_secs %= 100; /* No higher than 99 seconds */ ++ ++ if (bootflow_delay_secs > 0) { ++ bootflow_countdown = true; /* enable auto-boot countdown */ ++ prompt = promptTimeout; ++ bootflow_time = 0; /* Time elapsed in milliseconds */ ++ bootflow_delay = ++ (int)bootflow_delay_secs * 1000; /* milliseconds */ ++ } + + cli_ch_init(cch); + + sel_bflow = NULL; + *bflowp = NULL; + +- ret = bootflow_menu_new(&exp); ++ ret = bootflow_menu_new(&exp, prompt); + if (ret) + return log_msg_ret("exp", ret); + +@@ -216,12 +287,20 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + if (text_mode) + expo_set_text_mode(exp, text_mode); + ++ if (bootflow_countdown) { ++ ret = bootflow_menu_show_countdown(exp, prompt, ++ bootflow_delay_secs); ++ skip_render_once = true; /* Don't print menu twice on start */ ++ } + done = false; + do { + struct expo_action act; + int ichar, key; + +- ret = expo_render(exp); ++ if (skip_render_once) ++ skip_render_once = false; ++ else ++ ret = expo_render(exp); + if (ret) + break; + +@@ -231,7 +310,23 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + schedule(); + mdelay(2); + ichar = cli_ch_process(cch, -ETIMEDOUT); ++ if (bootflow_countdown) { ++ bootflow_delay -= 2; ++ bootflow_time += 2; ++ if (bootflow_delay <= 0) ++ ichar='\n'; ++ if (bootflow_time < 1000) ++ continue; ++ bootflow_time = 0; ++ --bootflow_delay_secs; ++ ret = bootflow_menu_show_countdown(exp, ++ prompt, bootflow_delay_secs); ++ if (ret) ++ break; ++ } + } ++ if (ret) ++ break; + if (!ichar) { + ichar = getchar(); + ichar = cli_ch_process(cch, ichar); +@@ -265,6 +360,17 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + break; + } + } ++ if (bootflow_countdown) { ++ /* A key press interrupted the auto-boot timeout */ ++ bootflow_countdown = false; ++ if (strlen(prompt) == strlen(promptChoice)) { ++ /* "Auto-boot in" becomes "Press ENTER" */ ++ (void) memcpy(prompt, promptChoice, ++ strlen(promptChoice)); ++ ret = expo_render(exp); ++ skip_render_once = true; ++ } ++ } + } while (!done); + + if (ret) +@@ -272,7 +378,6 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + + if (sel_id) { + struct bootflow *bflow; +- int i; + + for (ret = bootflow_first_glob(&bflow), i = 0; !ret && i < 36; + ret = bootflow_next_glob(&bflow), i++) { +diff --git a/cmd/Kconfig b/cmd/Kconfig +index 978f44eda4..0303869625 100644 +--- a/cmd/Kconfig ++++ b/cmd/Kconfig +@@ -288,6 +288,7 @@ config CMD_BOOTDEV + config CMD_BOOTFLOW + bool "bootflow" + depends on BOOTSTD ++ select CMD_BOOTFLOW_BOOTDELAY + default y + help + Support scanning for bootflows available with the bootdevs. The +@@ -303,6 +304,17 @@ config CMD_BOOTFLOW_FULL + + This command is not necessary for bootstd to work. + ++config CMD_BOOTFLOW_BOOTDELAY ++ int "bootflow - delay in seconds before booting the first menu option" ++ depends on CMD_BOOTFLOW ++ default 30 ++ help ++ On the bootflow menu, wait for the defined number of seconds before ++ automatically booting. Unless interrupted, this will auto-boot the ++ first option in the generated list of boot options. ++ ++ Set this to zero if you wish to disable the auto-boot timeout. ++ + config CMD_BOOTMETH + bool "bootmeth" + depends on BOOTSTD +diff --git a/doc/usage/cmd/bootflow.rst b/doc/usage/cmd/bootflow.rst +index 5d41fe37a7..728f294274 100644 +--- a/doc/usage/cmd/bootflow.rst ++++ b/doc/usage/cmd/bootflow.rst +@@ -32,6 +32,17 @@ Note that `CONFIG_BOOTSTD_FULL` (which enables `CONFIG_CMD_BOOTFLOW_FULL) must + be enabled to obtain full functionality with this command. Otherwise, it only + supports `bootflow scan` which scans and boots the first available bootflow. + ++The `CONFIG_CMD_BOOTFLOW_BOOTDELAY` option can be set, defining (in seconds) the ++amount of time that U-Boot will wait; after this time passes, it will ++automatically boot the first item when generating a bootflow menu. If the value ++is set to zero, the timeout is disabled and the user must press enter; if it's ++negative, the timeout is disabled, and the maximum number of seconds is 99 ++seconds. If a value higher than 100 is provided, the value is changed to a ++modulus of 100 (remainder of the value divided by 100). ++ ++If the `CONFIG_BOOTFLOW_BOOTFLOW` option is undefined, the timeout will default ++to 30 seconds. ++ + bootflow scan + ~~~~~~~~~~~~~ + +diff --git a/include/bootflow.h b/include/bootflow.h +index 4d2fc7b69b..9f4245caa7 100644 +--- a/include/bootflow.h ++++ b/include/bootflow.h +@@ -452,7 +452,15 @@ int bootflow_iter_check_system(const struct bootflow_iter *iter); + * @expp: Returns the expo created + * Returns 0 on success, -ve on error + */ +-int bootflow_menu_new(struct expo **expp); ++int bootflow_menu_new(struct expo **expp, const char *prompt); ++ ++/** ++ * bootflow_menu_show_countdown() - Show countdown timer for auto-boot ++ * ++ * Returns the value of expo_render() ++ */ ++int bootflow_menu_show_countdown(struct expo *exp, char *prompt, ++ char bootflow_delay); + + /** + * bootflow_menu_apply_theme() - Apply a theme to a bootmenu +-- +2.39.5 + diff --git a/config/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch b/config/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch new file mode 100644 index 00000000..8a09fa7d --- /dev/null +++ b/config/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch @@ -0,0 +1,213 @@ +From 4ff0f509aa28eb8e85f1c0c9929c63996c646bb8 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 18:20:19 +0000 +Subject: [PATCH 1/1] Libreboot branding/version on the bootflow menu + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/bootflow_menu.c | 2 +- + drivers/video/u_boot_logo.bmp | Bin 6932 -> 27350 bytes + 2 files changed, 1 insertion(+), 1 deletion(-) + +diff --git a/boot/bootflow_menu.c b/boot/bootflow_menu.c +index 84831915a2..8e26ec2aef 100644 +--- a/boot/bootflow_menu.c ++++ b/boot/bootflow_menu.c +@@ -59,7 +59,7 @@ int bootflow_menu_new(struct expo **expp, const char *prompt) + ret = scene_menu(scn, "main", OBJ_MENU, &menu); + ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100); + ret |= scene_txt_str(scn, "title", OBJ_MENU_TITLE, STR_MENU_TITLE, +- "U-Boot - Boot Menu", NULL); ++ "Libreboot 25.06 Luminous Lemon (U-Boot menu): https://libreboot.org/", NULL); + ret |= scene_menu_set_title(scn, OBJ_MENU, OBJ_PROMPT); + + logo = video_get_u_boot_logo(); +diff --git a/drivers/video/u_boot_logo.bmp b/drivers/video/u_boot_logo.bmp +index 47f1e9b99789584d2f6dd71e954b51927b35d783..bc9ae001badb25bc900058c167a47247ef91dc7c 100644 +GIT binary patch +literal 27350 +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 + +literal 6932 +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 + +-- +2.39.5 + diff --git a/config/u-boot/x86_64/patches/0006-i-made-it-purple.patch b/config/u-boot/x86_64/patches/0006-i-made-it-purple.patch new file mode 100644 index 00000000..594a1b35 --- /dev/null +++ b/config/u-boot/x86_64/patches/0006-i-made-it-purple.patch @@ -0,0 +1,33 @@ +From 9c1ceb5a5b302275da146149001f4210a1d7fc86 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 20:13:42 +0000 +Subject: [PATCH 1/1] i made it purple + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/expo.c | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/boot/expo.c b/boot/expo.c +index ed01483f1d..04726d1c9a 100644 +--- a/boot/expo.c ++++ b/boot/expo.c +@@ -189,13 +189,10 @@ int expo_render(struct expo *exp) + struct udevice *dev = exp->display; + struct video_priv *vid_priv = dev_get_uclass_priv(dev); + struct scene *scn = NULL; +- enum colour_idx back; +- u32 colour; + int ret; + +- back = CONFIG_IS_ENABLED(SYS_WHITE_ON_BLACK) ? VID_BLACK : VID_WHITE; +- colour = video_index_to_colour(vid_priv, back); +- ret = video_fill(dev, colour); ++ /* sexy libreboot purple background */ ++ ret = video_fill(dev, 0x280b22); /* #280b22 in HTML RGB notation */ + if (ret) + return log_msg_ret("fill", ret); + +-- +2.39.5 + diff --git a/config/u-boot/x86_64/patches/0007-change-the-logo-back-to-the-plain-libreboot-one.patch b/config/u-boot/x86_64/patches/0007-change-the-logo-back-to-the-plain-libreboot-one.patch new file mode 100644 index 00000000..febc2372 --- /dev/null +++ b/config/u-boot/x86_64/patches/0007-change-the-logo-back-to-the-plain-libreboot-one.patch @@ -0,0 +1,157 @@ +From d721edb391618fca096ec7f63a2fbc9df0af9231 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Tue, 17 Dec 2024 12:59:54 +0000 +Subject: [PATCH 1/1] change the logo back to the plain libreboot one + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + drivers/video/u_boot_logo.bmp | Bin 27350 -> 27350 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +diff --git a/drivers/video/u_boot_logo.bmp b/drivers/video/u_boot_logo.bmp +index bc9ae001badb25bc900058c167a47247ef91dc7c..c9262cd206cc3cf5297daa94b696fcf102fc22b5 100644 +GIT binary patch +literal 27350 +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 +HHU0e$+Zn$= + +literal 27350 +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 + +-- +2.39.5 + diff --git a/config/u-boot/x86_64/patches/0008-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch b/config/u-boot/x86_64/patches/0008-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch new file mode 100644 index 00000000..905b311c --- /dev/null +++ b/config/u-boot/x86_64/patches/0008-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch @@ -0,0 +1,61 @@ +From 3c61a3257ad5799202cac64020d3b4af21b72de3 Mon Sep 17 00:00:00 2001 +From: Markus Volk <f_l_k@t-online.de> +Date: Wed, 30 Oct 2024 06:07:16 +0100 +Subject: [PATCH 1/1] scripts/dtc/pylibfdt/libfdt.i_shipped: Use + SWIG_AppendOutput +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Swig has changed language specific AppendOutput functions. The helper +macro SWIG_AppendOutput remains unchanged. Use that instead +of SWIG_Python_AppendOutput, which would require an extra parameter +since swig 4.3.0. + +/home/flk/poky/build-test/tmp/work/qemux86_64-poky-linux/u-boot/2024.10/git/arch/x86/cpu/u-boot-64.lds +| scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’: +| scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’ +| 5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val); +| | ^~~~~~~~~~~~~~~~~~~~~~~~ + +Signed-off-by: Markus Volk <f_l_k@t-online.de> +Reported-by: Rudi Heitbaum <rudi@heitbaum.com> +Link: https://github.com/dgibson/dtc/pull/154 +--- + scripts/dtc/pylibfdt/libfdt.i_shipped | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped +index 56cc5d48f4..e4659489a9 100644 +--- a/scripts/dtc/pylibfdt/libfdt.i_shipped ++++ b/scripts/dtc/pylibfdt/libfdt.i_shipped +@@ -1037,7 +1037,7 @@ typedef uint32_t fdt32_t; + fdt_string(fdt1, fdt32_to_cpu($1->nameoff))); + buff = PyByteArray_FromStringAndSize( + (const char *)($1 + 1), fdt32_to_cpu($1->len)); +- resultobj = SWIG_Python_AppendOutput(resultobj, buff); ++ resultobj = SWIG_AppendOutput(resultobj, buff); + } + } + +@@ -1076,7 +1076,7 @@ typedef uint32_t fdt32_t; + + %typemap(argout) int *depth { + PyObject *val = Py_BuildValue("i", *arg$argnum); +- resultobj = SWIG_Python_AppendOutput(resultobj, val); ++ resultobj = SWIG_AppendOutput(resultobj, val); + } + + %apply int *depth { int *depth }; +@@ -1092,7 +1092,7 @@ typedef uint32_t fdt32_t; + if (PyTuple_GET_SIZE(resultobj) == 0) + resultobj = val; + else +- resultobj = SWIG_Python_AppendOutput(resultobj, val); ++ resultobj = SWIG_AppendOutput(resultobj, val); + } + } + +-- +2.39.5 + diff --git a/config/u-boot/x86_64/target.cfg b/config/u-boot/x86_64/target.cfg index 45e85c2e..a1e15d12 100644 --- a/config/u-boot/x86_64/target.cfg +++ b/config/u-boot/x86_64/target.cfg @@ -1,2 +1,4 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + tree="x86_64" rev="f919c3a889f0ec7d63a48b5d0ed064386b0980bd" # v2024.10 |