All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aswath Govindraju <a-govindraju@ti.com>
Cc: Kishon Vijay Abraham I <kishon@ti.com>,
	Praneeth Bajjuri <praneeth@ti.com>,
	Aswath Govindraju <a-govindraju@ti.com>,
	Lokesh Vutla <lokeshvutla@ti.com>,
	Dave Gerlach <d-gerlach@ti.com>, Nishanth Menon <nm@ti.com>,
	Vignesh Raghavendra <vigneshr@ti.com>, Suman Anna <s-anna@ti.com>,
	Keerthy <j-keerthy@ti.com>, <u-boot@lists.denx.de>
Subject: [PATCH v3 08/10] configs: am64x_evm_*_defconfig: Rearrange the components in SRAM to satisfy the limitations for USB DFU boot mode
Date: Fri, 4 Jun 2021 22:00:38 +0530	[thread overview]
Message-ID: <20210604163043.12811-9-a-govindraju@ti.com> (raw)
In-Reply-To: <20210604163043.12811-1-a-govindraju@ti.com>

For USB DFU boot mode there is a limitation on the load address of boot
images that they have to be less than 0x70001000. Therefore, move the
SPL_TEXT_BASE address to 0x70000000.

Currently ATF is being loaded at 0x70000000, if the SPL is being loaded at
0x70000000 then ATF would overwrite SPL image when loaded. Therefore, move
the location of ATF to a latter location in SRAM, past the SPL image. Also
rearrange the EEPROM and BSS data on top of ATF.

Given below is the placement of various data sections in SRAM

     ┌──────────────────────────────────────┐0x70000000
     │                                      │
     │                                      │
     │                                      │
     │    SPL IMAGE (Max size 1.5 MB)       │
     │                                      │
     │                                      │
     │                                      │
     ├──────────────────────────────────────┤0x7017FFFF
     │                                      │
     │           SPL STACK                  │
     │                                      │
     ├──────────────────────────────────────┤0x70192727
     │          GLOBAL DATA(216 B)          │
     ├──────────────────────────────────────┤0x701927FF
     │                                      │
     │       INITIAL HEAP (32 KB)           │
     │                                      │
     ├──────────────────────────────────────┤0x7019A7FF
     │                                      │
     │          BSS  (20 KB)                │
     ├──────────────────────────────────────┤0x7019F7FF
     │         EEPROM DATA (2 KB)           │
     ├──────────────────────────────────────┤0x7019FFFF
     │                                      │
     │                                      │
     │            ATF (123 KB)              │
     │                                      │
     │                                      │
     ├──────────────────────────────────────┤0x701BEBFB
     │   BOOT PARAMETER INDEX TABLE (5124 B)│
     ├──────────────────────────────────────┤0x701BFFFF
     │                                      │
     │SYSFW FIREWALLED DUE TO A BUG (128 KB)│
     │                                      │
     ├──────────────────────────────────────┤0x701DFFFF
     │                                      │
     │      DMSC CODE AREA (128 KB)         │
     │                                      │
     └──────────────────────────────────────┘0x701FFFFF

Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
---
 arch/arm/mach-k3/include/mach/am64_hardware.h | 6 ++----
 configs/am64x_evm_a53_defconfig               | 1 +
 configs/am64x_evm_r5_defconfig                | 2 +-
 include/configs/am64x_evm.h                   | 3 ++-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-k3/include/mach/am64_hardware.h b/arch/arm/mach-k3/include/mach/am64_hardware.h
index 4ee41ad762ba..96383437d5b1 100644
--- a/arch/arm/mach-k3/include/mach/am64_hardware.h
+++ b/arch/arm/mach-k3/include/mach/am64_hardware.h
@@ -7,8 +7,6 @@
 #ifndef __ASM_ARCH_AM64_HARDWARE_H
 #define __ASM_ARCH_AM64_HARDWARE_H
 
-#include <config.h>
-
 #define CTRL_MMR0_BASE					0x43000000
 #define CTRLMMR_MAIN_DEVSTAT				(CTRL_MMR0_BASE + 0x30)
 
@@ -54,7 +52,7 @@
 
 #define ROM_ENTENDED_BOOT_DATA_INFO			0x701beb00
 
-/* Use Last 1K as Scratch pad */
-#define TI_SRAM_SCRATCH_BOARD_EEPROM_START		0x701bfc00
+/* Use Last 2K as Scratch pad */
+#define TI_SRAM_SCRATCH_BOARD_EEPROM_START		0x7019f800
 
 #endif /* __ASM_ARCH_DRA8_HARDWARE_H */
diff --git a/configs/am64x_evm_a53_defconfig b/configs/am64x_evm_a53_defconfig
index 304f5b41a3ae..3b8b7474f845 100644
--- a/configs/am64x_evm_a53_defconfig
+++ b/configs/am64x_evm_a53_defconfig
@@ -5,6 +5,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
 CONFIG_SYS_MALLOC_F_LEN=0x8000
 CONFIG_NR_DRAM_BANKS=2
 CONFIG_SOC_K3_AM642=y
+CONFIG_K3_ATF_LOAD_ADDR=0x701a0000
 CONFIG_TARGET_AM642_A53_EVM=y
 CONFIG_ENV_SIZE=0x20000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x280000
diff --git a/configs/am64x_evm_r5_defconfig b/configs/am64x_evm_r5_defconfig
index 2810fa1fc57d..de0c814222c0 100644
--- a/configs/am64x_evm_r5_defconfig
+++ b/configs/am64x_evm_r5_defconfig
@@ -10,7 +10,7 @@ CONFIG_ENV_SIZE=0x20000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x80000
 CONFIG_DM_GPIO=y
 CONFIG_SPL_DM_SPI=y
-CONFIG_SPL_TEXT_BASE=0x70020000
+CONFIG_SPL_TEXT_BASE=0x70000000
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
diff --git a/include/configs/am64x_evm.h b/include/configs/am64x_evm.h
index 7c30e50c5f1e..7c9bdc2d7d3a 100644
--- a/include/configs/am64x_evm.h
+++ b/include/configs/am64x_evm.h
@@ -12,6 +12,7 @@
 #include <linux/sizes.h>
 #include <config_distro_bootcmd.h>
 #include <environment/ti/mmc.h>
+#include <asm/arch/am64_hardware.h>
 
 /* DDR Configuration */
 #define CONFIG_SYS_SDRAM_BASE1		0x880000000
@@ -43,7 +44,7 @@
  * location filled in by the boot ROM that we want to read out without any
  * interference from the C context.
  */
-#define CONFIG_SPL_BSS_START_ADDR	(CONFIG_SYS_K3_BOOT_PARAM_TABLE_INDEX -\
+#define CONFIG_SPL_BSS_START_ADDR	(TI_SRAM_SCRATCH_BOARD_EEPROM_START -\
 					 CONFIG_SPL_BSS_MAX_SIZE)
 /* Set the stack right below the SPL BSS section */
 #define CONFIG_SYS_INIT_SP_ADDR         CONFIG_SPL_BSS_START_ADDR
-- 
2.17.1


  parent reply	other threads:[~2021-06-04 16:32 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-04 16:30 [PATCH v3 00/10] AM642-EVM: Add USB support Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 01/10] tools: k3_fit_atf: Add support for providing ATF load address using a Kconfig symbol Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 02/10] arm: mach-k3: am642_init: Add support for USB boot mode Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 03/10] arm: mach-k3: am642_init: Do USB fixups to facilitate host and device boot modes Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 04/10] board: ti: am64x: Set the core voltage of USB PHY to 0.85V Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 05/10] arm: dts: k3-am64-main: Add USB DT nodes Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 06/10] arm: dts: k3-am642-*-evm: Add USB support Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 07/10] arm: dts: k3-am642-evm-u-boot: Add U-Boot tags and fix the dr_mode to peripheral for USB subsystem Aswath Govindraju
2021-06-04 16:30 ` Aswath Govindraju [this message]
2021-06-04 16:30 ` [PATCH v3 09/10] arm: dts: k3-am64-main: Update the location of ATF in SRAM and increase its max size Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 10/10] configs: am64: Enable configs to support USB host and device modes Aswath Govindraju
2021-06-04 16:48 ` [PATCH v3 00/10] AM642-EVM: Add USB support Praneeth Bajjuri
2021-06-04 16:49   ` Aswath Govindraju
2021-06-04 16:53     ` Praneeth Bajjuri
2021-06-07  4:16       ` Praneeth Bajjuri
2021-06-09 12:30 ` Aswath Govindraju
2021-06-09 16:55 ` Lokesh Vutla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210604163043.12811-9-a-govindraju@ti.com \
    --to=a-govindraju@ti.com \
    --cc=d-gerlach@ti.com \
    --cc=j-keerthy@ti.com \
    --cc=kishon@ti.com \
    --cc=lokeshvutla@ti.com \
    --cc=nm@ti.com \
    --cc=praneeth@ti.com \
    --cc=s-anna@ti.com \
    --cc=u-boot@lists.denx.de \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.