On Mon, Nov 1, 2021 at 2:13 PM Bin Meng <bmeng...@gmail.com> wrote: > On Fri, Oct 22, 2021 at 4:58 PM Padmarao Begari > <padmarao.beg...@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.beg...@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@20112000 local-mac-address ${icicle_mac_addr0} fdt set /soc/ethernet@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 >