mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-01 08:59:33 +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;
|
const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
|
||||||
int flash_esel = find_tlb_idx((void *)flashbase, 1);
|
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
|
* 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 */
|
set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS, /* tlb, epn, rpn */
|
||||||
MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,/* perms, wimge */
|
MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,/* perms, wimge */
|
||||||
0, flash_esel, BOOKE_PAGESZ_64M, 1);/* ts, esel, tsize, iprot */
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -348,10 +366,6 @@ int board_eth_init(struct bd_info *bis)
|
||||||
ccsr_gur_t *gur __attribute__((unused)) =
|
ccsr_gur_t *gur __attribute__((unused)) =
|
||||||
(void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
|
(void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
|
||||||
int num = 0;
|
int num = 0;
|
||||||
#ifdef CONFIG_VSC7385_ENET
|
|
||||||
char *tmp;
|
|
||||||
unsigned int vscfw_addr;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_TSEC1
|
#ifdef CONFIG_TSEC1
|
||||||
SET_STD_TSEC_INFO(tsec_info[num], 1);
|
SET_STD_TSEC_INFO(tsec_info[num], 1);
|
||||||
|
@ -375,19 +389,6 @@ int board_eth_init(struct bd_info *bis)
|
||||||
return 0;
|
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.regs = TSEC_GET_MDIO_REGS_BASE(1);
|
||||||
mdio_info.name = DEFAULT_MII_NAME;
|
mdio_info.name = DEFAULT_MII_NAME;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue