mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 06:31:31 +00:00
omap5: omap_die_id support
This introduces omap5 support for omap_die_id, which matches the common omap_die_id definition. It replaces board-specific code to grab the die id bits. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
987a40d52e
commit
9fd5401659
4 changed files with 18 additions and 13 deletions
|
@ -379,6 +379,14 @@ void init_omap_revision(void)
|
||||||
init_cpu_configuration();
|
init_cpu_configuration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void omap_die_id(unsigned int *die_id)
|
||||||
|
{
|
||||||
|
die_id[0] = readl((*ctrl)->control_std_fuse_die_id_0);
|
||||||
|
die_id[1] = readl((*ctrl)->control_std_fuse_die_id_1);
|
||||||
|
die_id[2] = readl((*ctrl)->control_std_fuse_die_id_2);
|
||||||
|
die_id[3] = readl((*ctrl)->control_std_fuse_die_id_3);
|
||||||
|
}
|
||||||
|
|
||||||
void reset_cpu(ulong ignored)
|
void reset_cpu(ulong ignored)
|
||||||
{
|
{
|
||||||
u32 omap_rev = omap_revision();
|
u32 omap_rev = omap_revision();
|
||||||
|
|
|
@ -298,6 +298,10 @@ struct prcm_regs const omap5_es1_prcm = {
|
||||||
struct omap_sys_ctrl_regs const omap5_ctrl = {
|
struct omap_sys_ctrl_regs const omap5_ctrl = {
|
||||||
.control_status = 0x4A002134,
|
.control_status = 0x4A002134,
|
||||||
.control_std_fuse_opp_vdd_mpu_2 = 0x4A0021B4,
|
.control_std_fuse_opp_vdd_mpu_2 = 0x4A0021B4,
|
||||||
|
.control_std_fuse_die_id_0 = 0x4A002200,
|
||||||
|
.control_std_fuse_die_id_1 = 0x4A002208,
|
||||||
|
.control_std_fuse_die_id_2 = 0x4A00220C,
|
||||||
|
.control_std_fuse_die_id_3 = 0x4A002210,
|
||||||
.control_phy_power_usb = 0x4A002370,
|
.control_phy_power_usb = 0x4A002370,
|
||||||
.control_phy_power_sata = 0x4A002374,
|
.control_phy_power_sata = 0x4A002374,
|
||||||
.control_padconf_core_base = 0x4A002800,
|
.control_padconf_core_base = 0x4A002800,
|
||||||
|
|
|
@ -57,16 +57,15 @@ int board_init(void)
|
||||||
int board_late_init(void)
|
int board_late_init(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
|
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
|
||||||
u32 id[4];
|
unsigned int die_id[4] = { 0 };
|
||||||
|
|
||||||
if (omap_revision() == DRA722_ES1_0)
|
if (omap_revision() == DRA722_ES1_0)
|
||||||
setenv("board_name", "dra72x");
|
setenv("board_name", "dra72x");
|
||||||
else
|
else
|
||||||
setenv("board_name", "dra7xx");
|
setenv("board_name", "dra7xx");
|
||||||
|
|
||||||
id[0] = readl((*ctrl)->control_std_fuse_die_id_0);
|
omap_die_id(die_id);
|
||||||
id[1] = readl((*ctrl)->control_std_fuse_die_id_1);
|
usb_set_serial_num_from_die_id(die_id);
|
||||||
usb_set_serial_num_from_die_id(id);
|
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -189,20 +189,14 @@ static void enable_host_clocks(void)
|
||||||
*/
|
*/
|
||||||
int misc_init_r(void)
|
int misc_init_r(void)
|
||||||
{
|
{
|
||||||
int reg;
|
unsigned int die_id[4] = { 0 };
|
||||||
u32 id[4];
|
|
||||||
|
|
||||||
#ifdef CONFIG_PALMAS_POWER
|
#ifdef CONFIG_PALMAS_POWER
|
||||||
palmas_init_settings();
|
palmas_init_settings();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
reg = DIE_ID_REG_BASE + DIE_ID_REG_OFFSET;
|
omap_die_id(die_id);
|
||||||
|
usb_fake_mac_from_die_id(die_id);
|
||||||
id[0] = readl(reg);
|
|
||||||
id[1] = readl(reg + 0x8);
|
|
||||||
id[2] = readl(reg + 0xC);
|
|
||||||
id[3] = readl(reg + 0x10);
|
|
||||||
usb_fake_mac_from_die_id(id);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue