soc/amd/picasso/soc_util: add socket type detection and printing

Change-Id: I643a4c5f8a42a5fb0603a1a049545b57d16493a6
Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41517
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Felix Held 2020-05-18 20:27:04 +02:00 committed by Felix Held
parent 4480dc1ca1
commit bf21308705
2 changed files with 41 additions and 0 deletions

View File

@ -1,5 +1,13 @@
/* SPDX-License-Identifier: GPL-2.0-only */
enum socket_type {
SOCKET_FP5 = 0,
SOCKET_AM4 = 2,
SOCKET_FT5 = 3,
};
void print_socket_type(void);
int soc_is_pollock(void);
int soc_is_dali(void);
int soc_is_picasso(void);

View File

@ -1,8 +1,41 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <arch/cpu.h>
#include <console/console.h>
#include <soc/cpu.h>
#include <soc/soc_util.h>
#include <types.h>
#define SOCKET_TYPE_SHIFT 28
#define SOCKET_TYPSE_MASK (0xf << SOCKET_TYPE_SHIFT)
static enum socket_type get_socket_type(void)
{
uint32_t ebx = cpuid_ebx(0x80000001);
ebx = (ebx & SOCKET_TYPSE_MASK) >> SOCKET_TYPE_SHIFT;
return (enum socket_type)ebx;
}
void print_socket_type(void)
{
enum socket_type socket = get_socket_type();
printk(BIOS_INFO, "Socket type: ");
switch (socket) {
case SOCKET_FP5:
printk(BIOS_INFO, "FP5\n");
break;
case SOCKET_AM4:
printk(BIOS_INFO, "AM4\n");
break;
case SOCKET_FT5:
printk(BIOS_INFO, "FT5\n");
break;
default:
printk(BIOS_INFO, "unknown\n");
}
}
int soc_is_pollock(void)
{