Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b235e007 authored by Andy Green's avatar Andy Green Committed by Tony Lindgren
Browse files

OMAP2+: Common CPU DIE ID reading code reads wrong registers for OMAP4430



This adapts the register offsets used to read the CPU DIE ID registers
when run on 44XX so they match what is in the OMAP4430 Reference Manual
page 269

Signed-off-by: default avatarAndy Green <andy.green@linaro.org>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent d038aee2
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -84,6 +84,11 @@ EXPORT_SYMBOL(omap_type);
#define OMAP_TAP_DIE_ID_2	0x0220
#define OMAP_TAP_DIE_ID_2	0x0220
#define OMAP_TAP_DIE_ID_3	0x0224
#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))
#define read_tap_reg(reg)	__raw_readl(tap_base  + (reg))


struct omap_id {
struct omap_id {
@@ -107,6 +112,14 @@ static u16 tap_prod_id;


void omap_get_die_id(struct omap_die_id *odi)
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_0 = read_tap_reg(OMAP_TAP_DIE_ID_0);
	odi->id_1 = read_tap_reg(OMAP_TAP_DIE_ID_1);
	odi->id_1 = read_tap_reg(OMAP_TAP_DIE_ID_1);
	odi->id_2 = read_tap_reg(OMAP_TAP_DIE_ID_2);
	odi->id_2 = read_tap_reg(OMAP_TAP_DIE_ID_2);