- Identify more devices for OMAP4 SoC (up to OMAP4470)
- Whitespace fixes
This commit is contained in:
parent
43e35466de
commit
5c79e1dd7d
@ -129,27 +129,75 @@ omap4_get_revision(void)
|
||||
|
||||
switch (hawkeye) {
|
||||
case 0xB852:
|
||||
if (revision == 0)
|
||||
switch (revision) {
|
||||
case 0:
|
||||
chip_revision = OMAP4430_REV_ES1_0;
|
||||
else
|
||||
chip_revision = OMAP4430_REV_ES2_0;
|
||||
break;
|
||||
case 0xB95C:
|
||||
if (revision == 3)
|
||||
break;
|
||||
case 1:
|
||||
chip_revision = OMAP4430_REV_ES2_1;
|
||||
else if (revision == 4)
|
||||
chip_revision = OMAP4430_REV_ES2_2;
|
||||
else
|
||||
chip_revision = OMAP4430_REV_ES2_3;
|
||||
break;
|
||||
default:
|
||||
chip_revision = OMAP4430_REV_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0xB95C:
|
||||
switch (revision) {
|
||||
case 3:
|
||||
chip_revision = OMAP4430_REV_ES2_1;
|
||||
break;
|
||||
case 4:
|
||||
chip_revision = OMAP4430_REV_ES2_2;
|
||||
break;
|
||||
case 6:
|
||||
chip_revision = OMAP4430_REV_ES2_3;
|
||||
break;
|
||||
default:
|
||||
chip_revision = OMAP4430_REV_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0xB94E:
|
||||
switch (revision) {
|
||||
case 0:
|
||||
chip_revision = OMAP4460_REV_ES1_0;
|
||||
break;
|
||||
case 2:
|
||||
chip_revision = OMAP4460_REV_ES1_1;
|
||||
break;
|
||||
default:
|
||||
chip_revision = OMAP4460_REV_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0xB975:
|
||||
switch (revision) {
|
||||
case 0:
|
||||
chip_revision = OMAP4470_REV_ES1_0;
|
||||
break;
|
||||
default:
|
||||
chip_revision = OMAP4470_REV_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
/* Default to the latest revision if we can't determine type */
|
||||
chip_revision = OMAP4430_REV_ES2_3;
|
||||
chip_revision = OMAP_UNKNOWN_DEV;
|
||||
break;
|
||||
}
|
||||
printf("Texas Instruments OMAP%04x Processor, Revision ES%u.%u\n",
|
||||
OMAP_REV_DEVICE(chip_revision), OMAP_REV_MAJOR(chip_revision),
|
||||
OMAP_REV_MINOR(chip_revision));
|
||||
if (chip_revision != OMAP_UNKNOWN_DEV) {
|
||||
printf("Texas Instruments OMAP%04x Processor, Revision ES%u.%u\n",
|
||||
OMAP_REV_DEVICE(chip_revision), OMAP_REV_MAJOR(chip_revision),
|
||||
OMAP_REV_MINOR(chip_revision));
|
||||
}
|
||||
else {
|
||||
printf("Texas Instruments unknown OMAP chip: %04x, rev %d\n",
|
||||
hawkeye, revision);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -30,34 +30,46 @@
|
||||
#ifndef _TI_CPUID_H_
|
||||
#define _TI_CPUID_H_
|
||||
|
||||
#define OMAP_MAKEREV(d, a, b, c) \
|
||||
#define OMAP_MAKEREV(d, a, b, c) \
|
||||
(uint32_t)(((d) << 16) | (((a) & 0xf) << 8) | (((b) & 0xf) << 4) | ((c) & 0xf))
|
||||
|
||||
#define OMAP_REV_DEVICE(x) (((x) >> 16) & 0xffff)
|
||||
#define OMAP_REV_MAJOR(x) (((x) >> 8) & 0xf)
|
||||
#define OMAP_REV_MINOR(x) (((x) >> 4) & 0xf)
|
||||
#define OMAP_REV_MINOR_MINOR(x) (((x) >> 0) & 0xf)
|
||||
#define OMAP_REV_DEVICE(x) (((x) >> 16) & 0xffff)
|
||||
#define OMAP_REV_MAJOR(x) (((x) >> 8) & 0xf)
|
||||
#define OMAP_REV_MINOR(x) (((x) >> 4) & 0xf)
|
||||
#define OMAP_REV_MINOR_MINOR(x) (((x) >> 0) & 0xf)
|
||||
|
||||
#define OMAP3350_DEV 0x3530
|
||||
#define OMAP3350_REV_ES1_0 OMAP_MAKEREV(OMAP3350_DEV, 1, 0, 0)
|
||||
#define OMAP3530_REV_ES2_0 OMAP_MAKEREV(OMAP3350_DEV, 2, 0, 0)
|
||||
#define OMAP3530_REV_ES2_1 OMAP_MAKEREV(OMAP3350_DEV, 2, 1, 0)
|
||||
#define OMAP3530_REV_ES3_0 OMAP_MAKEREV(OMAP3350_DEV, 3, 0, 0)
|
||||
#define OMAP3530_REV_ES3_1 OMAP_MAKEREV(OMAP3350_DEV, 3, 1, 0)
|
||||
#define OMAP3530_REV_ES3_1_2 OMAP_MAKEREV(OMAP3350_DEV, 3, 1, 2)
|
||||
#define OMAP3350_REV_ES1_0 OMAP_MAKEREV(OMAP3350_DEV, 1, 0, 0)
|
||||
#define OMAP3530_REV_ES2_0 OMAP_MAKEREV(OMAP3350_DEV, 2, 0, 0)
|
||||
#define OMAP3530_REV_ES2_1 OMAP_MAKEREV(OMAP3350_DEV, 2, 1, 0)
|
||||
#define OMAP3530_REV_ES3_0 OMAP_MAKEREV(OMAP3350_DEV, 3, 0, 0)
|
||||
#define OMAP3530_REV_ES3_1 OMAP_MAKEREV(OMAP3350_DEV, 3, 1, 0)
|
||||
#define OMAP3530_REV_ES3_1_2 OMAP_MAKEREV(OMAP3350_DEV, 3, 1, 2)
|
||||
|
||||
#define OMAP4430_DEV 0x4430
|
||||
#define OMAP4430_REV_ES1_0 OMAP_MAKEREV(OMAP4430_DEV, 1, 0, 0)
|
||||
#define OMAP4430_REV_ES2_0 OMAP_MAKEREV(OMAP4430_DEV, 2, 0, 0)
|
||||
#define OMAP4430_REV_ES2_1 OMAP_MAKEREV(OMAP4430_DEV, 2, 1, 0)
|
||||
#define OMAP4430_REV_ES2_2 OMAP_MAKEREV(OMAP4430_DEV, 2, 2, 0)
|
||||
#define OMAP4430_REV_ES2_3 OMAP_MAKEREV(OMAP4430_DEV, 2, 3, 0)
|
||||
#define OMAP4430_REV_ES1_0 OMAP_MAKEREV(OMAP4430_DEV, 1, 0, 0)
|
||||
#define OMAP4430_REV_ES2_0 OMAP_MAKEREV(OMAP4430_DEV, 2, 0, 0)
|
||||
#define OMAP4430_REV_ES2_1 OMAP_MAKEREV(OMAP4430_DEV, 2, 1, 0)
|
||||
#define OMAP4430_REV_ES2_2 OMAP_MAKEREV(OMAP4430_DEV, 2, 2, 0)
|
||||
#define OMAP4430_REV_ES2_3 OMAP_MAKEREV(OMAP4430_DEV, 2, 3, 0)
|
||||
#define OMAP4430_REV_UNKNOWN OMAP_MAKEREV(OMAP4430_DEV, 9, 9, 9)
|
||||
|
||||
#define AM335X_DEVREV(x) ((x) >> 28)
|
||||
#define OMAP4460_DEV 0x4460
|
||||
#define OMAP4460_REV_ES1_0 OMAP_MAKEREV(OMAP4460_DEV, 1, 0, 0)
|
||||
#define OMAP4460_REV_ES1_1 OMAP_MAKEREV(OMAP4460_DEV, 1, 1, 0)
|
||||
#define OMAP4460_REV_UNKNOWN OMAP_MAKEREV(OMAP4460_DEV, 9, 9, 9)
|
||||
|
||||
#define CHIP_OMAP_3 0
|
||||
#define CHIP_OMAP_4 1
|
||||
#define CHIP_AM335X 2
|
||||
#define OMAP4470_DEV 0x4470
|
||||
#define OMAP4470_REV_ES1_0 OMAP_MAKEREV(OMAP4470_DEV, 1, 0, 0)
|
||||
#define OMAP4470_REV_UNKNOWN OMAP_MAKEREV(OMAP4470_DEV, 9, 9, 9)
|
||||
|
||||
#define OMAP_UNKNOWN_DEV OMAP_MAKEREV(0x9999, 9, 9, 9)
|
||||
|
||||
#define AM335X_DEVREV(x) ((x) >> 28)
|
||||
|
||||
#define CHIP_OMAP_3 0
|
||||
#define CHIP_OMAP_4 1
|
||||
#define CHIP_AM335X 2
|
||||
|
||||
static __inline int ti_chip(void)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user