* [PATCH V2 0/8] Update SPL splashscreen framework for AM62x
@ 2023-06-09 11:51 Nikhil M Jain
2023-06-09 11:51 ` [PATCH V2 1/8] common: spl: spl: Update stack pointer address Nikhil M Jain
` (7 more replies)
0 siblings, 8 replies; 14+ messages in thread
From: Nikhil M Jain @ 2023-06-09 11:51 UTC (permalink / raw)
To: u-boot; +Cc: n-jain1, trini, devarsht, vigneshr, nsekhar, sjg
This patch series aims at updating SPL splashscreen framework for AM62x.
This patch series depends on
https://lore.kernel.org/u-boot/20230504225829.2537050-1-sjg@chromium.org/
This series:
- Fixes compilation issues in case splash related configs are not
defined in SPL.
- Does page table setup, dram initialisation and dcache enabling in
one function call spl_enable_dcache.
- Allows passing of framebuffer from spl to u-boot, eliminating flicker.
V2:
- Update cover letter.
- Fix commit message.
Nikhil M Jain (8):
common: spl: spl: Update stack pointer address
arch: arm: mach-k3: common: Return a pointer after setting page table
board: ti: am62x: evm: Update function calls for splash screen
include: video: Reserve video using blob
common: board_f: Pass frame buffer info from SPL to u-boot
drivers: video: Kconfig: Add config remove video
common: spl: spl: Remove video driver
configs: am62x_evm_a53: Add bloblist address
arch/arm/mach-k3/am625_init.c | 1 +
arch/arm/mach-k3/common.c | 2 ++
board/ti/am62x/evm.c | 41 ++++++++++++---------------------
common/board_f.c | 12 +++++++++-
common/spl/spl.c | 3 ++-
configs/am62x_evm_a53_defconfig | 1 +
drivers/video/Kconfig | 13 +++++++++++
drivers/video/video-uclass.c | 23 ++++++++++++++++++
include/video.h | 9 ++++++++
9 files changed, 77 insertions(+), 28 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH V2 1/8] common: spl: spl: Update stack pointer address
2023-06-09 11:51 [PATCH V2 0/8] Update SPL splashscreen framework for AM62x Nikhil M Jain
@ 2023-06-09 11:51 ` Nikhil M Jain
2023-06-09 15:38 ` Tom Rini
2023-06-09 11:51 ` [PATCH V2 2/8] arch: arm: mach-k3: common: Return a pointer after setting page table Nikhil M Jain
` (6 subsequent siblings)
7 siblings, 1 reply; 14+ messages in thread
From: Nikhil M Jain @ 2023-06-09 11:51 UTC (permalink / raw)
To: u-boot; +Cc: n-jain1, trini, devarsht, vigneshr, nsekhar, sjg
At SPL stage when stack is relocated, the stack pointer needs to be
updated, the stack pointer may point to stack in on chip memory even
though stack is relocated.
Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
---
V2:
- No change.
common/spl/spl.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/common/spl/spl.c b/common/spl/spl.c
index 801c4b507c..13b55e9769 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -992,6 +992,7 @@ ulong spl_relocate_stack_gd(void)
#endif
/* Get stack position: use 8-byte alignment for ABI compliance */
ptr = CONFIG_SPL_STACK_R_ADDR - roundup(sizeof(gd_t),16);
+ gd->start_addr_sp = ptr;
new_gd = (gd_t *)ptr;
memcpy(new_gd, (void *)gd, sizeof(gd_t));
#if CONFIG_IS_ENABLED(DM)
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH V2 2/8] arch: arm: mach-k3: common: Return a pointer after setting page table
2023-06-09 11:51 [PATCH V2 0/8] Update SPL splashscreen framework for AM62x Nikhil M Jain
2023-06-09 11:51 ` [PATCH V2 1/8] common: spl: spl: Update stack pointer address Nikhil M Jain
@ 2023-06-09 11:51 ` Nikhil M Jain
2023-06-09 11:51 ` [PATCH V2 3/8] board: ti: am62x: evm: Update function calls for splash screen Nikhil M Jain
` (5 subsequent siblings)
7 siblings, 0 replies; 14+ messages in thread
From: Nikhil M Jain @ 2023-06-09 11:51 UTC (permalink / raw)
To: u-boot; +Cc: n-jain1, trini, devarsht, vigneshr, nsekhar, sjg
In spl_dcache_enable after setting up page table, set gd->relocaddr
pointer to tlb_addr, to get next location to reserve memory. Align
tlb_addr with 64KB address.
Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
---
V2:
- Perform 64KB alignment on tlb_addr.
arch/arm/mach-k3/common.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c
index 0e045919dd..9cd912c523 100644
--- a/arch/arm/mach-k3/common.c
+++ b/arch/arm/mach-k3/common.c
@@ -624,8 +624,10 @@ void spl_enable_dcache(void)
ram_top = (phys_addr_t) 0x100000000;
gd->arch.tlb_addr = ram_top - gd->arch.tlb_size;
+ gd->arch.tlb_addr &= ~(0x10000 - 1);
debug("TLB table from %08lx to %08lx\n", gd->arch.tlb_addr,
gd->arch.tlb_addr + gd->arch.tlb_size);
+ gd->relocaddr = gd->arch.tlb_addr;
dcache_enable();
#endif
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH V2 3/8] board: ti: am62x: evm: Update function calls for splash screen
2023-06-09 11:51 [PATCH V2 0/8] Update SPL splashscreen framework for AM62x Nikhil M Jain
2023-06-09 11:51 ` [PATCH V2 1/8] common: spl: spl: Update stack pointer address Nikhil M Jain
2023-06-09 11:51 ` [PATCH V2 2/8] arch: arm: mach-k3: common: Return a pointer after setting page table Nikhil M Jain
@ 2023-06-09 11:51 ` Nikhil M Jain
2023-06-09 11:51 ` [PATCH V2 4/8] include: video: Reserve video using blob Nikhil M Jain
` (4 subsequent siblings)
7 siblings, 0 replies; 14+ messages in thread
From: Nikhil M Jain @ 2023-06-09 11:51 UTC (permalink / raw)
To: u-boot; +Cc: n-jain1, trini, devarsht, vigneshr, nsekhar, sjg
Use spl_dcache_enable, in place of setup_dram, arch_reserve_mmu to set
up pagetable, initialise DRAM and enable Dcache.
Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
---
V2:
- Use CONFIG_SPL_VIDEO in place of CONFIG_SPL_VIDEO_TIDSS to reserve
video and call splash at SPL.
- Check SPL_SPLASH_SCREEN and SPL_BMP before calling splash display.
arch/arm/mach-k3/am625_init.c | 1 +
board/ti/am62x/evm.c | 41 +++++++++++++----------------------
2 files changed, 16 insertions(+), 26 deletions(-)
diff --git a/arch/arm/mach-k3/am625_init.c b/arch/arm/mach-k3/am625_init.c
index 787fe92295..0e5d44269e 100644
--- a/arch/arm/mach-k3/am625_init.c
+++ b/arch/arm/mach-k3/am625_init.c
@@ -214,6 +214,7 @@ void board_init_f(ulong dummy)
if (ret)
panic("DRAM init failed: %d\n", ret);
#endif
+ spl_enable_dcache();
}
u32 spl_mmc_boot_mode(struct mmc *mmc, const u32 boot_device)
diff --git a/board/ti/am62x/evm.c b/board/ti/am62x/evm.c
index 34830f445f..d3c1786cd9 100644
--- a/board/ti/am62x/evm.c
+++ b/board/ti/am62x/evm.c
@@ -59,42 +59,31 @@ int dram_init_banksize(void)
}
#if defined(CONFIG_SPL_BUILD)
-#ifdef CONFIG_SPL_VIDEO_TIDSS
-static int setup_dram(void)
-{
- dram_init();
- dram_init_banksize();
- gd->ram_base = CFG_SYS_SDRAM_BASE;
- gd->ram_top = gd->ram_base + gd->ram_size;
- gd->relocaddr = gd->ram_top;
- return 0;
-}
-
static int video_setup(void)
{
- ulong addr;
- int ret;
- addr = gd->relocaddr;
+ if (CONFIG_IS_ENABLED(VIDEO)) {
+ ulong addr;
+ int ret;
+
+ addr = gd->relocaddr;
+ ret = video_reserve(&addr);
+ if (ret)
+ return ret;
+ debug("Reserving %luk for video at: %08lx\n",
+ ((unsigned long)gd->relocaddr - addr) >> 10, addr);
+ gd->relocaddr = addr;
+ }
- ret = video_reserve(&addr);
- if (ret)
- return ret;
- debug("Reserving %luk for video at: %08lx\n",
- ((unsigned long)gd->relocaddr - addr) >> 10, addr);
- gd->relocaddr = addr;
return 0;
}
-#endif
void spl_board_init(void)
{
-#if defined(CONFIG_SPL_VIDEO_TIDSS)
- setup_dram();
- arch_reserve_mmu();
video_setup();
enable_caches();
- splash_display();
-#endif
+ if (IS_ENABLED(CONFIG_SPL_SPLASH_SCREEN) && IS_ENABLED(CONFIG_SPL_BMP))
+ splash_display();
+
}
#if defined(CONFIG_K3_AM64_DDRSS)
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH V2 4/8] include: video: Reserve video using blob
2023-06-09 11:51 [PATCH V2 0/8] Update SPL splashscreen framework for AM62x Nikhil M Jain
` (2 preceding siblings ...)
2023-06-09 11:51 ` [PATCH V2 3/8] board: ti: am62x: evm: Update function calls for splash screen Nikhil M Jain
@ 2023-06-09 11:51 ` Nikhil M Jain
2023-06-09 15:39 ` Tom Rini
2023-06-12 21:17 ` Simon Glass
2023-06-09 11:51 ` [PATCH V2 5/8] common: board_f: Pass frame buffer info from SPL to u-boot Nikhil M Jain
` (3 subsequent siblings)
7 siblings, 2 replies; 14+ messages in thread
From: Nikhil M Jain @ 2023-06-09 11:51 UTC (permalink / raw)
To: u-boot; +Cc: n-jain1, trini, devarsht, vigneshr, nsekhar, sjg
Add method to reserve video framebuffer information using blob,
recieved from previous stage.
Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
---
V2:
- Remove #if CONFIG_IS_ENABLED(VIDEO) in video_reserve_from_blob.
drivers/video/video-uclass.c | 11 +++++++++++
include/video.h | 9 +++++++++
2 files changed, 20 insertions(+)
diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
index 8396bdfb11..68ce681bb9 100644
--- a/drivers/video/video-uclass.c
+++ b/drivers/video/video-uclass.c
@@ -142,6 +142,17 @@ int video_reserve(ulong *addrp)
return 0;
}
+int video_reserve_from_bloblist(struct video_handoff *ho)
+{
+ gd->video_bottom = ho->fb;
+ gd->fb_base = ho->fb;
+ gd->video_top = ho->fb + ho->size;
+ debug("Reserving %luk for video using blob at: %08x\n",
+ ((unsigned long)ho->size) >> 10, (u32)ho->fb);
+
+ return 0;
+}
+
int video_fill(struct udevice *dev, u32 colour)
{
struct video_priv *priv = dev_get_uclass_priv(dev);
diff --git a/include/video.h b/include/video.h
index 18ed159b8d..5f3010d641 100644
--- a/include/video.h
+++ b/include/video.h
@@ -389,4 +389,13 @@ int bmp_display(ulong addr, int x, int y);
*/
int bmp_info(ulong addr);
+/*
+ * video_reserve_from_bloblist()- Reserve frame-buffer memory for video devices
+ * using blobs.
+ *
+ * @ho: video information passed from SPL
+ * Returns: 0 (always)
+ */
+int video_reserve_from_bloblist(struct video_handoff *ho);
+
#endif
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH V2 5/8] common: board_f: Pass frame buffer info from SPL to u-boot
2023-06-09 11:51 [PATCH V2 0/8] Update SPL splashscreen framework for AM62x Nikhil M Jain
` (3 preceding siblings ...)
2023-06-09 11:51 ` [PATCH V2 4/8] include: video: Reserve video using blob Nikhil M Jain
@ 2023-06-09 11:51 ` Nikhil M Jain
2023-06-09 11:51 ` [PATCH V2 6/8] drivers: video: Kconfig: Add config remove video Nikhil M Jain
` (2 subsequent siblings)
7 siblings, 0 replies; 14+ messages in thread
From: Nikhil M Jain @ 2023-06-09 11:51 UTC (permalink / raw)
To: u-boot; +Cc: n-jain1, trini, devarsht, vigneshr, nsekhar, sjg
U-boot proper can use frame buffer address passed from SPL to reserve
the memory area used by framebuffer set in SPL so that splash image
set in SPL continues to get displayed while u-boot proper is running.
Put the framebuffer address and size in a bloblist to make them
available at u-boot proper, if in u-boot proper CONFIG_VIDEO is defined.
Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
---
V2:
- Fix commit message.
- Revert use of #if.
common/board_f.c | 12 +++++++++++-
drivers/video/video-uclass.c | 12 ++++++++++++
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/common/board_f.c b/common/board_f.c
index 1688e27071..418aecc18f 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -411,7 +411,17 @@ __weak int arch_reserve_mmu(void)
static int reserve_video(void)
{
- if (IS_ENABLED(CONFIG_VIDEO)) {
+
+ if (IS_ENABLED(CONFIG_SPL_VIDEO) && spl_phase() > PHASE_SPL &&
+ CONFIG_IS_ENABLED(BLOBLIST)) {
+ struct video_handoff *ho;
+
+ ho = bloblist_find(BLOBLISTT_U_BOOT_VIDEO, sizeof(*ho));
+ if (!ho)
+ return log_msg_ret("blf", -ENOENT);
+ video_reserve_from_bloblist(ho);
+ gd->relocaddr = ho->fb;
+ } else if(CONFIG_IS_ENABLED(VIDEO)){
ulong addr;
int ret;
diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
index 68ce681bb9..f8f0dc0311 100644
--- a/drivers/video/video-uclass.c
+++ b/drivers/video/video-uclass.c
@@ -6,12 +6,14 @@
#define LOG_CATEGORY UCLASS_VIDEO
#include <common.h>
+#include <bloblist.h>
#include <console.h>
#include <cpu_func.h>
#include <dm.h>
#include <log.h>
#include <malloc.h>
#include <mapmem.h>
+#include <spl.h>
#include <stdio_dev.h>
#include <video.h>
#include <video_console.h>
@@ -139,6 +141,16 @@ int video_reserve(ulong *addrp)
debug("Video frame buffers from %lx to %lx\n", gd->video_bottom,
gd->video_top);
+ if (spl_phase() == PHASE_SPL && CONFIG_IS_ENABLED(BLOBLIST)) {
+ struct video_handoff *ho;
+
+ ho = bloblist_add(BLOBLISTT_U_BOOT_VIDEO, sizeof(*ho), 0);
+ if (!ho)
+ return log_msg_ret("blf", -ENOENT);
+ ho->fb = *addrp;
+ ho->size = size;
+ }
+
return 0;
}
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH V2 6/8] drivers: video: Kconfig: Add config remove video
2023-06-09 11:51 [PATCH V2 0/8] Update SPL splashscreen framework for AM62x Nikhil M Jain
` (4 preceding siblings ...)
2023-06-09 11:51 ` [PATCH V2 5/8] common: board_f: Pass frame buffer info from SPL to u-boot Nikhil M Jain
@ 2023-06-09 11:51 ` Nikhil M Jain
2023-06-09 15:39 ` Tom Rini
2023-06-09 11:51 ` [PATCH V2 7/8] common: spl: spl: Remove video driver Nikhil M Jain
2023-06-09 11:51 ` [PATCH V2 8/8] configs: am62x_evm_a53: Add bloblist address Nikhil M Jain
7 siblings, 1 reply; 14+ messages in thread
From: Nikhil M Jain @ 2023-06-09 11:51 UTC (permalink / raw)
To: u-boot; +Cc: n-jain1, trini, devarsht, vigneshr, nsekhar, sjg
This is required since user may want to either call the remove method
of video driver and reset the display or not call the remove method
to continue displaying until next stage.
Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
---
V2:
- Add Reviewed-by tag.
drivers/video/Kconfig | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index fcc0e85d2e..eca95dd28e 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -840,6 +840,13 @@ config IHS_VIDEO_OUT
out On-screen Display (OSD) used on gdsys FPGAs to control dynamic
textual overlays of the display outputs.
+config VIDEO_REMOVE
+ bool "Remove video driver"
+ help
+ Use this option to specify if user wants to call remove method of
+ video driver in u-boot proper stage.
+
+
config SPLASH_SCREEN
bool "Show a splash-screen image"
help
@@ -1063,6 +1070,12 @@ config SPL_SYS_WHITE_ON_BLACK
This can be better in low-light situations or to reduce eye strain in
some cases.
+config SPL_VIDEO_REMOVE
+ bool "Remove video driver after SPL stage"
+ help
+ if this option is enabled video driver will be removed at the end of
+ SPL stage, beforeloading the next stage.
+
if SPL_SPLASH_SCREEN
config SPL_SPLASH_SCREEN_ALIGN
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH V2 7/8] common: spl: spl: Remove video driver
2023-06-09 11:51 [PATCH V2 0/8] Update SPL splashscreen framework for AM62x Nikhil M Jain
` (5 preceding siblings ...)
2023-06-09 11:51 ` [PATCH V2 6/8] drivers: video: Kconfig: Add config remove video Nikhil M Jain
@ 2023-06-09 11:51 ` Nikhil M Jain
2023-06-09 11:51 ` [PATCH V2 8/8] configs: am62x_evm_a53: Add bloblist address Nikhil M Jain
7 siblings, 0 replies; 14+ messages in thread
From: Nikhil M Jain @ 2023-06-09 11:51 UTC (permalink / raw)
To: u-boot; +Cc: n-jain1, trini, devarsht, vigneshr, nsekhar, sjg
Use config SPL_VIDEO_REMOVE to remove video driver at SPL stage before
jumping to next stage, in place of CONFIG_SPL_VIDEO, to allow user to
remove video if required.
Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
---
v2:
- Add Reviewed-by tag.
common/spl/spl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/common/spl/spl.c b/common/spl/spl.c
index 13b55e9769..a65781002e 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -891,7 +891,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
debug("Failed to stash bootstage: err=%d\n", ret);
#endif
-#if defined(CONFIG_SPL_VIDEO)
+#if defined(CONFIG_SPL_VIDEO_REMOVE)
struct udevice *dev;
int rc;
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH V2 8/8] configs: am62x_evm_a53: Add bloblist address
2023-06-09 11:51 [PATCH V2 0/8] Update SPL splashscreen framework for AM62x Nikhil M Jain
` (6 preceding siblings ...)
2023-06-09 11:51 ` [PATCH V2 7/8] common: spl: spl: Remove video driver Nikhil M Jain
@ 2023-06-09 11:51 ` Nikhil M Jain
2023-06-09 12:49 ` Nishanth Menon
7 siblings, 1 reply; 14+ messages in thread
From: Nikhil M Jain @ 2023-06-09 11:51 UTC (permalink / raw)
To: u-boot; +Cc: n-jain1, trini, devarsht, vigneshr, nsekhar, sjg
Define bloblist address.
Updated Memory map
0x80000000┌─────────────────────┐
│ Empty 512 KB │
│ │
0x80080000├─────────────────────┤
│ Text Base │
│ 352 KB │
│ │
0x800D8000├─────────────────────┤
│ Empty 1.1MB │
│ │
0x80200000├─────────────────────┤
│ │
│ │
│ │
│ BMP Image Load │
│ │
│ 9.4 MB │
│ │
│ │
│ │
│ │
│ │
│ │
0x80B77660├─────────────────────┤
│ Stack 2KB │
0x80B77e60├─────────────────────┤
│ GD 416 Bytes │
0x80B78000├─────────────────────┤
│ │
│ Malloc 352KB │
0x80B80000├─────────────────────┤
│ │
│ Empty 1 MB │
│ │
0x80C80000├─────────────────────┤
│ BSS 512 KB │
│ │
0x80D00000├─────────────────────┤
│ Blobs 1KB │
0x80D00400├─────────────────────┤
│ │
│ Empty 2.999MB │
│ │
│ │
0x81000000└─────────────────────┘FIT Image load address
Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
---
V2:
- Add Reviewed-by tag.
configs/am62x_evm_a53_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/configs/am62x_evm_a53_defconfig b/configs/am62x_evm_a53_defconfig
index 7c3bc184cf..5c572dfb33 100644
--- a/configs/am62x_evm_a53_defconfig
+++ b/configs/am62x_evm_a53_defconfig
@@ -102,3 +102,4 @@ CONFIG_SYSRESET=y
CONFIG_SPL_SYSRESET=y
CONFIG_SYSRESET_TI_SCI=y
CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
+CONFIG_BLOBLIST_ADDR=0x80D00000
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH V2 8/8] configs: am62x_evm_a53: Add bloblist address
2023-06-09 11:51 ` [PATCH V2 8/8] configs: am62x_evm_a53: Add bloblist address Nikhil M Jain
@ 2023-06-09 12:49 ` Nishanth Menon
0 siblings, 0 replies; 14+ messages in thread
From: Nishanth Menon @ 2023-06-09 12:49 UTC (permalink / raw)
To: Nikhil M Jain; +Cc: u-boot, trini, devarsht, vigneshr, nsekhar, sjg
On 17:21-20230609, Nikhil M Jain wrote:
> Define bloblist address.
>
> Updated Memory map
> 0x80000000┌─────────────────────┐
> │ Empty 512 KB │
> │ │
> 0x80080000├─────────────────────┤
> │ Text Base │
> │ 352 KB │
> │ │
> 0x800D8000├─────────────────────┤
> │ Empty 1.1MB │
> │ │
> 0x80200000├─────────────────────┤
> │ │
> │ │
> │ │
> │ BMP Image Load │
> │ │
> │ 9.4 MB │
> │ │
> │ │
> │ │
> │ │
> │ │
> │ │
> 0x80B77660├─────────────────────┤
> │ Stack 2KB │
> 0x80B77e60├─────────────────────┤
> │ GD 416 Bytes │
> 0x80B78000├─────────────────────┤
> │ │
> │ Malloc 352KB │
> 0x80B80000├─────────────────────┤
> │ │
> │ Empty 1 MB │
> │ │
> 0x80C80000├─────────────────────┤
> │ BSS 512 KB │
> │ │
> 0x80D00000├─────────────────────┤
> │ Blobs 1KB │
> 0x80D00400├─────────────────────┤
> │ │
> │ Empty 2.999MB │
> │ │
> │ │
> 0x81000000└─────────────────────┘FIT Image load address
Document in rst please.
>
> Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
> Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
> ---
> V2:
> - Add Reviewed-by tag.
>
> configs/am62x_evm_a53_defconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/configs/am62x_evm_a53_defconfig b/configs/am62x_evm_a53_defconfig
> index 7c3bc184cf..5c572dfb33 100644
> --- a/configs/am62x_evm_a53_defconfig
> +++ b/configs/am62x_evm_a53_defconfig
> @@ -102,3 +102,4 @@ CONFIG_SYSRESET=y
> CONFIG_SPL_SYSRESET=y
> CONFIG_SYSRESET_TI_SCI=y
> CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
> +CONFIG_BLOBLIST_ADDR=0x80D00000
> --
> 2.34.1
>
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH V2 1/8] common: spl: spl: Update stack pointer address
2023-06-09 11:51 ` [PATCH V2 1/8] common: spl: spl: Update stack pointer address Nikhil M Jain
@ 2023-06-09 15:38 ` Tom Rini
0 siblings, 0 replies; 14+ messages in thread
From: Tom Rini @ 2023-06-09 15:38 UTC (permalink / raw)
To: Nikhil M Jain; +Cc: u-boot, devarsht, vigneshr, nsekhar, sjg
[-- Attachment #1: Type: text/plain, Size: 350 bytes --]
On Fri, Jun 09, 2023 at 05:21:15PM +0530, Nikhil M Jain wrote:
> At SPL stage when stack is relocated, the stack pointer needs to be
> updated, the stack pointer may point to stack in on chip memory even
> though stack is relocated.
>
> Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH V2 4/8] include: video: Reserve video using blob
2023-06-09 11:51 ` [PATCH V2 4/8] include: video: Reserve video using blob Nikhil M Jain
@ 2023-06-09 15:39 ` Tom Rini
2023-06-12 21:17 ` Simon Glass
1 sibling, 0 replies; 14+ messages in thread
From: Tom Rini @ 2023-06-09 15:39 UTC (permalink / raw)
To: Nikhil M Jain, Anatolij Gustschin
Cc: u-boot, devarsht, vigneshr, nsekhar, sjg
[-- Attachment #1: Type: text/plain, Size: 1716 bytes --]
On Fri, Jun 09, 2023 at 05:21:18PM +0530, Nikhil M Jain wrote:
> Add method to reserve video framebuffer information using blob,
> recieved from previous stage.
>
> Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
> ---
> V2:
> - Remove #if CONFIG_IS_ENABLED(VIDEO) in video_reserve_from_blob.
>
> drivers/video/video-uclass.c | 11 +++++++++++
> include/video.h | 9 +++++++++
> 2 files changed, 20 insertions(+)
>
> diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
> index 8396bdfb11..68ce681bb9 100644
> --- a/drivers/video/video-uclass.c
> +++ b/drivers/video/video-uclass.c
> @@ -142,6 +142,17 @@ int video_reserve(ulong *addrp)
> return 0;
> }
>
> +int video_reserve_from_bloblist(struct video_handoff *ho)
> +{
> + gd->video_bottom = ho->fb;
> + gd->fb_base = ho->fb;
> + gd->video_top = ho->fb + ho->size;
> + debug("Reserving %luk for video using blob at: %08x\n",
> + ((unsigned long)ho->size) >> 10, (u32)ho->fb);
> +
> + return 0;
> +}
> +
> int video_fill(struct udevice *dev, u32 colour)
> {
> struct video_priv *priv = dev_get_uclass_priv(dev);
> diff --git a/include/video.h b/include/video.h
> index 18ed159b8d..5f3010d641 100644
> --- a/include/video.h
> +++ b/include/video.h
> @@ -389,4 +389,13 @@ int bmp_display(ulong addr, int x, int y);
> */
> int bmp_info(ulong addr);
>
> +/*
> + * video_reserve_from_bloblist()- Reserve frame-buffer memory for video devices
> + * using blobs.
> + *
> + * @ho: video information passed from SPL
> + * Returns: 0 (always)
> + */
> +int video_reserve_from_bloblist(struct video_handoff *ho);
> +
> #endif
Anatolij any thoughts?
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH V2 6/8] drivers: video: Kconfig: Add config remove video
2023-06-09 11:51 ` [PATCH V2 6/8] drivers: video: Kconfig: Add config remove video Nikhil M Jain
@ 2023-06-09 15:39 ` Tom Rini
0 siblings, 0 replies; 14+ messages in thread
From: Tom Rini @ 2023-06-09 15:39 UTC (permalink / raw)
To: Nikhil M Jain; +Cc: u-boot, devarsht, vigneshr, nsekhar, sjg
[-- Attachment #1: Type: text/plain, Size: 1041 bytes --]
On Fri, Jun 09, 2023 at 05:21:20PM +0530, Nikhil M Jain wrote:
> This is required since user may want to either call the remove method
> of video driver and reset the display or not call the remove method
> to continue displaying until next stage.
>
> Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
> Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
> ---
> V2:
> - Add Reviewed-by tag.
>
> drivers/video/Kconfig | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
> index fcc0e85d2e..eca95dd28e 100644
> --- a/drivers/video/Kconfig
> +++ b/drivers/video/Kconfig
> @@ -840,6 +840,13 @@ config IHS_VIDEO_OUT
> out On-screen Display (OSD) used on gdsys FPGAs to control dynamic
> textual overlays of the display outputs.
>
> +config VIDEO_REMOVE
> + bool "Remove video driver"
> + help
> + Use this option to specify if user wants to call remove method of
> + video driver in u-boot proper stage.
Please fix this spacing.
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH V2 4/8] include: video: Reserve video using blob
2023-06-09 11:51 ` [PATCH V2 4/8] include: video: Reserve video using blob Nikhil M Jain
2023-06-09 15:39 ` Tom Rini
@ 2023-06-12 21:17 ` Simon Glass
1 sibling, 0 replies; 14+ messages in thread
From: Simon Glass @ 2023-06-12 21:17 UTC (permalink / raw)
To: Nikhil M Jain; +Cc: u-boot, trini, devarsht, vigneshr, nsekhar
On Fri, 9 Jun 2023 at 12:51, Nikhil M Jain <n-jain1@ti.com> wrote:
>
> Add method to reserve video framebuffer information using blob,
> recieved from previous stage.
>
> Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
> ---
> V2:
> - Remove #if CONFIG_IS_ENABLED(VIDEO) in video_reserve_from_blob.
>
> drivers/video/video-uclass.c | 11 +++++++++++
> include/video.h | 9 +++++++++
> 2 files changed, 20 insertions(+)
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2023-06-12 21:17 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-09 11:51 [PATCH V2 0/8] Update SPL splashscreen framework for AM62x Nikhil M Jain
2023-06-09 11:51 ` [PATCH V2 1/8] common: spl: spl: Update stack pointer address Nikhil M Jain
2023-06-09 15:38 ` Tom Rini
2023-06-09 11:51 ` [PATCH V2 2/8] arch: arm: mach-k3: common: Return a pointer after setting page table Nikhil M Jain
2023-06-09 11:51 ` [PATCH V2 3/8] board: ti: am62x: evm: Update function calls for splash screen Nikhil M Jain
2023-06-09 11:51 ` [PATCH V2 4/8] include: video: Reserve video using blob Nikhil M Jain
2023-06-09 15:39 ` Tom Rini
2023-06-12 21:17 ` Simon Glass
2023-06-09 11:51 ` [PATCH V2 5/8] common: board_f: Pass frame buffer info from SPL to u-boot Nikhil M Jain
2023-06-09 11:51 ` [PATCH V2 6/8] drivers: video: Kconfig: Add config remove video Nikhil M Jain
2023-06-09 15:39 ` Tom Rini
2023-06-09 11:51 ` [PATCH V2 7/8] common: spl: spl: Remove video driver Nikhil M Jain
2023-06-09 11:51 ` [PATCH V2 8/8] configs: am62x_evm_a53: Add bloblist address Nikhil M Jain
2023-06-09 12:49 ` Nishanth Menon
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.