From 72931b15e7a49840a3c439096e4966400e60c65e Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Thu, 27 Aug 2015 19:37:08 +0200 Subject: omap-common: Common omap_die_id definition This introduces a common definition for omap_die_id, that aims at providing a common interface for accessing omap platform's die id bits. Signed-off-by: Paul Kocialkowski Reviewed-by: Tom Rini --- arch/arm/include/asm/omap_common.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arch/arm/include/asm/omap_common.h') diff --git a/arch/arm/include/asm/omap_common.h b/arch/arm/include/asm/omap_common.h index 81f1616ec0..6e0b8d75d7 100644 --- a/arch/arm/include/asm/omap_common.h +++ b/arch/arm/include/asm/omap_common.h @@ -612,6 +612,8 @@ void omap_smc1(u32 service, u32 val); void enable_edma3_clocks(void); void disable_edma3_clocks(void); +void omap_die_id(unsigned int *die_id); + /* ABB */ #define OMAP_ABB_NOMINAL_OPP 0 #define OMAP_ABB_FAST_OPP 1 -- cgit v1.2.3 From 07815eb9f3f742237085e3eda947e095926212b0 Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Thu, 27 Aug 2015 19:37:12 +0200 Subject: omap-common: Common serial and usbethaddr functions based on die id Now that we have a common prototype to grab the omap die id, functions to figure out a serial number and usb ethernet address can use it directly. Those also get an omap_die_id prefix for better consistency. Signed-off-by: Paul Kocialkowski Reviewed-by: Tom Rini --- arch/arm/cpu/armv7/omap-common/utils.c | 49 +++++++++++++++++++--------------- arch/arm/include/asm/omap_common.h | 5 ++-- board/lge/sniper/sniper.c | 11 +------- board/ti/beagle/beagle.c | 8 ++---- board/ti/dra7xx/evm.c | 5 +--- board/ti/omap5_uevm/evm.c | 5 +--- board/ti/panda/panda.c | 4 +-- 7 files changed, 36 insertions(+), 51 deletions(-) (limited to 'arch/arm/include/asm/omap_common.h') diff --git a/arch/arm/cpu/armv7/omap-common/utils.c b/arch/arm/cpu/armv7/omap-common/utils.c index acff16bd3a..28d0f86251 100644 --- a/arch/arm/cpu/armv7/omap-common/utils.c +++ b/arch/arm/cpu/armv7/omap-common/utils.c @@ -46,35 +46,40 @@ __weak void omap_die_id(unsigned int *die_id) die_id[0] = die_id[1] = die_id[2] = die_id[3] = 0; } -void __weak usb_fake_mac_from_die_id(u32 *id) +void omap_die_id_serial(void) { - uint8_t device_mac[6]; + unsigned int die_id[4] = { 0 }; + char serial_string[17] = { 0 }; - if (!getenv("usbethaddr")) { - /* - * create a fake MAC address from the processor ID code. - * first byte is 0x02 to signify locally administered. - */ - device_mac[0] = 0x02; - device_mac[1] = id[3] & 0xff; - device_mac[2] = id[2] & 0xff; - device_mac[3] = id[1] & 0xff; - device_mac[4] = id[0] & 0xff; - device_mac[5] = (id[0] >> 8) & 0xff; + omap_die_id((unsigned int *)&die_id); - eth_setenv_enetaddr("usbethaddr", device_mac); + if (!getenv("serial#")) { + snprintf(serial_string, sizeof(serial_string), + "%08x%08x", die_id[0], die_id[3]); + + setenv("serial#", serial_string); } } -void __weak usb_set_serial_num_from_die_id(u32 *id) +void omap_die_id_usbethaddr(void) { - char serialno[72]; - uint32_t serialno_lo, serialno_hi; + unsigned int die_id[4] = { 0 }; + unsigned char mac[6] = { 0 }; - if (!getenv("serial#")) { - serialno_hi = id[0]; - serialno_lo = id[1]; - sprintf(serialno, "%08x%08x", serialno_hi, serialno_lo); - setenv("serial#", serialno); + omap_die_id((unsigned int *)&die_id); + + if (!getenv("usbethaddr")) { + /* + * Create a fake MAC address from the processor ID code. + * First byte is 0x02 to signify locally administered. + */ + mac[0] = 0x02; + mac[1] = die_id[3] & 0xff; + mac[2] = die_id[2] & 0xff; + mac[3] = die_id[1] & 0xff; + mac[4] = die_id[0] & 0xff; + mac[5] = (die_id[0] >> 8) & 0xff; + + eth_setenv_enetaddr("usbethaddr", mac); } } diff --git a/arch/arm/include/asm/omap_common.h b/arch/arm/include/asm/omap_common.h index 6e0b8d75d7..84522ea0c5 100644 --- a/arch/arm/include/asm/omap_common.h +++ b/arch/arm/include/asm/omap_common.h @@ -603,8 +603,9 @@ void abb_setup(u32 fuse, u32 ldovbb, u32 setup, u32 control, u32 txdone, u32 txdone_mask, u32 opp); s8 abb_setup_ldovbb(u32 fuse, u32 ldovbb); -void usb_fake_mac_from_die_id(u32 *id); -void usb_set_serial_num_from_die_id(u32 *id); +void omap_die_id_serial(void); +void omap_die_id_usbethaddr(void); + void recalibrate_iodelay(void); void omap_smc1(u32 service, u32 val); diff --git a/board/lge/sniper/sniper.c b/board/lge/sniper/sniper.c index ae9fe69346..cdda76bf4e 100644 --- a/board/lge/sniper/sniper.c +++ b/board/lge/sniper/sniper.c @@ -92,8 +92,6 @@ int board_init(void) int misc_init_r(void) { unsigned char keypad_matrix[64] = { 0 }; - unsigned int die_id[4] = { 0 }; - char serial_string[17] = { 0 }; char reboot_mode[2] = { 0 }; unsigned char keys[3]; unsigned char data = 0; @@ -140,14 +138,7 @@ int misc_init_r(void) /* Serial number */ - omap_die_id(die_id); - - if (!getenv("serial#")) { - snprintf(serial_string, sizeof(serial_string), - "%08x%08x", die_id[0], die_id[3]); - - setenv("serial#", serial_string); - } + omap_die_id_serial(); /* MUSB */ diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c index b0d06a5f5b..149b5dbac7 100644 --- a/board/ti/beagle/beagle.c +++ b/board/ti/beagle/beagle.c @@ -506,12 +506,8 @@ int misc_init_r(void) musb_register(&musb_plat, &musb_board_data, (void *)MUSB_BASE); #endif - if (generate_fake_mac) { - unsigned int die_id[4] = { 0 }; - - omap_die_id(die_id); - usb_fake_mac_from_die_id(die_id); - } + if (generate_fake_mac) + omap_die_id_usbethaddr(); return 0; } diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c index d4f507817a..eebec881da 100644 --- a/board/ti/dra7xx/evm.c +++ b/board/ti/dra7xx/evm.c @@ -57,15 +57,12 @@ int board_init(void) int board_late_init(void) { #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG - unsigned int die_id[4] = { 0 }; - if (omap_revision() == DRA722_ES1_0) setenv("board_name", "dra72x"); else setenv("board_name", "dra7xx"); - omap_die_id(die_id); - usb_set_serial_num_from_die_id(die_id); + omap_die_id_serial(); #endif return 0; } diff --git a/board/ti/omap5_uevm/evm.c b/board/ti/omap5_uevm/evm.c index 04840875d6..853f1969ef 100644 --- a/board/ti/omap5_uevm/evm.c +++ b/board/ti/omap5_uevm/evm.c @@ -189,14 +189,11 @@ static void enable_host_clocks(void) */ int misc_init_r(void) { - unsigned int die_id[4] = { 0 }; - #ifdef CONFIG_PALMAS_POWER palmas_init_settings(); #endif - omap_die_id(die_id); - usb_fake_mac_from_die_id(die_id); + omap_die_id_usbethaddr(); return 0; } diff --git a/board/ti/panda/panda.c b/board/ti/panda/panda.c index 4de7ea1872..eb9ce630dc 100644 --- a/board/ti/panda/panda.c +++ b/board/ti/panda/panda.c @@ -209,7 +209,6 @@ int misc_init_r(void) { int phy_type; u32 auxclk, altclksrc; - unsigned int die_id[4] = { 0 }; /* EHCI is not supported on ES1.0 */ if (omap_revision() == OMAP4430_ES1_0) @@ -263,8 +262,7 @@ int misc_init_r(void) writel(altclksrc, &scrm->altclksrc); - omap_die_id(die_id); - usb_fake_mac_from_die_id(die_id); + omap_die_id_usbethaddr(); return 0; } -- cgit v1.2.3 From 679f82c349473c894159795c14a7fc0a8db0cd43 Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Thu, 27 Aug 2015 19:37:13 +0200 Subject: omap-common: Common function to display die id, replacing omap3-specific version This introduces omap_die_id_display to display the full die id. There is no need to store it in an environment variable, that no boot script is using anyway. Signed-off-by: Paul Kocialkowski Reviewed-by: Tom Rini --- arch/arm/cpu/armv7/omap-common/utils.c | 10 ++++++++++ arch/arm/cpu/armv7/omap3/board.c | 2 +- arch/arm/cpu/armv7/omap3/sys_info.c | 22 ---------------------- arch/arm/include/asm/arch-omap3/sys_proto.h | 1 - arch/arm/include/asm/omap_common.h | 1 + board/compulab/cm_t35/cm_t35.c | 2 +- board/compulab/cm_t3517/cm_t3517.c | 2 +- board/corscience/tricorder/tricorder.c | 2 +- board/isee/igep00x0/igep00x0.c | 2 +- board/logicpd/am3517evm/am3517evm.c | 2 +- board/logicpd/zoom1/zoom1.c | 2 +- board/nokia/rx51/rx51.c | 2 +- board/overo/overo.c | 2 +- board/pandora/pandora.c | 2 +- board/technexion/tao3530/tao3530.c | 2 +- board/technexion/twister/twister.c | 2 +- board/teejet/mt_ventoux/mt_ventoux.c | 2 +- board/ti/am3517crane/am3517crane.c | 2 +- board/ti/beagle/beagle.c | 2 +- board/ti/evm/evm.c | 2 +- board/timll/devkit8000/devkit8000.c | 2 +- 21 files changed, 28 insertions(+), 40 deletions(-) (limited to 'arch/arm/include/asm/omap_common.h') diff --git a/arch/arm/cpu/armv7/omap-common/utils.c b/arch/arm/cpu/armv7/omap-common/utils.c index 28d0f86251..dc5a169f9a 100644 --- a/arch/arm/cpu/armv7/omap-common/utils.c +++ b/arch/arm/cpu/armv7/omap-common/utils.c @@ -83,3 +83,13 @@ void omap_die_id_usbethaddr(void) eth_setenv_enetaddr("usbethaddr", mac); } } + +void omap_die_id_display(void) +{ + unsigned int die_id[4] = { 0 }; + + omap_die_id(die_id); + + printf("OMAP die ID: %08x%08x%08x%08x", die_id[0], die_id[1], die_id[2], + die_id[3]); +} diff --git a/arch/arm/cpu/armv7/omap3/board.c b/arch/arm/cpu/armv7/omap3/board.c index 8252b322f6..0c44ea53e1 100644 --- a/arch/arm/cpu/armv7/omap3/board.c +++ b/arch/arm/cpu/armv7/omap3/board.c @@ -214,7 +214,7 @@ void board_init_f(ulong dummy) */ int __weak misc_init_r(void) { - dieid_num_r(); + omap_die_id_display(); return 0; } diff --git a/arch/arm/cpu/armv7/omap3/sys_info.c b/arch/arm/cpu/armv7/omap3/sys_info.c index 497dc1392a..6818fab253 100644 --- a/arch/arm/cpu/armv7/omap3/sys_info.c +++ b/arch/arm/cpu/armv7/omap3/sys_info.c @@ -52,28 +52,6 @@ void omap_die_id(unsigned int *die_id) die_id[3] = readl(&id_base->die_id_3); } -/***************************************************************** - * dieid_num_r(void) - read and set die ID - *****************************************************************/ -void dieid_num_r(void) -{ - char *uid_s, die_id[34]; - u32 id[4]; - - memset(die_id, 0, sizeof(die_id)); - - uid_s = getenv("dieid#"); - - if (uid_s == NULL) { - omap_die_id(id); - sprintf(die_id, "%08x%08x%08x%08x", id[0], id[1], id[2], id[3]); - setenv("dieid#", die_id); - uid_s = die_id; - } - - printf("Die ID #%s\n", uid_s); -} - /****************************************** * get_cpu_type(void) - extract cpu info ******************************************/ diff --git a/arch/arm/include/asm/arch-omap3/sys_proto.h b/arch/arm/include/asm/arch-omap3/sys_proto.h index a0809fca23..24563c08e4 100644 --- a/arch/arm/include/asm/arch-omap3/sys_proto.h +++ b/arch/arm/include/asm/arch-omap3/sys_proto.h @@ -69,7 +69,6 @@ void sdelay(unsigned long); void make_cs1_contiguous(void); void omap_nand_switch_ecc(uint32_t, uint32_t); void power_init_r(void); -void dieid_num_r(void); void do_omap3_emu_romcode_call(u32 service_id, u32 parameters); void omap3_set_aux_cr_secure(u32 acr); u32 warm_reset(void); diff --git a/arch/arm/include/asm/omap_common.h b/arch/arm/include/asm/omap_common.h index 84522ea0c5..8fd728a1e8 100644 --- a/arch/arm/include/asm/omap_common.h +++ b/arch/arm/include/asm/omap_common.h @@ -605,6 +605,7 @@ s8 abb_setup_ldovbb(u32 fuse, u32 ldovbb); void omap_die_id_serial(void); void omap_die_id_usbethaddr(void); +void omap_die_id_display(void); void recalibrate_iodelay(void); diff --git a/board/compulab/cm_t35/cm_t35.c b/board/compulab/cm_t35/cm_t35.c index 8f17b97fa3..ccefc40eb0 100644 --- a/board/compulab/cm_t35/cm_t35.c +++ b/board/compulab/cm_t35/cm_t35.c @@ -110,7 +110,7 @@ u32 get_board_rev(void) int misc_init_r(void) { cl_print_pcb_info(); - dieid_num_r(); + omap_die_id_display(); return 0; } diff --git a/board/compulab/cm_t3517/cm_t3517.c b/board/compulab/cm_t3517/cm_t3517.c index b33522ec8b..d1c74db0ad 100644 --- a/board/compulab/cm_t3517/cm_t3517.c +++ b/board/compulab/cm_t3517/cm_t3517.c @@ -101,7 +101,7 @@ int board_init(void) int misc_init_r(void) { cl_print_pcb_info(); - dieid_num_r(); + omap_die_id_display(); return 0; } diff --git a/board/corscience/tricorder/tricorder.c b/board/corscience/tricorder/tricorder.c index 0fddf4551e..0009452651 100644 --- a/board/corscience/tricorder/tricorder.c +++ b/board/corscience/tricorder/tricorder.c @@ -124,7 +124,7 @@ int misc_init_r(void) status_led_set(1, STATUS_LED_ON); status_led_set(2, STATUS_LED_ON); - dieid_num_r(); + omap_die_id_display(); return 0; } diff --git a/board/isee/igep00x0/igep00x0.c b/board/isee/igep00x0/igep00x0.c index 6eb191c5e0..044c6d5e9d 100644 --- a/board/isee/igep00x0/igep00x0.c +++ b/board/isee/igep00x0/igep00x0.c @@ -171,7 +171,7 @@ int misc_init_r(void) setup_net_chip(); - dieid_num_r(); + omap_die_id_display(); set_fdt(); diff --git a/board/logicpd/am3517evm/am3517evm.c b/board/logicpd/am3517evm/am3517evm.c index 24ff9c36a1..1f1e5aedb0 100644 --- a/board/logicpd/am3517evm/am3517evm.c +++ b/board/logicpd/am3517evm/am3517evm.c @@ -109,7 +109,7 @@ int misc_init_r(void) i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); #endif - dieid_num_r(); + omap_die_id_display(); am3517_evm_musb_init(); diff --git a/board/logicpd/zoom1/zoom1.c b/board/logicpd/zoom1/zoom1.c index d39203a917..0a3b55b6c1 100644 --- a/board/logicpd/zoom1/zoom1.c +++ b/board/logicpd/zoom1/zoom1.c @@ -80,7 +80,7 @@ int misc_init_r(void) { twl4030_power_init(); twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON); - dieid_num_r(); + omap_die_id_display(); /* * Board Reset diff --git a/board/nokia/rx51/rx51.c b/board/nokia/rx51/rx51.c index 3d019b0142..6a4427a42e 100644 --- a/board/nokia/rx51/rx51.c +++ b/board/nokia/rx51/rx51.c @@ -421,7 +421,7 @@ int misc_init_r(void) /* reuse atags from previous bootloader */ reuse_atags(); - dieid_num_r(); + omap_die_id_display(); print_cpuinfo(); /* diff --git a/board/overo/overo.c b/board/overo/overo.c index 34bf2656f5..20cbec208e 100644 --- a/board/overo/overo.c +++ b/board/overo/overo.c @@ -285,7 +285,7 @@ int misc_init_r(void) if (expansion_config.content == 1) setenv(expansion_config.env_var, expansion_config.env_setting); - dieid_num_r(); + omap_die_id_display(); if (get_cpu_family() == CPU_OMAP34XX) setenv("boardname", "overo"); diff --git a/board/pandora/pandora.c b/board/pandora/pandora.c index 59b5a7e2cd..b371a40d32 100644 --- a/board/pandora/pandora.c +++ b/board/pandora/pandora.c @@ -102,7 +102,7 @@ int misc_init_r(void) TWL4030_BB_CFG_BBCHEN | TWL4030_BB_CFG_BBSEL_3200MV | TWL4030_BB_CFG_BBISEL_500UA); - dieid_num_r(); + omap_die_id_display(); return 0; } diff --git a/board/technexion/tao3530/tao3530.c b/board/technexion/tao3530/tao3530.c index 744ff44008..d51b5d940c 100644 --- a/board/technexion/tao3530/tao3530.c +++ b/board/technexion/tao3530/tao3530.c @@ -160,7 +160,7 @@ int misc_init_r(void) puts("Unknown board revision\n"); } - dieid_num_r(); + omap_die_id_display(); return 0; } diff --git a/board/technexion/twister/twister.c b/board/technexion/twister/twister.c index a4aed3ba8b..48d207fbd4 100644 --- a/board/technexion/twister/twister.c +++ b/board/technexion/twister/twister.c @@ -92,7 +92,7 @@ int misc_init_r(void) struct tam3517_module_info info; int ret; - dieid_num_r(); + omap_die_id_display(); eth_addr = getenv("ethaddr"); if (eth_addr) diff --git a/board/teejet/mt_ventoux/mt_ventoux.c b/board/teejet/mt_ventoux/mt_ventoux.c index b4a0a72bd0..c2de1fec62 100644 --- a/board/teejet/mt_ventoux/mt_ventoux.c +++ b/board/teejet/mt_ventoux/mt_ventoux.c @@ -257,7 +257,7 @@ int misc_init_r(void) int ret; TAM3517_READ_EEPROM(&info, ret); - dieid_num_r(); + omap_die_id_display(); if (ret) return 0; diff --git a/board/ti/am3517crane/am3517crane.c b/board/ti/am3517crane/am3517crane.c index a649697257..8d1c390e5d 100644 --- a/board/ti/am3517crane/am3517crane.c +++ b/board/ti/am3517crane/am3517crane.c @@ -47,7 +47,7 @@ int misc_init_r(void) i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); #endif - dieid_num_r(); + omap_die_id_display(); return 0; } diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c index 149b5dbac7..56e3cfe935 100644 --- a/board/ti/beagle/beagle.c +++ b/board/ti/beagle/beagle.c @@ -494,7 +494,7 @@ int misc_init_r(void) writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 | GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe); - dieid_num_r(); + omap_die_id_display(); #ifdef CONFIG_VIDEO_OMAP3 beagle_dvi_pup(); diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c index 3f93d9cbe2..ff3971dda8 100644 --- a/board/ti/evm/evm.c +++ b/board/ti/evm/evm.c @@ -159,7 +159,7 @@ int misc_init_r(void) #if defined(CONFIG_CMD_NET) reset_net_chip(); #endif - dieid_num_r(); + omap_die_id_display(); return 0; } diff --git a/board/timll/devkit8000/devkit8000.c b/board/timll/devkit8000/devkit8000.c index 4d07313432..a61cc1481b 100644 --- a/board/timll/devkit8000/devkit8000.c +++ b/board/timll/devkit8000/devkit8000.c @@ -114,7 +114,7 @@ int misc_init_r(void) } #endif - dieid_num_r(); + omap_die_id_display(); return 0; } -- cgit v1.2.3 From 2da87ab3539264af595d8cb2d6dc7e087f1f1ca7 Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Thu, 27 Aug 2015 19:37:14 +0200 Subject: omap-common: Common get_board_serial function to pass serial through ATAG Since there is a common function to grab the serial number from the die id bits, it makes sense have one to parse that serial number and feed it to the serial ATAG. Signed-off-by: Paul Kocialkowski Reviewed-by: Tom Rini --- arch/arm/cpu/armv7/omap-common/utils.c | 18 ++++++++++++++++++ arch/arm/include/asm/omap_common.h | 1 + board/lge/sniper/sniper.c | 15 +-------------- 3 files changed, 20 insertions(+), 14 deletions(-) (limited to 'arch/arm/include/asm/omap_common.h') diff --git a/arch/arm/cpu/armv7/omap-common/utils.c b/arch/arm/cpu/armv7/omap-common/utils.c index dc5a169f9a..602d993e39 100644 --- a/arch/arm/cpu/armv7/omap-common/utils.c +++ b/arch/arm/cpu/armv7/omap-common/utils.c @@ -61,6 +61,24 @@ void omap_die_id_serial(void) } } +void omap_die_id_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 omap_die_id_usbethaddr(void) { unsigned int die_id[4] = { 0 }; diff --git a/arch/arm/include/asm/omap_common.h b/arch/arm/include/asm/omap_common.h index 8fd728a1e8..d7b81c101b 100644 --- a/arch/arm/include/asm/omap_common.h +++ b/arch/arm/include/asm/omap_common.h @@ -604,6 +604,7 @@ void abb_setup(u32 fuse, u32 ldovbb, u32 setup, u32 control, s8 abb_setup_ldovbb(u32 fuse, u32 ldovbb); void omap_die_id_serial(void); +void omap_die_id_get_board_serial(struct tag_serialnr *serialnr); void omap_die_id_usbethaddr(void); void omap_die_id_display(void); diff --git a/board/lge/sniper/sniper.c b/board/lge/sniper/sniper.c index cdda76bf4e..4eff01a255 100644 --- a/board/lge/sniper/sniper.c +++ b/board/lge/sniper/sniper.c @@ -149,20 +149,7 @@ int misc_init_r(void) 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; - } + omap_die_id_get_board_serial(serialnr); } void reset_misc(void) -- cgit v1.2.3