mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-09-08 23:41:50 +02:00
siemens: capricorn: add HW version information to boot log
Add the HW version read directly from EEPROM. EEPROM chip data structure is now in a .h file common to draco and capricorn. Therefore move out the definitions in draco board to siemens common place. From: Alessandro Zini <alessandro.zini@siemens.com> Signed-off-by: Alessandro Zini <alessandro.zini@siemens.com> Signed-off-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
parent
ca32a1d70a
commit
a0aff2a6f5
@ -26,6 +26,7 @@
|
||||
#include <asm/arch-imx8/clock.h>
|
||||
#endif
|
||||
#include <linux/delay.h>
|
||||
#include "../common/board.h"
|
||||
#include "../common/eeprom.h"
|
||||
#include "../common/factoryset.h"
|
||||
|
||||
@ -278,6 +279,26 @@ int checkboard(void)
|
||||
|
||||
int board_init(void)
|
||||
{
|
||||
struct chip_data eeprom_data = {};
|
||||
int ret;
|
||||
|
||||
ret = siemens_ee_setup();
|
||||
if (ret) {
|
||||
printf("'siemens_ee_setup' failed, ret: %d\n", ret);
|
||||
goto skip;
|
||||
}
|
||||
|
||||
ret = siemens_ee_read_data(SIEMENS_EE_ADDR_CHIP,
|
||||
(uchar *)&eeprom_data,
|
||||
sizeof(eeprom_data));
|
||||
if (ret) {
|
||||
printf("'siemens_ee_read_data' failed, ret: %d\n", ret);
|
||||
goto skip;
|
||||
}
|
||||
|
||||
printf("HW Version: %s\n", eeprom_data.shwver);
|
||||
skip:
|
||||
|
||||
setup_fec();
|
||||
return 0;
|
||||
}
|
||||
|
44
board/siemens/common/board.h
Normal file
44
board/siemens/common/board.h
Normal file
@ -0,0 +1,44 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* Common board functions for siemens based boards
|
||||
* (C) Copyright 2022 Siemens Schweiz AG
|
||||
*/
|
||||
|
||||
#ifndef __COMMON_BOARD_H
|
||||
#define __COMMON_BOARD_H
|
||||
|
||||
/*
|
||||
* Chip data
|
||||
* Offset in EEPROM: 0x120 - 0x14F
|
||||
*
|
||||
* -----------------------------------------------------------------------------------
|
||||
* | Address range | Content |
|
||||
* -----------------------------------------------------------------------------------
|
||||
* | 0x120 - 0x123 | Magic Number - 0x43484950 (4 byte) |
|
||||
* -----------------------------------------------------------------------------------
|
||||
* | 0x124 - 0x133 | Device Nomenclature (15 + 1 byte) |
|
||||
* -----------------------------------------------------------------------------------
|
||||
* | 0x134 - 0x13A | HW Version of the form "v00.00" (6 + 1 byte) |
|
||||
* | | - First 2 digits: Layout revision (starting from 1) |
|
||||
* | | - Last 2 digits: Assembly variant revision (starting from 1) |
|
||||
* -----------------------------------------------------------------------------------
|
||||
* | 0x13B - 0x13F | Flash Size in Gibit (4 + 1 byte) |
|
||||
* -----------------------------------------------------------------------------------
|
||||
* | 0x140 - 0x144 | Ram Size in Gibit (4 + 1 byte) |
|
||||
* -----------------------------------------------------------------------------------
|
||||
* | 0x145 - 0x14F | Sequence number, equals DMC-code (10 + 1 byte) [OBSOLETE] |
|
||||
* -----------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#define MAGIC_CHIP 0x50494843
|
||||
#define EEPROM_CHIP_OFFSET 0x120
|
||||
|
||||
struct chip_data {
|
||||
unsigned int magic;
|
||||
char sdevname[16];
|
||||
char shwver[7];
|
||||
char flash_size[5];
|
||||
char ram_size[5];
|
||||
};
|
||||
|
||||
#endif /* __COMMON_BOARD_H */
|
@ -11,6 +11,8 @@
|
||||
#ifndef _BOARD_DRACO_H_
|
||||
#define _BOARD_DRACO_H_
|
||||
|
||||
#include "../common/board.h"
|
||||
|
||||
#define PARGS(x) #x , /* Parameter Name */ \
|
||||
settings.ddr3.x, /* EEPROM Value */ \
|
||||
ddr3_default.x, /* Default Value */ \
|
||||
@ -18,8 +20,6 @@
|
||||
|
||||
#define PRINTARGS(y) printf("%-20s, %8x, %8x, %4d\n", PARGS(y))
|
||||
|
||||
#define MAGIC_CHIP 0x50494843
|
||||
|
||||
/* Automatic generated definition */
|
||||
/* Wed, 16 Apr 2014 16:50:41 +0200 */
|
||||
/* From file: draco/ddr3-data-universal-default@303MHz-i0-ES3.txt */
|
||||
@ -43,12 +43,6 @@ struct ddr3_data {
|
||||
char manu_marking[32]; /* "default \0" */
|
||||
};
|
||||
|
||||
struct chip_data {
|
||||
unsigned int magic;
|
||||
char sdevname[16];
|
||||
char shwver[7];
|
||||
};
|
||||
|
||||
struct draco_baseboard_id {
|
||||
struct ddr3_data ddr3;
|
||||
struct chip_data chip;
|
||||
|
Loading…
x
Reference in New Issue
Block a user