diff options
Diffstat (limited to 'src')
24 files changed, 585 insertions, 519 deletions
diff --git a/src/drivers/intel/fsp2_0/Kconfig b/src/drivers/intel/fsp2_0/Kconfig index af0706ad96..3ffb402965 100644 --- a/src/drivers/intel/fsp2_0/Kconfig +++ b/src/drivers/intel/fsp2_0/Kconfig @@ -15,7 +15,7 @@ config PLATFORM_USES_FSP2_0 bool - select UEFI_2_4_BINDING + select UDK_2015_BINDING help Include FSP 2.0 wrappers and functionality diff --git a/src/drivers/intel/fsp2_0/debug.c b/src/drivers/intel/fsp2_0/debug.c index a0035694f1..f36f6de475 100644 --- a/src/drivers/intel/fsp2_0/debug.c +++ b/src/drivers/intel/fsp2_0/debug.c @@ -25,8 +25,8 @@ asmlinkage size_t fsp_write_line(uint8_t *buffer, size_t number_of_bytes) *----------- */ void fsp_debug_before_memory_init(fsp_memory_init_fn memory_init, - const struct FSPM_UPD *fspm_old_upd, - const struct FSPM_UPD *fspm_new_upd) + const FSPM_UPD *fspm_old_upd, + const FSPM_UPD *fspm_new_upd) { /* Display the MTRRs */ if (IS_ENABLED(CONFIG_DISPLAY_MTRRS)) @@ -44,7 +44,7 @@ void fsp_debug_before_memory_init(fsp_memory_init_fn memory_init, printk(BIOS_SPEW, "\t0x%p: &hob_list_ptr\n", fsp_get_hob_list_ptr()); } -void fsp_debug_after_memory_init(enum fsp_status status) +void fsp_debug_after_memory_init(uint32_t status) { if (IS_ENABLED(CONFIG_DISPLAY_FSP_CALLS_AND_STATUS)) printk(BIOS_SPEW, "FspMemoryInit returned 0x%08x\n", status); @@ -72,8 +72,8 @@ void fsp_debug_after_memory_init(enum fsp_status status) *----------- */ void fsp_debug_before_silicon_init(fsp_silicon_init_fn silicon_init, - const struct FSPS_UPD *fsps_old_upd, - const struct FSPS_UPD *fsps_new_upd) + const FSPS_UPD *fsps_old_upd, + const FSPS_UPD *fsps_new_upd) { /* Display the MTRRs */ if (IS_ENABLED(CONFIG_DISPLAY_MTRRS)) @@ -90,7 +90,7 @@ void fsp_debug_before_silicon_init(fsp_silicon_init_fn silicon_init, printk(BIOS_SPEW, "\t0x%p: upd\n", fsps_new_upd); } -void fsp_debug_after_silicon_init(enum fsp_status status) +void fsp_debug_after_silicon_init(uint32_t status) { if (IS_ENABLED(CONFIG_DISPLAY_FSP_CALLS_AND_STATUS)) printk(BIOS_SPEW, "FspSiliconInit returned 0x%08x\n", status); @@ -120,7 +120,7 @@ void fsp_before_debug_notify(fsp_notify_fn notify, printk(BIOS_SPEW, "\t0x%p: notify_params\n", notify_params); } -void fsp_debug_after_notify(enum fsp_status status) +void fsp_debug_after_notify(uint32_t status) { if (IS_ENABLED(CONFIG_DISPLAY_FSP_CALLS_AND_STATUS)) printk(BIOS_SPEW, "FspNotify returned 0x%08x\n", status); diff --git a/src/drivers/intel/fsp2_0/include/fsp/api.h b/src/drivers/intel/fsp2_0/include/fsp/api.h index a6228f2264..b0436e8290 100644 --- a/src/drivers/intel/fsp2_0/include/fsp/api.h +++ b/src/drivers/intel/fsp2_0/include/fsp/api.h @@ -14,33 +14,9 @@ #define _FSP2_0_API_H_ #include <stddef.h> -#include <fsp/info_header.h> -#include <soc/fsp/FspmUpd.h> -#include <soc/fsp/FspsUpd.h> +#include <fsp/soc_binding.h> -enum fsp_status { - FSP_SUCCESS = 0x00000000, - FSP_STATUS_RESET_REQUIRED_COLD = 0x40000001, - FSP_STATUS_RESET_REQUIRED_WARM = 0x40000002, - FSP_STATUS_RESET_REQUIRED_3 = 0x40000003, - FSP_STATUS_RESET_REQUIRED_4 = 0x40000004, - FSP_STATUS_RESET_REQUIRED_5 = 0x40000005, - FSP_STATUS_RESET_REQUIRED_6 = 0x40000006, - FSP_STATUS_RESET_REQUIRED_7 = 0x40000007, - FSP_STATUS_RESET_REQUIRED_8 = 0x40000008, - FSP_INVALID_PARAMETER = 0x80000002, - FSP_UNSUPPORTED = 0x80000003, - FSP_NOT_READY = 0x80000006, - FSP_DEVICE_ERROR = 0x80000007, - FSP_OUT_OF_RESOURCES = 0x80000009, - FSP_VOLUME_CORRUPTED = 0x8000000a, - FSP_NOT_FOUND = 0x8000000a, - FSP_TIMEOUT = 0x80000012, - FSP_ABORTED = 0x80000015, - FSP_INCOMPATIBLE_VERSION = 0x80000010, - FSP_SECURITY_VIOLATION = 0x8000001a, - FSP_CRC_ERROR = 0x8000001b, -}; +#define FSP_SUCCESS EFI_SUCCESS enum fsp_boot_mode { FSP_BOOT_WITH_FULL_CONFIGURATION = 0x00, @@ -64,8 +40,8 @@ void fsp_memory_init(bool s3wake); void fsp_silicon_init(void); /* Callbacks for updating stage-specific parameters */ -void platform_fsp_memory_init_params_cb(struct FSPM_UPD *mupd); -void platform_fsp_silicon_init_params_cb(struct FSPS_UPD *supd); +void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd); +void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd); /* Callback after processing FSP notify */ void platform_fsp_notify_status(enum fsp_notify_phase phase); diff --git a/src/drivers/intel/fsp2_0/include/fsp/debug.h b/src/drivers/intel/fsp2_0/include/fsp/debug.h index 2f1d806b25..ef7131e1c2 100644 --- a/src/drivers/intel/fsp2_0/include/fsp/debug.h +++ b/src/drivers/intel/fsp2_0/include/fsp/debug.h @@ -16,18 +16,18 @@ /* FSP debug API */ void fsp_debug_before_memory_init(fsp_memory_init_fn memory_init, - const struct FSPM_UPD *fspm_old_upd, - const struct FSPM_UPD *fspm_new_upd); -void fsp_debug_after_memory_init(enum fsp_status status); + const FSPM_UPD *fspm_old_upd, + const FSPM_UPD *fspm_new_upd); +void fsp_debug_after_memory_init(uint32_t status); void fsp_debug_before_silicon_init(fsp_silicon_init_fn silicon_init, - const struct FSPS_UPD *fsps_old_upd, - const struct FSPS_UPD *fsps_new_upd); -void fsp_debug_after_silicon_init(enum fsp_status status); + const FSPS_UPD *fsps_old_upd, + const FSPS_UPD *fsps_new_upd); +void fsp_debug_after_silicon_init(uint32_t status); void fsp_before_debug_notify(fsp_notify_fn notify, const struct fsp_notify_params *notify_params); -void fsp_debug_after_notify(enum fsp_status status); -void fspm_display_upd_values(const struct FSPM_UPD *old, - const struct FSPM_UPD *new); +void fsp_debug_after_notify(uint32_t status); +void fspm_display_upd_values(const FSPM_UPD *old, + const FSPM_UPD *new); void fsp_display_hobs(void); void fsp_verify_memory_init_hobs(void); void fsp_print_header_info(const struct fsp_header *hdr); @@ -35,10 +35,10 @@ void fsp_print_header_info(const struct fsp_header *hdr); /* Callbacks for displaying UPD parameters - place in a separate file * that is conditionally build with CONFIG_DISPLAY_UPD_DATA. */ -void soc_display_fspm_upd_params(const struct FSPM_UPD *fspm_old_upd, - const struct FSPM_UPD *fspm_new_upd); -void soc_display_fsps_upd_params(const struct FSPS_UPD *fsps_old_upd, - const struct FSPS_UPD *fsps_new_upd); +void soc_display_fspm_upd_params(const FSPM_UPD *fspm_old_upd, + const FSPM_UPD *fspm_new_upd); +void soc_display_fsps_upd_params(const FSPS_UPD *fsps_old_upd, + const FSPS_UPD *fsps_new_upd); /* Callbacks for displaying HOBs - place in a separate file that is * conditionally build with CONFIG_DISPLAY_HOBS. diff --git a/src/drivers/intel/fsp2_0/include/fsp/soc_binding.h b/src/drivers/intel/fsp2_0/include/fsp/soc_binding.h new file mode 100644 index 0000000000..6369986d2a --- /dev/null +++ b/src/drivers/intel/fsp2_0/include/fsp/soc_binding.h @@ -0,0 +1,30 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2015 Google Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef _FSP2_0_SOC_BINDING_H_ +#define _FSP2_0_SOC_BINDING_H_ + +#pragma pack(push) +/* + * This file is a implementation specific header. i.e. different + * FSP implementations for different chipsets. + */ +#include <Base.h> +#include <soc/fsp/FspmUpd.h> +#include <soc/fsp/FspsUpd.h> + +#pragma pack(pop) + +#endif diff --git a/src/drivers/intel/fsp2_0/include/fsp/util.h b/src/drivers/intel/fsp2_0/include/fsp/util.h index 269bb02953..1c8dbba024 100644 --- a/src/drivers/intel/fsp2_0/include/fsp/util.h +++ b/src/drivers/intel/fsp2_0/include/fsp/util.h @@ -83,15 +83,15 @@ uintptr_t fsp_load_vbt(void); * SoC. If the requested status is not a reboot status or unhandled, this * function does nothing. */ -void fsp_handle_reset(enum fsp_status status); +void fsp_handle_reset(uint32_t status); /* SoC/chipset must provide this to handle platform-specific reset codes */ -void chipset_handle_reset(enum fsp_status status); +void chipset_handle_reset(uint32_t status); -typedef asmlinkage enum fsp_status (*fsp_memory_init_fn) +typedef asmlinkage uint32_t (*fsp_memory_init_fn) (void *raminit_upd, void **hob_list); -typedef asmlinkage enum fsp_status (*fsp_silicon_init_fn)(void *silicon_upd); -typedef asmlinkage enum fsp_status (*fsp_notify_fn)(struct fsp_notify_params *); +typedef asmlinkage uint32_t (*fsp_silicon_init_fn)(void *silicon_upd); +typedef asmlinkage uint32_t (*fsp_notify_fn)(struct fsp_notify_params *); #include <fsp/debug.h> #endif /* _FSP2_0_UTIL_H_ */ diff --git a/src/drivers/intel/fsp2_0/memory_init.c b/src/drivers/intel/fsp2_0/memory_init.c index 1957cdb952..d0a22ce297 100644 --- a/src/drivers/intel/fsp2_0/memory_init.c +++ b/src/drivers/intel/fsp2_0/memory_init.c @@ -103,7 +103,7 @@ static void do_fsp_post_memory_init(bool s3wake, uint32_t fsp_version) printk(BIOS_SPEW, "Romstage handoff structure not added!\n"); } -static void fsp_fill_mrc_cache(struct FSPM_ARCH_UPD *arch_upd, bool s3wake, +static void fsp_fill_mrc_cache(FSPM_ARCH_UPD *arch_upd, bool s3wake, uint32_t fsp_version) { const struct mrc_saved_data *mrc_cache; @@ -152,7 +152,7 @@ static enum cb_err check_region_overlap(const struct memranges *ranges, return CB_SUCCESS; } -static enum cb_err fsp_fill_common_arch_params(struct FSPM_ARCH_UPD *arch_upd, +static enum cb_err fsp_fill_common_arch_params(FSPM_ARCH_UPD *arch_upd, bool s3wake, uint32_t fsp_version, const struct memranges *memmap) { @@ -183,14 +183,14 @@ static enum cb_err fsp_fill_common_arch_params(struct FSPM_ARCH_UPD *arch_upd, static void do_fsp_memory_init(struct fsp_header *hdr, bool s3wake, const struct memranges *memmap) { - enum fsp_status status; + uint32_t status; fsp_memory_init_fn fsp_raminit; - struct FSPM_UPD fspm_upd, *upd; - struct FSPM_ARCH_UPD *arch_upd; + FSPM_UPD fspm_upd, *upd; + FSPM_ARCH_UPD *arch_upd; post_code(0x34); - upd = (struct FSPM_UPD *)(hdr->cfg_region_offset + hdr->image_base); + upd = (FSPM_UPD *)(hdr->cfg_region_offset + hdr->image_base); if (upd->FspUpdHeader.Signature != FSPM_UPD_SIGNATURE) { die("Invalid FSPM signature!\n"); diff --git a/src/drivers/intel/fsp2_0/notify.c b/src/drivers/intel/fsp2_0/notify.c index 9879de024d..840165375c 100644 --- a/src/drivers/intel/fsp2_0/notify.c +++ b/src/drivers/intel/fsp2_0/notify.c @@ -13,7 +13,6 @@ #include <arch/cpu.h> #include <bootstate.h> #include <console/console.h> -#include <fsp/api.h> #include <fsp/util.h> #include <soc/intel/common/util.h> #include <string.h> @@ -21,7 +20,7 @@ static void fsp_notify(enum fsp_notify_phase phase) { - enum fsp_status ret; + uint32_t ret; fsp_notify_fn fspnotify; struct fsp_notify_params notify_params = { .phase = phase }; diff --git a/src/drivers/intel/fsp2_0/silicon_init.c b/src/drivers/intel/fsp2_0/silicon_init.c index 562fec5844..b911553c2f 100644 --- a/src/drivers/intel/fsp2_0/silicon_init.c +++ b/src/drivers/intel/fsp2_0/silicon_init.c @@ -25,11 +25,11 @@ struct fsp_header fsps_hdr; static void do_silicon_init(struct fsp_header *hdr) { - struct FSPS_UPD upd, *supd; + FSPS_UPD upd, *supd; fsp_silicon_init_fn silicon_init; - enum fsp_status status; + uint32_t status; - supd = (struct FSPS_UPD *) (hdr->cfg_region_offset + hdr->image_base); + supd = (FSPS_UPD *) (hdr->cfg_region_offset + hdr->image_base); if (supd->FspUpdHeader.Signature != FSPS_UPD_SIGNATURE) { die("Invalid FSPS signature\n"); diff --git a/src/drivers/intel/fsp2_0/upd_display.c b/src/drivers/intel/fsp2_0/upd_display.c index 694a66e080..a588358ec1 100644 --- a/src/drivers/intel/fsp2_0/upd_display.c +++ b/src/drivers/intel/fsp2_0/upd_display.c @@ -51,15 +51,15 @@ static void fspm_display_arch_params(const struct FSPM_ARCH_UPD *old, /* Display the UPD parameters for MemoryInit */ __attribute__((weak)) void soc_display_fspm_upd_params( - const struct FSPM_UPD *fspm_old_upd, - const struct FSPM_UPD *fspm_new_upd) + const FSPM_UPD *fspm_old_upd, + const FSPM_UPD *fspm_new_upd) { printk(BIOS_SPEW, "UPD values for MemoryInit:\n"); hexdump(fspm_new_upd, sizeof(*fspm_new_upd)); } -void fspm_display_upd_values(const struct FSPM_UPD *old, - const struct FSPM_UPD *new) +void fspm_display_upd_values(const FSPM_UPD *old, + const FSPM_UPD *new) { /* Display the UPD data */ fspm_display_arch_params(&old->FspmArchUpd, &new->FspmArchUpd); @@ -68,8 +68,8 @@ void fspm_display_upd_values(const struct FSPM_UPD *old, /* Display the UPD parameters for SiliconInit */ __attribute__((weak)) void soc_display_fsps_upd_params( - const struct FSPS_UPD *fsps_old_upd, - const struct FSPS_UPD *fsps_new_upd) + const FSPS_UPD *fsps_old_upd, + const FSPS_UPD *fsps_new_upd) { printk(BIOS_SPEW, "UPD values for SiliconInit:\n"); hexdump(fsps_new_upd, sizeof(*fsps_new_upd)); diff --git a/src/drivers/intel/fsp2_0/util.c b/src/drivers/intel/fsp2_0/util.c index aaa239eec1..e7e4f1688e 100644 --- a/src/drivers/intel/fsp2_0/util.c +++ b/src/drivers/intel/fsp2_0/util.c @@ -92,13 +92,13 @@ enum cb_err fsp_validate_component(struct fsp_header *hdr, return CB_SUCCESS; } -static bool fsp_reset_requested(enum fsp_status status) +static bool fsp_reset_requested(uint32_t status) { return (status >= FSP_STATUS_RESET_REQUIRED_COLD && status <= FSP_STATUS_RESET_REQUIRED_8); } -void fsp_handle_reset(enum fsp_status status) +void fsp_handle_reset(uint32_t status) { if (!fsp_reset_requested(status)) return; diff --git a/src/mainboard/google/reef/romstage.c b/src/mainboard/google/reef/romstage.c index d7ec5b263b..aa1b18d2b8 100644 --- a/src/mainboard/google/reef/romstage.c +++ b/src/mainboard/google/reef/romstage.c @@ -162,7 +162,7 @@ static int get_mem_sku(void) return gpio_pullup_base2_value(pads, ARRAY_SIZE(pads)); } -void mainboard_memory_init_params(struct FSPM_UPD *memupd) +void mainboard_memory_init_params(FSPM_UPD *memupd) { int mem_sku = get_mem_sku(); diff --git a/src/mainboard/intel/amenia/romstage.c b/src/mainboard/intel/amenia/romstage.c index d08b343823..582c7542f6 100644 --- a/src/mainboard/intel/amenia/romstage.c +++ b/src/mainboard/intel/amenia/romstage.c @@ -17,7 +17,7 @@ #include <soc/romstage.h> #include <string.h> -#include <soc/fsp/FspmUpd.h> +#include <fsp/soc_binding.h> /* Channel 0 PHY to DUnit DQ mapping */ static const uint8_t swizzling_ch0_amenia[] = { @@ -43,7 +43,7 @@ static const uint8_t swizzling_ch3_amenia[] = { 17, 23, 19, 16, 21, 22, 20, 18, 31, 29, 26, 25, 28, 27, 24, 30, }; -static void amenia_fill_memory_params(struct FSP_M_CONFIG *cfg) +static void amenia_fill_memory_params(FSP_M_CONFIG *cfg) { cfg->Profile = 11; /* 0xB:LPDDR4_2400_24_22_22 */ cfg->DIMM0SPDAddress = 0; @@ -87,9 +87,9 @@ static void amenia_fill_memory_params(struct FSP_M_CONFIG *cfg) sizeof(swizzling_ch3_amenia)); } -void mainboard_memory_init_params(struct FSPM_UPD *memupd) +void mainboard_memory_init_params(FSPM_UPD *memupd) { - struct FSP_M_CONFIG *cfg = &memupd->FspmConfig; + FSP_M_CONFIG *cfg = &memupd->FspmConfig; cfg->Package = 1; /* 0x1:BGA */ cfg->MemoryDown = 1; diff --git a/src/mainboard/intel/apollolake_rvp/romstage.c b/src/mainboard/intel/apollolake_rvp/romstage.c index 0711501ee4..631adea496 100644 --- a/src/mainboard/intel/apollolake_rvp/romstage.c +++ b/src/mainboard/intel/apollolake_rvp/romstage.c @@ -18,7 +18,7 @@ #include <soc/romstage.h> #include <string.h> #include <fsp/api.h> -#include <soc/fsp/FspmUpd.h> +#include <fsp/soc_binding.h> static const uint8_t swizzling_rvp1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, @@ -45,7 +45,7 @@ static const uint8_t swizzling3_rvp2[] = { 15, 9, 11, 14, 12, 8, 13, 10, 26, 29, 24, 31, 25, 30, 27, 28, }; -static void rvp1_fill_memory_params(struct FSPM_UPD *mupd) +static void rvp1_fill_memory_params(FSPM_UPD *mupd) { mupd->FspmConfig.Profile = 33; mupd->FspmConfig.DIMM0SPDAddress = 0xa0; @@ -72,7 +72,7 @@ static void rvp1_fill_memory_params(struct FSPM_UPD *mupd) memcpy(mupd->FspmConfig.Ch3_Bit_swizzling, swizzling_rvp1, sizeof(swizzling_rvp1)); } -static void rvp2_fill_memory_params(struct FSPM_UPD *mupd) +static void rvp2_fill_memory_params(FSPM_UPD *mupd) { mupd->FspmConfig.Profile = 5; mupd->FspmConfig.DIMM0SPDAddress = 0; @@ -103,7 +103,7 @@ static void rvp2_fill_memory_params(struct FSPM_UPD *mupd) sizeof(swizzling3_rvp2)); } -void mainboard_memory_init_params(struct FSPM_UPD *mupd) +void mainboard_memory_init_params(FSPM_UPD *mupd) { mupd->FspmConfig.Package = 0; mupd->FspmConfig.MemoryDown = 1; diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c index 1b109d0c93..9cec08dcec 100644 --- a/src/soc/intel/apollolake/chip.c +++ b/src/soc/intel/apollolake/chip.c @@ -231,7 +231,7 @@ static void soc_final(void *data) global_reset_lock(); } -static void disable_dev(struct device *dev, struct FSP_S_CONFIG *silconfig) { +static void disable_dev(struct device *dev, FSP_S_CONFIG *silconfig) { switch (dev->path.pci.devfn) { case ISH_DEVFN: @@ -335,7 +335,7 @@ static void disable_dev(struct device *dev, struct FSP_S_CONFIG *silconfig) { } } -static void parse_devicetree(struct FSP_S_CONFIG *silconfig) +static void parse_devicetree(FSP_S_CONFIG *silconfig) { struct device *dev = NB_DEV_ROOT; @@ -350,9 +350,9 @@ static void parse_devicetree(struct FSP_S_CONFIG *silconfig) } } -void platform_fsp_silicon_init_params_cb(struct FSPS_UPD *silupd) +void platform_fsp_silicon_init_params_cb(FSPS_UPD *silupd) { - struct FSP_S_CONFIG *silconfig = &silupd->FspsConfig; + FSP_S_CONFIG *silconfig = &silupd->FspsConfig; static struct soc_intel_apollolake_config *cfg; /* Load VBT before devicetree-specific config. */ diff --git a/src/soc/intel/apollolake/include/FspUpd.h b/src/soc/intel/apollolake/include/FspUpd.h new file mode 100644 index 0000000000..a7114ce39e --- /dev/null +++ b/src/soc/intel/apollolake/include/FspUpd.h @@ -0,0 +1,48 @@ +/** @file + +Copyright (c) 2016, Intel Corporation. All rights reserved.<BR> + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +* Neither the name of Intel Corporation nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + THE POSSIBILITY OF SUCH DAMAGE. + + This file is automatically generated. Please do NOT modify !!! + +**/ + +#ifndef __FSPUPD_H__ +#define __FSPUPD_H__ + +#include <FspEas.h> + +#pragma pack(push, 1) + +#define FSPT_UPD_SIGNATURE 0x545F4450554C5041 /* 'APLUPD_T' */ + +#define FSPM_UPD_SIGNATURE 0x4D5F4450554C5041 /* 'APLUPD_M' */ + +#define FSPS_UPD_SIGNATURE 0x535F4450554C5041 /* 'APLUPD_S' */ + +#pragma pack(pop) + +#endif diff --git a/src/soc/intel/apollolake/include/soc/fsp/FspUpd.h b/src/soc/intel/apollolake/include/soc/fsp/FspUpd.h index 4d865f5e8d..a7114ce39e 100644 --- a/src/soc/intel/apollolake/include/soc/fsp/FspUpd.h +++ b/src/soc/intel/apollolake/include/soc/fsp/FspUpd.h @@ -33,10 +33,16 @@ are permitted provided that the following conditions are met: #ifndef __FSPUPD_H__ #define __FSPUPD_H__ +#include <FspEas.h> + +#pragma pack(push, 1) + #define FSPT_UPD_SIGNATURE 0x545F4450554C5041 /* 'APLUPD_T' */ #define FSPM_UPD_SIGNATURE 0x4D5F4450554C5041 /* 'APLUPD_M' */ #define FSPS_UPD_SIGNATURE 0x535F4450554C5041 /* 'APLUPD_S' */ +#pragma pack(pop) + #endif diff --git a/src/soc/intel/apollolake/include/soc/fsp/FspmUpd.h b/src/soc/intel/apollolake/include/soc/fsp/FspmUpd.h index 88d4c42017..48225e0779 100644 --- a/src/soc/intel/apollolake/include/soc/fsp/FspmUpd.h +++ b/src/soc/intel/apollolake/include/soc/fsp/FspmUpd.h @@ -33,87 +33,89 @@ are permitted provided that the following conditions are met: #ifndef __FSPMUPD_H__ #define __FSPMUPD_H__ -#include "FspUpd.h" -#include <fsp/upd.h> +#include <FspUpd.h> + +#pragma pack(push, 1) + #define MAX_CHANNELS_NUM 4 #define MAX_DIMMS_NUM 1 -struct DIMM_INFO { - uint8_t DimmId; - uint32_t SizeInMb; - uint16_t MfgId; +typedef struct { + UINT8 DimmId; + UINT32 SizeInMb; + UINT16 MfgId; /** Module part number for DRR3 is 18 bytes but DRR4 is 20 bytes as per JEDEC Spec, so reserving 20 bytes **/ - uint8_t ModulePartNum[20]; -} __attribute__((packed)); - -struct CHANNEL_INFO { - uint8_t ChannelId; - uint8_t DimmCount; - struct DIMM_INFO DimmInfo[MAX_DIMMS_NUM]; -} __attribute__((packed)); - -struct FSP_SMBIOS_MEMORY_INFO { - uint8_t Revision; - uint8_t DataWidth; + UINT8 ModulePartNum[20]; +} DIMM_INFO; + +typedef struct { + UINT8 ChannelId; + UINT8 DimmCount; + DIMM_INFO DimmInfo[MAX_DIMMS_NUM]; +} CHANNEL_INFO; + +typedef struct { + UINT8 Revision; + UINT8 DataWidth; /** As defined in SMBIOS 3.0 spec Section 7.18.2 and Table 75 **/ - uint16_t MemoryType; - uint16_t MemoryFrequencyInMHz; + UINT16 MemoryType; + UINT16 MemoryFrequencyInMHz; /** As defined in SMBIOS 3.0 spec Section 7.17.3 and Table 72 **/ - uint8_t ErrorCorrectionType; - uint8_t ChannelCount; - struct CHANNEL_INFO ChannelInfo[MAX_CHANNELS_NUM]; -} __attribute__((packed)); + UINT8 ErrorCorrectionType; + UINT8 ChannelCount; + CHANNEL_INFO ChannelInfo[MAX_CHANNELS_NUM]; +} FSP_SMBIOS_MEMORY_INFO; /** Fsp M Configuration **/ -struct FSP_M_CONFIG { +typedef struct { /** Offset 0x0040 - Debug Serial Port Base address Debug serial port base address. This option will be used only when the 'Serial Port Debug Device' option is set to 'External Device'. 0x00000000(Default). **/ - uint32_t SerialDebugPortAddress; + UINT32 SerialDebugPortAddress; /** Offset 0x0044 - Debug Serial Port Type 16550 compatible debug serial port resource type. NONE means no serial port support. 0x02:MMIO(Default). 0:NONE, 1:I/O, 2:MMIO **/ - uint8_t SerialDebugPortType; + UINT8 SerialDebugPortType; /** Offset 0x0045 - Serial Port Debug Device Select active serial port device for debug. For SOC UART devices,'Debug Serial Port Base' options will be ignored. 0x02:SOC UART2(Default). 0:SOC UART0, 1:SOC UART1, 2:SOC UART2, 3:External Device **/ - uint8_t SerialDebugPortDevice; + UINT8 SerialDebugPortDevice; /** Offset 0x0046 - Debug Serial Port Stride Size Debug serial port register map stride size in bytes. 0x00:1, 0x02:4(Default). 0:1, 2:4 **/ - uint8_t SerialDebugPortStrideSize; + UINT8 SerialDebugPortStrideSize; /** Offset 0x0047 - Memory Fast Boot Enable/Disable MRC fast boot support. 0x00:Disable, 0x01:Enable(Default). $EN_DIS **/ - uint8_t MrcFastBoot; + UINT8 MrcFastBoot; /** Offset 0x0048 - Integrated Graphics Device Enable : Enable Integrated Graphics Device (IGD) when selected as the Primary Video Adaptor. Disable: Always disable IGD. 0x00:Disable, 0x01:Enable(Default). $EN_DIS **/ - uint8_t Igd; + UINT8 Igd; /** Offset 0x0049 - DVMT Pre-Allocated Select DVMT 5.0 Pre-Allocated (Fixed) Graphics Memory size used by the Internal @@ -122,35 +124,35 @@ struct FSP_M_CONFIG { MB, 0x09:288 MB, 0x0A:320 MB, 0x0B:352 MB, 0x0C:384 MB, 0x0D:416 MB, 0x0E:448 MB, 0x0F:480 MB, 0x10:512 MB **/ - uint8_t IgdDvmt50PreAlloc; + UINT8 IgdDvmt50PreAlloc; /** Offset 0x004A - Aperture Size Select the Aperture Size used by the Internal Graphics Device. 0x1:128 MB(Default), 0x2:256 MB, 0x3:512 MB. 0x1:128 MB, 0x2:256 MB, 0x3:512 MB **/ - uint8_t IgdApertureSize; + UINT8 IgdApertureSize; /** Offset 0x004B - GTT Size Select the GTT Size used by the Internal Graphics Device. 0x1:2 MB, 0x2:4 MB, 0x3:8 MB(Default). 0x1:2 MB, 0x2:4 MB, 0x3:8 MB **/ - uint8_t GttSize; + UINT8 GttSize; /** Offset 0x004C - Primary Display Select which of IGD/PCI Graphics device should be Primary Display. 0x0:AUTO(Default), 0x2:IGD, 0x3:PCI 0x0:AUTO, 0x2:IGD, 0x3:PCI **/ - uint8_t PrimaryVideoAdaptor; + UINT8 PrimaryVideoAdaptor; /** Offset 0x004D - Package NOTE: First option is CoPOP if LPDDR3/LPDDR4 is being used. It is SODIMM if DDR3L is being used. 0x00(Default). 0x0:CoPop, 0x1:BGA, 0x2:LP3 ACRD **/ - uint8_t Package; + UINT8 Package; /** Offset 0x004E - Profile Profile list. 0x19(Default). @@ -167,127 +169,127 @@ struct FSP_M_CONFIG { 0x29:DDR4_2133_14_14_14, 0x2A:DDR4_2133_15_15_15, 0x2B:DDR4_2133_16_16_16, 0x2C:DDR4_2400_15_15_15, 0x2D:DDR4_2400_16_16_16, 0x2E:DDR4_2400_17_17_17, 0x2F:DDR4_2400_18_18_18 **/ - uint8_t Profile; + UINT8 Profile; /** Offset 0x004F - MemoryDown Memory Down. 0x0(Default). 0x0:No, 0x1:Yes, 0x2:1MD+SODIMM (for DDR3L only) ACRD, 0x3:1x32 LPDDR4 **/ - uint8_t MemoryDown; + UINT8 MemoryDown; /** Offset 0x0050 - DDR3LPageSize NOTE: Only for memory down or downgrade DDR3L frequency. 0x01:1KB(Default), 0x02:2KB. 0x1:1KB, 0x2:2KB **/ - uint8_t DDR3LPageSize; + UINT8 DDR3LPageSize; /** Offset 0x0051 - DDR3LASR NOTE: Only for memory down. 0x00:Not Supported(Default), 0x01:Supported. 0x0:Not Supported, 0x1:Supported **/ - uint8_t DDR3LASR; + UINT8 DDR3LASR; /** Offset 0x0052 - ScramblerSupport Scrambler Support. 0x00:Not Supported, 0x01:Supported(Default). $EN_DIS **/ - uint8_t ScramblerSupport; + UINT8 ScramblerSupport; /** Offset 0x0053 - ChannelHashMask Channel Hash Mask. 0x00(Default). **/ - uint16_t ChannelHashMask; + UINT16 ChannelHashMask; /** Offset 0x0055 - SliceHashMask Slice Hash Mask. 0x00(Default). **/ - uint16_t SliceHashMask; + UINT16 SliceHashMask; /** Offset 0x0057 - InterleavedMode Interleaved Mode. 0x00:Disable(Default), 0x02:Enable. 0x0:Disable, 0x2:Enable **/ - uint8_t InterleavedMode; + UINT8 InterleavedMode; /** Offset 0x0058 - ChannelsSlicesEnable Channels Slices Enable. 0x00:Disable(Default), 0x01:Enable. $EN_DIS **/ - uint8_t ChannelsSlicesEnable; + UINT8 ChannelsSlicesEnable; /** Offset 0x0059 - MinRefRate2xEnable Provided as a means to defend against Row-Hammer attacks. 0x00:Disable(Default), 0x01:Enable. $EN_DIS **/ - uint8_t MinRefRate2xEnable; + UINT8 MinRefRate2xEnable; /** Offset 0x005A - DualRankSupportEnable Dual Rank Support Enable. 0x00:Disable, 0x01:Enable(Default). $EN_DIS **/ - uint8_t DualRankSupportEnable; + UINT8 DualRankSupportEnable; /** Offset 0x005B - RmtMode Rank Margin Tool Mode. 0x00(Default). $EN_DIS **/ - uint8_t RmtMode; + UINT8 RmtMode; /** Offset 0x005C - MemorySizeLimit Memory Size Limit: This value is used to restrict the total amount of memory and the calculations based on it. Value is in MB. Example encodings are: 0x400 = 1GB, 0x800 = 2GB, 0x1000 = 4GB, 0x2000 8GB. 0x0000(Default) **/ - uint16_t MemorySizeLimit; + UINT16 MemorySizeLimit; /** Offset 0x005E - LowMemoryMaxValue Low Memory Max Value: This value is used to restrict the amount of memory below 4GB and the calculations based on it. Value is in MB.Example encodings are: 0x400 = 1GB, 0x800 = 2GB, 0x1000 = 4GB, 0x2000 8GB. 0x0000(Default). **/ - uint16_t LowMemoryMaxValue; + UINT16 LowMemoryMaxValue; /** Offset 0x0060 - DisableFastBoot 00:Disabled Used saved training data (if valid)(Default), 01:Enabled; Full re-train of memory. $EN_DIS **/ - uint8_t DisableFastBoot; + UINT8 DisableFastBoot; /** Offset 0x0061 - HighMemoryMaxValue High Memory Max Value: This value is used to restrict the amount of memory above 4GB and the calculations based on it. Value is in MB. Example encodings are: 0x0400:1GB, 0x0800:2GB, 0x1000:4GB, 0x2000:8GB. 0x00(Default). **/ - uint16_t HighMemoryMaxValue; + UINT16 HighMemoryMaxValue; /** Offset 0x0063 - DIMM0SPDAddress DIMM0 SPD Address (NOTE: Only for DDR3L only. Please put 0 for MemoryDown. 0xA0(Default). **/ - uint8_t DIMM0SPDAddress; + UINT8 DIMM0SPDAddress; /** Offset 0x0064 - DIMM1SPDAddress DIMM1 SPD Address (NOTE: Only for DDR3L only. Please put 0 for MemoryDown. 0xA4(Default). **/ - uint8_t DIMM1SPDAddress; + UINT8 DIMM1SPDAddress; /** Offset 0x0065 - Ch0_RankEnable NOTE: Only for memory down. Set to 1 to enable Ch0 rank. 0x00(Default). **/ - uint8_t Ch0_RankEnable; + UINT8 Ch0_RankEnable; /** Offset 0x0066 - Ch0_DeviceWidth NOTE: Only for memory down. DRAM Device Data Width populated on Ranks 0 and 1. 0x00(Default). 0b0000:x8, 0b0001:x16, 0b0010:x32, 0b0011:x64 **/ - uint8_t Ch0_DeviceWidth; + UINT8 Ch0_DeviceWidth; /** Offset 0x0067 - Ch0_DramDensity NOTE: Only for memory down. DRAM Device Density populated on Ranks 0 and 1. 0x00(Default). 0b0000:4Gb, 0b0001:6Gb, 0b0010:8Gb, 0b0011:12Gb, 0b0100:16Gb **/ - uint8_t Ch0_DramDensity; + UINT8 Ch0_DramDensity; /** Offset 0x0068 - Ch0_Option Rank Select Interleaving Enable. See Address Mapping section for full description. @@ -297,22 +299,22 @@ struct FSP_M_CONFIG { This register specifies the address mapping to be used: 00:1KB (A), 01:2KB (B). 0x03(Default). **/ - uint8_t Ch0_Option; + UINT8 Ch0_Option; /** Offset 0x0069 - Ch0_OdtConfig ODT configuration control. 0:WEAK_ODT_CONFIG(Default), 1:STRONG_ODT_CONFIG. **/ - uint8_t Ch0_OdtConfig; + UINT8 Ch0_OdtConfig; /** Offset 0x006A - Ch0_TristateClk1 Parameter used to determine whether to tristate CLK1. 0x00(Default). **/ - uint8_t Ch0_TristateClk1; + UINT8 Ch0_TristateClk1; /** Offset 0x006B - Ch0_Mode2N 2N Mode. 0x00(Default). **/ - uint8_t Ch0_Mode2N; + UINT8 Ch0_Mode2N; /** Offset 0x006C - Ch0_OdtLevels Rank Select Interleaving Enable. See Address Mapping section for full description. @@ -321,24 +323,24 @@ struct FSP_M_CONFIG { 0:Bank Address Hashing disabled, 1:Bank Address Hashing enabled. [3:2] Reserved. [5:4] This register specifies the address mapping to be used:00:1KB (A), 01:2KB (B). **/ - uint8_t Ch0_OdtLevels; + UINT8 Ch0_OdtLevels; /** Offset 0x006D - Ch1_RankEnable NOTE: Only for memory down. Set to 1 to enable Ch1 rank. **/ - uint8_t Ch1_RankEnable; + UINT8 Ch1_RankEnable; /** Offset 0x006E - Ch1_DeviceWidth NOTE: Only for memory down. DRAM Device Data Width populated on Ranks 0 and 1. 0x00(Default). 0b0000:x8, 0b0001:x16, 0b0010:x32, 0b0011:x64 **/ - uint8_t Ch1_DeviceWidth; + UINT8 Ch1_DeviceWidth; /** Offset 0x006F - Ch1_DramDensity NOTE: Only for memory down. DRAM Device Density populated on Ranks 0 and 1. 0x00:4Gb(Default). 0b0000:4Gb, 0b0001:6Gb, 0b0010:8Gb, 0b0011:12Gb, 0b0100:16Gb **/ - uint8_t Ch1_DramDensity; + UINT8 Ch1_DramDensity; /** Offset 0x0070 - Ch1_Option Rank Select Interleaving Enable. See Address Mapping section for full description. @@ -348,45 +350,45 @@ struct FSP_M_CONFIG { [5:4] This register specifies the address mapping to be used: 00:1KB (A), 01:2KB (B), 0x03(Default). **/ - uint8_t Ch1_Option; + UINT8 Ch1_Option; /** Offset 0x0071 - Ch1_OdtConfig ODT configuration control. 0:WEAK_ODT_CONFIG(Default), 1:STRONG_ODT_CONFIG. **/ - uint8_t Ch1_OdtConfig; + UINT8 Ch1_OdtConfig; /** Offset 0x0072 - Ch1_TristateClk1 Parameter used to determine whether to tristate CLK1. 0x00(Default). **/ - uint8_t Ch1_TristateClk1; + UINT8 Ch1_TristateClk1; /** Offset 0x0073 - Ch1_Mode2N 2N Mode. 0x00(Default). **/ - uint8_t Ch1_Mode2N; + UINT8 Ch1_Mode2N; /** Offset 0x0074 - Ch1_OdtLevels Parameter used to determine if ODT will be held high or low. 0:Use MRC default(Default), 1:ODT_AB_HIGH_HIGH. 3:ODT_AB_HIGH_LOW. **/ - uint8_t Ch1_OdtLevels; + UINT8 Ch1_OdtLevels; /** Offset 0x0075 - Ch2_RankEnable NOTE: Only for memory down. Set to 1 to enable Ch2 rank. **/ - uint8_t Ch2_RankEnable; + UINT8 Ch2_RankEnable; /** Offset 0x0076 - Ch2_DeviceWidth NOTE: Only for memory down. DRAM Device Data Width populated on Ranks 0 and 1. 0b0000:x8, 0b0001:x16, 0b0010:x32, 0b0011:x64 **/ - uint8_t Ch2_DeviceWidth; + UINT8 Ch2_DeviceWidth; /** Offset 0x0077 - Ch2_DramDensity NOTE: Only for memory down. DRAM Device Density populated on Ranks 0 and 1. 0x00(Default). 0b0000:4Gb, 0b0001:6Gb, 0b0010:8Gb, 0b0011:12Gb, 0b0100:16Gb **/ - uint8_t Ch2_DramDensity; + UINT8 Ch2_DramDensity; /** Offset 0x0078 - Ch2_Option Rank Select Interleaving Enable. See Address Mapping section for full description.. @@ -396,47 +398,47 @@ struct FSP_M_CONFIG { [5:4] This register specifies the address mapping to be used:. 00:1KB (A)(Default). 01:2KB (B). **/ - uint8_t Ch2_Option; + UINT8 Ch2_Option; /** Offset 0x0079 - Ch2_OdtConfig ODT configuration control. 0:WEAK_ODT_CONFIG(Default), 1:STRONG_ODT_CONFIG. **/ - uint8_t Ch2_OdtConfig; + UINT8 Ch2_OdtConfig; /** Offset 0x007A - Ch2_TristateClk1 Parameter used to determine whether to tristate CLK1. 0x00(Default). **/ - uint8_t Ch2_TristateClk1; + UINT8 Ch2_TristateClk1; /** Offset 0x007B - Ch2_Mode2N 2N Mode. 0x00(Default). **/ - uint8_t Ch2_Mode2N; + UINT8 Ch2_Mode2N; /** Offset 0x007C - Ch2_OdtLevels Parameter used to determine if ODT will be held high or low. 0:Use MRC default(Default), 1:ODT_AB_HIGH_HIGH, 3:ODT_AB_HIGH_LOW. **/ - uint8_t Ch2_OdtLevels; + UINT8 Ch2_OdtLevels; /** Offset 0x007D - Ch3_RankEnable NOTE: Only for memory down. Set to 1 to enable Ch3 rank. 0x00(Default). **/ - uint8_t Ch3_RankEnable; + UINT8 Ch3_RankEnable; /** Offset 0x007E - Ch3_DeviceWidth NOTE: Only for memory down. DRAM Device Data Width populated on Ranks 0 and 1. 0x00:x8(Default), 0x01:x16, 0x02:x32, 0x03:x64. 0b0000:x8, 0b0001:x16, 0b0010:x32, 0b0011:x64 **/ - uint8_t Ch3_DeviceWidth; + UINT8 Ch3_DeviceWidth; /** Offset 0x007F - Ch3_DramDensity NOTE: Only for memory down. DRAM Device Density populated on Ranks 0 and 1. 0x00:4Gb(Default), 0x01:6Gb, 0x02:8Gb, 0x03:12Gb, 0x04:16Gb. 0b0000:4Gb, 0b0001:6Gb, 0b0010:8Gb, 0b0011:12Gb, 0b0100:16Gb **/ - uint8_t Ch3_DramDensity; + UINT8 Ch3_DramDensity; /** Offset 0x0080 - Ch3_Option Rank Select Interleaving Enable. See Address Mapping section for full description.. @@ -446,272 +448,274 @@ struct FSP_M_CONFIG { [5:4] This register specifies the address mapping to be used:. 00 - 1KB (A). 01 - 2KB (B). **/ - uint8_t Ch3_Option; + UINT8 Ch3_Option; /** Offset 0x0081 - Ch3_OdtConfig ODT configuration control.. 0:WEAK_ODT_CONFIG(Default). 1:STRONG_ODT_CONFIG. **/ - uint8_t Ch3_OdtConfig; + UINT8 Ch3_OdtConfig; /** Offset 0x0082 - Ch3_TristateClk1 Parameter used to determine whether to tristate CLK1. 0x00(Default). **/ - uint8_t Ch3_TristateClk1; + UINT8 Ch3_TristateClk1; /** Offset 0x0083 - Ch3_Mode2N 2N Mode. 0x00(Default). **/ - uint8_t Ch3_Mode2N; + UINT8 Ch3_Mode2N; /** Offset 0x0084 - Ch3_OdtLevels Parameter used to determine if ODT will be held high or low. 0:Use MRC default(Default), 1:ODT_AB_HIGH_HIGH, 3:ODT_AB_HIGH_LOW. **/ - uint8_t Ch3_OdtLevels; + UINT8 Ch3_OdtLevels; /** Offset 0x0085 - RmtCheckRun RmtCheckRun: 0x00(Default). **/ - uint8_t RmtCheckRun; + UINT8 RmtCheckRun; /** Offset 0x0086 - Ch0_Bit_swizzling Channel 0 PHY to DUnit DQ mapping (only used if not 1-1 mapping)Range: 0-32. **/ - uint8_t Ch0_Bit_swizzling[32]; + UINT8 Ch0_Bit_swizzling[32]; /** Offset 0x00A6 - Ch1_Bit_swizzling Channel 1 PHY to DUnit DQ mapping (only used if not 1-1 mapping)Range: 0-32. **/ - uint8_t Ch1_Bit_swizzling[32]; + UINT8 Ch1_Bit_swizzling[32]; /** Offset 0x00C6 - Ch2_Bit_swizzling Channel 2 PHY to DUnit DQ mapping (only used if not 1-1 mapping)Range: 0-32. **/ - uint8_t Ch2_Bit_swizzling[32]; + UINT8 Ch2_Bit_swizzling[32]; /** Offset 0x00E6 - Ch3_Bit_swizzling Channel 3 PHY to DUnit DQ mapping (only used if not 1-1 mapping)Range: 0-32. **/ - uint8_t Ch3_Bit_swizzling[32]; + UINT8 Ch3_Bit_swizzling[32]; /** Offset 0x0106 - RmtMarginCheckScaleHighThreshold RmtMarginCheckScaleHighThreshold. 0x0000(Default). **/ - uint16_t RmtMarginCheckScaleHighThreshold; + UINT16 RmtMarginCheckScaleHighThreshold; /** Offset 0x0108 - MsgLevelMask MsgLevelMask. 0x00000000(Default). **/ - uint32_t MsgLevelMask; + UINT32 MsgLevelMask; /** Offset 0x010C **/ - uint32_t UnusedUpdSpace0; + UINT32 UnusedUpdSpace0; /** Offset 0x0110 - PreMem GPIO Table Entry Number. Currently maximum entry number is 4 Number of Entries in PreMem GPIO Table. 0(Default). **/ - uint8_t PreMemGpioTableEntryNum; + UINT8 PreMemGpioTableEntryNum; /** Offset 0x0111 - PreMem GPIO Pin Number for each table Number of Pins in each PreMem GPIO Table. 0(Default). **/ - uint8_t PreMemGpioTablePinNum[4]; + UINT8 PreMemGpioTablePinNum[4]; /** Offset 0x0115 - PreMem GPIO Table Pointer Pointer to Array of pointers to PreMem GPIO Table. 0x00000000(Default). **/ - uint32_t PreMemGpioTablePtr; + UINT32 PreMemGpioTablePtr; /** Offset 0x0119 - Enhance the port 8xh decoding Enable/Disable Enhance the port 8xh decoding. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t EnhancePort8xhDecoding; + UINT8 EnhancePort8xhDecoding; /** Offset 0x011A - OEM File Loading Address Determine the memory base address to load a specified file from CSE file system after memory is available. **/ - uint32_t OemLoadingBase; + UINT32 OemLoadingBase; /** Offset 0x011E - OEM File Name to Load Specify a file name to load from CSE file system after memory is available. Empty indicates no file needs to be loaded. **/ - uint8_t OemFileName[16]; + UINT8 OemFileName[16]; /** Offset 0x012E - SPD Data Write Enable/Disable SPD data write on the SMBUS. 0x00:Disable(Default), 0x01:Enable. $EN_DIS **/ - uint8_t SpdWriteEnable; + UINT8 SpdWriteEnable; /** Offset 0x012F - MRC Training Data Saving Enable/Disable MRC training data saving in FSP. 0x00:Disable(Default), 0x01:Enable. $EN_DIS **/ - uint8_t MrcDataSaving; + UINT8 MrcDataSaving; /** Offset 0x0130 - eMMC Trace Length Select eMMC trace length to load OEM file from when loading OEM file name is specified. 0x0:Long(Default), 0x1:Short. 0x0:Long, 0x1:Short **/ - uint8_t eMMCTraceLen; + UINT8 eMMCTraceLen; /** Offset 0x0131 **/ - void* MrcBootDataPtr; + VOID* MrcBootDataPtr; /** Offset 0x0135 - Skip CSE RBP to support zero sized IBB Enable/Disable skip CSE RBP for bootloader which loads IBB without assistance of CSE. 0x00:Disable(Default), 0x01:Enable. $EN_DIS **/ - uint8_t SkipCseRbp; + UINT8 SkipCseRbp; /** Offset 0x0136 - Npk Enable Enable/Disable Npk. 0:Disable, 1:Enable, 2:Debugger, 3:Auto(Default). 0:Disable, 1:Enable, 2:Debugger, 3:Auto **/ - uint8_t NpkEn; + UINT8 NpkEn; /** Offset 0x0137 - FW Trace Enable Enable/Disable FW Trace. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t FwTraceEn; + UINT8 FwTraceEn; /** Offset 0x0138 - FW Trace Destination FW Trace Destination. 1-NPK_TRACE_TO_MEMORY, 2-NPK_TRACE_TO_DCI, 3-NPK_TRACE_TO_BSSB, 4-NPK_TRACE_TO_PTI(Default). **/ - uint8_t FwTraceDestination; + UINT8 FwTraceDestination; /** Offset 0x0139 - NPK Recovery Dump Enable/Disable NPK Recovery Dump. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t RecoverDump; + UINT8 RecoverDump; /** Offset 0x013A - Memory Region 0 Buffer WrapAround - Memory Region 0 Buffer WrapAround. 0-n0-wrap, 1-warp(Default). + Memory Region 0 Buffer WrapAround. 0-n0-warp, 1-warp(Default). **/ - uint8_t Msc0Wrap; + UINT8 Msc0Wrap; /** Offset 0x013B - Memory Region 1 Buffer WrapAround Memory Region 1 Buffer WrapAround. 0-n0-warp, 1-warp(Default). **/ - uint8_t Msc1Wrap; + UINT8 Msc1Wrap; /** Offset 0x013C - Memory Region 0 Buffer Size Memory Region 0 Buffer Size. 0-0MB(Default), 1-1MB, 2-8MB, 3-64MB, 4-128MB, 5-256MB, 6-512MB, 7-1GB. **/ - uint32_t Msc0Size; + UINT32 Msc0Size; /** Offset 0x0140 - Memory Region 1 Buffer Size Memory Region 1 Buffer Size, 0-0MB(Default), 1-1MB, 2-8MB, 3-64MB, 4-128MB, 5-256MB, 6-512MB, 7-1GB. **/ - uint32_t Msc1Size; + UINT32 Msc1Size; /** Offset 0x0144 - PTI Mode PTI Mode. 0-0ff, 1-x4(Default), 2-x8, 3-x12, 4-x16. **/ - uint8_t PtiMode; + UINT8 PtiMode; /** Offset 0x0145 - PTI Training PTI Training. 0-off(Default), 1-6=1-6. **/ - uint8_t PtiTraining; + UINT8 PtiTraining; /** Offset 0x0146 - PTI Speed PTI Speed. 0-full, 1-half, 2-quarter(Default). **/ - uint8_t PtiSpeed; + UINT8 PtiSpeed; /** Offset 0x0147 - Punit Message Level Punit Message Output Verbosity Level. 0, 1(Default), 2-4=2-4. **/ - uint8_t PunitMlvl; + UINT8 PunitMlvl; /** Offset 0x0148 - PMC Message Level PMC Message Output Verbosity Level. 0, 1(Default), 2-4=2-4. **/ - uint8_t PmcMlvl; + UINT8 PmcMlvl; /** Offset 0x0149 - SW Trace Enable Enable/Disable SW Trace. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t SwTraceEn; + UINT8 SwTraceEn; /** Offset 0x014A - Periodic Retraining Disable Option to disable LPDDR4 Periodic Retraining. 0x00:Disable(Default), 0x01:Enable. $EN_DIS **/ - uint8_t PeriodicRetrainingDisable; + UINT8 PeriodicRetrainingDisable; /** Offset 0x014B **/ - uint8_t ReservedFspmUpd[5]; -} __attribute__((packed)); + UINT8 ReservedFspmUpd[5]; +} FSP_M_CONFIG; /** Fsp M Test Configuration **/ -struct FSP_M_TEST_CONFIG { +typedef struct { /** Offset 0x0150 **/ - uint32_t Signature; + UINT32 Signature; /** Offset 0x0154 **/ - uint8_t ReservedFspmTestUpd[28]; -} __attribute__((packed)); + UINT8 ReservedFspmTestUpd[28]; +} FSP_M_TEST_CONFIG; /** Fsp M Restricted Configuration **/ -struct FSP_M_RESTRICTED_CONFIG { +typedef struct { /** Offset 0x0170 **/ - uint32_t Signature; + UINT32 Signature; /** Offset 0x0174 **/ - uint8_t ReservedFspmRestrictedUpd[138]; -} __attribute__((packed)); + UINT8 ReservedFspmRestrictedUpd[138]; +} FSP_M_RESTRICTED_CONFIG; /** Fsp M UPD Configuration **/ -struct FSPM_UPD { +typedef struct { /** Offset 0x0000 **/ - struct FSP_UPD_HEADER FspUpdHeader; + FSP_UPD_HEADER FspUpdHeader; /** Offset 0x0020 **/ - struct FSPM_ARCH_UPD FspmArchUpd; + FSPM_ARCH_UPD FspmArchUpd; /** Offset 0x0040 **/ - struct FSP_M_CONFIG FspmConfig; + FSP_M_CONFIG FspmConfig; /** Offset 0x0150 **/ - struct FSP_M_TEST_CONFIG FspmTestConfig; + FSP_M_TEST_CONFIG FspmTestConfig; /** Offset 0x0170 **/ - struct FSP_M_RESTRICTED_CONFIG FspmRestrictedConfig; + FSP_M_RESTRICTED_CONFIG FspmRestrictedConfig; /** Offset 0x01FE **/ - uint16_t UpdTerminator; -} __attribute__((packed)); + UINT16 UpdTerminator; +} FSPM_UPD; + +#pragma pack(pop) #endif diff --git a/src/soc/intel/apollolake/include/soc/fsp/FspsUpd.h b/src/soc/intel/apollolake/include/soc/fsp/FspsUpd.h index 26f70a7bbd..553eba3f18 100644 --- a/src/soc/intel/apollolake/include/soc/fsp/FspsUpd.h +++ b/src/soc/intel/apollolake/include/soc/fsp/FspsUpd.h @@ -33,516 +33,518 @@ are permitted provided that the following conditions are met: #ifndef __FSPSUPD_H__ #define __FSPSUPD_H__ -#include "FspUpd.h" -#include <fsp/upd.h> +#include <FspUpd.h> + +#pragma pack(push, 1) + /** Fsp S Configuration **/ -struct FSP_S_CONFIG { +typedef struct { /** Offset 0x0020 - ActiveProcessorCores Number of active cores. 0:Disable(Default), 1:Enable. **/ - uint8_t ActiveProcessorCores; + UINT8 ActiveProcessorCores; /** Offset 0x0021 - Disable Core1 Disable/Enable Core1. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t DisableCore1; + UINT8 DisableCore1; /** Offset 0x0022 - Disable Core2 Disable/Enable Core2. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t DisableCore2; + UINT8 DisableCore2; /** Offset 0x0023 - Disable Core3 Disable/Enable Core3. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t DisableCore3; + UINT8 DisableCore3; /** Offset 0x0024 - VMX Enable Enable or Disable VMX. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t VmxEnable; + UINT8 VmxEnable; /** Offset 0x0025 - Memory region allocation for Processor Trace Memory region allocation for Processor Trace, allowed range is from 4K (0x0) to 128MB (0xF); <b>0xFF: Disable. 0xFF:Disable(Default) **/ - uint8_t ProcTraceMemSize; + UINT8 ProcTraceMemSize; /** Offset 0x0026 - Enable Processor Trace Enable or Disable Processor Trace feature. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t ProcTraceEnable; + UINT8 ProcTraceEnable; /** Offset 0x0027 - Eist Enable or Disable Intel SpeedStep Technology. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t Eist; + UINT8 Eist; /** Offset 0x0028 - Boot PState Boot PState with HFM or LFM. 0:HFM(Default), 1:LFM. **/ - uint8_t BootPState; + UINT8 BootPState; /** Offset 0x0029 - CPU power states (C-states) Enable or Disable CPU power states (C-states). 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t EnableCx; + UINT8 EnableCx; /** Offset 0x002A - Enhanced C-states Enable or Disable Enhanced C-states. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t C1e; + UINT8 C1e; /** Offset 0x002B - Bi-Directional PROCHOT# Enable or Disable Bi-Directional PROCHOT#. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t BiProcHot; + UINT8 BiProcHot; /** Offset 0x002C - Max Pkg Cstate Max Pkg Cstate. 0:PkgC0C1, 1:PkgC2, 2:PkgC3(Default), 3:PkgC6, 4:PkgC7, 5:PkgC7s, 6:PkgC8, 7:PkgC9, 8:PkgC10, 9:PkgCMax, 254:PkgCpuDefault, 255:PkgAuto. **/ - uint8_t PkgCStateLimit; + UINT8 PkgCStateLimit; /** Offset 0x002D **/ - uint8_t UnusedUpdSpace0; + UINT8 UnusedUpdSpace0; /** Offset 0x002E - C-State auto-demotion C-State Auto Demotion. 0:Disable(Default) C1 and C3 Auto-demotion, 1:Enable C3/C6/C7 Auto-demotion to C1, 2:Enable C6/C7 Auto-demotion to C3, 3:Enable C6/C7 Auto-demotion to C1 and C3. **/ - uint8_t CStateAutoDemotion; + UINT8 CStateAutoDemotion; /** Offset 0x002F - C-State un-demotion C-State un-demotion. 0:Disable(Default) C1 and C3 Un-demotion, 1:Enable C1 Un-demotion, 2:Enable C3 Un-demotion, 3:Enable C1 and C3 Un-demotion. **/ - uint8_t CStateUnDemotion; + UINT8 CStateUnDemotion; /** Offset 0x0030 - Max Core C-State Max Core C-State. 0:Unlimited, 1:C1, 2:C3, 3:C6, 4:C7, 5:C8, 6:C9, 7:C10, 8:CCx(Default). **/ - uint8_t MaxCoreCState; + UINT8 MaxCoreCState; /** Offset 0x0031 - Package C-State Demotion Enable or Disable Package Cstate Demotion. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t PkgCStateDemotion; + UINT8 PkgCStateDemotion; /** Offset 0x0032 - Package C-State Un-demotion Enable or Disable Package Cstate UnDemotion. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t PkgCStateUnDemotion; + UINT8 PkgCStateUnDemotion; /** Offset 0x0033 - Turbo Mode Enable or Disable long duration Turbo Mode. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t TurboMode; + UINT8 TurboMode; /** Offset 0x0034 - SC HDA Verb Table Entry Number Number of Entries in Verb Table. 0(Default). **/ - uint8_t HdaVerbTableEntryNum; + UINT8 HdaVerbTableEntryNum; /** Offset 0x0035 - SC HDA Verb Table Pointer Pointer to Array of pointers to Verb Table. 0x00000000(Default). **/ - uint32_t HdaVerbTablePtr; + UINT32 HdaVerbTablePtr; /** Offset 0x0039 - Enable/Disable P2SB device hidden. Enable/Disable P2SB device hidden. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t P2sbUnhide; + UINT8 P2sbUnhide; /** Offset 0x003A - IPU Enable/Disable Enable/Disable IPU Device. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t IpuEn; + UINT8 IpuEn; /** Offset 0x003B - IMGU ACPI mode selection 0:Auto, 1:IGFX Child device(Default), 2:ACPI device. 0:Disable, 1:IGFX Child device, 2:ACPI device **/ - uint8_t IpuAcpiMode; + UINT8 IpuAcpiMode; /** Offset 0x003C - GttMmAdr GttMmAdr structure for initialization. 0xBF000000(Default). **/ - uint32_t GttMmAdr; + UINT32 GttMmAdr; /** Offset 0x0040 - GmAdr GmAdr structure for initialization. 0xA0000000(Default). **/ - uint32_t GmAdr; + UINT32 GmAdr; /** Offset 0x0044 - Enable ForceWake Enable/disable ForceWake Models. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t ForceWake; + UINT8 ForceWake; /** Offset 0x0045 - Enable PavpLock Enable/disable PavpLock. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t PavpLock; + UINT8 PavpLock; /** Offset 0x0046 - Enable GraphicsFreqModify Enable/disable GraphicsFreqModify. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t GraphicsFreqModify; + UINT8 GraphicsFreqModify; /** Offset 0x0047 - Enable GraphicsFreqReq Enable/disable GraphicsFreqReq. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t GraphicsFreqReq; + UINT8 GraphicsFreqReq; /** Offset 0x0048 - Enable GraphicsVideoFreq Enable/disable GraphicsVideoFreq. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t GraphicsVideoFreq; + UINT8 GraphicsVideoFreq; /** Offset 0x0049 - Enable PmLock Enable/disable PmLock. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t PmLock; + UINT8 PmLock; /** Offset 0x004A - Enable DopClockGating Enable/disable DopClockGating. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t DopClockGating; + UINT8 DopClockGating; /** Offset 0x004B - Enable UnsolicitedAttackOverride Enable/disable UnsolicitedAttackOverride. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t UnsolicitedAttackOverride; + UINT8 UnsolicitedAttackOverride; /** Offset 0x004C - Enable WOPCMSupport Enable/disable WOPCMSupport. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t WOPCMSupport; + UINT8 WOPCMSupport; /** Offset 0x004D - Enable WOPCMSize Enable/disable WOPCMSize. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t WOPCMSize; + UINT8 WOPCMSize; /** Offset 0x004E - Enable PowerGating Enable/disable PowerGating. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t PowerGating; + UINT8 PowerGating; /** Offset 0x004F - Enable UnitLevelClockGating Enable/disable UnitLevelClockGating. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t UnitLevelClockGating; + UINT8 UnitLevelClockGating; /** Offset 0x0050 - Enable FastBoot Enable/disable FastBoot. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t FastBoot; + UINT8 FastBoot; /** Offset 0x0051 - Enable DynSR Enable/disable DynSR. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t DynSR; + UINT8 DynSR; /** Offset 0x0052 - Enable SaIpuEnable Enable/disable SaIpuEnable. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t SaIpuEnable; + UINT8 SaIpuEnable; /** Offset 0x0053 - BMP Logo Data Size BMP logo data buffer size. 0x00000000(Default). **/ - uint32_t LogoSize; + UINT32 LogoSize; /** Offset 0x0057 - BMP Logo Data Pointer BMP logo data pointer to a BMP format buffer. 0x00000000(Default). **/ - uint32_t LogoPtr; + UINT32 LogoPtr; /** Offset 0x005B - Graphics Configuration Data Pointer Graphics configuration data used for initialization. 0x00000000(Default). **/ - uint32_t GraphicsConfigPtr; + UINT32 GraphicsConfigPtr; /** Offset 0x005F - GT PM Support Enable/Disable GT power management support. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t PmSupport; + UINT8 PmSupport; /** Offset 0x0060 - RC6(Render Standby) Enable/Disable render standby support. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t EnableRenderStandby; + UINT8 EnableRenderStandby; /** Offset 0x0061 - PAVP Enable Enable/Disable Protected Audio Visual Path (PAVP). 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t PavpEnable; + UINT8 PavpEnable; /** Offset 0x0062 - PAVP PR3 Enable/Disable PAVP PR3 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t PavpPr3; + UINT8 PavpPr3; /** Offset 0x0063 - CdClock Frequency selection 0:144MHz, 1:288MHz, 2:384MHz, 3:576MHz, 4:624MHz(Default). 0: 144 MHz, 1: 288 MHz, 2: 384 MHz, 3: 576 MHz, 4: 624 MHz **/ - uint8_t CdClock; + UINT8 CdClock; /** Offset 0x0064 - Enable/Disable PeiGraphicsPeimInit Enable/Disable PeiGraphicsPeimInit 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t PeiGraphicsPeimInit; + UINT8 PeiGraphicsPeimInit; /** Offset 0x0065 - Write Protection Support Enable/disable Write Protection. 0:Disable, 1:Enable(Default). **/ - uint8_t WriteProtectionEnable[5]; + UINT8 WriteProtectionEnable[5]; /** Offset 0x006A - Read Protection Support Enable/disable Read Protection. 0:Disable, 1:Enable(Default). **/ - uint8_t ReadProtectionEnable[5]; + UINT8 ReadProtectionEnable[5]; /** Offset 0x006F - Protected Range Limitation The address of the upper limit of protection, 0x0FFFh(Default). **/ - uint16_t ProtectedRangeLimit[5]; + UINT16 ProtectedRangeLimit[5]; /** Offset 0x0079 - Protected Range Base The base address of the upper limit of protection. 0x0000(Default). **/ - uint16_t ProtectedRangeBase[5]; + UINT16 ProtectedRangeBase[5]; /** Offset 0x0083 - Enable SC Gaussian Mixture Models Enable/disable SC Gaussian Mixture Models. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t Gmm; + UINT8 Gmm; /** Offset 0x0084 - GMM Clock Gating - PGCB Clock Trunk Enable/disable PGCB Clock Trunk. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t ClkGatingPgcbClkTrunk; + UINT8 ClkGatingPgcbClkTrunk; /** Offset 0x0085 - GMM Clock Gating - Sideband Enable/disable Sideband. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t ClkGatingSb; + UINT8 ClkGatingSb; /** Offset 0x0086 - GMM Clock Gating - Sideband Enable/disable Sideband. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t ClkGatingSbClkTrunk; + UINT8 ClkGatingSbClkTrunk; /** Offset 0x0087 - GMM Clock Gating - Sideband Clock Partition Enable/disable Sideband Clock Partition. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t ClkGatingSbClkPartition; + UINT8 ClkGatingSbClkPartition; /** Offset 0x0088 - GMM Clock Gating - Core Enable/disable Core. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t ClkGatingCore; + UINT8 ClkGatingCore; /** Offset 0x0089 - GMM Clock Gating - DMA Enable/disable DMA. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t ClkGatingDma; + UINT8 ClkGatingDma; /** Offset 0x008A - GMM Clock Gating - Register Access Enable/disable Register Access. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t ClkGatingRegAccess; + UINT8 ClkGatingRegAccess; /** Offset 0x008B - GMM Clock Gating - Host Enable/disable Host. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t ClkGatingHost; + UINT8 ClkGatingHost; /** Offset 0x008C - GMM Clock Gating - Partition Enable/disable Partition. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t ClkGatingPartition; + UINT8 ClkGatingPartition; /** Offset 0x008D - Clock Gating - Trunk Enable/disable Trunk. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t ClkGatingTrunk; + UINT8 ClkGatingTrunk; /** Offset 0x008E - HD Audio Support Enable/disable HDA Audio Feature. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t HdaEnable; + UINT8 HdaEnable; /** Offset 0x008F - HD Audio DSP Support Enable/disable HDA Audio DSP Feature. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t DspEnable; + UINT8 DspEnable; /** Offset 0x0090 - Azalia wake-on-ring Enable/disable Azalia wake-on-ring. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t Pme; + UINT8 Pme; /** Offset 0x0091 - HD-Audio I/O Buffer Ownership Set HD-Audio I/O Buffer Ownership. 0:HD-Audio link owns all the I/O buffers(Default) 0:HD-Audio link owns all the I/O buffers, 1:HD-Audio link owns 4 I/O buffers and I2S port owns 4 I/O buffers, 3:I2S port owns all the I/O buffers **/ - uint8_t HdAudioIoBufferOwnership; + UINT8 HdAudioIoBufferOwnership; /** Offset 0x0092 - HD-Audio I/O Buffer Voltage HD-Audio I/O Buffer Voltage Mode Selectiton . 0:3.3V(Default), 1:1.8V. 0: 3.3V, 1: 1.8V **/ - uint8_t HdAudioIoBufferVoltage; + UINT8 HdAudioIoBufferVoltage; /** Offset 0x0093 - HD-Audio Virtual Channel Type HD-Audio Virtual Channel Type Selectiton. 0:VC0(Default), 1:VC1. 0: VC0, 1: VC1 **/ - uint8_t HdAudioVcType; + UINT8 HdAudioVcType; /** Offset 0x0094 - HD-Audio Link Frequency HD-Audio Virtual Channel Type Selectiton. 0:6MHz(Default), 1:12MHz, 2:24MHz, 3:48MHz, 4:96MHz, 5:Invalid. 0: 6MHz, 1: 12MHz, 2: 24MHz, 3: 48MHz, 4: 96MHz, 5: Invalid **/ - uint8_t HdAudioLinkFrequency; + UINT8 HdAudioLinkFrequency; /** Offset 0x0095 - HD-Audio iDisp-Link Frequency HD-Audio iDisp-Link Frequency Selectiton. 0:6MHz(Default), 1:12MHz, 2:24MHz, 3:48MHz, 4:96MHz, 5:Invalid. 0: 6MHz, 1: 12MHz, 2: 24MHz, 3: 48MHz, 4: 96MHz, 5: Invalid **/ - uint8_t HdAudioIDispLinkFrequency; + UINT8 HdAudioIDispLinkFrequency; /** Offset 0x0096 - HD-Audio iDisp-Link T-Mode HD-Audio iDisp-Link T-Mode Selectiton. 0:2T(Default), 1:1T. 0: 2T, 1: 1T **/ - uint8_t HdAudioIDispLinkTmode; + UINT8 HdAudioIDispLinkTmode; /** Offset 0x0097 - HD-Audio Disp DMIC HD-Audio Disp DMIC Selectiton. 0:Disable, 1:2ch array(Default), 2:4ch array. 0: Disable, 1: 2ch array, 2: 4ch array **/ - uint8_t DspEndpointDmic; + UINT8 DspEndpointDmic; /** Offset 0x0098 - HD-Audio Bluetooth Enable/Disable HD-Audio bluetooth. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t DspEndpointBluetooth; + UINT8 DspEndpointBluetooth; /** Offset 0x0099 - HD-Audio I2S SHK Enable/Disable HD-Audio I2S SHK. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t DspEndpointI2sSkp; + UINT8 DspEndpointI2sSkp; /** Offset 0x009A - HD-Audio I2S HP Enable/Disable HD-Audio I2S HP. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t DspEndpointI2sHp; + UINT8 DspEndpointI2sHp; /** Offset 0x009B - HD-Audio Controller Power Gating Enable/Disable HD-Audio Controller Power Gating. This option is deprecated. $EN_DIS **/ - uint8_t AudioCtlPwrGate; + UINT8 AudioCtlPwrGate; /** Offset 0x009C - HD-Audio ADSP Power Gating Enable/Disable HD-Audio ADSP Power Gating. This option is deprecated. $EN_DIS **/ - uint8_t AudioDspPwrGate; + UINT8 AudioDspPwrGate; /** Offset 0x009D - HD-Audio CSME Memory Transfers Enable/Disable HD-Audio CSME Memory Transfers. 0:VC0(Default), 1:VC2. 0: VC0, 1: VC2 **/ - uint8_t Mmt; + UINT8 Mmt; /** Offset 0x009E - HD-Audio Host Memory Transfers Enable/Disable HD-Audio Host Memory Transfers. 0:VC0(Default), 1:VC2. 0: VC0, 1: VC2 **/ - uint8_t Hmt; + UINT8 Hmt; /** Offset 0x009F - HD-Audio BIOS Configuration Lock Down Enable/Disable HD-Audio BIOS Configuration Lock Down. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t BiosCfgLockDown; + UINT8 BiosCfgLockDown; /** Offset 0x00A0 - HD-Audio Power Gating Enable/Disable HD-Audio BIOS Configuration Lock Down. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t HDAudioPwrGate; + UINT8 HDAudioPwrGate; /** Offset 0x00A1 - HD-Audio Clock Gatingn Enable/Disable HD-Audio Clock Gating. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t HDAudioClkGate; + UINT8 HDAudioClkGate; /** Offset 0x00A2 - Bitmask of DSP Feature Set Bitmask of HD-Audio DSP Feature. 0x00000000(Default). @@ -550,7 +552,7 @@ struct FSP_S_CONFIG { - BT Intel A2DP, [BIT7] - DSP based speech pre-processing disabled, [BIT8] - 0: Intel WoV, 1: Windows Voice Activation **/ - uint32_t DspFeatureMask; + UINT32 DspFeatureMask; /** Offset 0x00A6 - Bitmask of supported DSP Post-Processing Modules Set HD-Audio Bitmask of supported DSP Post-Processing Modules. 0x00000000(Default). @@ -558,726 +560,726 @@ struct FSP_S_CONFIG { - BT Intel A2DP, [BIT7] - DSP based speech pre-processing disabled, [BIT8] - 0: Intel WoV, 1: Windows Voice Activation **/ - uint32_t DspPpModuleMask; + UINT32 DspPpModuleMask; /** Offset 0x00AA - Enable High Precision Timer Enable/Disable Hpet. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t Hpet; + UINT8 Hpet; /** Offset 0x00AB - Hpet Valid BDF Value Enable/Disable Hpet Valid BDF Value. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t HpetBdfValid; + UINT8 HpetBdfValid; /** Offset 0x00AC - Bus Number of Hpet Completer ID of Bus Number of Hpet. Default = 0xFA(Default). **/ - uint8_t HpetBusNumber; + UINT8 HpetBusNumber; /** Offset 0x00AD - Device Number of Hpet Completer ID of Device Number of Hpet. 0x1F(Default). **/ - uint8_t HpetDeviceNumber; + UINT8 HpetDeviceNumber; /** Offset 0x00AE - Function Number of Hpet Completer ID of Function Number of Hpet. 0x00(Default). **/ - uint8_t HpetFunctionNumber; + UINT8 HpetFunctionNumber; /** Offset 0x00AF **/ - uint32_t UnusedUpdSpace1; + UINT32 UnusedUpdSpace1; /** Offset 0x00B3 - IoApic Valid BDF Value Enable/Disable IoApic Valid BDF Value. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t IoApicBdfValid; + UINT8 IoApicBdfValid; /** Offset 0x00B4 - Bus Number of IoApic Completer ID of Bus Number of IoApic. 0xFA(Default). **/ - uint8_t IoApicBusNumber; + UINT8 IoApicBusNumber; /** Offset 0x00B5 - Device Number of IoApic Completer ID of Device Number of IoApic. 0x0F(Default). **/ - uint8_t IoApicDeviceNumber; + UINT8 IoApicDeviceNumber; /** Offset 0x00B6 - Function Number of IoApic Completer ID of Function Number of IoApic. 0x00(Default). **/ - uint8_t IoApicFunctionNumber; + UINT8 IoApicFunctionNumber; /** Offset 0x00B7 - IOAPIC Entry 24-119 Enable/Disable IOAPIC Entry 24-119. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t IoApicEntry24_119; + UINT8 IoApicEntry24_119; /** Offset 0x00B8 - IO APIC ID This member determines IOAPIC ID. 0x01(Default). **/ - uint8_t IoApicId; + UINT8 IoApicId; /** Offset 0x00B9 - IoApic Range Define address bits 19:12 for the IOxAPIC range. 0x00(Default). **/ - uint8_t IoApicRangeSelect; + UINT8 IoApicRangeSelect; /** Offset 0x00BA - ISH Controller Enable/Disable ISH Controller. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t IshEnable; + UINT8 IshEnable; /** Offset 0x00BB - BIOS Interface Lock Down Enable/Disable BIOS Interface Lock Down bit to prevent writes to the Backup Control Register. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t BiosInterface; + UINT8 BiosInterface; /** Offset 0x00BC - Bios LockDown Enable Enable the BIOS Lock Enable (BLE) feature and set EISS bit. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t BiosLock; + UINT8 BiosLock; /** Offset 0x00BD - SPI EISS Status Enable/Disable InSMM.STS (EISS) in SPI. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t SpiEiss; + UINT8 SpiEiss; /** Offset 0x00BE - BiosLock SWSMI Number This member describes the SwSmi value for Bios Lock. 0xA9(Default). **/ - uint8_t BiosLockSwSmiNumber; + UINT8 BiosLockSwSmiNumber; /** Offset 0x00BF - LPSS IOSF PMCTL S0ix Enable Enable/Disable LPSS IOSF Bridge PMCTL Register S0ix Bits. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t LPSS_S0ixEnable; + UINT8 LPSS_S0ixEnable; /** Offset 0x00C0 - LPSS I2C Clock Gating Configuration Enable/Disable LPSS I2C Clock Gating. 0:Disable, 1:Enable(Default). **/ - uint8_t I2cClkGateCfg[8]; + UINT8 I2cClkGateCfg[8]; /** Offset 0x00C8 - PSS HSUART Clock Gating Configuration Enable/Disable LPSS HSUART Clock Gating. 0:Disable, 1:Enable(Default). **/ - uint8_t HsuartClkGateCfg[4]; + UINT8 HsuartClkGateCfg[4]; /** Offset 0x00CC - LPSS SPI Clock Gating Configuration Enable/Disable LPSS SPI Clock Gating. 0:Disable, 1:Enable(Default). **/ - uint8_t SpiClkGateCfg[3]; + UINT8 SpiClkGateCfg[3]; /** Offset 0x00CF - I2C Device 0 Enable/Disable I2C Device 0. 0:Disabled, 1:PCI Mode(Default), 2:ACPI Mode. 0: Disabled, 1: PCI Mode, 2: ACPI Mode **/ - uint8_t I2c0Enable; + UINT8 I2c0Enable; /** Offset 0x00D0 - I2C Device 1 Enable/Disable I2C Device 1. 0:Disabled, 1:PCI Mode(Default), 2:ACPI Mode. 0: Disabled, 1: PCI Mode, 2: ACPI Mode **/ - uint8_t I2c1Enable; + UINT8 I2c1Enable; /** Offset 0x00D1 - I2C Device 2 Enable/Disable I2C Device 2. 0:Disabled, 1:PCI Mode(Default), 2:ACPI Mode. 0: Disabled, 1: PCI Mode, 2: ACPI Mode **/ - uint8_t I2c2Enable; + UINT8 I2c2Enable; /** Offset 0x00D2 - I2C Device 3 Enable/Disable I2C Device 3. 0:Disabled, 1:PCI Mode(Default), 2:ACPI Mode. 0: Disabled, 1: PCI Mode, 2: ACPI Mode **/ - uint8_t I2c3Enable; + UINT8 I2c3Enable; /** Offset 0x00D3 - I2C Device 4 Enable/Disable I2C Device 4. 0:Disabled, 1:PCI Mode(Default), 2:ACPI Mode. 0: Disabled, 1: PCI Mode, 2: ACPI Mode **/ - uint8_t I2c4Enable; + UINT8 I2c4Enable; /** Offset 0x00D4 - I2C Device 5 Enable/Disable I2C Device 5. 0:Disabled, 1:PCI Mode(Default), 2:ACPI Mode. 0: Disabled, 1: PCI Mode, 2: ACPI Mode **/ - uint8_t I2c5Enable; + UINT8 I2c5Enable; /** Offset 0x00D5 - I2C Device 6 Enable/Disable I2C Device 6. 0:Disabled, 1:PCI Mode(Default), 2:ACPI Mode. 0: Disabled, 1: PCI Mode, 2: ACPI Mode **/ - uint8_t I2c6Enable; + UINT8 I2c6Enable; /** Offset 0x00D6 - I2C Device 7 Enable/Disable I2C Device 7. 0:Disabled, 1:PCI Mode(Default), 2:ACPI Mode. 0: Disabled, 1: PCI Mode, 2: ACPI Mode **/ - uint8_t I2c7Enable; + UINT8 I2c7Enable; /** Offset 0x00D7 - UART Device 0 Enable/Disable UART Device 0. 0:Disabled, 1:PCI Mode(Default), 2:ACPI Mode. 0: Disabled, 1: PCI Mode, 2: ACPI Mode **/ - uint8_t Hsuart0Enable; + UINT8 Hsuart0Enable; /** Offset 0x00D8 - UART Device 1 Enable/Disable UART Device 1. 0:Disabled, 1:PCI Mode(Default), 2:ACPI Mode. 0: Disabled, 1: PCI Mode, 2: ACPI Mode **/ - uint8_t Hsuart1Enable; + UINT8 Hsuart1Enable; /** Offset 0x00D9 - UART Device 2 Enable/Disable UART Device 2. 0:Disabled, 1:PCI Mode(Default), 2:ACPI Mode. 0: Disabled, 1: PCI Mode, 2: ACPI Mode **/ - uint8_t Hsuart2Enable; + UINT8 Hsuart2Enable; /** Offset 0x00DA - UART Device 3 Enable/Disable UART Device 3. 0:Disabled, 1:PCI Mode(Default), 2:ACPI Mode. 0: Disabled, 1: PCI Mode, 2: ACPI Mode **/ - uint8_t Hsuart3Enable; + UINT8 Hsuart3Enable; /** Offset 0x00DB - SPI UART Device 0 Enable/Disable SPI Device 0. 0:Disabled, 1:PCI Mode(Default), 2:ACPI Mode. 0: Disabled, 1: PCI Mode, 2: ACPI Mode **/ - uint8_t Spi0Enable; + UINT8 Spi0Enable; /** Offset 0x00DC - SPI UART Device 1 Enable/Disable SPI Device 1. 0:Disabled, 1:PCI Mode(Default), 2:ACPI Mode. 0: Disabled, 1: PCI Mode, 2: ACPI Mode **/ - uint8_t Spi1Enable; + UINT8 Spi1Enable; /** Offset 0x00DD - SPI UART Device 2 Enable/Disable SPI Device 2. 0:Disabled, 1:PCI Mode(Default), 2:ACPI Mode. 0: Disabled, 1: PCI Mode, 2: ACPI Mode **/ - uint8_t Spi2Enable; + UINT8 Spi2Enable; /** Offset 0x00DE - UART Debug Base Address UART Debug Base Address. 0x00000000(Default). **/ - uint32_t Uart2KernelDebugBaseAddress; + UINT32 Uart2KernelDebugBaseAddress; /** Offset 0x00E2 - OS Debug Feature Enable/Disable OS Debug Feature. 0:Disable(Default), 1: Enable. $EN_DIS **/ - uint8_t OsDbgEnable; + UINT8 OsDbgEnable; /** Offset 0x00E3 - DCI Feature Enable/Disable DCI Feature. 0:Disable(Default), 1: Enable. $EN_DIS **/ - uint8_t DciEn; + UINT8 DciEn; /** Offset 0x00E4 - Enable PCIE Clock Gating Enable/disable PCIE Clock Gating. 0:Enable, 1:Disable(Default). 0:Enable, 1:Disable **/ - uint8_t PcieClockGatingDisabled; + UINT8 PcieClockGatingDisabled; /** Offset 0x00E5 - Enable PCIE Root Port 8xh Decode Enable/disable PCIE Root Port 8xh Decode. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t PcieRootPort8xhDecode; + UINT8 PcieRootPort8xhDecode; /** Offset 0x00E6 - PCIE 8xh Decode Port Index PCIE 8xh Decode Port Index. 0x00(Default). **/ - uint8_t Pcie8xhDecodePortIndex; + UINT8 Pcie8xhDecodePortIndex; /** Offset 0x00E7 - Enable PCIE Root Port Peer Memory Write Enable/disable PCIE root port peer memory write. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t PcieRootPortPeerMemoryWriteEnable; + UINT8 PcieRootPortPeerMemoryWriteEnable; /** Offset 0x00E8 - PCIE SWSMI Number This member describes the SwSmi value for override PCIe ASPM table. 0xAA(Default). **/ - uint8_t PcieAspmSwSmiNumber; + UINT8 PcieAspmSwSmiNumber; /** Offset 0x00E9 - PCI Express Root Port Control the PCI Express Root Port . 0:Disable, 1:Enable(Default). **/ - uint8_t PcieRootPortEn[6]; + UINT8 PcieRootPortEn[6]; /** Offset 0x00EF - Hide PCIE Root Port Configuration Space Enable/disable Hide PCIE Root Port Configuration Space. 0:Disable(Default), 1:Enable. **/ - uint8_t PcieRpHide[6]; + UINT8 PcieRpHide[6]; /** Offset 0x00F5 - PCIE Root Port Slot Implement Enable/disable PCIE Root Port Slot Implement. 0:Disable, 1:Enable(Default). **/ - uint8_t PcieRpSlotImplemented[6]; + UINT8 PcieRpSlotImplemented[6]; /** Offset 0x00FB - Hot Plug PCI Express Hot Plug Enable/Disable. 0:Disable, 1:Enable(Default). **/ - uint8_t PcieRpHotPlug[6]; + UINT8 PcieRpHotPlug[6]; /** Offset 0x0101 - PCIE PM SCI Enable/Disable PCI Express PME SCI. 0:Disable(Default), 1:Enable. **/ - uint8_t PcieRpPmSci[6]; + UINT8 PcieRpPmSci[6]; /** Offset 0x0107 - PCIE Root Port Extended Sync Enable/Disable PCIE Root Port Extended Sync. 0:Disable, 1:Enable(Default). **/ - uint8_t PcieRpExtSync[6]; + UINT8 PcieRpExtSync[6]; /** Offset 0x010D - Transmitter Half Swing Transmitter Half Swing Enable/Disable. 0:Disable, 1:Enable(Default). **/ - uint8_t PcieRpTransmitterHalfSwing[6]; + UINT8 PcieRpTransmitterHalfSwing[6]; /** Offset 0x0113 - ACS Enable/Disable Access Control Services Extended Capability. 0:Disable, 1:Enable(Default). **/ - uint8_t PcieRpAcsEnabled[6]; + UINT8 PcieRpAcsEnabled[6]; /** Offset 0x0119 - Clock Request Support Enable/Disable CLKREQ# Support. 0:Disable, 1:Enable(Default). **/ - uint8_t PcieRpClkReqSupported[6]; + UINT8 PcieRpClkReqSupported[6]; /** Offset 0x011F - Configure CLKREQ Number Configure Root Port CLKREQ Number if CLKREQ is supported. Default=0x04, 0x05, 0x00, 0x01, 0x02, 0x03. **/ - uint8_t PcieRpClkReqNumber[6]; + UINT8 PcieRpClkReqNumber[6]; /** Offset 0x0125 - CLKREQ# Detection Enable/Disable CLKREQ# Detection Probe. 0: Disable(Default), 1: Enable. **/ - uint8_t PcieRpClkReqDetect[6]; + UINT8 PcieRpClkReqDetect[6]; /** Offset 0x012B - Advanced Error Reporting Enable/Disable Advanced Error Reporting. 0: Disable(Default), 1: Enable. **/ - uint8_t AdvancedErrorReporting[6]; + UINT8 AdvancedErrorReporting[6]; /** Offset 0x0131 - PME Interrupt Enable/Disable PME Interrupt. 0: Disable(Default), 1: Enable. **/ - uint8_t PmeInterrupt[6]; + UINT8 PmeInterrupt[6]; /** Offset 0x0137 - URR PCI Express Unsupported Request Reporting Enable/Disable. 0:Disable(Default), 1:Enable. **/ - uint8_t UnsupportedRequestReport[6]; + UINT8 UnsupportedRequestReport[6]; /** Offset 0x013D - FER PCI Express Device Fatal Error Reporting Enable/Disable. 0:Disable(Default), 1:Enable. **/ - uint8_t FatalErrorReport[6]; + UINT8 FatalErrorReport[6]; /** Offset 0x0143 - NFER PCI Express Device Non-Fatal Error Reporting Enable/Disable. 0:Disable(Default), 1:Enable. **/ - uint8_t NoFatalErrorReport[6]; + UINT8 NoFatalErrorReport[6]; /** Offset 0x0149 - CER PCI Express Device Correctable Error Reporting Enable/Disable. 0:Disable(Default), 1:Enable. **/ - uint8_t CorrectableErrorReport[6]; + UINT8 CorrectableErrorReport[6]; /** Offset 0x014F - SEFE Root PCI Express System Error on Fatal Error Enable/Disable. 0:Disable(Default), 1:Enable. **/ - uint8_t SystemErrorOnFatalError[6]; + UINT8 SystemErrorOnFatalError[6]; /** Offset 0x0155 - SENFE Root PCI Express System Error on Non-Fatal Error Enable/Disable. 0:Disable(Default), 1:Enable. **/ - uint8_t SystemErrorOnNonFatalError[6]; + UINT8 SystemErrorOnNonFatalError[6]; /** Offset 0x015B - SECE Root PCI Express System Error on Correctable Error Enable/Disable. 0:Disable(Default), 1:Enable. **/ - uint8_t SystemErrorOnCorrectableError[6]; + UINT8 SystemErrorOnCorrectableError[6]; /** Offset 0x0161 - PCIe Speed Configure PCIe Speed. 0:Auto(Default), 1:Gen1, 2:Gen2, 3:Gen3. **/ - uint8_t PcieRpSpeed[6]; + UINT8 PcieRpSpeed[6]; /** Offset 0x0167 - Physical Slot Number Physical Slot Number for PCIE Root Port. Default=0x00, 0x01, 0x02, 0x03, 0x04, 0x05. **/ - uint8_t PhysicalSlotNumber[6]; + UINT8 PhysicalSlotNumber[6]; /** Offset 0x016D - CTO Enable/Disable PCI Express Completion Timer TO . 0:Disable(Default), 1:Enable. **/ - uint8_t PcieRpCompletionTimeout[6]; + UINT8 PcieRpCompletionTimeout[6]; /** Offset 0x0173 - PTM Support Enable/Disable PTM Support. 0:Disable(Default), 1:Enable. **/ - uint8_t PtmEnable[6]; + UINT8 PtmEnable[6]; /** Offset 0x0179 - ASPM PCI Express Active State Power Management settings. 0:Disable, 1:L0s, 2:L1, 3:L0sL1, 4:Auto(Default). **/ - uint8_t PcieRpAspm[6]; + UINT8 PcieRpAspm[6]; /** Offset 0x017F - L1 Substates PCI Express L1 Substates settings. 0:Disable, 1:L1.1, 2:L1.2, 3:L1.1 & L1.2(Default). **/ - uint8_t PcieRpL1Substates[6]; + UINT8 PcieRpL1Substates[6]; /** Offset 0x0185 - PCH PCIe LTR PCH PCIE Latency Reporting Enable/Disable. 0:Disable, 1:Enable(Default). **/ - uint8_t PcieRpLtrEnable[6]; + UINT8 PcieRpLtrEnable[6]; /** Offset 0x018B - PCIE LTR Lock PCIE LTR Configuration Lock. 0:Disable(Default), 1:Enable. **/ - uint8_t PcieRpLtrConfigLock[6]; + UINT8 PcieRpLtrConfigLock[6]; /** Offset 0x0191 - PME_B0_S5 Disable bit PME_B0_S5_DIS bit in the General PM Configuration B (GEN_PMCON_B) register. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t PmeB0S5Dis; + UINT8 PmeB0S5Dis; /** Offset 0x0192 - PCI Clock Run This member describes whether or not the PCI ClockRun feature of SC should be enabled. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t PciClockRun; + UINT8 PciClockRun; /** Offset 0x0193 - Enable/Disable Timer 8254 Clock Setting Enable/Disable Timer 8254 Clock. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t Timer8254ClkSetting; + UINT8 Timer8254ClkSetting; /** Offset 0x0194 - Chipset SATA Enables or Disables the Chipset SATA Controller. The Chipset SATA controller supports the 2 black internal SATA ports (up to 3Gb/s supported per port). 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t EnableSata; + UINT8 EnableSata; /** Offset 0x0195 - SATA Mode Selection Determines how SATA controller(s) operate. 0:AHCI(Default), 1:RAID. 0:AHCI, 1:RAID **/ - uint8_t SataMode; + UINT8 SataMode; /** Offset 0x0196 - Aggressive LPM Support Enable PCH to aggressively enter link power state. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t SataSalpSupport; + UINT8 SataSalpSupport; /** Offset 0x0197 - SATA Power Optimization Enable SATA Power Optimizer on SC side. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t SataPwrOptEnable; + UINT8 SataPwrOptEnable; /** Offset 0x0198 - eSATA Speed Limit Enable/Disable eSATA Speed Limit. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t eSATASpeedLimit; + UINT8 eSATASpeedLimit; /** Offset 0x0199 - SATA Speed Limit SATA Speed Limit. 0h:ScSataSpeed(Default), 1h:1.5Gb/s(Gen 1), 2h:3Gb/s(Gen 2), 3h:6Gb/s(Gen 3). 0:Default, 1: 1.5 Gb/s (Gen 1), 2: 3 Gb/s(Gen 2), 3: 6 Gb/s (Gen 1) **/ - uint8_t SpeedLimit; + UINT8 SpeedLimit; /** Offset 0x019A - SATA Port Enable or Disable SATA Port. 0:Disable, 1:Enable(Default). **/ - uint8_t SataPortsEnable[2]; + UINT8 SataPortsEnable[2]; /** Offset 0x019C - SATA Port DevSlp Enable/Disable SATA Port DevSlp. Board rework for LP needed before enable. 0:Disable(Default), 1:Enable. **/ - uint8_t SataPortsDevSlp[2]; + UINT8 SataPortsDevSlp[2]; /** Offset 0x019E - SATA Port HotPlug Enable/Disable SATA Port Hotplug . 0:Disable(Default), 1:Enable. **/ - uint8_t SataPortsHotPlug[2]; + UINT8 SataPortsHotPlug[2]; /** Offset 0x01A0 - Mechanical Presence Switch Controls reporting if this port has an Mechanical Presence Switch.\n Note:Requires hardware support. 0:Disable, 1:Enable(Default). **/ - uint8_t SataPortsInterlockSw[2]; + UINT8 SataPortsInterlockSw[2]; /** Offset 0x01A2 - External SATA Ports Enable/Disable External SATA Ports. 0:Disable(Default), 1:Enable. **/ - uint8_t SataPortsExternal[2]; + UINT8 SataPortsExternal[2]; /** Offset 0x01A4 - Spin Up Device Enable/Disable device spin up at boot on selected Sata Ports. 0:Disable(Default), 1:Enable. **/ - uint8_t SataPortsSpinUp[2]; + UINT8 SataPortsSpinUp[2]; /** Offset 0x01A6 - SATA Solid State Identify the SATA port is connected to Solid State Drive or Hard Disk Drive. 0:Hard Disk Drive(Default), 1:Solid State Drive. **/ - uint8_t SataPortsSolidStateDrive[2]; + UINT8 SataPortsSolidStateDrive[2]; /** Offset 0x01A8 - DITO Configuration Enable/Disable DITO Configuration. 0:Disable(Default), 1:Enable. **/ - uint8_t SataPortsEnableDitoConfig[2]; + UINT8 SataPortsEnableDitoConfig[2]; /** Offset 0x01AA - DM Value DM Value. 0:Minimum, 0x0F:Maximum(Default). **/ - uint8_t SataPortsDmVal[2]; + UINT8 SataPortsDmVal[2]; /** Offset 0x01AC - DITO Value DEVSLP Idle Timeout Value. 0:Minimum, 0x03FF:Maximum, 0x0271(Default). **/ - uint16_t SataPortsDitoVal[2]; + UINT16 SataPortsDitoVal[2]; /** Offset 0x01B0 - Subsystem Vendor ID Subsystem Vendor ID. 0x8086(Default). **/ - uint16_t SubSystemVendorId; + UINT16 SubSystemVendorId; /** Offset 0x01B2 - Subsystem ID Subsystem ID. 0x7270(Default). **/ - uint16_t SubSystemId; + UINT16 SubSystemId; /** Offset 0x01B4 **/ - uint8_t UnusedUpdSpace2[10]; + UINT8 UnusedUpdSpace2[10]; /** Offset 0x01BE - CRIDSettings PMC CRID setting. 0:Disable(Default), 1:CRID_1, 2:CRID_2, 3:CRID_3. **/ - uint8_t CRIDSettings; + UINT8 CRIDSettings; /** Offset 0x01BF - ResetSelect ResetSelect. 0x6:warm reset(Default), 0xE:cold reset. **/ - uint8_t ResetSelect; + UINT8 ResetSelect; /** Offset 0x01C0 - SD Card Support (D27:F0) Enable/Disable SD Card Support. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t SdcardEnabled; + UINT8 SdcardEnabled; /** Offset 0x01C1 - SeMMC Support (D28:F0) Enable/Disable eMMC Support. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t eMMCEnabled; + UINT8 eMMCEnabled; /** Offset 0x01C2 - eMMC Max Speed Select the eMMC max Speed allowed. 0:HS400(Default), 1:HS200, 2:DDR50. 0:HS400, 1: HS200, 2:DDR50 **/ - uint8_t eMMCHostMaxSpeed; + UINT8 eMMCHostMaxSpeed; /** Offset 0x01C3 - UFS Support (D29:F0) Enable/Disable SDIO Support. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t UfsEnabled; + UINT8 UfsEnabled; /** Offset 0x01C4 - SDIO Support (D30:F0) Enable/Disable SDIO Support. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t SdioEnabled; + UINT8 SdioEnabled; /** Offset 0x01C5 - GPP Lock Feature Enable/Disable GPP lock. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t GppLock; + UINT8 GppLock; /** Offset 0x01C6 - Serial IRQ Enable/Disable Serial IRQ. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t SirqEnable; + UINT8 SirqEnable; /** Offset 0x01C7 - Serial IRQ Mode Serial IRQ Mode Selection. 0:Quiet mode(Default), 1:Continuous mode. $EN_DIS **/ - uint8_t SirqMode; + UINT8 SirqMode; /** Offset 0x01C8 - Start Frame Pulse Width Start Frame Pulse Width Value. 0:ScSfpw4Clk(Default), 1: ScSfpw6Clk, 2:ScSfpw8Clk. 0:ScSfpw4Clk, 1:ScSfpw6Clk, 2:ScSfpw8Clk **/ - uint8_t StartFramePulse; + UINT8 StartFramePulse; /** Offset 0x01C9 - Enable SMBus Enable/disable SMBus controller. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t SmbusEnable; + UINT8 SmbusEnable; /** Offset 0x01CA - SMBus ARP Support Enable/disable SMBus ARP Support. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t ArpEnable; + UINT8 ArpEnable; /** Offset 0x01CB **/ - uint16_t UnusedUpdSpace3; + UINT16 UnusedUpdSpace3; /** Offset 0x01CD - SMBus Table Elements The number of elements in the Reserved SMBus Address Table. 0x0080(Default). **/ - uint16_t NumRsvdSmbusAddresses; + UINT16 NumRsvdSmbusAddresses; /** Offset 0x01CF - Reserved SMBus Address Table Array of addresses reserved for non-ARP-capable SMBus devices. 0x00(Default). **/ - uint8_t RsvdSmbusAddressTable[128]; + UINT8 RsvdSmbusAddressTable[128]; /** Offset 0x024F - XHCI Disable Compliance Mode Options to disable XHCI Link Compliance Mode. Default is FALSE to not disable Compliance Mode. Set TRUE to disable Compliance Mode. 0:FALSE(Default), 1:True. $EN_DIS **/ - uint8_t DisableComplianceMode; + UINT8 DisableComplianceMode; /** Offset 0x0250 - USB Per-Port Control Control each of the USB ports enable/disable. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t UsbPerPortCtl; + UINT8 UsbPerPortCtl; /** Offset 0x0251 - xHCI Mode Mode of operation of xHCI controller. 0:Disable, 1:Enable, 2:Auto(Default) 0:Disable, 1:Enable, 2:Auto **/ - uint8_t Usb30Mode; + UINT8 Usb30Mode; /** Offset 0x0252 - Enable USB2 ports Enable/disable per USB2 ports. One byte for each port, byte0 for port0, byte1 for port1, and so on. 0x01(Default). **/ - uint8_t PortUsb20Enable[8]; + UINT8 PortUsb20Enable[8]; /** Offset 0x025A - USB20 Over Current Pin Over Current Pin number of USB 2.0 Port. 0x00(Default). **/ - uint8_t PortUs20bOverCurrentPin[8]; + UINT8 PortUs20bOverCurrentPin[8]; /** Offset 0x0262 - Enable USB3 ports Enable/disable per USB3 ports. One byte for each port, byte0 for port0, byte1 for port1, and so on. 0x01(Default). **/ - uint8_t PortUsb30Enable[6]; + UINT8 PortUsb30Enable[6]; /** Offset 0x0268 - USB20 Over Current Pin Over Current Pin number of USB 3.0 Port. 0x01(Default). **/ - uint8_t PortUs30bOverCurrentPin[6]; + UINT8 PortUs30bOverCurrentPin[6]; /** Offset 0x026E - XDCI Support Enable/Disable XDCI. 0:Disable, 1:PCI_Mode(Default), 2:ACPI_mode. 0:Disable, 1:PCI_Mode, 2:ACPI_mode **/ - uint8_t UsbOtg; + UINT8 UsbOtg; /** Offset 0x026F - Enable XHCI HSIC Support Enable/Disable USB HSIC1. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t HsicSupportEnable; + UINT8 HsicSupportEnable; /** Offset 0x0270 - Enable XHCI SSIC Support Enable/disable XHCI SSIC ports. One byte for each port, byte0 for port0, byte1 for port1. 0x00(Default). **/ - uint8_t SsicPortEnable[2]; + UINT8 SsicPortEnable[2]; /** Offset 0x0272 - SSIC Dlane PowerGating Enable/Disable SSIC Data lane Power Gating. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint16_t DlanePwrGating; + UINT16 DlanePwrGating; /** Offset 0x0274 - VT-d Enable/Disable VT-d. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t VtdEnable; + UINT8 VtdEnable; /** Offset 0x0275 - HDAudio Delay Timer The delay timer after Azalia reset. 0x012C(Default). **/ - uint16_t ResetWaitTimer; + UINT16 ResetWaitTimer; /** Offset 0x0277 - SMI Lock bit Enable/Disable SMI_LOCK bit to prevent writes to the Global SMI Enable bit. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t LockDownGlobalSmi; + UINT8 LockDownGlobalSmi; /** Offset 0x0278 - RTC Lock Bits Enable/Disable RTC Lock Bits. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t RtcLock; + UINT8 RtcLock; /** Offset 0x0279 - XHCI SSIC RATE Set XHCI SSIC1 Rate to A Series or B Series. 1:A Series(Default), 2:B Series. **/ - uint8_t SsicRate[2]; + UINT8 SsicRate[2]; /** Offset 0x027B - SATA Test Mode Selection Enable/Disable SATA Test Mode. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint8_t SataTestMode; + UINT8 SataTestMode; /** Offset 0x027C - SMBus Dynamic Power Gating Enable/Disable SMBus dynamic power gating. 0:Disable(Default), 1:Enable. $EN_DIS **/ - uint16_t DynamicPowerGating; + UINT16 DynamicPowerGating; /** Offset 0x027E - Max Snoop Latency Latency Tolerance Reporting Max Snoop Latency. 0x0000(Default). **/ - uint16_t PcieRpLtrMaxSnoopLatency[6]; + UINT16 PcieRpLtrMaxSnoopLatency[6]; /** Offset 0x028A - Snoop Latency Override Snoop Latency Override for PCH PCIE. \n @@ -1285,23 +1287,23 @@ struct FSP_S_CONFIG { Manual:Manually enter override values.\n Auto:Maintain default BIOS flow. 0:Disable, 1:Enable, 2:Auto(Default). **/ - uint8_t PcieRpSnoopLatencyOverrideMode[6]; + UINT8 PcieRpSnoopLatencyOverrideMode[6]; /** Offset 0x0290 - Snoop Latency Value LTR Snoop Latency value of PCH PCIE. 0:Minimum, 0x03FF:Maximum, 0x003C(Default). **/ - uint16_t PcieRpSnoopLatencyOverrideValue[6]; + UINT16 PcieRpSnoopLatencyOverrideValue[6]; /** Offset 0x029C - Snoop Latency Multiplier LTR Snoop Latency Multiplier of PCH PCIE. 0:1ns, 1:32ns, 2:1024ns(Default), 3:32768ns, 4:1048576ns, 5:33554432ns. **/ - uint8_t PcieRpSnoopLatencyOverrideMultiplier[6]; + UINT8 PcieRpSnoopLatencyOverrideMultiplier[6]; /** Offset 0x02A2 - Max Non-Snoop Latency Latency Tolerance Reporting, Max Non-Snoop Latency. 0x0000(Default). **/ - uint16_t PcieRpLtrMaxNonSnoopLatency[6]; + UINT16 PcieRpLtrMaxNonSnoopLatency[6]; /** Offset 0x02AE - Non Snoop Latency Override Non Snoop Latency Override for PCH PCIE. \n @@ -1309,229 +1311,231 @@ struct FSP_S_CONFIG { Manual:Manually enter override values.\n Auto: Maintain default BIOS flow. 0:Disable, 1:Enable, 2:Auto(Default). **/ - uint8_t PcieRpNonSnoopLatencyOverrideMode[6]; + UINT8 PcieRpNonSnoopLatencyOverrideMode[6]; /** Offset 0x02B4 - Non Snoop Latency Value LTR Non Snoop Latency value of PCH PCIE. 0:Minimum, 0x03FF:Maximum, 0x003C(Default). **/ - uint16_t PcieRpNonSnoopLatencyOverrideValue[6]; + UINT16 PcieRpNonSnoopLatencyOverrideValue[6]; /** Offset 0x02C0 - Non Snoop Latency Multiplier LTR Non Snoop Latency Multiplier of PCH PCIE. 0:1ns, 1:32ns, 2:1024ns(Default), 3:32768ns, 4:1048576ns, 5:33554432ns. **/ - uint8_t PcieRpNonSnoopLatencyOverrideMultiplier[6]; + UINT8 PcieRpNonSnoopLatencyOverrideMultiplier[6]; /** Offset 0x02C6 - PCIE Root Port Slot Power Limit Scale Specifies scale used for slot power limit value. 0x00(Default). **/ - uint8_t PcieRpSlotPowerLimitScale[6]; + UINT8 PcieRpSlotPowerLimitScale[6]; /** Offset 0x02CC - PCIE Root Port Slot Power Limit Value Specifies upper limit on power supplie by slot. 0x00(Default). **/ - uint8_t PcieRpSlotPowerLimitValue[6]; + UINT8 PcieRpSlotPowerLimitValue[6]; /** Offset 0x02D2 - Skip Multi-Processor Initialization When this is skipped, boot loader must initialize processors before SilicionInit API. 0: Initialize(Default), <b>1: Skip $EN_DIS **/ - uint8_t SkipMpInit; + UINT8 SkipMpInit; /** Offset 0x02D3 - DCI Auto Detect Enable/disable DCI AUTO mode. Enabled(Default). $EN_DIS **/ - uint8_t DciAutoDetect; + UINT8 DciAutoDetect; /** Offset 0x02D4 - Halt and Lock TCO Timer Halt and Lock the TCO Timer (Watchdog). 0:No, 1:Yes (default) **/ - uint8_t TcoTimerHaltLock; + UINT8 TcoTimerHaltLock; /** Offset 0x02D5 - Power Button Override Period specifies how long will PMC wait before initiating a global reset. 000b-4s(default), 001b-6s, 010b-8s, 011b-10s, 100b-12s, 101b-14s.) 0x0:4s, 0x1:6s, 0x2:8s, 0x3:10s, 0x4:12s, 0x5:14s **/ - uint8_t PwrBtnOverridePeriod; + UINT8 PwrBtnOverridePeriod; /** Offset 0x02D6 - Power Button Native Mode Disable Disable power button native mode, when 1, this will result in the PMC logic constantly seeing the power button as de-asserted. 0 (default)) $EN_DIS **/ - uint8_t DisableNativePowerButton; + UINT8 DisableNativePowerButton; /** Offset 0x02D7 - Power Button Debounce Mode Enable interrupt when PWRBTN# is asserted. 0:Disabled, 1:Enabled(default) $EN_DIS **/ - uint8_t PowerButterDebounceMode; + UINT8 PowerButterDebounceMode; /** Offset 0x02D8 - SDIO_TX_CMD_DLL_CNTL SDIO_TX_CMD_DLL_CNTL. 0x505(Default). **/ - uint32_t SdioTxCmdCntl; + UINT32 SdioTxCmdCntl; /** Offset 0x02DC - SDIO_TX_DATA_DLL_CNTL1 SDIO_TX_DATA_DLL_CNTL1. 0xE(Default). **/ - uint32_t SdioTxDataCntl1; + UINT32 SdioTxDataCntl1; /** Offset 0x02E0 - SDIO_TX_DATA_DLL_CNTL2 SDIO_TX_DATA_DLL_CNTL2. 0x22272828(Default). **/ - uint32_t SdioTxDataCntl2; + UINT32 SdioTxDataCntl2; /** Offset 0x02E4 - SDIO_RX_CMD_DATA_DLL_CNTL1 SDIO_RX_CMD_DATA_DLL_CNTL1. 0x16161616(Default). **/ - uint32_t SdioRxCmdDataCntl1; + UINT32 SdioRxCmdDataCntl1; /** Offset 0x02E8 - SDIO_RX_CMD_DATA_DLL_CNTL2 SDIO_RX_CMD_DATA_DLL_CNTL2. 0x10000(Default). **/ - uint32_t SdioRxCmdDataCntl2; + UINT32 SdioRxCmdDataCntl2; /** Offset 0x02EC - SDCARD_TX_CMD_DLL_CNTL SDCARD_TX_CMD_DLL_CNTL. 0x505(Default). **/ - uint32_t SdcardTxCmdCntl; + UINT32 SdcardTxCmdCntl; /** Offset 0x02F0 - SDCARD_TX_DATA_DLL_CNTL1 SDCARD_TX_DATA_DLL_CNTL1. 0xA13(Default). **/ - uint32_t SdcardTxDataCntl1; + UINT32 SdcardTxDataCntl1; /** Offset 0x02F4 - SDCARD_TX_DATA_DLL_CNTL2 SDCARD_TX_DATA_DLL_CNTL2. 0x24242828(Default). **/ - uint32_t SdcardTxDataCntl2; + UINT32 SdcardTxDataCntl2; /** Offset 0x02F8 - SDCARD_RX_CMD_DATA_DLL_CNTL1 SDCARD_RX_CMD_DATA_DLL_CNTL1. 0x73A3637(Default). **/ - uint32_t SdcardRxCmdDataCntl1; + UINT32 SdcardRxCmdDataCntl1; /** Offset 0x02FC - SDCARD_RX_STROBE_DLL_CNTL SDCARD_RX_STROBE_DLL_CNTL. 0x0(Default). **/ - uint32_t SdcardRxStrobeCntl; + UINT32 SdcardRxStrobeCntl; /** Offset 0x0300 - SDCARD_RX_CMD_DATA_DLL_CNTL2 SDCARD_RX_CMD_DATA_DLL_CNTL2. 0x10000(Default). **/ - uint32_t SdcardRxCmdDataCntl2; + UINT32 SdcardRxCmdDataCntl2; /** Offset 0x0304 - EMMC_TX_CMD_DLL_CNTL EMMC_TX_CMD_DLL_CNTL. 0x505(Default). **/ - uint32_t EmmcTxCmdCntl; + UINT32 EmmcTxCmdCntl; /** Offset 0x0308 - EMMC_TX_DATA_DLL_CNTL1 EMMC_TX_DATA_DLL_CNTL1. 0xC11(Default). **/ - uint32_t EmmcTxDataCntl1; + UINT32 EmmcTxDataCntl1; /** Offset 0x030C - EMMC_TX_DATA_DLL_CNTL2 EMMC_TX_DATA_DLL_CNTL2. 0x1C2A2927(Default). **/ - uint32_t EmmcTxDataCntl2; + UINT32 EmmcTxDataCntl2; /** Offset 0x0310 - EMMC_RX_CMD_DATA_DLL_CNTL1 EMMC_RX_CMD_DATA_DLL_CNTL1. 0x000D162F(Default). **/ - uint32_t EmmcRxCmdDataCntl1; + UINT32 EmmcRxCmdDataCntl1; /** Offset 0x0314 - EMMC_RX_STROBE_DLL_CNTL EMMC_RX_STROBE_DLL_CNTL. 0x0a0a(Default). **/ - uint32_t EmmcRxStrobeCntl; + UINT32 EmmcRxStrobeCntl; /** Offset 0x0318 - EMMC_RX_CMD_DATA_DLL_CNTL2 EMMC_RX_CMD_DATA_DLL_CNTL2. 0x1003b(Default). **/ - uint32_t EmmcRxCmdDataCntl2; + UINT32 EmmcRxCmdDataCntl2; /** Offset 0x031C - EMMC_MASTER_DLL_CNTL EMMC_MASTER_DLL_CNTL. 0x001(Default). **/ - uint32_t EmmcMasterSwCntl; + UINT32 EmmcMasterSwCntl; /** Offset 0x0320 - PCIe Selectable De-emphasis When the Link is operating at 5.0 GT/s speed, this bit selects the level of de-emphasis for an Upstream component. 1b:-3.5 dB 0b:-6 dB. 0:Disable, 1:Enable(Default). **/ - uint8_t PcieRpSelectableDeemphasis[6]; + UINT8 PcieRpSelectableDeemphasis[6]; /** Offset 0x0326 **/ - uint8_t UnusedUpdSpace4; + UINT8 UnusedUpdSpace4; /** Offset 0x0327 - Monitor Mwait Enable Enable/Disable Monitor Mwait. For Windows* OS, this should be Enabled. For Linux based OS, this should be Disabled. 0:Disable, 1:Enable(Default). $EN_DIS **/ - uint8_t MonitorMwaitEnable; + UINT8 MonitorMwaitEnable; /** Offset 0x0328 **/ - uint8_t ReservedFspsUpd[8]; -} __attribute__((packed)); + UINT8 ReservedFspsUpd[8]; +} FSP_S_CONFIG; /** Fsp S Test Configuration **/ -struct FSP_S_TEST_CONFIG { +typedef struct { /** Offset 0x0330 **/ - uint32_t Signature; + UINT32 Signature; /** Offset 0x0334 **/ - uint8_t ReservedFspsTestUpd[12]; -} __attribute__((packed)); + UINT8 ReservedFspsTestUpd[12]; +} FSP_S_TEST_CONFIG; /** Fsp S Restricted Configuration **/ -struct FSP_S_RESTRICTED_CONFIG { +typedef struct { /** Offset 0x0340 **/ - uint32_t Signature; + UINT32 Signature; /** Offset 0x0344 **/ - uint8_t ReservedFspsRestrictedUpd[12]; -} __attribute__((packed)); + UINT8 ReservedFspsRestrictedUpd[12]; +} FSP_S_RESTRICTED_CONFIG; /** Fsp S UPD Configuration **/ -struct FSPS_UPD { +typedef struct { /** Offset 0x0000 **/ - struct FSP_UPD_HEADER FspUpdHeader; + FSP_UPD_HEADER FspUpdHeader; /** Offset 0x0020 **/ - struct FSP_S_CONFIG FspsConfig; + FSP_S_CONFIG FspsConfig; /** Offset 0x0330 **/ - struct FSP_S_TEST_CONFIG FspsTestConfig; + FSP_S_TEST_CONFIG FspsTestConfig; /** Offset 0x0340 **/ - struct FSP_S_RESTRICTED_CONFIG FspsRestrictedConfig; + FSP_S_RESTRICTED_CONFIG FspsRestrictedConfig; /** Offset 0x0350 **/ - uint16_t UpdTerminator; -} __attribute__((packed)); + UINT16 UpdTerminator; +} FSPS_UPD; + +#pragma pack(pop) #endif diff --git a/src/soc/intel/apollolake/include/soc/meminit.h b/src/soc/intel/apollolake/include/soc/meminit.h index 06d2b58193..45b20a0989 100644 --- a/src/soc/intel/apollolake/include/soc/meminit.h +++ b/src/soc/intel/apollolake/include/soc/meminit.h @@ -18,6 +18,7 @@ #include <stddef.h> #include <stdint.h> +#include <fsp/soc_binding.h> /* * LPDDR4 helper routines for configuring the memory UPD for LPDDR4 operation. @@ -77,13 +78,11 @@ struct lpddr4_swizzle_cfg { struct lpddr4_chan_swizzle_cfg phys[LP4_NUM_PHYS_CHANNELS]; }; -struct FSP_M_CONFIG; - /* * Initialize default LPDDR4 settings with provided speed. No logical channels * are enabled. Subsequent calls to logical channel enabling are required. */ -void meminit_lpddr4(struct FSP_M_CONFIG *cfg, int speed); +void meminit_lpddr4(FSP_M_CONFIG *cfg, int speed); /* * Enable logical channel providing the full lpddr4_swizzle_config to @@ -91,7 +90,7 @@ void meminit_lpddr4(struct FSP_M_CONFIG *cfg, int speed); * memory width per logical channel -- i.e. 2 physical channels are configured * to the memory reference code. */ -void meminit_lpddr4_enable_channel(struct FSP_M_CONFIG *cfg, int logical_chan, +void meminit_lpddr4_enable_channel(FSP_M_CONFIG *cfg, int logical_chan, int rank_density, int dual_rank, const struct lpddr4_swizzle_cfg *scfg); @@ -115,7 +114,7 @@ struct lpddr4_cfg { * Initialize LPDDR4 settings by the provided lpddr4_cfg information and sku id. * The sku id is an index into the sku array within the lpddr4_cfg struct. */ -void meminit_lpddr4_by_sku(struct FSP_M_CONFIG *cfg, +void meminit_lpddr4_by_sku(FSP_M_CONFIG *cfg, const struct lpddr4_cfg *lpcfg, size_t sku_id); void save_lpddr4_dimm_info(const struct lpddr4_cfg *lpcfg, size_t mem_sku); diff --git a/src/soc/intel/apollolake/include/soc/romstage.h b/src/soc/intel/apollolake/include/soc/romstage.h index 5b76f65856..6ae46b69dd 100644 --- a/src/soc/intel/apollolake/include/soc/romstage.h +++ b/src/soc/intel/apollolake/include/soc/romstage.h @@ -21,7 +21,7 @@ #include <arch/cpu.h> #include <fsp/api.h> -void mainboard_memory_init_params(struct FSPM_UPD *mupd); +void mainboard_memory_init_params(FSPM_UPD *mupd); void mainboard_save_dimm_info(void); #endif /* _SOC_APOLLOLAKE_ROMSTAGE_H_ */ diff --git a/src/soc/intel/apollolake/meminit.c b/src/soc/intel/apollolake/meminit.c index 9aac1f0f97..0f553ee97f 100644 --- a/src/soc/intel/apollolake/meminit.c +++ b/src/soc/intel/apollolake/meminit.c @@ -19,10 +19,10 @@ #include <smbios.h> #include <soc/meminit.h> #include <stddef.h> /* required for FspmUpd.h */ -#include <soc/fsp/FspmUpd.h> +#include <fsp/soc_binding.h> #include <string.h> -static void set_lpddr4_defaults(struct FSP_M_CONFIG *cfg) +static void set_lpddr4_defaults(FSP_M_CONFIG *cfg) { /* Enable memory down BGA since it's the only LPDDR4 packaging. */ cfg->Package = 1; @@ -80,7 +80,7 @@ static void set_lpddr4_defaults(struct FSP_M_CONFIG *cfg) cfg->Ch3_OdtConfig = 0; } -void meminit_lpddr4(struct FSP_M_CONFIG *cfg, int speed) +void meminit_lpddr4(FSP_M_CONFIG *cfg, int speed) { uint8_t profile; @@ -107,7 +107,7 @@ void meminit_lpddr4(struct FSP_M_CONFIG *cfg, int speed) set_lpddr4_defaults(cfg); } -static void enable_logical_chan0(struct FSP_M_CONFIG *cfg, +static void enable_logical_chan0(FSP_M_CONFIG *cfg, int rank_density, int dual_rank, const struct lpddr4_swizzle_cfg *scfg) { @@ -152,7 +152,7 @@ static void enable_logical_chan0(struct FSP_M_CONFIG *cfg, memcpy(&cfg->Ch1_Bit_swizzling[24], &chan->dqs[LP4_DQS3], sz); } -static void enable_logical_chan1(struct FSP_M_CONFIG *cfg, +static void enable_logical_chan1(FSP_M_CONFIG *cfg, int rank_density, int dual_rank, const struct lpddr4_swizzle_cfg *scfg) { @@ -197,7 +197,7 @@ static void enable_logical_chan1(struct FSP_M_CONFIG *cfg, memcpy(&cfg->Ch3_Bit_swizzling[24], &chan->dqs[LP4_DQS3], sz); } -void meminit_lpddr4_enable_channel(struct FSP_M_CONFIG *cfg, int logical_chan, +void meminit_lpddr4_enable_channel(FSP_M_CONFIG *cfg, int logical_chan, int rank_density, int dual_rank, const struct lpddr4_swizzle_cfg *scfg) { @@ -220,7 +220,7 @@ void meminit_lpddr4_enable_channel(struct FSP_M_CONFIG *cfg, int logical_chan, } } -void meminit_lpddr4_by_sku(struct FSP_M_CONFIG *cfg, +void meminit_lpddr4_by_sku(FSP_M_CONFIG *cfg, const struct lpddr4_cfg *lpcfg, size_t sku_id) { const struct lpddr4_sku *sku; @@ -262,11 +262,11 @@ void save_lpddr4_dimm_info(const struct lpddr4_cfg *lp4cfg, size_t mem_sku) { int channel, dimm, dimm_max, index; size_t hob_size; - const struct DIMM_INFO *src_dimm; + const DIMM_INFO *src_dimm; struct dimm_info *dest_dimm; struct memory_info *mem_info; - const struct CHANNEL_INFO *channel_info; - const struct FSP_SMBIOS_MEMORY_INFO *memory_info_hob; + const CHANNEL_INFO *channel_info; + const FSP_SMBIOS_MEMORY_INFO *memory_info_hob; if (mem_sku >= lp4cfg->num_skus) { printk(BIOS_ERR, "Too few LPDDR4 SKUs: 0x%zx/0x%zx\n", diff --git a/src/soc/intel/apollolake/reset.c b/src/soc/intel/apollolake/reset.c index 4bfdee4b75..3e62d818fa 100644 --- a/src/soc/intel/apollolake/reset.c +++ b/src/soc/intel/apollolake/reset.c @@ -59,7 +59,7 @@ void reset_prepare(void) printk(BIOS_SPEW, "CSE took %lu ms\n", stopwatch_duration_msecs(&sw)); } -void chipset_handle_reset(enum fsp_status status) +void chipset_handle_reset(uint32_t status) { switch(status) { case FSP_STATUS_RESET_REQUIRED_5: /* Global Reset */ diff --git a/src/soc/intel/apollolake/romstage.c b/src/soc/intel/apollolake/romstage.c index 6b58aa5305..ebd6287e4a 100644 --- a/src/soc/intel/apollolake/romstage.c +++ b/src/soc/intel/apollolake/romstage.c @@ -133,7 +133,7 @@ asmlinkage void car_stage_entry(void) run_postcar_phase(&pcf); } -static void fill_console_params(struct FSPM_UPD *mupd) +static void fill_console_params(FSPM_UPD *mupd) { if (IS_ENABLED(CONFIG_CONSOLE_SERIAL)) { mupd->FspmConfig.SerialDebugPortDevice = CONFIG_UART_FOR_CONSOLE; @@ -148,7 +148,7 @@ static void fill_console_params(struct FSPM_UPD *mupd) } } -void platform_fsp_memory_init_params_cb(struct FSPM_UPD *mupd) +void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd) { fill_console_params(mupd); mainboard_memory_init_params(mupd); @@ -167,7 +167,7 @@ void platform_fsp_memory_init_params_cb(struct FSPM_UPD *mupd) } __attribute__ ((weak)) -void mainboard_memory_init_params(struct FSPM_UPD *mupd) +void mainboard_memory_init_params(FSPM_UPD *mupd) { printk(BIOS_DEBUG, "WEAK: %s/%s called\n", __FILE__, __func__); } |