diff options
| author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-13 15:00:22 +0000 | 
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-13 15:00:22 +0000 | 
| commit | 4de3a8e101150feaefa1139611a50ff37467f33e (patch) | |
| tree | daada742542518b02d7db7c5d32e715eaa5f166d /arch/arm/mach-omap2/id.c | |
| parent | 294064f58953f9964e5945424b09c51800330a83 (diff) | |
| parent | 099469502f62fbe0d7e4f0b83a2f22538367f734 (diff) | |
| download | olio-linux-3.10-4de3a8e101150feaefa1139611a50ff37467f33e.tar.xz olio-linux-3.10-4de3a8e101150feaefa1139611a50ff37467f33e.zip  | |
Merge branch 'master' into fixes
Diffstat (limited to 'arch/arm/mach-omap2/id.c')
| -rw-r--r-- | arch/arm/mach-omap2/id.c | 52 | 
1 files changed, 45 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c index 27ad722df63..6c5826605ea 100644 --- a/arch/arm/mach-omap2/id.c +++ b/arch/arm/mach-omap2/id.c @@ -226,7 +226,7 @@ static void __init omap4_check_features(void)  	}  } -static void __init ti816x_check_features(void) +static void __init ti81xx_check_features(void)  {  	omap_features = OMAP3_HAS_NEON;  } @@ -340,6 +340,29 @@ static void __init omap3_check_revision(const char **cpu_rev)  			break;  		}  		break; +	case 0xb944: +		omap_revision = AM335X_REV_ES1_0; +		*cpu_rev = "1.0"; +	case 0xb8f2: +		switch (rev) { +		case 0: +		/* FALLTHROUGH */ +		case 1: +			omap_revision = TI8148_REV_ES1_0; +			*cpu_rev = "1.0"; +			break; +		case 2: +			omap_revision = TI8148_REV_ES2_0; +			*cpu_rev = "2.0"; +			break; +		case 3: +		/* FALLTHROUGH */ +		default: +			omap_revision = TI8148_REV_ES2_1; +			*cpu_rev = "2.1"; +			break; +		} +		break;  	default:  		/* Unknown default to latest silicon rev as default */  		omap_revision = OMAP3630_REV_ES1_2; @@ -367,7 +390,7 @@ static void __init omap4_check_revision(void)  	 * Few initial 4430 ES2.0 samples IDCODE is same as ES1.0  	 * Use ARM register to detect the correct ES version  	 */ -	if (!rev && (hawkeye != 0xb94e)) { +	if (!rev && (hawkeye != 0xb94e) && (hawkeye != 0xb975)) {  		idcode = read_cpuid(CPUID_ID);  		rev = (idcode & 0xf) - 1;  	} @@ -389,8 +412,11 @@ static void __init omap4_check_revision(void)  			omap_revision = OMAP4430_REV_ES2_1;  			break;  		case 4: -		default:  			omap_revision = OMAP4430_REV_ES2_2; +			break; +		case 6: +		default: +			omap_revision = OMAP4430_REV_ES2_3;  		}  		break;  	case 0xb94e: @@ -401,9 +427,17 @@ static void __init omap4_check_revision(void)  			break;  		}  		break; +	case 0xb975: +		switch (rev) { +		case 0: +		default: +			omap_revision = OMAP4470_REV_ES1_0; +			break; +		} +		break;  	default:  		/* Unknown default to latest silicon rev as default */ -		omap_revision = OMAP4430_REV_ES2_2; +		omap_revision = OMAP4430_REV_ES2_3;  	}  	pr_info("OMAP%04x ES%d.%d\n", omap_rev() >> 16, @@ -432,6 +466,10 @@ static void __init omap3_cpuinfo(const char *cpu_rev)  		cpu_name = (omap3_has_sgx()) ? "AM3517" : "AM3505";  	} else if (cpu_is_ti816x()) {  		cpu_name = "TI816X"; +	} else if (cpu_is_am335x()) { +		cpu_name =  "AM335X"; +	} else if (cpu_is_ti814x()) { +		cpu_name = "TI814X";  	} else if (omap3_has_iva() && omap3_has_sgx()) {  		/* OMAP3430, OMAP3525, OMAP3515, OMAP3503 devices */  		cpu_name = "OMAP3430/3530"; @@ -472,11 +510,11 @@ void __init omap2_check_revision(void)  	} else if (cpu_is_omap34xx()) {  		omap3_check_revision(&cpu_rev); -		/* TI816X doesn't have feature register */ -		if (!cpu_is_ti816x()) +		/* TI81XX doesn't have feature register */ +		if (!cpu_is_ti81xx())  			omap3_check_features();  		else -			ti816x_check_features(); +			ti81xx_check_features();  		omap3_cpuinfo(cpu_rev);  		return;  |