mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
fsl: p1_p2_rdb: Move vsc7835 firmware uploading to board_early_init_r()
Move vsc7835 firmware uploading to board_early_init_r(), so that the switch also can work in DM eTSEC driver. Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
This commit is contained in:
parent
5396fa62d9
commit
ae24d75867
1 changed files with 18 additions and 17 deletions
|
@ -316,6 +316,10 @@ int board_early_init_r(void)
|
|||
{
|
||||
const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
|
||||
int flash_esel = find_tlb_idx((void *)flashbase, 1);
|
||||
#ifdef CONFIG_VSC7385_ENET
|
||||
unsigned int vscfw_addr;
|
||||
char *tmp;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Remap Boot flash region to caching-inhibited
|
||||
|
@ -338,6 +342,20 @@ int board_early_init_r(void)
|
|||
set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS, /* tlb, epn, rpn */
|
||||
MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,/* perms, wimge */
|
||||
0, flash_esel, BOOKE_PAGESZ_64M, 1);/* ts, esel, tsize, iprot */
|
||||
|
||||
#ifdef CONFIG_VSC7385_ENET
|
||||
/* If a VSC7385 microcode image is present, then upload it. */
|
||||
tmp = env_get("vscfw_addr");
|
||||
if (tmp) {
|
||||
vscfw_addr = simple_strtoul(tmp, NULL, 16);
|
||||
printf("uploading VSC7385 microcode from %x\n", vscfw_addr);
|
||||
if (vsc7385_upload_firmware((void *)vscfw_addr,
|
||||
CONFIG_VSC7385_IMAGE_SIZE))
|
||||
puts("Failure uploading VSC7385 microcode.\n");
|
||||
} else {
|
||||
puts("No address specified for VSC7385 microcode.\n");
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -348,10 +366,6 @@ int board_eth_init(struct bd_info *bis)
|
|||
ccsr_gur_t *gur __attribute__((unused)) =
|
||||
(void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
|
||||
int num = 0;
|
||||
#ifdef CONFIG_VSC7385_ENET
|
||||
char *tmp;
|
||||
unsigned int vscfw_addr;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_TSEC1
|
||||
SET_STD_TSEC_INFO(tsec_info[num], 1);
|
||||
|
@ -375,19 +389,6 @@ int board_eth_init(struct bd_info *bis)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_VSC7385_ENET
|
||||
/* If a VSC7385 microcode image is present, then upload it. */
|
||||
tmp = env_get("vscfw_addr");
|
||||
if (tmp) {
|
||||
vscfw_addr = simple_strtoul(tmp, NULL, 16);
|
||||
printf("uploading VSC7385 microcode from %x\n", vscfw_addr);
|
||||
if (vsc7385_upload_firmware((void *) vscfw_addr,
|
||||
CONFIG_VSC7385_IMAGE_SIZE))
|
||||
puts("Failure uploading VSC7385 microcode.\n");
|
||||
} else
|
||||
puts("No address specified for VSC7385 microcode.\n");
|
||||
#endif
|
||||
|
||||
mdio_info.regs = TSEC_GET_MDIO_REGS_BASE(1);
|
||||
mdio_info.name = DEFAULT_MII_NAME;
|
||||
|
||||
|
|
Loading…
Reference in a new issue