soc/amd/picasso: add and use CPUIDs for older steppings

Change-Id: Ibe768ef7cd714c17fd5a296d9a3e5f963ae0ef01
Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41641
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Felix Held 2020-05-22 02:40:40 +02:00 committed by Felix Held
parent 828ca06cdb
commit ab114c9606
3 changed files with 13 additions and 10 deletions

View File

@ -115,9 +115,10 @@ static struct device_operations cpu_dev_ops = {
};
static struct cpu_device_id cpu_table[] = {
{ X86_VENDOR_AMD, 0x810f80 },
{ X86_VENDOR_AMD, PICASSO_CPUID },
{ X86_VENDOR_AMD, RAVEN2_CPUID },
{ X86_VENDOR_AMD, PICASSO_B0_CPUID },
{ X86_VENDOR_AMD, PICASSO_B1_CPUID },
{ X86_VENDOR_AMD, RAVEN2_A0_CPUID },
{ X86_VENDOR_AMD, RAVEN2_A1_CPUID },
{ 0, 0 },
};

View File

@ -11,8 +11,10 @@ void picasso_init_cpus(struct device *dev);
int get_cpu_count(void);
void check_mca(void);
#define RAVEN1_CPUID 0x00810f10
#define PICASSO_CPUID 0x00810f81
#define RAVEN2_CPUID 0x00820f01
#define RAVEN1_B0_CPUID 0x00810f10
#define PICASSO_B0_CPUID 0x00810f80
#define PICASSO_B1_CPUID 0x00810f81
#define RAVEN2_A0_CPUID 0x00820f00
#define RAVEN2_A1_CPUID 0x00820f01
#endif /* __PICASSO_CPU_H__ */

View File

@ -85,25 +85,25 @@ static bool is_mystery_silicon(void)
static bool is_fam17_1x(void)
{
/* mask lower model number nibble and stepping */
return cpuid_eax(1) >> 8 == PICASSO_CPUID >> 8;
return cpuid_eax(1) >> 8 == PICASSO_B1_CPUID >> 8;
}
static bool is_fam17_11(void)
{
/* only mask stepping */
return cpuid_eax(1) >> 4 == RAVEN1_CPUID >> 4;
return cpuid_eax(1) >> 4 == RAVEN1_B0_CPUID >> 4;
}
static bool is_fam17_18(void)
{
/* only mask stepping */
return cpuid_eax(1) >> 4 == PICASSO_CPUID >> 4;
return cpuid_eax(1) >> 4 == PICASSO_B1_CPUID >> 4;
}
static bool is_fam17_2x(void)
{
/* mask lower model number nibble and stepping */
return cpuid_eax(1) >> 8 == RAVEN2_CPUID >> 8;
return cpuid_eax(1) >> 8 == RAVEN2_A1_CPUID >> 8;
}
static bool is_fam17_20(void)