diff options
Diffstat (limited to 'arch/arm/mach-at91/setup.c')
| -rw-r--r-- | arch/arm/mach-at91/setup.c | 22 | 
1 files changed, 15 insertions, 7 deletions
diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c index e8491e77b1f..e2f4bdd146d 100644 --- a/arch/arm/mach-at91/setup.c +++ b/arch/arm/mach-at91/setup.c @@ -105,28 +105,32 @@ static void __init soc_detect(u32 dbgu_base)  	switch (socid) {  	case ARCH_ID_AT91RM9200:  		at91_soc_initdata.type = AT91_SOC_RM9200; -		if (at91_soc_initdata.subtype == AT91_SOC_SUBTYPE_NONE) +		if (at91_soc_initdata.subtype == AT91_SOC_SUBTYPE_UNKNOWN)  			at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;  		at91_boot_soc = at91rm9200_soc;  		break;  	case ARCH_ID_AT91SAM9260:  		at91_soc_initdata.type = AT91_SOC_SAM9260; +		at91_soc_initdata.subtype = AT91_SOC_SUBTYPE_NONE;  		at91_boot_soc = at91sam9260_soc;  		break;  	case ARCH_ID_AT91SAM9261:  		at91_soc_initdata.type = AT91_SOC_SAM9261; +		at91_soc_initdata.subtype = AT91_SOC_SUBTYPE_NONE;  		at91_boot_soc = at91sam9261_soc;  		break;  	case ARCH_ID_AT91SAM9263:  		at91_soc_initdata.type = AT91_SOC_SAM9263; +		at91_soc_initdata.subtype = AT91_SOC_SUBTYPE_NONE;  		at91_boot_soc = at91sam9263_soc;  		break;  	case ARCH_ID_AT91SAM9G20:  		at91_soc_initdata.type = AT91_SOC_SAM9G20; +		at91_soc_initdata.subtype = AT91_SOC_SUBTYPE_NONE;  		at91_boot_soc = at91sam9260_soc;  		break; @@ -139,6 +143,7 @@ static void __init soc_detect(u32 dbgu_base)  	case ARCH_ID_AT91SAM9RL64:  		at91_soc_initdata.type = AT91_SOC_SAM9RL; +		at91_soc_initdata.subtype = AT91_SOC_SUBTYPE_NONE;  		at91_boot_soc = at91sam9rl_soc;  		break; @@ -161,6 +166,7 @@ static void __init soc_detect(u32 dbgu_base)  	/* at91sam9g10 */  	if ((socid & ~AT91_CIDR_EXT) == ARCH_ID_AT91SAM9G10) {  		at91_soc_initdata.type = AT91_SOC_SAM9G10; +		at91_soc_initdata.subtype = AT91_SOC_SUBTYPE_NONE;  		at91_boot_soc = at91sam9261_soc;  	}  	/* at91sam9xe */ @@ -242,7 +248,7 @@ static const char *soc_name[] = {  	[AT91_SOC_SAM9X5]	= "at91sam9x5",  	[AT91_SOC_SAM9N12]	= "at91sam9n12",  	[AT91_SOC_SAMA5D3]	= "sama5d3", -	[AT91_SOC_NONE]		= "Unknown" +	[AT91_SOC_UNKNOWN]	= "Unknown",  };  const char *at91_get_soc_type(struct at91_socinfo *c) @@ -268,7 +274,8 @@ static const char *soc_subtype_name[] = {  	[AT91_SOC_SAMA5D33]	= "sama5d33",  	[AT91_SOC_SAMA5D34]	= "sama5d34",  	[AT91_SOC_SAMA5D35]	= "sama5d35", -	[AT91_SOC_SUBTYPE_NONE]	= "Unknown" +	[AT91_SOC_SUBTYPE_NONE]	= "None", +	[AT91_SOC_SUBTYPE_UNKNOWN] = "Unknown",  };  const char *at91_get_soc_subtype(struct at91_socinfo *c) @@ -282,8 +289,8 @@ void __init at91_map_io(void)  	/* Map peripherals */  	iotable_init(&at91_io_desc, 1); -	at91_soc_initdata.type = AT91_SOC_NONE; -	at91_soc_initdata.subtype = AT91_SOC_SUBTYPE_NONE; +	at91_soc_initdata.type = AT91_SOC_UNKNOWN; +	at91_soc_initdata.subtype = AT91_SOC_SUBTYPE_UNKNOWN;  	soc_detect(AT91_BASE_DBGU0);  	if (!at91_soc_is_detected()) @@ -294,8 +301,9 @@ void __init at91_map_io(void)  	pr_info("AT91: Detected soc type: %s\n",  		at91_get_soc_type(&at91_soc_initdata)); -	pr_info("AT91: Detected soc subtype: %s\n", -		at91_get_soc_subtype(&at91_soc_initdata)); +	if (at91_soc_initdata.subtype != AT91_SOC_SUBTYPE_NONE) +		pr_info("AT91: Detected soc subtype: %s\n", +			at91_get_soc_subtype(&at91_soc_initdata));  	if (!at91_soc_is_enabled())  		panic("AT91: Soc not enabled");  |