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

Commit 5a37e784 authored by Tony Lindgren's avatar Tony Lindgren
Browse files

Merge branch 'omap_for_2.6.37' of...

Merge branch 'omap_for_2.6.37' of git://dev.omapzoom.org/pub/scm/santosh/kernel-omap4-base into omap-for-linus
parents 39cdd145 e7193cc8
Loading
Loading
Loading
Loading
+31 −7
Original line number Diff line number Diff line
@@ -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)) {
	/*
	 * 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;
	}

	switch (hawkeye) {
	case 0xb852:
		switch (rev) {
		case 0:
			omap_revision = OMAP4430_REV_ES1_0;
			omap_chip.oc |= CHIP_IS_OMAP4430ES1;
		pr_info("OMAP%04x %s\n", omap_rev() >> 16, rev_name);
		return;
			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_err("Unknown OMAP4 CPU id\n");
	pr_info("OMAP%04x ES%d.0\n",
			omap_rev() >> 16, ((omap_rev() >> 12) & 0xf) + 1);
}

#define OMAP3_SHOW_FEATURE(feat)		\
+7 −3
Original line number Diff line number Diff line
@@ -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 +)
	 */
	if (omap_rev() == OMAP4430_REV_ES1_0)
		l2x0_init(l2cache_base, 0x0e050000, 0xc0000fff);
	else
		l2x0_init(l2cache_base, 0x0e070000, 0xc0000fff);

	return 0;
}
+1 −1
Original line number Diff line number Diff line
@@ -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;
}
+4 −1
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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);
Loading