From dd60a487631f683580736913ee8739f400659608 Mon Sep 17 00:00:00 2001 From: Sean Rhodes Date: Fri, 19 Dec 2025 20:41:38 +0000 Subject: [PATCH] mb/starlabs/adl: Add StarBook Horizon (N305) Tested using `edk2` from `https://github.com/starlabsltd/edk2/tree/uefipayload_vs`: * Ubuntu 24.04 * Manjaro 24 No known issues. https://starlabs.systems/pages/starbook-horizon-specification Change-Id: I7535bc5f49324027eacc9c2750a9abe742fee470 Signed-off-by: Sean Rhodes Reviewed-on: https://review.coreboot.org/c/coreboot/+/90570 Reviewed-by: Matt DeVillier Tested-by: build bot (Jenkins) --- Documentation/mainboard/index.md | 1 + .../mainboard/starlabs/adl_horizon.md | 86 ++++++ src/mainboard/starlabs/adl/Kconfig | 117 ++++++++ src/mainboard/starlabs/adl/Kconfig.name | 4 + src/mainboard/starlabs/adl/Makefile.mk | 10 + src/mainboard/starlabs/adl/acpi/ec.asl | 1 + src/mainboard/starlabs/adl/acpi/mainboard.asl | 5 + src/mainboard/starlabs/adl/acpi/sleep.asl | 11 + src/mainboard/starlabs/adl/acpi/superio.asl | 1 + src/mainboard/starlabs/adl/board_info.txt | 6 + src/mainboard/starlabs/adl/bootblock.c | 14 + src/mainboard/starlabs/adl/cfr.c | 109 +++++++ src/mainboard/starlabs/adl/cmos.default | 6 + src/mainboard/starlabs/adl/cmos.layout | 46 +++ src/mainboard/starlabs/adl/dsdt.asl | 47 ++++ src/mainboard/starlabs/adl/include/variants.h | 17 ++ src/mainboard/starlabs/adl/mainboard.c | 22 ++ src/mainboard/starlabs/adl/spd/Makefile.mk | 5 + .../adl/spd/rs4g32l05d8fdb-5500.spd.hex | 32 +++ .../adl/spd/rs4g32l05d8fdb-6400.spd.hex | 32 +++ .../adl/spd/rs4g32l05d8fdb-7500.spd.hex | 32 +++ .../starlabs/adl/variants/hz/Makefile.mk | 12 + .../starlabs/adl/variants/hz/board.fmd | 14 + .../starlabs/adl/variants/hz/data.vbt | Bin 0 -> 9216 bytes .../adl/variants/hz/data_native_res.vbt | Bin 0 -> 9216 bytes .../starlabs/adl/variants/hz/devicetree.cb | 240 ++++++++++++++++ .../starlabs/adl/variants/hz/devtree.c | 33 +++ src/mainboard/starlabs/adl/variants/hz/gpio.c | 266 ++++++++++++++++++ .../starlabs/adl/variants/hz/hda_verb.c | 97 +++++++ .../starlabs/adl/variants/hz/ramstage.c | 19 ++ .../starlabs/adl/variants/hz/romstage.c | 102 +++++++ src/mainboard/starlabs/adl/vboot.c | 8 + 32 files changed, 1395 insertions(+) create mode 100644 Documentation/mainboard/starlabs/adl_horizon.md create mode 100644 src/mainboard/starlabs/adl/Kconfig create mode 100644 src/mainboard/starlabs/adl/Kconfig.name create mode 100644 src/mainboard/starlabs/adl/Makefile.mk create mode 100644 src/mainboard/starlabs/adl/acpi/ec.asl create mode 100644 src/mainboard/starlabs/adl/acpi/mainboard.asl create mode 100644 src/mainboard/starlabs/adl/acpi/sleep.asl create mode 100644 src/mainboard/starlabs/adl/acpi/superio.asl create mode 100644 src/mainboard/starlabs/adl/board_info.txt create mode 100644 src/mainboard/starlabs/adl/bootblock.c create mode 100644 src/mainboard/starlabs/adl/cfr.c create mode 100644 src/mainboard/starlabs/adl/cmos.default create mode 100644 src/mainboard/starlabs/adl/cmos.layout create mode 100644 src/mainboard/starlabs/adl/dsdt.asl create mode 100644 src/mainboard/starlabs/adl/include/variants.h create mode 100644 src/mainboard/starlabs/adl/mainboard.c create mode 100644 src/mainboard/starlabs/adl/spd/Makefile.mk create mode 100644 src/mainboard/starlabs/adl/spd/rs4g32l05d8fdb-5500.spd.hex create mode 100644 src/mainboard/starlabs/adl/spd/rs4g32l05d8fdb-6400.spd.hex create mode 100644 src/mainboard/starlabs/adl/spd/rs4g32l05d8fdb-7500.spd.hex create mode 100644 src/mainboard/starlabs/adl/variants/hz/Makefile.mk create mode 100644 src/mainboard/starlabs/adl/variants/hz/board.fmd create mode 100644 src/mainboard/starlabs/adl/variants/hz/data.vbt create mode 100644 src/mainboard/starlabs/adl/variants/hz/data_native_res.vbt create mode 100644 src/mainboard/starlabs/adl/variants/hz/devicetree.cb create mode 100644 src/mainboard/starlabs/adl/variants/hz/devtree.c create mode 100644 src/mainboard/starlabs/adl/variants/hz/gpio.c create mode 100644 src/mainboard/starlabs/adl/variants/hz/hda_verb.c create mode 100644 src/mainboard/starlabs/adl/variants/hz/ramstage.c create mode 100644 src/mainboard/starlabs/adl/variants/hz/romstage.c create mode 100644 src/mainboard/starlabs/adl/vboot.c diff --git a/Documentation/mainboard/index.md b/Documentation/mainboard/index.md index de731f3048..92aec1173f 100644 --- a/Documentation/mainboard/index.md +++ b/Documentation/mainboard/index.md @@ -358,6 +358,7 @@ StarBook Mk V StarBook Mk VI StarBook Mk VII (N200) StarBook Mk VII (165H) +StarBook Horizon Byte Mk II StarFighter Mk I StarFighter Mk II diff --git a/Documentation/mainboard/starlabs/adl_horizon.md b/Documentation/mainboard/starlabs/adl_horizon.md new file mode 100644 index 0000000000..4d81b7f9fc --- /dev/null +++ b/Documentation/mainboard/starlabs/adl_horizon.md @@ -0,0 +1,86 @@ +# StarBook Mk V + +## Specs + +- CPU (full processor specs available at ) + - Intel N305 (Alder Lake) +- EC + - ITE IT5570E + - Backlit keyboard, with standard PS/2 keycodes and SCI hotkeys + - Battery + - USB-C PD Charger + - Suspend / resume +- GPU + - IntelĀ® IrisĀ® Xe Graphics + - GOP driver is recommended, VBT is provided + - eDP 13.4-inch 2520x1680 LCD + - HDMI video + - USB-C DisplayPort video +- Memory + - 32GB LPDD% on-board memory +- Networking + - AX210 2230 WiFi / Bluetooth +- Sound + - Realtek ALC269-VB6 + - Internal speakers + - Internal microphone + - Combined headphone / microphone 3.5-mm jack + - HDMI audio + - USB-C DisplayPort audio +- Storage + - M.2 PCIe SSD +- USB + - 1920x1080 CCD camera + - USB 3.1 Gen 2 (left) + - USB 3.1 Gen 2 (right) + - USB 3.1 Gen 2 Type-A (right) + +## Building coreboot + +Please follow the [Star Labs build instructions](common/building.md) to build coreboot, using `config.starlabs_adl_horizon` as config file. + +### Preliminaries + +Prior to building coreboot the following files are required: +* Intel Flash Descriptor file (descriptor.bin) +* Intel Management Engine firmware (me.bin) +* ITE Embedded Controller firmware (ec.bin) + +The files listed below are optional: +- Splash screen image in Windows 3.1 BMP format (Logo.bmp) + +These files exist in the correct location in the StarLabsLtd/blobs repo on GitHub which is used in place of the standard 3rdparty/blobs repo. + +### Build + +The following commands will build a working image: + +```bash +make distclean +make defconfig KBUILD_DEFCONFIG=configs/config.starlabs_adl_horizon_n +make +``` + +## Flashing coreboot + +```{eval-rst} ++---------------------+------------+ +| Type | Value | ++=====================+============+ +| Socketed flash | no | ++---------------------+------------+ +| Vendor | Winbond | ++---------------------+------------+ +| Model | W25Q256.V | ++---------------------+------------+ +| Size | 32 MiB | ++---------------------+------------+ +| Package | WSON-8 | ++---------------------+------------+ +| Internal flashing | yes | ++---------------------+------------+ +| External flashing | yes | ++---------------------+------------+ +``` + +Please see [here](common/flashing.md) for instructions on how to flash with fwupd. diff --git a/src/mainboard/starlabs/adl/Kconfig b/src/mainboard/starlabs/adl/Kconfig new file mode 100644 index 0000000000..adfa25bb8d --- /dev/null +++ b/src/mainboard/starlabs/adl/Kconfig @@ -0,0 +1,117 @@ +config BOARD_STARLABS_ADL_SERIES + def_bool n + select AZALIA_USE_LEGACY_VERB_TABLE + select CSE_DEFAULT_CFR_OPTION_STATE_DISABLED + select DRIVERS_EFI_VARIABLE_STORE + select DRIVERS_GFX_GENERIC + select DRIVERS_I2C_HID + select DRIVERS_INTEL_PMC + select DRIVERS_OPTION_CFR_ENABLED + select EC_STARLABS_MERLIN + select HAVE_ACPI_RESUME + select HAVE_ACPI_TABLES + select HAVE_CMOS_DEFAULT + select HAVE_HDA_DMIC + select HAVE_OPTION_TABLE + select HAVE_SPD_IN_CBFS + select INTEL_GMA_HAVE_VBT + select INTEL_LPSS_UART_FOR_CONSOLE + select MAINBOARD_HAS_TPM2 + select MEMORY_MAPPED_TPM + select NO_UART_ON_SUPERIO + select PMC_IPC_ACPI_INTERFACE + select SOC_INTEL_ALDERLAKE + select SOC_INTEL_COMMON_BLOCK_HDA_VERB + select SOC_INTEL_COMMON_BLOCK_TCSS + select SOC_INTEL_CRASHLOG + select SPD_READ_BY_WORD + select SPI_FLASH_WINBOND + select SYSTEM_TYPE_LAPTOP + select TPM2 + select TPM_MEASURED_BOOT + select VALIDATE_INTEL_DESCRIPTOR + +config BOARD_STARLABS_ADL_HORIZON + select BOARD_ROMSIZE_KB_16384 + select BOARD_STARLABS_ADL_SERIES + select SOC_INTEL_ALDERLAKE_PCH_N + +if BOARD_STARLABS_ADL_HORIZON + +config CCD_PORT + int + default 4 + +config CONSOLE_SERIAL + default n if !EDK2_DEBUG + +config D3COLD_SUPPORT + default n + +config DEVICETREE + default "variants/\$(CONFIG_VARIANT_DIR)/devicetree.cb" + +config DIMM_SPD_SIZE + default 512 + +config EDK2_BOOTSPLASH_FILE + string + default "3rdparty/blobs/mainboard/starlabs/Logo.bmp" + +config EC_STARLABS_BATTERY_MODEL + default "U5266122PV-2S1P" + +config EC_STARLABS_BATTERY_TYPE + default "LION" + +config EC_STARLABS_BATTERY_OEM + default "Shenzhen Utility Energy Co., Ltd" + +config EC_STARLABS_ITE_BIN_PATH + string + default "3rdparty/blobs/mainboard/\$(MAINBOARDDIR)/\$(CONFIG_VARIANT_DIR)/ec.bin" + +config FMDFILE + default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/variants/\$(CONFIG_VARIANT_DIR)/board.fmd" + +config IFD_BIN_PATH + string + default "3rdparty/blobs/mainboard/\$(MAINBOARDDIR)/\$(CONFIG_VARIANT_DIR)/flashdescriptor.bin" + +config MAINBOARD_DIR + default "starlabs/adl" + +config MAINBOARD_FAMILY + string + default "HZ" + +config MAINBOARD_PART_NUMBER + default "StarBook Horizon" + +config MAINBOARD_SMBIOS_PRODUCT_NAME + default "StarBook Horizon" + +config ME_BIN_PATH + string + default "3rdparty/blobs/mainboard/\$(MAINBOARDDIR)/\$(CONFIG_VARIANT_DIR)/intel_me.bin" + +config POWER_STATE_DEFAULT_ON_AFTER_FAILURE + default n + +config SOC_INTEL_CSE_SEND_EOP_EARLY + default n + +config TPM_PIRQ + depends on MAINBOARD_HAS_TPM2 + default 0x28 + +config UART_FOR_CONSOLE + default 0 + +config USE_PM_ACPI_TIMER + default n + +config VARIANT_DIR + default "hz" + +endif diff --git a/src/mainboard/starlabs/adl/Kconfig.name b/src/mainboard/starlabs/adl/Kconfig.name new file mode 100644 index 0000000000..e9af44560e --- /dev/null +++ b/src/mainboard/starlabs/adl/Kconfig.name @@ -0,0 +1,4 @@ +comment "Star Labs StarLite Series" + +config BOARD_STARLABS_ADL_HORIZON + bool "Star Labs StarBook Horizon (N305)" diff --git a/src/mainboard/starlabs/adl/Makefile.mk b/src/mainboard/starlabs/adl/Makefile.mk new file mode 100644 index 0000000000..ad15bbd510 --- /dev/null +++ b/src/mainboard/starlabs/adl/Makefile.mk @@ -0,0 +1,10 @@ +## SPDX-License-Identifier: GPL-2.0-only + +CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/include +subdirs-$(CONFIG_HAVE_SPD_IN_CBFS) += ./spd +subdirs-y += variants/$(VARIANT_DIR) + +bootblock-y += bootblock.c + +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c +ramstage-y += mainboard.c diff --git a/src/mainboard/starlabs/adl/acpi/ec.asl b/src/mainboard/starlabs/adl/acpi/ec.asl new file mode 100644 index 0000000000..853b0877b3 --- /dev/null +++ b/src/mainboard/starlabs/adl/acpi/ec.asl @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ diff --git a/src/mainboard/starlabs/adl/acpi/mainboard.asl b/src/mainboard/starlabs/adl/acpi/mainboard.asl new file mode 100644 index 0000000000..34b90af325 --- /dev/null +++ b/src/mainboard/starlabs/adl/acpi/mainboard.asl @@ -0,0 +1,5 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +Scope (\_SB) { + #include "sleep.asl" +} diff --git a/src/mainboard/starlabs/adl/acpi/sleep.asl b/src/mainboard/starlabs/adl/acpi/sleep.asl new file mode 100644 index 0000000000..7ed74e3514 --- /dev/null +++ b/src/mainboard/starlabs/adl/acpi/sleep.asl @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +Method (MPTS, 1, NotSerialized) +{ + RPTS (Arg0) +} + +Method (MWAK, 1, NotSerialized) +{ + RWAK (Arg0) +} diff --git a/src/mainboard/starlabs/adl/acpi/superio.asl b/src/mainboard/starlabs/adl/acpi/superio.asl new file mode 100644 index 0000000000..853b0877b3 --- /dev/null +++ b/src/mainboard/starlabs/adl/acpi/superio.asl @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ diff --git a/src/mainboard/starlabs/adl/board_info.txt b/src/mainboard/starlabs/adl/board_info.txt new file mode 100644 index 0000000000..5416db044b --- /dev/null +++ b/src/mainboard/starlabs/adl/board_info.txt @@ -0,0 +1,6 @@ +Vendor name: Star Labs +Board name: StarBook Horizon +Category: laptop +ROM protocol: SPI +ROM socketed: n +Flashrom support: y diff --git a/src/mainboard/starlabs/adl/bootblock.c b/src/mainboard/starlabs/adl/bootblock.c new file mode 100644 index 0000000000..ca48bb1ab2 --- /dev/null +++ b/src/mainboard/starlabs/adl/bootblock.c @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include + +void bootblock_mainboard_init(void) +{ + const struct pad_config *pads; + size_t num; + + pads = variant_early_gpio_table(&num); + gpio_configure_pads(pads, num); +} diff --git a/src/mainboard/starlabs/adl/cfr.c b/src/mainboard/starlabs/adl/cfr.c new file mode 100644 index 0000000000..4f920a69f6 --- /dev/null +++ b/src/mainboard/starlabs/adl/cfr.c @@ -0,0 +1,109 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include +#include +#include +#include + +static struct sm_obj_form performance_group = { + .ui_name = "Performance", + .obj_list = (const struct sm_object *[]) { + &fan_mode, + &memory_speed, + &power_profile, + NULL + }, +}; + +static struct sm_obj_form processor_group = { + .ui_name = "Processor", + .obj_list = (const struct sm_object *[]) { + &me_state, + &me_state_counter, + &s0ix_enable, + &vtd, + NULL + }, +}; + +static struct sm_obj_form power_group = { + .ui_name = "Power", + .obj_list = (const struct sm_object *[]) { + &max_charge, + &charging_speed, + &power_led, + &charge_led, + &power_on_after_fail_bool, + NULL + }, +}; + +static struct sm_obj_form keyboard_group = { + .ui_name = "Keyboard", + .obj_list = (const struct sm_object *[]) { + &kbl_timeout, + &fn_ctrl_swap, + NULL + }, +}; + +static struct sm_obj_form devices_group = { + .ui_name = "Devices", + .obj_list = (const struct sm_object *[]) { + &bluetooth, + &display_native_res, + &gna, + &lid_switch, + µphone, + &webcam, + &wifi, + NULL + }, +}; + +static struct sm_obj_form security_group = { + .ui_name = "Security", + .obj_list = (const struct sm_object *[]) { + &bios_lock, + &intel_tme, + NULL + }, +}; + +static struct sm_obj_form pci_group = { + .ui_name = "PCI", + .obj_list = (const struct sm_object *[]) { + &pciexp_clk_pm, + &pciexp_aspm, + &pciexp_l1ss, + NULL + }, +}; + +static struct sm_obj_form coreboot_group = { + .ui_name = "coreboot", + .obj_list = (const struct sm_object *[]) { + &debug_level, + NULL + }, +}; + +static struct sm_obj_form *sm_root[] = { + &performance_group, + &processor_group, + &power_group, + &keyboard_group, + &devices_group, + &security_group, + &pci_group, + &coreboot_group, + NULL +}; + +void mb_cfr_setup_menu(struct lb_cfr *cfr_root) +{ + starlabs_cfr_register_overrides(); + cfr_write_setup_menu(cfr_root, sm_root); +} diff --git a/src/mainboard/starlabs/adl/cmos.default b/src/mainboard/starlabs/adl/cmos.default new file mode 100644 index 0000000000..49faae3e6a --- /dev/null +++ b/src/mainboard/starlabs/adl/cmos.default @@ -0,0 +1,6 @@ +## SPDX-License-Identifier: GPL-2.0-only +# Functions +fn_lock_state=0x1 +trackpad_state=0x1 +kbl_brightness=0x0 +kbl_state=0x1 diff --git a/src/mainboard/starlabs/adl/cmos.layout b/src/mainboard/starlabs/adl/cmos.layout new file mode 100644 index 0000000000..ebba7fbd5d --- /dev/null +++ b/src/mainboard/starlabs/adl/cmos.layout @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: GPL-2.0-only + +# ----------------------------------------------------------------- +entries + +# Bank: 1 +# ----------------------------------------------------------------- +0 120 r 0 reserved_memory + +# ----------------------------------------------------------------- +# coreboot config options: ramtop +304 80 h 0 ramtop + +# RTC_BOOT_BYTE (coreboot hardcoded) +388 4 h 0 reboot_counter + +# coreboot config options: cpu +#400 8 r 0 reserved for century byte + +# coreboot config options: check sums +984 16 h 0 check_sum + +# Bank: 2 +# embedded controller settings (outside the checksummed area) +1024 8 h 1 fn_lock_state +1032 8 h 1 trackpad_state +1040 8 h 2 kbl_brightness +1048 8 h 1 kbl_state + +# ----------------------------------------------------------------- + +enumerations + +#ID value text +1 0 Disable +1 1 Enable + +2 0 Off +2 1 Low +2 2 High +2 3 On + +# ----------------------------------------------------------------- +checksums + +checksum 392 983 984 diff --git a/src/mainboard/starlabs/adl/dsdt.asl b/src/mainboard/starlabs/adl/dsdt.asl new file mode 100644 index 0000000000..b7783eae63 --- /dev/null +++ b/src/mainboard/starlabs/adl/dsdt.asl @@ -0,0 +1,47 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +DefinitionBlock( + "dsdt.aml", + "DSDT", + ACPI_DSDT_REV_2, + OEM_ID, + ACPI_TABLE_CREATOR, + 0x20220930 +) +{ + #include + #include + #include + #include + + Device (\_SB.PCI0) + { + #include + #include + #include + + #include + + #include + + /* PS/2 Keyboard */ + #include + } + + #include + + /* Star Labs EC */ + #include + + Scope (\_SB) + { + /* HID Driver */ + #include + + /* Suspend Methods */ + #include + } + + #include "acpi/mainboard.asl" +} diff --git a/src/mainboard/starlabs/adl/include/variants.h b/src/mainboard/starlabs/adl/include/variants.h new file mode 100644 index 0000000000..c95d15bd72 --- /dev/null +++ b/src/mainboard/starlabs/adl/include/variants.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef _BASEBOARD_VARIANTS_H_ +#define _BASEBOARD_VARIANTS_H_ + +#include + +/* + * The next set of functions return the gpio table and fill in the number of + * entries for each table. + */ +const struct pad_config *variant_gpio_table(size_t *num); +const struct pad_config *variant_early_gpio_table(size_t *num); + +void devtree_update(void); + +#endif /* _BASEBOARD_VARIANTS_H_ */ diff --git a/src/mainboard/starlabs/adl/mainboard.c b/src/mainboard/starlabs/adl/mainboard.c new file mode 100644 index 0000000000..1d2fceae53 --- /dev/null +++ b/src/mainboard/starlabs/adl/mainboard.c @@ -0,0 +1,22 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include +#include +#include + +static void init_mainboard(void *chip_info) +{ + const struct pad_config *pads; + size_t num; + + pads = variant_gpio_table(&num); + gpio_configure_pads(pads, num); + + devtree_update(); +} + +struct chip_operations mainboard_ops = { + .init = init_mainboard, +}; diff --git a/src/mainboard/starlabs/adl/spd/Makefile.mk b/src/mainboard/starlabs/adl/spd/Makefile.mk new file mode 100644 index 0000000000..f979c5a066 --- /dev/null +++ b/src/mainboard/starlabs/adl/spd/Makefile.mk @@ -0,0 +1,5 @@ +## SPDX-License-Identifier: GPL-2.0-only + +SPD_SOURCES = rs4g32l05d8fdb-5500 +SPD_SOURCES += rs4g32l05d8fdb-6400 +SPD_SOURCES += rs4g32l05d8fdb-7500 diff --git a/src/mainboard/starlabs/adl/spd/rs4g32l05d8fdb-5500.spd.hex b/src/mainboard/starlabs/adl/spd/rs4g32l05d8fdb-5500.spd.hex new file mode 100644 index 0000000000..a52441a71b --- /dev/null +++ b/src/mainboard/starlabs/adl/spd/rs4g32l05d8fdb-5500.spd.hex @@ -0,0 +1,32 @@ +23 10 13 0E 16 2A 91 08 00 00 00 00 09 01 00 00 +00 00 0B 00 00 00 00 00 AE 00 90 A8 90 C0 08 60 +04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 4B 00 50 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 20 20 20 20 20 20 20 +20 20 20 20 20 20 20 20 20 20 20 20 20 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/src/mainboard/starlabs/adl/spd/rs4g32l05d8fdb-6400.spd.hex b/src/mainboard/starlabs/adl/spd/rs4g32l05d8fdb-6400.spd.hex new file mode 100644 index 0000000000..0969d01568 --- /dev/null +++ b/src/mainboard/starlabs/adl/spd/rs4g32l05d8fdb-6400.spd.hex @@ -0,0 +1,32 @@ +23 10 13 0E 16 2A 91 08 00 00 00 00 09 01 00 00 +00 00 0A 00 00 00 00 00 AA 00 90 A8 90 C0 08 60 +04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 20 20 20 20 20 20 20 +20 20 20 20 20 20 20 20 20 20 20 20 20 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/src/mainboard/starlabs/adl/spd/rs4g32l05d8fdb-7500.spd.hex b/src/mainboard/starlabs/adl/spd/rs4g32l05d8fdb-7500.spd.hex new file mode 100644 index 0000000000..c132efab8c --- /dev/null +++ b/src/mainboard/starlabs/adl/spd/rs4g32l05d8fdb-7500.spd.hex @@ -0,0 +1,32 @@ +23 10 13 0E 16 2A 91 08 00 00 00 00 09 01 00 00 +00 00 08 00 00 00 00 00 AA 00 90 A8 90 C0 08 60 +04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 46 00 42 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 20 20 20 20 20 20 20 +20 20 20 20 20 20 20 20 20 20 20 20 20 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/src/mainboard/starlabs/adl/variants/hz/Makefile.mk b/src/mainboard/starlabs/adl/variants/hz/Makefile.mk new file mode 100644 index 0000000000..bfea7ef255 --- /dev/null +++ b/src/mainboard/starlabs/adl/variants/hz/Makefile.mk @@ -0,0 +1,12 @@ +## SPDX-License-Identifier: GPL-2.0-only + +bootblock-y += gpio.c + +romstage-y += romstage.c + +ramstage-y += devtree.c +ramstage-y += gpio.c +ramstage-y += hda_verb.c +ramstage-y += ramstage.c + +$(call add_vbt_to_cbfs, vbt_native_res.bin, data_native_res.vbt) diff --git a/src/mainboard/starlabs/adl/variants/hz/board.fmd b/src/mainboard/starlabs/adl/variants/hz/board.fmd new file mode 100644 index 0000000000..2197262237 --- /dev/null +++ b/src/mainboard/starlabs/adl/variants/hz/board.fmd @@ -0,0 +1,14 @@ +FLASH 0x1000000 { + SI_ALL 0x600000 { + SI_DESC 0x1000 + SI_ME 0x411000 + } + SI_BIOS 0xa00000 { + EC@0x0 0x20000 + RW_MRC_CACHE@0x20000 0x10000 + SMMSTORE@0x30000 0x80000 + CONSOLE@0xB0000 0x20000 + FMAP@0xD0000 0x1000 + COREBOOT(CBFS) + } +} diff --git a/src/mainboard/starlabs/adl/variants/hz/data.vbt b/src/mainboard/starlabs/adl/variants/hz/data.vbt new file mode 100644 index 0000000000000000000000000000000000000000..a2adefc8b2589fa70efa3937551bf02da294487d GIT binary patch literal 9216 zcmeHMUrbw782`?_Z7H=#H_&ys;ejn!aKNQ($Oy@9q2Ri~D1Sz}L_^0~mBF?dvl}y&bck6Ft%zo9ZSFFJLkLi z`_Aut-*-;WIrrZE!yQ9B&=c$$=m{L}stIn4>jsyckfsu}$zRu&E z*t7IU)#^>67-PHLO`6seIyW63_YKtY-igt%@pxk}e*VqriAf&r4DrC3Gx72G)amJX zj1LaK9N+@4#MN(NDd^l`iwniK)p39vC0z1H$G!ABdliPrV(FHI%pnP?DTBM#NlHnj{E( zLxC!fyv>Ld2uZ}iA!le+7ZU7VP1}`Z`i-XTgcqc)a=I?@E~f2DiQqQyCUfm%Z@{~p zw%b8umv%;Ozrq>O@7HO&G9rhxGjr{vudw?eZ6}(6HuOuYa!_FR`$juj?;q^)q&x4x zFr6qyOc2pCOyAV}Cv|Dly|~>)6X1*B_rV{4KLURW{tEmJ_*?LI;2*)if`0@53H}RQ z97ErV7_diHra-RmY3)CfN@b$hu9CZqj$ux!&i2_oGM1A>sZYum$YEU)wP!-SNBvmn zo@-E-i(Ir^beqkUJ)V-an%pCSn{H+2(I!>lMj-S(^7G+mp- zo+=1YprMf5GxmzS5N3FPg-7?SLtv)Z#`8t^vTv}Sa;2?S0aSz+`$>eKQ!wdaXsdby_u@IRw#Tkv@N+3Zp2WD17ZkVsddG5b8uLYb;E;>ADm4**xaM)!M{z|7^7uzOri#L8YgJj7;W( zpw;P1(b<^h?U!>v`k-Pm350(+Cy@u0a8eWqcAiHRH!CO+=DRev)+t(9KA8AF0>LP1 zmGePN@~vmJ(q?$yYOU8J_1Upd38zru0}js*{$JGU6g8+U>ha)ADo92l_cM1-cX%Xx z`dobc#Obr~C*Z;g@X?m3)Qe5bacqekk%dQBigW6EQWRw;c#XudRWMG>vd&!RTZ=VG zu1o1UbDeMP+(3Z2FC7@ATivh-;plym!tnb5`;cy^*nTWR7?O5wAaVb`$m^618l$;2 z+8(0iekR2KylyTgb_)ySQLI7-TTqx-8RR0lF0VpNrH;sv5X-Ufayk73E*96)OV1xE z$H0mK-iq4W$>|@f>26`PZ|s~O504|hcJjkqK4PLS^qkFIA=?jshTUe?Z?5d0OWBdh zl^l{b zk)fD)eHEn@win;~13ZHF$C6kf9hT zSH8geYWqCXXc9IW+TmFilmrXijGZ$NbQLyFj?Vl==vG*S=Ao;}(Jjv?q&qZ42g;(& zpQF3e%V^lXz`DtVFO|@V2Vuko{&|^^=}3@99GI1BekP$aPbp*+S-M5rK16PPiWE9q zf>FZ0%))eqX4Pt7TF=-*Ct}bYOXQ_~=wiYeY{j=#UXsx7FA;f3;E^8QsJqZAo0syS t@WqSR>#5aNpX2A%_b?_-eEP$Ku>N4{szB+fGz+4 literal 0 HcmV?d00001 diff --git a/src/mainboard/starlabs/adl/variants/hz/data_native_res.vbt b/src/mainboard/starlabs/adl/variants/hz/data_native_res.vbt new file mode 100644 index 0000000000000000000000000000000000000000..7e4f64ad7fd3cd3eafeb099eab9154b2b97e3e42 GIT binary patch literal 9216 zcmeHMUrbw782`?_ZRu)}ZlLRM!vkBe;DAfnkP(vI^3QdH(H2I!L_^0~mB^sdvk%42u&fri_cd08cgszFnOH*U7zcI~y zU3J`#b{ZtEbeVTeOiecO!1y?i2%8H$lDLqVdOHzsEOiN>6gh2-h`FdNMGyqt?IaI5 zNe6RWIZ7e}%)y0{a)l{2BA=5S-t~3Rri%NN1kNfrtr}T5Q4wC+l(8!#g4@8G%(s)R0q;u2 zZYPml+8O!n3TH&SUuEpdi5$|-%(s)i!tVQwou~%d&@QdYPJ!KT8|`Slf3Pc%?z{uT zOrjVuK}63meN*)x)um0(5_T6&fG>gH2Y&$m2>dDdOYqm=Z@}Mze*pgi{uTTu_%HB| zINDZ3hdr`u8sz$p*8U^ubT*3ZD!I$)IL4&v?3mpvV>v~X{-k1o9M&ySM>fQJl#hk( zxkh!l#6`;`x7l3z<0)CQ$vqOd=}~SRZBi8<6f^KpGT^HrMQzE0TF6lDVg0b(P*#|+ z^J%%ZIj7wCheZ{)EN?RpN_*K0luqB+VVHbnpT`-iv1(VfUdG%nWH(o%%7YP-Wt^I$ zd%4f3SVNHWI1t3#^k9Ve9?}C;t9j>IEd+1tWmRqkfM6$^KJ!}=qgXC_oqfdAu?%-JsQE4Lh|r#qnV6VR_Pkg^aV0$ zGk3@+jFLj4@O2o;$;JIZs28=YzA)vY>rUEd3m6aA>XOUh*%~c$b@v*AN>2$HnJffB ztJjxevvJKEmSaHrpkgoygnv0Ekq4EqQxphxUO*JLDk&M_yEV7gC2CndnD{>e!6<2y z<3SAatw*)eZg}5nYtW+&xxP>dyHMc+HqQ_KU)1RoGpIb~@nBCXNJb&oGk0HaXe4yz zd}93MnRAIJ;KmB@(O%Q(7n_;m_!2py3y z-ikUp$mt)e?QLbWf9$*;hsP0L2l-(xkC-TnE$4Dq%=W_{VYiv}n=Ak4Qm$w6C5NQ8 z>(;IyU$@QgjznAzx!>C6aTMJzW}ujXVg`yCC}yCTfno-V8TcPF(EgdSmtGkqG87Z9 zuVS>q_ThV<{3=Q*IHrG0#8qNGGAIgLX1&3cx|?@lVAGkG=I}Z1b;cGt5rghnA}@uZiwkS872j5QNkM<0ROBUzBR#xPccWG=FBRRw7cXLO opf+1Wo}bs=L!UVD=^H