X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=blobdiff_plain;f=board%2Flge%2Fsniper%2Fsniper.c;h=b211528e2b550f4878d693743f2130c5d539edc3;hp=44d422da1b97c624e16117ed9e981ded29189399;hb=36e4076eebf9a6ecae8f99d09a47b7c92a008c2d;hpb=2453350952e9f816c9c2f3faa46a412924e820bb diff --git a/board/lge/sniper/sniper.c b/board/lge/sniper/sniper.c index 44d422da1b..b211528e2b 100644 --- a/board/lge/sniper/sniper.c +++ b/board/lge/sniper/sniper.c @@ -70,7 +70,9 @@ int board_init(void) int misc_init_r(void) { + char serial_string[17] = { 0 }; char reboot_mode[2] = { 0 }; + u32 dieid[4] = { 0 }; /* Reboot mode */ @@ -82,9 +84,38 @@ int misc_init_r(void) omap_reboot_mode_clear(); } + /* Serial number */ + + get_dieid((u32 *)&dieid); + + if (!getenv("serial#")) { + snprintf(serial_string, sizeof(serial_string), + "%08x%08x", dieid[0], dieid[3]); + + setenv("serial#", serial_string); + } + return 0; } +void get_board_serial(struct tag_serialnr *serialnr) +{ + char *serial_string; + unsigned long long serial; + + serial_string = getenv("serial#"); + + if (serial_string) { + serial = simple_strtoull(serial_string, NULL, 16); + + serialnr->high = (unsigned int) (serial >> 32); + serialnr->low = (unsigned int) (serial & 0xffffffff); + } else { + serialnr->high = 0; + serialnr->low = 0; + } +} + void set_muxconf_regs(void) { MUX_SNIPER();