[U-Boot] [U-BOOT PATCH] riscv: sifive: fu540: set serial environment variable from otp
Anup Patel
anup at brainfault.org
Mon Aug 12 07:30:26 UTC 2019
On Mon, Aug 12, 2019 at 12:12 PM Sagar Shrikant Kadam
<sagar.kadam at sifive.com> wrote:
>
> This patch sets the serial# environment variable by reading the
> board serial number from the OTP memory region.
>
> Signed-off-by: Sagar Shrikant Kadam <sagar.kadam at sifive.com>
> ---
> board/sifive/fu540/fu540.c | 18 ++++++++++++++----
> 1 file changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/board/sifive/fu540/fu540.c b/board/sifive/fu540/fu540.c
> index 11daf1a..06bf442 100644
> --- a/board/sifive/fu540/fu540.c
> +++ b/board/sifive/fu540/fu540.c
> @@ -122,10 +122,20 @@ static void fu540_setup_macaddr(u32 serialnum)
>
> int misc_init_r(void)
> {
> - /* Set ethaddr environment variable if not set */
> - if (!env_get("ethaddr"))
> - fu540_setup_macaddr(fu540_read_serialnum());
> -
> + u32 serial_num;
> + char buf[11] = {0};
> +
> + /* Set ethaddr environment variable from board serial number */
> + if (!env_get("serial#")) {
> + serial_num = fu540_read_serialnum();
> + if (!serial_num) {
> + WARN(1, "Board serial number should not be 0 !!");
> + return 0;
> + }
> + snprintf(buf, sizeof(buf), "%08x", serial_num);
> + env_set("serial#", buf);
> + fu540_setup_macaddr(serial_num);
> + }
> return 0;
> }
>
> --
> 2.7.4
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
Looks good to me.
Reviewed-by: Anup Patel <anup at brainfault.org>
Regards,
Anup
More information about the U-Boot
mailing list