diff mbox

[U-Boot,3/7] omap4: omap_die_id support

Message ID 1440697034-28698-3-git-send-email-contact@paulk.fr
State Accepted
Delegated to: Tom Rini
Headers show

Commit Message

Paul Kocialkowski Aug. 27, 2015, 5:37 p.m. UTC
This introduces omap4 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>
---
 arch/arm/cpu/armv7/omap4/hwinit.c      | 8 ++++++++
 arch/arm/cpu/armv7/omap4/prcm-regs.c   | 5 ++++-
 arch/arm/include/asm/arch-omap4/omap.h | 4 ----
 board/ti/panda/panda.c                 | 9 +++------
 4 files changed, 15 insertions(+), 11 deletions(-)

Comments

Tom Rini Sept. 4, 2015, 6:14 p.m. UTC | #1
On Thu, Aug 27, 2015 at 07:37:10PM +0200, Paul Kocialkowski wrote:

> This introduces omap4 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>
Tom Rini Oct. 22, 2015, 9:18 p.m. UTC | #2
On Thu, Aug 27, 2015 at 07:37:10PM +0200, Paul Kocialkowski wrote:

> This introduces omap4 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>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/arch/arm/cpu/armv7/omap4/hwinit.c b/arch/arm/cpu/armv7/omap4/hwinit.c
index a68947f..7c6638c 100644
--- a/arch/arm/cpu/armv7/omap4/hwinit.c
+++ b/arch/arm/cpu/armv7/omap4/hwinit.c
@@ -156,6 +156,14 @@  void init_omap_revision(void)
 	}
 }
 
+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);
+}
+
 #ifndef CONFIG_SYS_L2CACHE_OFF
 void v7_outer_cache_enable(void)
 {
diff --git a/arch/arm/cpu/armv7/omap4/prcm-regs.c b/arch/arm/cpu/armv7/omap4/prcm-regs.c
index 8698ec7..a09581e 100644
--- a/arch/arm/cpu/armv7/omap4/prcm-regs.c
+++ b/arch/arm/cpu/armv7/omap4/prcm-regs.c
@@ -280,7 +280,10 @@  struct prcm_regs const omap4_prcm = {
 
 struct omap_sys_ctrl_regs const omap4_ctrl = {
 	.control_status				= 0x4A0022C4,
-	.control_id_code			= 0x4A002204,
+	.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_std_fuse_opp_bgap		= 0x4a002260,
 	.control_status				= 0x4a0022c4,
 	.control_ldosram_iva_voltage_ctrl	= 0x4A002320,
diff --git a/arch/arm/include/asm/arch-omap4/omap.h b/arch/arm/include/asm/arch-omap4/omap.h
index 12b1a09..4712722 100644
--- a/arch/arm/include/asm/arch-omap4/omap.h
+++ b/arch/arm/include/asm/arch-omap4/omap.h
@@ -33,10 +33,6 @@ 
 
 /* CONTROL_ID_CODE */
 #define CONTROL_ID_CODE		0x4A002204
-#define STD_FUSE_DIE_ID_0	0x4A002200
-#define STD_FUSE_DIE_ID_1	0x4A002208
-#define STD_FUSE_DIE_ID_2	0x4A00220c
-#define STD_FUSE_DIE_ID_3	0x4A002210
 
 #define OMAP4_CONTROL_ID_CODE_ES1_0	0x0B85202F
 #define OMAP4_CONTROL_ID_CODE_ES2_0	0x1B85202F
diff --git a/board/ti/panda/panda.c b/board/ti/panda/panda.c
index 783ba35..79ec69e 100644
--- a/board/ti/panda/panda.c
+++ b/board/ti/panda/panda.c
@@ -209,7 +209,7 @@  int misc_init_r(void)
 {
 	int phy_type;
 	u32 auxclk, altclksrc;
-	u32 id[4];
+	unsigned int die_id[4] = { 0 };
 
 	/* EHCI is not supported on ES1.0 */
 	if (omap_revision() == OMAP4430_ES1_0)
@@ -263,11 +263,8 @@  int misc_init_r(void)
 
 	writel(altclksrc, &scrm->altclksrc);
 
-	id[0] = readl(STD_FUSE_DIE_ID_0);
-	id[1] = readl(STD_FUSE_DIE_ID_1);
-	id[2] = readl(STD_FUSE_DIE_ID_2);
-	id[3] = readl(STD_FUSE_DIE_ID_3);
-	usb_fake_mac_from_die_id(id);
+	omap_die_id(die_id);
+	usb_fake_mac_from_die_id(die_id);
 
 	return 0;
 }