[PATCH v1 2/5] riscv: Update Microchip MPFS Icicle Kit support
Padmarao Begari
padmarao.b at gmail.com
Tue Nov 2 11:38:43 CET 2021
On Mon, Nov 1, 2021 at 2:13 PM Bin Meng <bmeng.cn at gmail.com> wrote:
> On Fri, Oct 22, 2021 at 4:58 PM Padmarao Begari
> <padmarao.begari at microchip.com> wrote:
> >
> > This patch updates Microchip MPFS Icicle Kit support. For now,
> > add Microchip I2C driver, set environment variables for
> > mac addesses and default build for SBI_V02.
> >
> > Signed-off-by: Padmarao Begari <padmarao.begari at microchip.com>
> > ---
> > board/microchip/mpfs_icicle/Kconfig | 5 +++++
> > board/microchip/mpfs_icicle/mpfs_icicle.c | 17 ++++++++++++++++-
> > configs/microchip_mpfs_icicle_defconfig | 1 -
> > 3 files changed, 21 insertions(+), 2 deletions(-)
> >
> > diff --git a/board/microchip/mpfs_icicle/Kconfig
> b/board/microchip/mpfs_icicle/Kconfig
> > index 4678462378..092e411215 100644
> > --- a/board/microchip/mpfs_icicle/Kconfig
> > +++ b/board/microchip/mpfs_icicle/Kconfig
> > @@ -45,5 +45,10 @@ config BOARD_SPECIFIC_OPTIONS # dummy
> > imply MMC_WRITE
> > imply MMC_SDHCI
> > imply MMC_SDHCI_CADENCE
> > + imply MMC_SDHCI_ADMA
> > + imply MMC_HS200_SUPPORT
> > + imply CMD_I2C
> > + imply DM_I2C
> > + imply SYS_I2C_MICROCHIP
> >
> > endif
> > diff --git a/board/microchip/mpfs_icicle/mpfs_icicle.c
> b/board/microchip/mpfs_icicle/mpfs_icicle.c
> > index afef719dff..e74c9fb03c 100644
> > --- a/board/microchip/mpfs_icicle/mpfs_icicle.c
> > +++ b/board/microchip/mpfs_icicle/mpfs_icicle.c
> > @@ -119,7 +119,22 @@ int board_late_init(void)
> > if (icicle_mac_addr[idx] == ':')
> > icicle_mac_addr[idx] = ' ';
> > }
> > - env_set("icicle_mac_addr", icicle_mac_addr);
> > + env_set("icicle_mac_addr0", icicle_mac_addr);
>
> What's this environment for? Shouldn't the U-Boot standard environment
> variable "ethaddr" be set here?
>
>
The "icicle_mac_addr0" and "icicle_mac_addr1" environment variables are
used for updating the mac
addresses(mac0 and mac1) in the FIT image using fdt overlays like below.
fdt addr ${fdt_addr_r}
fdt set /soc/ethernet at 20112000 local-mac-address ${icicle_mac_addr0}
fdt set /soc/ethernet at 20110000 local-mac-address ${icicle_mac_addr1}
The "ethaddr" variable comes in the U-Boot like "00:04:a3:d6:45:94" but we
want "[00 04 a3 d6 45 94]" to update the mac address in the FIT Image.
>
> > +
> > + mac_addr[5] = device_serial_number[0] + 1;
> > +
> > + icicle_mac_addr[0] = '[';
> > +
> > + sprintf(&icicle_mac_addr[1], "%pM", mac_addr);
>
> "eth1addr"?
>
>
No, a second mac address environment variable "icicle_mac_addr1".
only one MAC address is used in the U-Boot and two MAC's in the Linux.
> > +
> > + icicle_mac_addr[18] = ']';
> > + icicle_mac_addr[19] = '\0';
> > +
> > + for (idx = 0; idx < 20; idx++) {
> > + if (icicle_mac_addr[idx] == ':')
> > + icicle_mac_addr[idx] = ' ';
> > + }
> > + env_set("icicle_mac_addr1", icicle_mac_addr);
> >
> > return 0;
> > }
> > diff --git a/configs/microchip_mpfs_icicle_defconfig
> b/configs/microchip_mpfs_icicle_defconfig
> > index 90ae76cc12..b3c7e6db8f 100644
> > --- a/configs/microchip_mpfs_icicle_defconfig
> > +++ b/configs/microchip_mpfs_icicle_defconfig
> > @@ -6,7 +6,6 @@ CONFIG_DEFAULT_DEVICE_TREE="microchip-mpfs-icicle-kit"
> > CONFIG_TARGET_MICROCHIP_ICICLE=y
> > CONFIG_ARCH_RV64I=y
> > CONFIG_RISCV_SMODE=y
> > -CONFIG_SBI_V01=y
> > CONFIG_DISTRO_DEFAULTS=y
> > CONFIG_SYS_LOAD_ADDR=0x80200000
> > CONFIG_FIT=y
> > --
>
> Regards,
> Bin
>
More information about the U-Boot
mailing list