samsung: board: reserve dram for the secure firmware
cover samsung: board: reserve dram for the secure firmware
Since the few exynos based boards requires memory reservation, of last DRAM bank, the code could be in a common place.
This patchset moves the reservation code from odroid board file to common samsung board file.
Przemyslaw Marczak (3):
board: samsung: reserve memory for the secure firmware
Odroid-XU3: enable the last dram bank and reserve 22MiB Odroid U3: use common code for dram reservation
board/samsung/common/board.c | 6 ++++++ board/samsung/odroid/odroid.c | 4 ---- include/configs/odroid.h | 5 +++-- include/configs/odroid_xu3.h | 10 ++++------ 4 files changed, 13 insertions(+), 12 deletions(-)
Signature · 1 line
1.9.1
PATCH 1/3 board: samsung: reserve memory for the secure firmware
Since more than one board requires memory reservation for the secure firmware, the reservation code can be made in a common code.
Now, to reserve some part of the the last bank, board config should define:
- CONFIG_TZSW_RESERVED_DRAM - len in bytes
- CONFIG_NR_DRAM_BANKS - number of memory banks
--- board/samsung/common/board.c | 6 ++++++ 1 file changed, 6 insertions(+)
board/samsung/common/board.c +6 -0
@@ -82,7 +82,13 @@ int board_init(void) }boot_temp_check ();#endif +#ifdef CONFIG_TZSW_RESERVED_DRAM_SIZE +/* The last few MB of memory can be reserved for secure firmware */ +ulong size =CONFIG_TZSW_RESERVED_DRAM_SIZE ; + gd->ram_size -= size; + gd->bd->bi_dram[CONFIG_NR_DRAM_BANKS -1 ].size -= size; +#endif return exynos_init (); }
Signature · 1 line
1.9.1
PATCH 1/3 board: samsung: reserve memory for the secure firmware
Hello Minkyu,
Quoted 25 lines · Przemyslaw Marczak
Since more than one board requires memory reservation for the secure firmware, the reservation code can be made in a common code.
Now, to reserve some part of the the last bank, board config should define:
-CONFIG_TZSW_RESERVED_DRAM- len in bytes
-CONFIG_NR_DRAM_BANKS- number of memory banksSigned-off-by Przemyslaw Marczak <[email protected]>Cc Akshay Saraswat <[email protected]>Cc Hyungwon Hwang <[email protected]>Cc Minkyu Kang <[email protected]>--- board/samsung/common/board.c | 6 ++++++ 1 file changed, 6 insertions(+)board/samsung/common/board.c +0
-0@@ -82,7 +82,13 @@ int board_init(void) }boot_temp_check ();#endif
board/samsung/common/board.c int board_init(void) · line 94
Quoted 10 lines
board/samsung/common/board.c +6
-0+#ifdef CONFIG_TZSW_RESERVED_DRAM_SIZE +/* The last few MB of memory can be reserved for secure firmware */ +ulong size =CONFIG_TZSW_RESERVED_DRAM_SIZE ; + gd->ram_size -= size; + gd->bd->bi_dram[CONFIG_NR_DRAM_BANKS -1 ].size -= size; +#endif return exynos_init (); }
There are no comments, so can you apply this patchset?
Best regards,
Signature · 4 lines
Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak at samsung.com
PATCH 1/3 board: samsung: reserve memory for the secure firmware
Hi,
Quoted 41 lines · Przemyslaw Marczak
Hello Minkyu,
Quoted 25 lines · Przemyslaw Marczak
Since more than one board requires memory reservation for the secure firmware, the reservation code can be made in a common code.
Now, to reserve some part of the the last bank, board config should define:
-CONFIG_TZSW_RESERVED_DRAM- len in bytes
-CONFIG_NR_DRAM_BANKS- number of memory banksSigned-off-by Przemyslaw Marczak <[email protected]>Cc Akshay Saraswat <[email protected]>Cc Hyungwon Hwang <[email protected]>Cc Minkyu Kang <[email protected]>--- board/samsung/common/board.c | 6 ++++++ 1 file changed, 6 insertions(+)board/samsung/common/board.c +0
-0@@ -82,7 +82,13 @@ int board_init(void) }boot_temp_check ();#endif board/samsung/common/board.c int board_init(void) · line 94
Quoted 10 lines
board/samsung/common/board.c +6
-0+#ifdef CONFIG_TZSW_RESERVED_DRAM_SIZE +/* The last few MB of memory can be reserved for secure firmware */ +ulong size =CONFIG_TZSW_RESERVED_DRAM_SIZE ; + gd->ram_size -= size; + gd->bd->bi_dram[CONFIG_NR_DRAM_BANKS -1 ].size -= size; +#endif return exynos_init (); }There are no comments, so can you apply this patchset?
Quoted 1 line
Best regards,
applied to u-boot-samsung.
Thanks,
Minkyu Kang.
PATCH 2/3 Odroid-XU3: enable the last dram bank and reserve 22MiB
In reply to Przemyslaw MarczakThis commit enables the last DRAM bank and reserves the last 22 MiB of it, for the secure firmware.
--- include/configs/odroid_xu3.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)
include/configs/odroid_xu3.h +4 -6
@@ -25,13 +25,11 @@#define CONFIG_CMD_MMC -/* -* FIXME: The number of bank is actually 8. But there is no way to reserve the -* last 16 Mib in the last bank now. So I just excluded the last bank -* temporally. -*/ -#define CONFIG_NR_DRAM_BANKS 7 +#define CONFIG_NR_DRAM_BANKS 8#define SDRAM_BANK_SIZE (256UL << 20UL)/* 256 MB */ +/* Reserve the last 22 MiB for the secure firmware */ +#define CONFIG_SYS_MEM_TOP_HIDE (22UL << 20UL) +#define CONFIG_TZSW_RESERVED_DRAM_SIZE CONFIG_SYS_MEM_TOP_HIDE#define CONFIG_ENV_IS_IN_MMC
Signature · 1 line
1.9.1
PATCH 3/3 Odroid U3: use common code for dram reservation
In reply to Przemyslaw MarczakThis commit removes the dram reservation from board file, because it is done in a common code.
--- board/samsung/odroid/odroid.c | 4 ---- include/configs/odroid.h | 5 +++-- 2 files changed, 3 insertions(+), 6 deletions(-)
board/samsung/odroid/odroid.c +0 -4
@@ -424,10 +424,6 @@ int exynos_early_init_f(void)int exynos_init (void ) { -/* The last MB of memory is reserved for secure firmware */ - gd->ram_size -=SZ_1M ; - gd->bd->bi_dram[CONFIG_NR_DRAM_BANKS -1 ].size -=SZ_1M ; -board_gpio_init ();return 0 ;
include/configs/odroid.h +3 -2
@@ -29,6 +29,9 @@#define CONFIG_SYS_SDRAM_BASE 0x40000000#define SDRAM_BANK_SIZE (256 << 20)/* 256 MB */ #define PHYS_SDRAM_1 CONFIG_SYS_SDRAM_BASE +/* Reserve the last 1 MiB for the secure firmware */ +#define CONFIG_SYS_MEM_TOP_HIDE (1UL << 20UL) +#define CONFIG_TZSW_RESERVED_DRAM_SIZE CONFIG_SYS_MEM_TOP_HIDE/* memtest works on */ #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE
@@ -56,8 +59,6 @@#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR \ - GENERATED_GBL_DATA_SIZE) -#define CONFIG_SYS_MEM_TOP_HIDE (SZ_1M)/* ram console */ -#define CONFIG_SYS_MONITOR_BASE 0x00000000#define CONFIG_ENV_IS_IN_MMC
Signature · 1 line
1.9.1