|
@@ -84,6 +84,11 @@ EXPORT_SYMBOL(omap_type);
|
|
|
#define OMAP_TAP_DIE_ID_2 0x0220
|
|
|
#define OMAP_TAP_DIE_ID_3 0x0224
|
|
|
|
|
|
+#define OMAP_TAP_DIE_ID_44XX_0 0x0200
|
|
|
+#define OMAP_TAP_DIE_ID_44XX_1 0x0208
|
|
|
+#define OMAP_TAP_DIE_ID_44XX_2 0x020c
|
|
|
+#define OMAP_TAP_DIE_ID_44XX_3 0x0210
|
|
|
+
|
|
|
#define read_tap_reg(reg) __raw_readl(tap_base + (reg))
|
|
|
|
|
|
struct omap_id {
|
|
@@ -107,6 +112,14 @@ static u16 tap_prod_id;
|
|
|
|
|
|
void omap_get_die_id(struct omap_die_id *odi)
|
|
|
{
|
|
|
+ if (cpu_is_omap44xx()) {
|
|
|
+ odi->id_0 = read_tap_reg(OMAP_TAP_DIE_ID_44XX_0);
|
|
|
+ odi->id_1 = read_tap_reg(OMAP_TAP_DIE_ID_44XX_1);
|
|
|
+ odi->id_2 = read_tap_reg(OMAP_TAP_DIE_ID_44XX_2);
|
|
|
+ odi->id_3 = read_tap_reg(OMAP_TAP_DIE_ID_44XX_3);
|
|
|
+
|
|
|
+ return;
|
|
|
+ }
|
|
|
odi->id_0 = read_tap_reg(OMAP_TAP_DIE_ID_0);
|
|
|
odi->id_1 = read_tap_reg(OMAP_TAP_DIE_ID_1);
|
|
|
odi->id_2 = read_tap_reg(OMAP_TAP_DIE_ID_2);
|