board: ti: am64: select NAND overlay if HSE card present
Since we are using overlay for A53 SPL and A53 u-boot the SPL must select the NAND overlay from the FIT image if HSE card is present. For simplicity sake, we only check if a card is present or not in the HSE (High Speed Expansion) slot to determine if we need to use NAND overlay. Signed-off-by: Roger Quadros <rogerq@kernel.org>
This commit is contained in:
parent
03b0a5db9a
commit
1c738366e8
|
|
@ -30,6 +30,8 @@ enum {
|
|||
AM64X_EVM_BRD_DET_COUNT,
|
||||
};
|
||||
|
||||
static struct gpio_desc board_det_gpios[AM64X_EVM_BRD_DET_COUNT];
|
||||
|
||||
/* Max number of MAC addresses that are parsed/processed per daughter card */
|
||||
#define DAUGHTER_CARD_NO_OF_MAC_ADDR 8
|
||||
|
||||
|
|
@ -60,10 +62,22 @@ int dram_init_banksize(void)
|
|||
int board_fit_config_name_match(const char *name)
|
||||
{
|
||||
bool eeprom_read = board_ti_was_eeprom_read();
|
||||
int ret;
|
||||
bool is_nand = false;
|
||||
|
||||
/* Simple check if card is installed in HSE slot or not */
|
||||
ret = dm_gpio_get_value(&board_det_gpios[AM64X_EVM_HSE_BRD_DET]);
|
||||
if (!ret)
|
||||
is_nand = true;
|
||||
|
||||
if (!eeprom_read || board_is_am64x_gpevm()) {
|
||||
if (!strcmp(name, "k3-am642-r5-evm") || !strcmp(name, "k3-am642-evm"))
|
||||
return 0;
|
||||
if (is_nand) {
|
||||
if (!strcmp(name, "k3-am642-r5-evm") || !strcmp(name, "k3-am642-evm-nand"))
|
||||
return 0;
|
||||
} else {
|
||||
if (!strcmp(name, "k3-am642-r5-evm") || !strcmp(name, "k3-am642-evm"))
|
||||
return 0;
|
||||
}
|
||||
} else if (board_is_am64x_skevm()) {
|
||||
if (!strcmp(name, "k3-am642-r5-sk") || !strcmp(name, "k3-am642-sk"))
|
||||
return 0;
|
||||
|
|
@ -177,7 +191,6 @@ static void setup_serial(void)
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BOARD_LATE_INIT
|
||||
static const char *k3_dtbo_list[AM64X_MAX_DAUGHTER_CARDS] = {NULL};
|
||||
|
||||
static int init_daughtercard_det_gpio(char *gpio_name, struct gpio_desc *desc)
|
||||
|
|
@ -205,7 +218,6 @@ static int init_daughtercard_det_gpio(char *gpio_name, struct gpio_desc *desc)
|
|||
static int probe_daughtercards(void)
|
||||
{
|
||||
struct ti_am6_eeprom ep;
|
||||
struct gpio_desc board_det_gpios[AM64X_EVM_BRD_DET_COUNT];
|
||||
char mac_addr[DAUGHTER_CARD_NO_OF_MAC_ADDR][TI_EEPROM_HDR_ETH_ALEN];
|
||||
u8 mac_addr_cnt;
|
||||
char name_overlays[1024] = { 0 };
|
||||
|
|
@ -337,6 +349,7 @@ static int probe_daughtercards(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_BOARD_LATE_INIT
|
||||
int board_late_init(void)
|
||||
{
|
||||
if (IS_ENABLED(CONFIG_TI_I2C_BOARD_DETECT)) {
|
||||
|
|
@ -374,5 +387,7 @@ void spl_board_init(void)
|
|||
|
||||
/* Init DRAM size for R5/A53 SPL */
|
||||
dram_init_banksize();
|
||||
|
||||
probe_daughtercards();
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue