mb/google/skyrim: Add new mainboard

Skyrim is a new Google mainboard with AMD Sabrina SOC.

BUG=b:214413553
TEST=util/abuild/abuild -t GOOGLE_SKYRIM --clean

Change-Id: I008fea4aa163b8aa66e86735b29b3fdc4e08a327
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61565
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: Jon Murphy <jpmurphy@google.com>
This commit is contained in:
Karthikeyan Ramasubramanian 2022-02-02 10:10:03 -07:00 committed by Felix Held
parent e04be37806
commit a84d4f2312
12 changed files with 162 additions and 0 deletions

View File

@ -0,0 +1,35 @@
# SPDX-License-Identifier: GPL-2.0-or-later
config BOARD_GOOGLE_BASEBOARD_SKYRIM
def_bool n
if BOARD_GOOGLE_BASEBOARD_SKYRIM
config AMD_FWM_POSITION_INDEX
int
default 3
help
TODO: might need to be adapted for better placement of files in cbfs
config BOARD_SPECIFIC_OPTIONS
def_bool y
select BOARD_ROMSIZE_KB_16384
select SOC_AMD_SABRINA
config DEVICETREE
default "variants/baseboard/devicetree.cb"
config FMDFILE
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos.fmd"
config MAINBOARD_DIR
default "google/skyrim"
config MAINBOARD_FAMILY
string
default "Google_Skyrim"
config MAINBOARD_PART_NUMBER
default "Skyrim" if BOARD_GOOGLE_SKYRIM
endif # BOARD_GOOGLE_BASEBOARD_SKYRIM

View File

@ -0,0 +1,5 @@
comment "Skyrim"
config BOARD_GOOGLE_SKYRIM
bool "-> Skyrim"
select BOARD_GOOGLE_BASEBOARD_SKYRIM

View File

@ -0,0 +1,11 @@
# SPDX-License-Identifier: GPL-2.0-or-later
bootblock-y += bootblock.c
romstage-y += port_descriptors.c
ramstage-y += mainboard.c
subdirs-y += variants/baseboard
CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/variants/baseboard/include

View File

@ -0,0 +1,6 @@
Vendor name: Google
Board name: Skyrim
Category: laptop
ROM protocol: SPI
ROM socketed: n
Flashrom support: y

View File

@ -0,0 +1,9 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <bootblock_common.h>
#include <baseboard/variants.h>
void bootblock_mainboard_early_init(void)
{
/* TODO: Perform mainboard initialization */
}

View File

@ -0,0 +1,34 @@
FLASH@0xFF000000 16M {
SI_BIOS {
RW_MRC_CACHE(PRESERVE) 64K
RW_SECTION_A 3M {
VBLOCK_A 8K
FW_MAIN_A(CBFS)
RW_FWID_A 256
}
RW_SECTION_B 3M {
VBLOCK_B 8K
FW_MAIN_B(CBFS)
RW_FWID_B 256
}
RW_ELOG(PRESERVE) 4K
RW_SHARED 16K {
SHARED_DATA 8K
VBLOCK_DEV 8K
}
RW_VPD(PRESERVE) 8K
RW_NVRAM(PRESERVE) 20K
SMMSTORE(PRESERVE) 4K
RW_LEGACY(CBFS)
WP_RO@8M 8M {
RO_VPD(PRESERVE) 16K
RO_GSCVD 8K
RO_SECTION {
FMAP 2K
RO_FRID 64
GBB@4K 12K
COREBOOT(CBFS)
}
}
}
}

View File

@ -0,0 +1,16 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <acpi/acpi.h>
DefinitionBlock (
"dsdt.aml",
"DSDT",
ACPI_DSDT_REV_2,
OEM_ID,
ACPI_TABLE_CREATOR,
0x00010001 /* OEM Revision */
)
{
#include <acpi/dsdt_top.asl>
#include <soc.asl>
}

View File

@ -0,0 +1,18 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include <device/device.h>
static void mainboard_init(void *chip_info)
{
/* TODO: Perform mainboard initialization */
}
static void mainboard_enable(struct device *dev)
{
/* TODO: Enable mainboard */
}
struct chip_operations mainboard_ops = {
.init = mainboard_init,
.enable_dev = mainboard_enable,
};

View File

@ -0,0 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/platform_descriptors.h>
#include <types.h>
void mainboard_get_dxio_ddi_descriptors(
const fsp_dxio_descriptor **dxio_descs, size_t *dxio_num,
const fsp_ddi_descriptor **ddi_descs, size_t *ddi_num)
{
/* TODO: Initialize DXIO and DDI descriptors */
}

View File

@ -0,0 +1,5 @@
# SPDX-License-Identifier: GPL-2.0-or-later
chip soc/amd/sabrina
device domain 0 on
end # domain
end # chip soc/amd/sabrina

View File

@ -0,0 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#ifndef __BASEBOARD_GPIO_H__
#define __BASEBOARD_GPIO_H__
#endif /* __BASEBOARD_GPIO_H__ */

View File

@ -0,0 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#ifndef __BASEBOARD_VARIANTS_H__
#define __BASEBOARD_VARIANTS_H__
#endif /* __BASEBOARD_VARIANTS_H__ */