mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-23 03:23:47 +00:00
6924bc7ca2
Currently, the DDR type is retrieved by iteracting inside an array of possible DDR types. This may take saveral attempts, which slows the overall U-Boot process and does not provide a good user experience: U-Boot SPL 2021.07 (Feb 28 2022 - 06:39:32 +0000) DDRINFO: Cfg attempt: [ 1/6 ] DDRINFO(M): mr5-8 [ 0xff000010 ] DDRINFO(T): mr5-8 [ 0x5000010 ] resetting ... U-Boot SPL 2021.07 (Feb 28 2022 - 06:39:32 +0000) DDRINFO: Cfg attempt: [ 2/6 ] DDRINFO(M): mr5-8 [ 0xff000010 ] DDRINFO(T): mr5-8 [ 0x1061010 ] resetting ... U-Boot SPL 2021.07 (Feb 28 2022 - 06:39:32 +0000) DDRINFO: Cfg attempt: [ 3/6 ] DDRINFO(M): mr5-8 [ 0xff000010 ] DDRINFO(T): mr5-8 [ 0xff000010 ] Normal Boot WDT: Not starting Trying to boot from MMC2 NOTICE: BL31: v2.5(release):v2.5 NOTICE: BL31: Built : 07:12:44, Jan 24 2022 Improve the boot time by retrieving the correct DDR information from the EEPROM: U-Boot SPL 2022.04-rc4-00045-g6d02bc40d58c (Mar 19 2022 - 08:22:29 -0300) DDRINFO(D): Kingston 4096G DDRINFO(M): mr5-8 [ 0xff000010 ] DDRINFO(E): mr5-8 [ 0xff000010 ] Normal Boot WDT: Started watchdog@30280000 with servicing (60s timeout) Trying to boot from MMC2 NOTICE: BL31: v2.5(release):v2.5 NOTICE: BL31: Built : 22:28:11, Mar 15 2022 Based on the original code from Compulab's U-Boot. Tested on a imx8mm-cl-iot-gate board populated with 4GB of RAM. Signed-off-by: Fabio Estevam <festevam@denx.de>
31 lines
684 B
C
31 lines
684 B
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* Copyright 2017 NXP
|
|
* Copyright 2020 Linaro
|
|
*
|
|
*/
|
|
|
|
#ifndef __COMPULAB_DDR_H__
|
|
#define __COMPULAB_DDR_H__
|
|
|
|
extern struct dram_timing_info ucm_dram_timing_ff020008;
|
|
extern struct dram_timing_info ucm_dram_timing_ff000110;
|
|
extern struct dram_timing_info ucm_dram_timing_01061010;
|
|
|
|
void spl_dram_init_compulab(void);
|
|
|
|
#define TCM_DATA_CFG 0x7e0000
|
|
|
|
struct lpddr4_tcm_desc {
|
|
unsigned int size;
|
|
unsigned int sign;
|
|
unsigned int index;
|
|
unsigned int count;
|
|
};
|
|
|
|
u32 cl_eeprom_get_ddrinfo(void);
|
|
u32 cl_eeprom_set_ddrinfo(u32 ddrinfo);
|
|
u32 cl_eeprom_get_subind(void);
|
|
u32 cl_eeprom_set_subind(u32 subind);
|
|
u32 cl_eeprom_get_osize(void);
|
|
#endif
|