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