forked from Minki/linux
Merge branch 'omap_for_2.6.37' of git://dev.omapzoom.org/pub/scm/santosh/kernel-omap4-base into omap-for-linus
This commit is contained in:
commit
5a37e7840f
@ -298,7 +298,6 @@ static void __init omap4_check_revision(void)
|
||||
u32 idcode;
|
||||
u16 hawkeye;
|
||||
u8 rev;
|
||||
char *rev_name = "ES1.0";
|
||||
|
||||
/*
|
||||
* The IC rev detection is done with hawkeye and rev.
|
||||
@ -309,14 +308,39 @@ static void __init omap4_check_revision(void)
|
||||
hawkeye = (idcode >> 12) & 0xffff;
|
||||
rev = (idcode >> 28) & 0xff;
|
||||
|
||||
if ((hawkeye == 0xb852) && (rev == 0x0)) {
|
||||
omap_revision = OMAP4430_REV_ES1_0;
|
||||
omap_chip.oc |= CHIP_IS_OMAP4430ES1;
|
||||
pr_info("OMAP%04x %s\n", omap_rev() >> 16, rev_name);
|
||||
return;
|
||||
/*
|
||||
* Few initial ES2.0 samples IDCODE is same as ES1.0
|
||||
* Use ARM register to detect the correct ES version
|
||||
*/
|
||||
if (!rev) {
|
||||
idcode = read_cpuid(CPUID_ID);
|
||||
rev = (idcode & 0xf) - 1;
|
||||
}
|
||||
|
||||
pr_err("Unknown OMAP4 CPU id\n");
|
||||
switch (hawkeye) {
|
||||
case 0xb852:
|
||||
switch (rev) {
|
||||
case 0:
|
||||
omap_revision = OMAP4430_REV_ES1_0;
|
||||
omap_chip.oc |= CHIP_IS_OMAP4430ES1;
|
||||
break;
|
||||
case 1:
|
||||
omap_revision = OMAP4430_REV_ES2_0;
|
||||
omap_chip.oc |= CHIP_IS_OMAP4430ES2;
|
||||
break;
|
||||
default:
|
||||
omap_revision = OMAP4430_REV_ES2_0;
|
||||
omap_chip.oc |= CHIP_IS_OMAP4430ES2;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
/* Unknown default to latest silicon rev as default*/
|
||||
omap_revision = OMAP4430_REV_ES2_0;
|
||||
omap_chip.oc |= CHIP_IS_OMAP4430ES2;
|
||||
}
|
||||
|
||||
pr_info("OMAP%04x ES%d.0\n",
|
||||
omap_rev() >> 16, ((omap_rev() >> 12) & 0xf) + 1);
|
||||
}
|
||||
|
||||
#define OMAP3_SHOW_FEATURE(feat) \
|
||||
|
@ -61,10 +61,14 @@ static int __init omap_l2_cache_init(void)
|
||||
omap_smc1(0x102, 0x1);
|
||||
|
||||
/*
|
||||
* 32KB way size, 16-way associativity,
|
||||
* parity disabled
|
||||
* 16-way associativity, parity disabled
|
||||
* Way size - 32KB (es1.0)
|
||||
* Way size - 64KB (es2.0 +)
|
||||
*/
|
||||
l2x0_init(l2cache_base, 0x0e050000, 0xc0000fff);
|
||||
if (omap_rev() == OMAP4430_REV_ES1_0)
|
||||
l2x0_init(l2cache_base, 0x0e050000, 0xc0000fff);
|
||||
else
|
||||
l2x0_init(l2cache_base, 0x0e070000, 0xc0000fff);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -581,7 +581,7 @@ int omap_dm_timer_set_source(struct omap_dm_timer *timer, int source)
|
||||
* When the functional clock disappears, too quick writes seem
|
||||
* to cause an abort. XXX Is this still necessary?
|
||||
*/
|
||||
__delay(150000);
|
||||
__delay(300000);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -391,6 +391,7 @@ IS_OMAP_TYPE(3517, 0x3517)
|
||||
|
||||
#define OMAP443X_CLASS 0x44300044
|
||||
#define OMAP4430_REV_ES1_0 0x44300044
|
||||
#define OMAP4430_REV_ES2_0 0x44301044
|
||||
|
||||
/*
|
||||
* omap_chip bits
|
||||
@ -417,10 +418,12 @@ IS_OMAP_TYPE(3517, 0x3517)
|
||||
#define CHIP_IS_OMAP4430ES1 (1 << 8)
|
||||
#define CHIP_IS_OMAP3630ES1_1 (1 << 9)
|
||||
#define CHIP_IS_OMAP3630ES1_2 (1 << 10)
|
||||
#define CHIP_IS_OMAP4430ES2 (1 << 11)
|
||||
|
||||
#define CHIP_IS_OMAP24XX (CHIP_IS_OMAP2420 | CHIP_IS_OMAP2430)
|
||||
|
||||
#define CHIP_IS_OMAP4430 (CHIP_IS_OMAP4430ES1)
|
||||
#define CHIP_IS_OMAP4430 (CHIP_IS_OMAP4430ES1 | \
|
||||
CHIP_IS_OMAP4430ES2)
|
||||
|
||||
/*
|
||||
* "GE" here represents "greater than or equal to" in terms of ES
|
||||
|
@ -153,6 +153,7 @@ static inline void __arch_decomp_setup(unsigned long arch_id)
|
||||
|
||||
/* omap4 based boards using UART3 */
|
||||
DEBUG_LL_OMAP4(3, omap_4430sdp);
|
||||
DEBUG_LL_OMAP4(3, omap4_panda);
|
||||
|
||||
/* zoom2/3 external uart */
|
||||
DEBUG_LL_ZOOM(omap_zoom2);
|
||||
|
@ -53,7 +53,7 @@
|
||||
#define OMAP4_SRAM_PUB_PA (OMAP4_SRAM_PA + 0x4000)
|
||||
#define OMAP4_SRAM_PUB_VA (OMAP4_SRAM_VA + 0x4000)
|
||||
|
||||
#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3)
|
||||
#if defined(CONFIG_ARCH_OMAP2PLUS)
|
||||
#define SRAM_BOOTLOADER_SZ 0x00
|
||||
#else
|
||||
#define SRAM_BOOTLOADER_SZ 0x80
|
||||
@ -93,16 +93,7 @@ extern unsigned long omapfb_reserve_sram(unsigned long sram_pstart,
|
||||
*/
|
||||
static int is_sram_locked(void)
|
||||
{
|
||||
int type = 0;
|
||||
|
||||
if (cpu_is_omap44xx())
|
||||
/* Not yet supported */
|
||||
return 0;
|
||||
|
||||
if (cpu_is_omap242x())
|
||||
type = omap_rev() & OMAP2_DEVICETYPE_MASK;
|
||||
|
||||
if (type == GP_DEVICE) {
|
||||
if (OMAP2_DEVICE_TYPE_GP == omap_type()) {
|
||||
/* RAMFW: R/W access to all initiators for all qualifier sets */
|
||||
if (cpu_is_omap242x()) {
|
||||
__raw_writel(0xFF, OMAP24XX_VA_REQINFOPERM0); /* all q-vects */
|
||||
|
Loading…
Reference in New Issue
Block a user