All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.