diff options
author | Marc Jones <marc.jones@se-eng.com> | 2015-07-19 15:20:17 -0600 |
---|---|---|
committer | Marc Jones <marc.jones@se-eng.com> | 2015-08-07 17:59:48 +0200 |
commit | 0b11bd0d028089288e52f9f08cdcfafc9910511b (patch) | |
tree | e561ef6110713f774cc71f95e5ad0f26302de85c /src/vendorcode/amd/pi/00630F01/Proc/IDS | |
parent | 9b9400dc90906fddadc0303994422ec011a8f6e7 (diff) |
vendorcode: Move AMD sources from blobs to vendorcode
The AMD AGESA binaryPI sources were incorrectly committed to
3rdparty/blobs. Move them from blobs to vendorcode and fix
Kconfig and Makefile.inc to match.
Change-Id: I55a777553c1203464d7f7f4293b361fedcfa3283
Signed-off-by: Marc Jones <marc.jones@se-eng.com>
Reviewed-on: http://review.coreboot.org/10982
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/vendorcode/amd/pi/00630F01/Proc/IDS')
10 files changed, 1466 insertions, 0 deletions
diff --git a/src/vendorcode/amd/pi/00630F01/Proc/IDS/Debug/IdsDebugPrint.h b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Debug/IdsDebugPrint.h new file mode 100644 index 0000000000..352e7090e5 --- /dev/null +++ b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Debug/IdsDebugPrint.h @@ -0,0 +1,80 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * AMD Integrated Debug Print Routines + * + * Contains all functions related to IDS Debug Print + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: IDS + * @e \$Revision: 281181 $ @e \$Date: 2013-12-18 02:18:55 -0600 (Wed, 18 Dec 2013) $ + */ +/***************************************************************************** + * + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * 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 Advanced Micro Devices, Inc. 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 ADVANCED MICRO DEVICES, INC. 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. + * + ***************************************************************************/ + +#ifndef _IDS_DEBUGPRINT_H_ +#define _IDS_DEBUGPRINT_H_ + +///Debug String End flag +#define DEBUG_STRING_END_FLAG (0x0) +/// return status for debug print +typedef enum { + IDS_DEBUG_PRINT_SUCCESS = 0, ///< success + IDS_DEBUG_PRINT_BUFFER_OVERFLOW, ///< Bufer overflow +} IDS_DEBUG_PRINT_STATUS; + +/// Private datas for debug print +typedef struct _IDS_DEBUG_PRINT_PRIVATE_DATA { + BOOLEAN saveContext; /// save context +} IDS_DEBUG_PRINT_PRIVATE_DATA; + +typedef BOOLEAN (*PF_IDS_DEBUG_PRINT_SUPPORT) (VOID); +typedef BOOLEAN (*PF_IDS_DEBUG_PRINT_FILTER) (UINT64 *Filter); +typedef VOID (*PF_IDS_DEBUG_PRINT_PRINT) (CHAR8 *Buffer, UINTN BufferSize, IDS_DEBUG_PRINT_PRIVATE_DATA *debugPrintPrivate); +typedef VOID (*PF_IDS_DEBUG_INIT_PRIVATE_DATA) (UINT64 flag, IDS_DEBUG_PRINT_PRIVATE_DATA *debugPrintPrivate); + +/// Debug print Hw layer service class +typedef struct _IDS_DEBUG_PRINT { + PF_IDS_DEBUG_PRINT_SUPPORT support; ///Check if support + PF_IDS_DEBUG_PRINT_FILTER customfilter; ///Get if any customize filters + PF_IDS_DEBUG_INIT_PRIVATE_DATA InitPrivateData; ///Init private data + PF_IDS_DEBUG_PRINT_PRINT print; ///Print data to Hw layer +} IDS_DEBUG_PRINT; + + +VOID +GetDebugPrintList ( + IN OUT CONST IDS_DEBUG_PRINT ***pIdsDebugPrintListPtr + ); + + +#endif //_IDS_DEBUGPRINT_H_ + diff --git a/src/vendorcode/amd/pi/00630F01/Proc/IDS/Debug/IdsDpHdtout.h b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Debug/IdsDpHdtout.h new file mode 100644 index 0000000000..982f513dd8 --- /dev/null +++ b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Debug/IdsDpHdtout.h @@ -0,0 +1,119 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * AMD Integrated Debug Debug_library Routines + * + * Contains all functions related to HDTOUT + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: IDS + * @e \$Revision: 281181 $ @e \$Date: 2013-12-18 02:18:55 -0600 (Wed, 18 Dec 2013) $ + */ +/***************************************************************************** + * + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * 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 Advanced Micro Devices, Inc. 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 ADVANCED MICRO DEVICES, INC. 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. + * + ***************************************************************************/ + +#ifndef _IDS_HDTOUT_H_ +#define _IDS_HDTOUT_H_ + +#define HDTOUT_VERSION 0x0200 + +/// HDTOUT command +#define HDTOUT_COMMAND 0x99cc +#define HDTOUT_INIT (0x10BF0000ul | HDTOUT_COMMAND) +#define HDTOUT_ASSERT (0xA0BF0000ul | HDTOUT_COMMAND) +#define HDTOUT_EXIT (0xE0BF0000ul | HDTOUT_COMMAND) +#define HDTOUT_PRINT (0xC0BF0000ul | HDTOUT_COMMAND) +#define HDTOUT_TIME_ANALYSE (0xD0BF0000ul | HDTOUT_COMMAND) +#define HDTOUT_BREAKPOINT (0xB0BF0000ul | HDTOUT_COMMAND) +#define HDTOUT_ERROR (0x1EBF0000ul | HDTOUT_COMMAND) + + +#define HDTOUT_ERROR_HEAP_ALLOCATION 0x1 +#define HDTOUT_ERROR_HEAP_AllOCATE_FAIL 0x2 + +#define HDTOUT_PRINTCTRL_OFF 0 +#define HDTOUT_PRINTCTRL_ON 1 +#define HDTOUT_ALL_CORES 0 +#define HDTOUT_BSP_ONLY 1 +#define HDTOUT_BUFFER_MODE_OFF 0 +#define HDTOUT_BUFFER_MODE_ON 1 + +#define HDTOUT_HEADER_SIGNATURE 0xDB1099CCul +#define HDTOUT_DEFAULT_BUFFER_SIZE 0x1000 +/// HDTOUT Header. +typedef struct _HDTOUT_HEADER { + UINT32 Signature; ///< 0xDB1099CC + UINT16 Version; ///< HDTOUT version. + UINT16 BufferSize; ///< Size in bytes. + UINT16 DataIndex; ///< Data Index. + UINT8 PrintCtrl; ///< 0 off no print 1 on print + UINT8 NumBreakpointUnit; ///< default 0 no bp unit others number of bp unit + UINT32 FuncListAddr; ///< 32 bit address to the list of functions that script can execute + UINT8 ConsoleType; ///< Console type - deprecated + UINT8 Event; ///< Event type. - deprecated + UINT8 OutBufferMode; ///< Off:stack mode, On: heap mode - deprecated + UINT32 EnableMask; ///< Bitmap to select which part should be streamed out + UINT64 ConsoleFilter; ///< Filter use to select which part should be streamed out + UINT8 BspOnlyFlag; ///< 1 Only Enable Bsp output, 0 enable On All cores + UINT8 Reserved[56 - 32]; ///< Reserved for header expansion + + CHAR8 BreakpointList[300]; ///< Breakpoint list + CHAR8 StatusStr[156]; ///< Shows current node, DCT, CS,... + CHAR8 Data[2]; ///< HDTOUT content. Its size will be determined by BufferSize. +} HDTOUT_HEADER; + +#define IDS_HDTOUT_BP_AND_OFF 0 +#define IDS_HDTOUT_BP_AND_ON 1 + +#define IDS_HDTOUT_BPFLAG_FORMAT_STR 0 +#define IDS_HDTOUT_BPFLAG_STATUS_STR 1 + +#define HDTOUT_BP_ACTION_HALT 1 +#define HDTOUT_BP_ACTION_PRINTON 2 +#define HDTOUT_BP_ACTION_PRINTONE 3 +#define HDTOUT_BP_ACTION_PRINTOFF 4 + +///breakpoint unit of HDTOUT +typedef struct _BREAKPOINT_UNIT { + UINT8 AndFlag : 1; ///< Next string is ANDed to current string + UINT8 BpFlag : 1; ///< Format string or Status string + UINT8 Action : 4; ///< Halt, start HDTOUT, or stop HDT,... + UINT8 BpStrOffset; ///< Offset from BreakpointList to the breakpoint string +} BREAKPOINT_UNIT; + + +BOOLEAN +AmdIdsHdtOutSupport ( + VOID + ); + +#endif //_IDS_HDTOUT_H_ + diff --git a/src/vendorcode/amd/pi/00630F01/Proc/IDS/Debug/IdsDpRam.h b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Debug/IdsDpRam.h new file mode 100644 index 0000000000..cec4527e54 --- /dev/null +++ b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Debug/IdsDpRam.h @@ -0,0 +1,73 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * AMD Integrated Debug Print Routines + * + * Contains all functions related to IDS Debug Print + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: IDS + * @e \$Revision: 281181 $ @e \$Date: 2013-12-18 02:18:55 -0600 (Wed, 18 Dec 2013) $ + */ +/***************************************************************************** + * + * Copyright (c) 2008 - 2014, Advanced Micro Devices, Inc. + * All rights reserved. + * + * 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 Advanced Micro Devices, Inc. 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 ADVANCED MICRO DEVICES, INC. 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. + * + ***************************************************************************/ + +#ifndef _IDS_DP_RAM_H_ +#define _IDS_DP_RAM_H_ + +#pragma pack (push, 1) + +///Debug Print RAM signature +#define DEBUG_PRINT_RAM_SIG MAKE_SIGNATURE ('D','P','R','M') + +/// Debug Print Ram Header +typedef struct _IDS_DEBUG_PRINT_RAM_HEADER { + SIGNATURE DpRamSig; /// 00 'D','P','R','M' + UINT32 LatestIdx; /// 04 Latest Index + UINT8 Reserved[8]; /// Reserved +} IDS_DEBUG_PRINT_RAM_HEADER; + +///Debug Print RAM Signature Offset +#define DEBUG_PRINT_RAM_SIG_ADDR ((UINTN) IDS_DPRAM_BASE + (UINTN) &(((IDS_DEBUG_PRINT_RAM_HEADER *) 0)->DpRamSig)) +///Debug Print RAM Latest Index Offset +#define DEBUG_PRINT_RAM_LATESTIDX_ADDR ((UINTN) IDS_DPRAM_BASE + (UINTN) &(((IDS_DEBUG_PRINT_RAM_HEADER *) 0)->LatestIdx)) + +///Print Buffer start +#define DEBUG_PRINT_BUFFER_START ((UINTN) IDS_DPRAM_BASE + sizeof (IDS_DEBUG_PRINT_RAM_HEADER)) +///Print Buffer Size +#define DEBUG_PRINT_BUFFER_SIZE ((UINT32) IDS_DPRAM_SIZE - sizeof (IDS_DEBUG_PRINT_RAM_HEADER)) +///Debug Print RAM default Value +#define DEBUG_PRINT_BUFFER_DFT_VALUE ((UINT8) 0xCC) + +#pragma pack (pop) + +#endif //_IDS_DP_RAM_H_ + diff --git a/src/vendorcode/amd/pi/00630F01/Proc/IDS/Family/0x15/IdsF15AllService.h b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Family/0x15/IdsF15AllService.h new file mode 100644 index 0000000000..8f0aa65031 --- /dev/null +++ b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Family/0x15/IdsF15AllService.h @@ -0,0 +1,49 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * AMD IDS Routines + * + * Contains AMD AGESA IDS Translation + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: IDS + * @e \$Revision: 281181 $ @e \$Date: 2013-12-18 02:18:55 -0600 (Wed, 18 Dec 2013) $ + */ +/***************************************************************************** + * + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * 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 Advanced Micro Devices, Inc. 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 ADVANCED MICRO DEVICES, INC. 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. + * + ***************************************************************************/ +#ifndef _IDS_F15_ALLSERVICE_H_ +#define _IDS_F15_ALLSERVICE_H_ +#ifdef __IDS_EXTENDED__ + #include IDS_EXT_INCLUDE_F15 (IdsIntF15AllService) +#endif + +#endif + diff --git a/src/vendorcode/amd/pi/00630F01/Proc/IDS/Family/0x15/KV/IdsF15KvAllService.h b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Family/0x15/KV/IdsF15KvAllService.h new file mode 100644 index 0000000000..1d7a68078e --- /dev/null +++ b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Family/0x15/KV/IdsF15KvAllService.h @@ -0,0 +1,49 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * AMD IDS Routines + * + * Contains AMD AGESA IDS Translation + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: IDS + * @e \$Revision: 281181 $ @e \$Date: 2013-12-18 02:18:55 -0600 (Wed, 18 Dec 2013) $ + */ +/***************************************************************************** + * + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * 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 Advanced Micro Devices, Inc. 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 ADVANCED MICRO DEVICES, INC. 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. + * + ***************************************************************************/ + #ifndef _IDS_F15_KV_ALLSERVICE_H_ +#define _IDS_F15_KV_ALLSERVICE_H_ +#ifdef __IDS_EXTENDED__ + #include IDS_EXT_INCLUDE_F15_KV (IdsIntF15KvAllService) +#endif + +#endif //_IDS_F15_KV_ALLSERVICE_H_ + diff --git a/src/vendorcode/amd/pi/00630F01/Proc/IDS/Family/0x15/KV/IdsF15KvNvDef.h b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Family/0x15/KV/IdsF15KvNvDef.h new file mode 100644 index 0000000000..b10c1c34f6 --- /dev/null +++ b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Family/0x15/KV/IdsF15KvNvDef.h @@ -0,0 +1,287 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * IDS NV definition for F15Kv + * + * Auto generated from CBS XML file + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: IDS F15Kv + * @e \$Revision: 281181 $ @e \$Date: 2013-12-18 02:18:55 -0600 (Wed, 18 Dec 2013) $ + */ +/***************************************************************************** + * + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * 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 Advanced Micro Devices, Inc. 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 ADVANCED MICRO DEVICES, INC. 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. + * + ***************************************************************************/ + + +#ifndef _IDSF15KVNVDEF_H_ +#define _IDSF15KVNVDEF_H_ +///HTC Enable +///Enable or disable Hardware Thermal Control. D18F3x64[0] +typedef enum { + IdsNvThermalHTCEnDisabled = 0,///<Disabled + IdsNvThermalHTCEnEnabled = 1,///<Enabled + IdsNvThermalHTCEnAuto = 3,///<Auto +} IdsNvThermalHTCEn; + +///HTC Override +///Enable or disable Thermal Control Override +typedef enum { + IdsNvThermalHTCOverrideDisabled = 0,///<Disabled + IdsNvThermalHTCOverrideEnabled = 1,///<Enabled +} IdsNvThermalHTCOverride; + +///HTC P-state limit select +///Specifies the P-state limit of all cores when in the P-state based HTC-active state +#define IdsNvThermalHtcPstateLimitMin 0 +#define IdsNvThermalHtcPstateLimitMax 7 + +///HTC Temperature Hysteresis +///Sets the temperature hysteresis for HTC. D18F3x64[27:24] +#define IdsNvThermalHTCTempHysMin 0 +#define IdsNvThermalHTCTempHysMax 0xF + +///HTC Activation Temp +///Sets the HTC temperature limit. D18F3x64[22:16] +#define IdsNvThermalHTCActTempMin 0 +#define IdsNvThermalHTCActTempMax 0x7F + +///Bank Interleave +///Interleave memory blocks across the DRAM chip selects for node 0. +typedef enum { + IdsNvMemMappingBankInterleaveDisabled = 0,///<Disabled + IdsNvMemMappingBankInterleaveAuto = 1,///<Auto +} IdsNvMemMappingBankInterleave; + +///DRAM Channel Interleave +///Interleave between two DCTs when they are in unganged mode. +typedef enum { + IdsNvMemMappingChlInterleaveAddress_bit_6 = 0,///<Address bit 6 + IdsNvMemMappingChlInterleaveAddress_bit_12 = 1,///<Address bit 12 + IdsNvMemMappingChlInterleaveHash__exclusive_OR_of_address_bits_20_16__6_ = 2,///<Hash: exclusive OR of address bits[20:16, 6] + IdsNvMemMappingChlInterleaveHash__excluseive_OR_of_address_bits_20_16__9_ = 3,///<Hash: excluseive OR of address bits[20:16, 9] + IdsNvMemMappingChlInterleaveAddress_bit_8 = 4,///<Address bit 8 + IdsNvMemMappingChlInterleaveAddress_bit_9 = 5,///<Address bit 9 + IdsNvMemMappingChlInterleaveDisabled = 0xF,///<Disabled + IdsNvMemMappingChlInterleaveAuto = 0xFF,///<Auto +} IdsNvMemMappingChlInterleave; + +///ECC Symbol Size +///ECC symbol size and code selection. D18F3x180[25] +typedef enum { + IdsNvEccSymbolSizex4 = 0,///<x4 + IdsNvEccSymbolSizex8 = 1,///<x8 + IdsNvEccSymbolSizeAuto = 3,///<Auto +} IdsNvEccSymbolSize; + +///DRAM prefetches triggered from CPU requests +///Enable or disable DRAM prefetches Prefetch triggered by CPU requests. +typedef enum { + IdsNvPrefetchPrefCpuDis0 = 0,///<0 + IdsNvPrefetchPrefCpuDis1 = 1,///<1 + IdsNvPrefetchPrefCpuDisAuto = 3,///<Auto +} IdsNvPrefetchPrefCpuDis; + +///HW prefetch training on SW Prefetches +///Enable or disable Hardware Prefetch training on Software Prefetches +typedef enum { + IdsNvPrefetchDisHWPFforSWPF0 = 0,///<0 + IdsNvPrefetchDisHWPFforSWPF1 = 1,///<1 + IdsNvPrefetchDisHWPFforSWPFAuto = 3,///<Auto +} IdsNvPrefetchDisHWPFforSWPF; + +///Hardware Prefetches +///Enable or disable Hardware Prefetches. +typedef enum { + IdsNvPrefetchDisHWPF0 = 0,///<0 + IdsNvPrefetchDisHWPF1 = 1,///<1 + IdsNvPrefetchDisHWPFAuto = 3,///<Auto +} IdsNvPrefetchDisHWPF; + +///UMI Gen2 +///Enable or disable UMI link Gen2 +typedef enum { + IdsNvFchGppUmiGen2Disabled = 0,///<Disabled + IdsNvFchGppUmiGen2Enabled = 1,///<Enabled +} IdsNvFchGppUmiGen2; + +///SATA Controller +///Disable or enable OnChip SATA controller +typedef enum { + IdsNvFchSataEnableDisabled = 0,///<Disabled + IdsNvFchSataEnableEnabled = 1,///<Enabled +} IdsNvFchSataEnable; + +///SATA Mode +///Select OnChip SATA Type +typedef enum { + IdsNvFchSataClassNative_IDE = 0,///<Native IDE + IdsNvFchSataClassRAID = 1,///<RAID + IdsNvFchSataClassAHCI = 3,///<AHCI + IdsNvFchSataClassLegacy_IDE = 3,///<Legacy IDE + IdsNvFchSataClassIDE__AHCI = 4,///<IDE->AHCI + IdsNvFchSataClassAHCI_as_ID_0x7804 = 5,///<AHCI as ID 0x7804 + IdsNvFchSataClassIDE__AHCI_as_ID_0x7804 = 6,///<IDE->AHCI as ID 0x7804 +} IdsNvFchSataClass; + +///OnChip IDE +///Select OnChip IDE controller mode +typedef enum { + IdsNvFchSataIdeModeLegacy_IDE = 0,///<Legacy IDE + IdsNvFchSataIdeModeNative_IDE = 1,///<Native IDE +} IdsNvFchSataIdeMode; + +///IDE Controller +///Disable or enable OnChip IDE controller +typedef enum { + IdsNvFchSataIdeEnableDisabled = 0,///<Disabled + IdsNvFchSataIdeEnableEnabled = 1,///<Enabled +} IdsNvFchSataIdeEnable; + +///XHC Switch (Bus 0 Dev 16 Fn 0/1) +///Select disable or enable XHCI HCs (Bus 0 Dev 16 Fn 0/1) +typedef enum { + IdsNvFchUsbXhciSwitchDisabled = 0,///<Disabled + IdsNvFchUsbXhciSwitchEnabled = 1,///<Enabled +} IdsNvFchUsbXhciSwitch; + +///USB1(Bus 0 Dev 18 Fn 0/2) +///Select disable or enable USB1 HCs (Bus 0 Dev 18 Fn 0/2) +typedef enum { + IdsNvFchUsbOhci1EnableDisabled = 0,///<Disabled + IdsNvFchUsbOhci1EnableEnabled = 1,///<Enabled +} IdsNvFchUsbOhci1Enable; + +///USB2 (Bus 0 Dev 19 Fn 0/2) +///Select disable or enable USB2 HCs (Bus 0 Dev 19 Fn 0/2) +typedef enum { + IdsNvFchUsbOhci2EnableDisabled = 0,///<Disabled + IdsNvFchUsbOhci2EnableEnabled = 1,///<Enabled +} IdsNvFchUsbOhci2Enable; + +///USB3 (Bus 0 Dev 22 Fn 0/2) +///Select disable or enable USB3 HCs (Bus 0 Dev 22 Fn 0/2) +typedef enum { + IdsNvFchUsbOhci3EnableDisabled = 0,///<Disabled + IdsNvFchUsbOhci3EnableEnabled = 1,///<Enabled +} IdsNvFchUsbOhci3Enable; + +///USB4 (Bus 0 Dev 20 Fn 5) +///Select disable or enable USB4 HC (Bus 0 Dev 20 Fn 5) +typedef enum { + IdsNvFchUsbOhci4EnableDisabled = 0,///<Disabled + IdsNvFchUsbOhci4EnableEnabled = 1,///<Enabled +} IdsNvFchUsbOhci4Enable; + +///Hardware Monitor Enable +///Master switch to enable or disable hardware monitor function +typedef enum { + IdsNvFchHwmEnableDisabled = 0,///<Disabled + IdsNvFchHwmEnableEnabled = 1,///<Enabled +} IdsNvFchHwmEnable; + +///In-Chip IR +///Enable or disable the In-Chip IR +typedef enum { + IdsNvFchIrConfigDisabled = 0,///<Disabled + IdsNvFchIrConfigRX_TX0_Only = 1,///<RX_TX0 Only + IdsNvFchIrConfigRX_TX1_Only = 2,///<RX_TX1 Only + IdsNvFchIrConfigRX__TX0__and_TX1 = 3,///<RX, TX0, and TX1 +} IdsNvFchIrConfig; + +///SD Configuration Mode +///Select SD Mode +typedef enum { + IdsNvFchSdConfigDisabled = 0,///<Disabled + IdsNvFchSdConfigADMA = 1,///<ADMA + IdsNvFchSdConfigDMA = 2,///<DMA + IdsNvFchSdConfigPIO = 3,///<PIO +} IdsNvFchSdConfig; + +///Azalia Device +///Select disable or enable Azalia Device +typedef enum { + IdsNvFchAzaliaControlAuto = 0,///<Auto + IdsNvFchAzaliaControlDisabled = 1,///<Disabled + IdsNvFchAzaliaControlEnabled = 2,///<Enabled + IdsNvFchAzaliaControlReserved = 3,///<Reserved +} IdsNvFchAzaliaControl; + +///Integrated Graphics Controller +///Enable Integrate Graphics controller +typedef enum { + IdsNvGnbGfxiGPU_CONTROLAuto = 0,///<Auto + IdsNvGnbGfxiGPU_CONTROLDisabled = 1,///<Disabled + IdsNvGnbGfxiGPU_CONTROLForces = 2,///<Forces +} IdsNvGnbGfxiGPU_CONTROL; + +///UMA Frame buffer Size +///Set UMA FB size +typedef enum { + IdsNvGnbGfxUmaFrameBufferSizeAuto = 0,///<Auto + IdsNvGnbGfxUmaFrameBufferSize32M = 1,///<32M + IdsNvGnbGfxUmaFrameBufferSize64M = 2,///<64M + IdsNvGnbGfxUmaFrameBufferSize128M = 3,///<128M + IdsNvGnbGfxUmaFrameBufferSize256M = 4,///<256M + IdsNvGnbGfxUmaFrameBufferSize384M = 5,///<384M + IdsNvGnbGfxUmaFrameBufferSize512M = 6,///<512M + IdsNvGnbGfxUmaFrameBufferSize1G = 7,///<1G + IdsNvGnbGfxUmaFrameBufferSize2G = 8,///<2G + IdsNvGnbGfxUmaFrameBufferSize4G = 9,///<4G +} IdsNvGnbGfxUmaFrameBufferSize; + +///NB Azalia +///Enable Integrate HD Audio controller +typedef enum { + IdsNvGnbGfxNbAzaliaDisabled = 0,///<Disabled + IdsNvGnbGfxNbAzaliaEnabled = 1,///<Enabled + IdsNvGnbGfxNbAzaliaAuto = 0xf,///<Auto +} IdsNvGnbGfxNbAzalia; + +///PSPP Policy +///PCIe speed power policy +typedef enum { + IdsNvGnbPciePsppPolicyDisabled = 0,///<Disabled + IdsNvGnbPciePsppPolicyPerformance = 1,///<Performance + IdsNvGnbPciePsppPolicyBalanced_High = 2,///<Balanced-High + IdsNvGnbPciePsppPolicyBalanced_Low = 3,///<Balanced-Low + IdsNvGnbPciePsppPolicyPower_Saving = 4,///<Power Saving + IdsNvGnbPciePsppPolicyAuto = 5,///<Auto +} IdsNvGnbPciePsppPolicy; + +///IOMMU +/// +typedef enum { + IdsNvGnbNbIOMMUDisabled = 0,///<Disabled + IdsNvGnbNbIOMMUEnabled = 1,///<Enabled +} IdsNvGnbNbIOMMU; + +#endif // _IDSF15KVNVDEF_H_ + diff --git a/src/vendorcode/amd/pi/00630F01/Proc/IDS/Family/0x15/TN/IdsF15TnAllService.h b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Family/0x15/TN/IdsF15TnAllService.h new file mode 100644 index 0000000000..9e99f326cb --- /dev/null +++ b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Family/0x15/TN/IdsF15TnAllService.h @@ -0,0 +1,49 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * AMD IDS Routines + * + * Contains AMD AGESA IDS Translation + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: IDS + * @e \$Revision: 281181 $ @e \$Date: 2013-12-18 02:18:55 -0600 (Wed, 18 Dec 2013) $ + */ +/***************************************************************************** + * + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * 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 Advanced Micro Devices, Inc. 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 ADVANCED MICRO DEVICES, INC. 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. + * + ***************************************************************************/ +#ifndef _IDS_F15_TN_ALLSERVICE_H_ +#define _IDS_F15_TN_ALLSERVICE_H_ +#ifdef __IDS_EXTENDED__ + #include IDS_EXT_INCLUDE_F15_TN (IdsIntF15TnAllService) +#endif + +#endif //_IDS_F15_TN_ALLSERVICE_H_ + diff --git a/src/vendorcode/amd/pi/00630F01/Proc/IDS/Family/0x15/TN/IdsF15TnNvDef.h b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Family/0x15/TN/IdsF15TnNvDef.h new file mode 100644 index 0000000000..bdc7ac1887 --- /dev/null +++ b/src/vendorcode/amd/pi/00630F01/Proc/IDS/Family/0x15/TN/IdsF15TnNvDef.h @@ -0,0 +1,287 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * IDS NV definition for F15Tn + * + * Auto generated from CBS XML file + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: IDS F15Tn + * @e \$Revision: 281181 $ @e \$Date: 2013-12-18 02:18:55 -0600 (Wed, 18 Dec 2013) $ + */ +/***************************************************************************** + * + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * 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 Advanced Micro Devices, Inc. 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 ADVANCED MICRO DEVICES, INC. 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. + * + ***************************************************************************/ + + +#ifndef _IDSF15TNNVDEF_H_ +#define _IDSF15TNNVDEF_H_ +///HTC Enable +///Enable or disable Hardware Thermal Control. D18F3x64[0] +typedef enum { + IdsNvThermalHTCEnDisabled = 0,///<Disabled + IdsNvThermalHTCEnEnabled = 1,///<Enabled + IdsNvThermalHTCEnAuto = 3,///<Auto +} IdsNvThermalHTCEn; + +///HTC Override +///Enable or disable Thermal Control Override +typedef enum { + IdsNvThermalHTCOverrideDisabled = 0,///<Disabled + IdsNvThermalHTCOverrideEnabled = 1,///<Enabled +} IdsNvThermalHTCOverride; + +///HTC P-state limit select +///Specifies the P-state limit of all cores when in the P-state based HTC-active state +#define IdsNvThermalHtcPstateLimitMin 0 +#define IdsNvThermalHtcPstateLimitMax 7 + +///HTC Temperature Hysteresis +///Sets the temperature hysteresis for HTC. D18F3x64[27:24] +#define IdsNvThermalHTCTempHysMin 0 +#define IdsNvThermalHTCTempHysMax 0xF + +///HTC Activation Temp +///Sets the HTC temperature limit. D18F3x64[22:16] +#define IdsNvThermalHTCActTempMin 0 +#define IdsNvThermalHTCActTempMax 0x7F + +///Bank Interleave +///Interleave memory blocks across the DRAM chip selects for node 0. +typedef enum { + IdsNvMemMappingBankInterleaveDisabled = 0,///<Disabled + IdsNvMemMappingBankInterleaveAuto = 1,///<Auto +} IdsNvMemMappingBankInterleave; + +///DRAM Channel Interleave +///Interleave between two DCTs when they are in unganged mode. +typedef enum { + IdsNvMemMappingChlInterleaveAddress_bit_6 = 0,///<Address bit 6 + IdsNvMemMappingChlInterleaveAddress_bit_12 = 1,///<Address bit 12 + IdsNvMemMappingChlInterleaveHash__exclusive_OR_of_address_bits_20_16__6_ = 2,///<Hash: exclusive OR of address bits[20:16, 6] + IdsNvMemMappingChlInterleaveHash__excluseive_OR_of_address_bits_20_16__9_ = 3,///<Hash: excluseive OR of address bits[20:16, 9] + IdsNvMemMappingChlInterleaveAddress_bit_8 = 4,///<Address bit 8 + IdsNvMemMappingChlInterleaveAddress_bit_9 = 5,///<Address bit 9 + IdsNvMemMappingChlInterleaveDisabled = 0xF,///<Disabled + IdsNvMemMappingChlInterleaveAuto = 0xFF,///<Auto +} IdsNvMemMappingChlInterleave; + +///ECC Symbol Size +///ECC symbol size and code selection. D18F3x180[25] +typedef enum { + IdsNvEccSymbolSizex4 = 0,///<x4 + IdsNvEccSymbolSizex8 = 1,///<x8 + IdsNvEccSymbolSizeAuto = 3,///<Auto +} IdsNvEccSymbolSize; + +///DRAM prefetches triggered from CPU requests +///Enable or disable DRAM prefetches Prefetch triggered by CPU requests. +typedef enum { + IdsNvPrefetchPrefCpuDis0 = 0,///<0 + IdsNvPrefetchPrefCpuDis1 = 1,///<1 + IdsNvPrefetchPrefCpuDisAuto = 3,///<Auto +} IdsNvPrefetchPrefCpuDis; + +///HW prefetch training on SW Prefetches +///Enable or disable Hardware Prefetch training on Software Prefetches +typedef enum { + IdsNvPrefetchDisHWPFforSWPF0 = 0,///<0 + IdsNvPrefetchDisHWPFforSWPF1 = 1,///<1 + IdsNvPrefetchDisHWPFforSWPFAuto = 3,///<Auto +} IdsNvPrefetchDisHWPFforSWPF; + +///Hardware Prefetches +///Enable or disable Hardware Prefetches. +typedef enum { + IdsNvPrefetchDisHWPF0 = 0,///<0 + IdsNvPrefetchDisHWPF1 = 1,///<1 + IdsNvPrefetchDisHWPFAuto = 3,///<Auto +} IdsNvPrefetchDisHWPF; + +///UMI Gen2 +///Enable or disable UMI link Gen2 +typedef enum { + IdsNvFchGppUmiGen2Disabled = 0,///<Disabled + IdsNvFchGppUmiGen2Enabled = 1,///<Enabled +} IdsNvFchGppUmiGen2; + +///SATA Controller +///Disable or enable OnChip SATA controller +typedef enum { + IdsNvFchSataEnableDisabled = 0,///<Disabled + IdsNvFchSataEnableEnabled = 1,///<Enabled +} IdsNvFchSataEnable; + +///SATA Mode +///Select OnChip SATA Type +typedef enum { + IdsNvFchSataClassNative_IDE = 0,///<Native IDE + IdsNvFchSataClassRAID = 1,///<RAID + IdsNvFchSataClassAHCI = 3,///<AHCI + IdsNvFchSataClassLegacy_IDE = 3,///<Legacy IDE + IdsNvFchSataClassIDE__AHCI = 4,///<IDE->AHCI + IdsNvFchSataClassAHCI_as_ID_0x7804 = 5,///<AHCI as ID 0x7804 + IdsNvFchSataClassIDE__AHCI_as_ID_0x7804 = 6,///<IDE->AHCI as ID 0x7804 +} IdsNvFchSataClass; + +///OnChip IDE +///Select OnChip IDE controller mode +typedef enum { + IdsNvFchSataIdeModeLegacy_IDE = 0,///<Legacy IDE + IdsNvFchSataIdeModeNative_IDE = 1,///<Native IDE +} IdsNvFchSataIdeMode; + +///IDE Controller +///Disable or enable OnChip IDE controller +typedef enum { + IdsNvFchSataIdeEnableDisabled = 0,///<Disabled + IdsNvFchSataIdeEnableEnabled = 1,///<Enabled +} IdsNvFchSataIdeEnable; + +///XHC Switch (Bus 0 Dev 16 Fn 0/1) +///Select disable or enable XHCI HCs (Bus 0 Dev 16 Fn 0/1) +typedef enum { + IdsNvFchUsbXhciSwitchDisabled = 0,///<Disabled + IdsNvFchUsbXhciSwitchEnabled = 1,///<Enabled +} IdsNvFchUsbXhciSwitch; + +///USB1(Bus 0 Dev 18 Fn 0/2) +///Select disable or enable USB1 HCs (Bus 0 Dev 18 Fn 0/2) +typedef enum { + IdsNvFchUsbOhci1EnableDisabled = 0,///<Disabled + IdsNvFchUsbOhci1EnableEnabled = 1,///<Enabled +} IdsNvFchUsbOhci1Enable; + +///USB2 (Bus 0 Dev 19 Fn 0/2) +///Select disable or enable USB2 HCs (Bus 0 Dev 19 Fn 0/2) +typedef enum { + IdsNvFchUsbOhci2EnableDisabled = 0,///<Disabled + IdsNvFchUsbOhci2EnableEnabled = 1,///<Enabled +} IdsNvFchUsbOhci2Enable; + +///USB3 (Bus 0 Dev 22 Fn 0/2) +///Select disable or enable USB3 HCs (Bus 0 Dev 22 Fn 0/2) +typedef enum { + IdsNvFchUsbOhci3EnableDisabled = 0,///<Disabled + IdsNvFchUsbOhci3EnableEnabled = 1,///<Enabled +} IdsNvFchUsbOhci3Enable; + +///USB4 (Bus 0 Dev 20 Fn 5) +///Select disable or enable USB4 HC (Bus 0 Dev 20 Fn 5) +typedef enum { + IdsNvFchUsbOhci4EnableDisabled = 0,///<Disabled + IdsNvFchUsbOhci4EnableEnabled = 1,///<Enabled +} IdsNvFchUsbOhci4Enable; + +///Hardware Monitor Enable +///Master switch to enable or disable hardware monitor function +typedef enum { + IdsNvFchHwmEnableDisabled = 0,///<Disabled + IdsNvFchHwmEnableEnabled = 1,///<Enabled +} IdsNvFchHwmEnable; + +///In-Chip IR +///Enable or disable the In-Chip IR +typedef enum { + IdsNvFchIrConfigDisabled = 0,///<Disabled + IdsNvFchIrConfigRX_TX0_Only = 1,///<RX_TX0 Only + IdsNvFchIrConfigRX_TX1_Only = 2,///<RX_TX1 Only + IdsNvFchIrConfigRX__TX0__and_TX1 = 3,///<RX, TX0, and TX1 +} IdsNvFchIrConfig; + +///SD Configuration Mode +///Select SD Mode +typedef enum { + IdsNvFchSdConfigDisabled = 0,///<Disabled + IdsNvFchSdConfigADMA = 1,///<ADMA + IdsNvFchSdConfigDMA = 2,///<DMA + IdsNvFchSdConfigPIO = 3,///<PIO +} IdsNvFchSdConfig; + +///Azalia Device +///Select disable or enable Azalia Device +typedef enum { + IdsNvFchAzaliaControlAuto = 0,///<Auto + IdsNvFchAzaliaControlDisabled = 1,///<Disabled + IdsNvFchAzaliaControlEnabled = 2,///<Enabled + IdsNvFchAzaliaControlReserved = 3,///<Reserved +} IdsNvFchAzaliaControl; + +///Integrated Graphics Controller +///Enable Integrate Graphics controller +typedef enum { + IdsNvGnbGfxiGPU_CONTROLAuto = 0,///<Auto + IdsNvGnbGfxiGPU_CONTROLDisabled = 1,///<Disabled + IdsNvGnbGfxiGPU_CONTROLForces = 2,///<Forces +} IdsNvGnbGfxiGPU_CONTROL; + +///UMA Frame buffer Size +///Set UMA FB size +typedef enum { + IdsNvGnbGfxUmaFrameBufferSizeAuto = 0,///<Auto + IdsNvGnbGfxUmaFrameBufferSize32M = 1,///<32M + IdsNvGnbGfxUmaFrameBufferSize64M = 2,///<64M + IdsNvGnbGfxUmaFrameBufferSize128M = 3,///<128M + IdsNvGnbGfxUmaFrameBufferSize256M = 4,///<256M + IdsNvGnbGfxUmaFrameBufferSize384M = 5,///<384M + IdsNvGnbGfxUmaFrameBufferSize512M = 6,///<512M + IdsNvGnbGfxUmaFrameBufferSize1G = 7,///<1G + IdsNvGnbGfxUmaFrameBufferSize2G = 8,///<2G + IdsNvGnbGfxUmaFrameBufferSize4G = 9,///<4G +} IdsNvGnbGfxUmaFrameBufferSize; + +///NB Azalia +///Enable Integrate HD Audio controller +typedef enum { + IdsNvGnbGfxNbAzaliaDisabled = 0,///<Disabled + IdsNvGnbGfxNbAzaliaEnabled = 1,///<Enabled + IdsNvGnbGfxNbAzaliaAuto = 0xf,///<Auto +} IdsNvGnbGfxNbAzalia; + +///PSPP Policy +///PCIe speed power policy +typedef enum { + IdsNvGnbPciePsppPolicyDisabled = 0,///<Disabled + IdsNvGnbPciePsppPolicyPerformance = 1,///<Performance + IdsNvGnbPciePsppPolicyBalanced_High = 2,///<Balanced-High + IdsNvGnbPciePsppPolicyBalanced_Low = 3,///<Balanced-Low + IdsNvGnbPciePsppPolicyPower_Saving = 4,///<Power Saving + IdsNvGnbPciePsppPolicyAuto = 5,///<Auto +} IdsNvGnbPciePsppPolicy; + +///IOMMU +/// +typedef enum { + IdsNvGnbNbIOMMUDisabled = 0,///<Disabled + IdsNvGnbNbIOMMUEnabled = 1,///<Enabled +} IdsNvGnbNbIOMMU; + +#endif // _IDSF15TNNVDEF_H_ + diff --git a/src/vendorcode/amd/pi/00630F01/Proc/IDS/IdsLib.h b/src/vendorcode/amd/pi/00630F01/Proc/IDS/IdsLib.h new file mode 100644 index 0000000000..2aec84a1de --- /dev/null +++ b/src/vendorcode/amd/pi/00630F01/Proc/IDS/IdsLib.h @@ -0,0 +1,381 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * AMD IDS Routines + * + * Contains AMD AGESA Integrated Debug Macros + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: IDS + * @e \$Revision: 281181 $ @e \$Date: 2013-12-18 02:18:55 -0600 (Wed, 18 Dec 2013) $ + */ +/***************************************************************************** + * + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * 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 Advanced Micro Devices, Inc. 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 ADVANCED MICRO DEVICES, INC. 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. + * + ***************************************************************************/ + +#ifndef _IDS_LIB_H_ +#define _IDS_LIB_H_ +#include "OptionsIds.h" +#include "cpuRegisters.h" +#include "cpuApicUtilities.h" +#include "Table.h" +///Specific time stamp performance analysis which need ids control support +#if IDSOPT_CONTROL_ENABLED == TRUE + #define PERF_SPEC_TS_ANALYSE(StdHeader) IdsPerfSpecTsAnalyse(StdHeader) +#else + #define PERF_SPEC_TS_ANALYSE(StdHeader) +#endif + +#define IDS_NV_READ(NvValue, Nvid, IdsNvPtr, StdHeader)\ + NvValue = AmdIdsNvReader ((Nvid), (IdsNvPtr), (StdHeader)); + +#define IDS_NV_READ_SKIP(NvValue, Nvid, IdsNvPtr, StdHeader)\ + if (((NvValue) = AmdIdsNvReader ((Nvid), (IdsNvPtr), (StdHeader))) != IDS_UNSUPPORTED) +#define IDS_GET_MASK32(HighBit, LowBit) ((((UINT32) 1 << (HighBit - LowBit + 1)) - 1) << LowBit) + +#define IDS_MAX_MEM_ITEMS 80 ///< Maximum IDS Mem Table Size in Heap. +///Macro for Ids family feat +#define MAKE_IDS_FAMILY_FEAT_ALL_CORES(FEAT_ID, FAMILY, FUNCTION) \ + {IDS_FEAT_COMMON, IDS_ALL_CORES, FEAT_ID, FAMILY, FUNCTION} + +///Macro for signature +#define MAKE_SIGNATURE(a, b, c, d) ((UINT32) ((d << 24) | (c << 16) | (b << 8) | a)) +typedef UINT32 SIGNATURE; + +// TYPEDEFS, STRUCTURES, ENUMS +// + +typedef AGESA_STATUS (*PF_IDS_AP_TASK) (VOID *AptaskPara, AMD_CONFIG_PARAMS *StdHeader); + +///Structure define for IdsAgesaRunFcnOnApLate +typedef struct _IDSAPLATETASK { + PF_IDS_AP_TASK ApTask; ///< Point function which AP need to do + VOID *ApTaskPara; ///< Point to Ap function parameter1 +} IDSAPLATETASK; + +/// Data Structure defining IDS Data in HEAP +/// This data structure contains information that is stored in HEAP and will be +/// used in IDS backend function. It includes the size of memory to be allocated +/// for IDS, the relative offsets of the mapping table IDS setup options, the GRA +/// table and the register table to override mem setting. It also includes a base +/// address of IDS override image which will be used to control the behavior of +/// AGESA testpoint if this feature is enabled. +typedef struct { + BOOLEAN IgnoreIdsDefault; ///< Control ignore Default value of IDS NV list specified by IdsNvTableOffset + UINT64 IdsImageBase; ///< IDS Override Image Base Address + UINT32 IdsHeapMemSize; ///< IDS Total Memory Size in Heap + UINT32 IdsNvTableOffset; ///< Offset of IDS NV Table + UINT32 IdsMemTableOffset; ///< Offset of IDS Mem Table + UINT32 IdsExtendOffset; ///< Offset of Ids extend heap +} IDS_CONTROL_STRUCT; + +/// Data Structure of Parameters for TestPoint_TSC. +typedef struct { + UINT32 LineInFile; ///< Line of current time counter + UINT64 Description; ///<Description ID + UINT64 StartTsc; ///< The StartTimer of TestPoint_TSC +} TestPoint_TSC; + +#define MAX_PERFORMANCE_UNIT_NUM (IDS_TP_END - TP_BEGINPROCAMDINITEARLY) +/// Data Structure of Parameters for TP_Perf_STRUCT. +typedef struct { + UINT32 Signature; ///< "PERF" + UINT32 Version; ///< version + UINT32 Index; ///< The Index of TP_Perf_STRUCT + UINT32 TscInMhz; ///< Tsc counter in 1 mhz + TestPoint_TSC TP[MAX_PERFORMANCE_UNIT_NUM]; ///< The TP of TP_Perf_STRUCT +} TP_Perf_STRUCT; + +///Bus speed Optimization +typedef enum { + IDS_POWER_POLICY_PERFORMANCE = 0, ///< Performance + IDS_POWER_POLICY_POWER = 1, ///< Power + IDS_POWER_POLICY_AUTO = 3, ///< Auto +} IDS_NV_AMDBUSSPEEDOPTIMIZATION; + +///IDS early AP task +typedef struct _IDS_EARLY_AP_TASK0 { + UINT8 Core; ///< Core to run Aptask + AP_TASK ApTask; ///< Speicify task property +} IDS_EARLY_AP_TASK0; + +#define IDS_EARLY_AP_TASK_PARA_NUM 100 +///IDS early AP task +typedef struct _IDS_EARLY_AP_TASK { + IDS_EARLY_AP_TASK0 Ap_Task0; ///< Ap Task exclude parameter buffer + UINT8 Parameters[IDS_EARLY_AP_TASK_PARA_NUM]; ///< Parameter buffer +} IDS_EARLY_AP_TASK; + +///AP service Time Point +typedef enum { + IDS_AP_RUN_CODE_EARLY, ///< Amdinitearly + IDS_AP_RUN_CODE_POST, ///< Amdinitpost + IDS_AP_RUN_CODE_LATE, ///< After AmdInitPost + IDS_AP_RUN_CODE_END ///< Last element +} IDS_AP_RUN_CODE_TIMEPOINT; + +/// Parameters for IdsRunCodeOnCores +typedef struct _IDS_RUNCODE_PARAMS { + IDS_AP_RUN_CODE_TIMEPOINT TimePoint; ///< TimePoint + UINT8 Socket; ///< IDS_ALL_SOCKET: all sockets + UINT8 Core; ///< IDS_ALL_CORE: all cores + PF_AP_TASK_IO ApTask; ///< Only support this type function + UINT16 ParamsDataSizeInDwords; ///< Size of the data to be transferred rounded up to the nearest dword + VOID *ParamsDataPtr; ///< Pointer to the parameter +} IDS_RUNCODE_PARAMS; + + +#define IDS_ALL_SOCKET 0xFF +#define IDS_ALL_MODULE 0xFF +#define IDS_ALL_CORE 0xFF +#define IDS_ALL_DCT 0xFF + +/*---------------------------------------------------------------------------------------- + * F U N C T I O N P R O T O T Y P E + *---------------------------------------------------------------------------------------- + */ + +IDS_STATUS +IdsSubUCode ( + IN OUT VOID *DataPtr, + IN OUT AMD_CONFIG_PARAMS *StdHeader, + IN IDS_NV_ITEM *IdsNvPtr + ); + +IDS_STATUS +IdsSubGangingMode ( + IN OUT VOID *DataPtr, + IN OUT AMD_CONFIG_PARAMS *StdHeader, + IN IDS_NV_ITEM *IdsNvPtr + ); + +IDS_STATUS +IdsSubPowerDownMode ( + IN OUT VOID *DataPtr, + IN OUT AMD_CONFIG_PARAMS *StdHeader, + IN IDS_NV_ITEM *IdsNvPtr + ); + +IDS_STATUS +IdsSubAllMemClkEn ( + IN OUT VOID *DataPtr, + IN OUT AMD_CONFIG_PARAMS *StdHeader, + IN IDS_NV_ITEM *IdsNvPtr + ); + +IDS_STATUS +IdsSubPostPState ( + IN OUT VOID *DataPtr, + IN OUT AMD_CONFIG_PARAMS *StdHeader, + IN IDS_NV_ITEM *IdsNvPtr + ); + +IDS_STATUS +IdsSubPowerPolicyOverride ( + IN OUT VOID *DataPtr, + IN OUT AMD_CONFIG_PARAMS *StdHeader, + IN IDS_NV_ITEM *IdsNvPtr + ); + +AGESA_STATUS +AmdIdsCtrlInitialize ( + IN OUT AMD_CONFIG_PARAMS *StdHeader + ); + +IDS_STATUS +AmdIdsNvReader ( + IN UINT16 IdsNvId, + IN IDS_NV_ITEM *NvTablePtr, + IN OUT AMD_CONFIG_PARAMS *StdHeader + ); + +AGESA_STATUS +AmdGetIdsNvTable ( + IN OUT VOID **IdsNvTable, + IN OUT AMD_CONFIG_PARAMS *StdHeader + ); + +VOID +IdsOutPort ( + IN UINT32 Addr, + IN UINT32 Value, + IN UINT32 Flag + ); + +IDS_STATUS +IdsCommonReturn ( + IN OUT VOID *DataPtr, + IN OUT AMD_CONFIG_PARAMS *StdHeader, + IN IDS_NV_ITEM *IdsNvPtr + ); + +AGESA_STATUS +IdsAgesaRunFcnOnApLate ( + IN UINTN ApicIdOfCore, + IN IDSAPLATETASK *ApLateTaskPtr, + IN OUT AMD_CONFIG_PARAMS *StdHeader + ); + +VOID +IdsRunCodeOnCores ( + IN IDS_RUNCODE_PARAMS *PIdsRuncodeParams, + IN OUT AMD_CONFIG_PARAMS *StdHeader + ); + +AGESA_STATUS +IdsAgesaRunFcnOnAllCoresLate ( + IN IDSAPLATETASK *ApLateTaskPtr, + IN OUT AMD_CONFIG_PARAMS *StdHeader + ); + +IDS_STATUS +IdsParseFeatTbl ( + IN AGESA_IDS_OPTION IdsOption, + IN CONST IDS_FAMILY_FEAT_STRUCT * PIdsFeatTbl[], + IN OUT VOID *DataPtr, + IN IDS_NV_ITEM *IdsNvPtr, + IN OUT AMD_CONFIG_PARAMS *StdHeader + ); + +IDS_STATUS +IdsSubPowerDownCtrl ( + IN OUT VOID *DataPtr, + IN OUT AMD_CONFIG_PARAMS *StdHeader, + IN IDS_NV_ITEM *IdsNvPtr + ); + +IDS_STATUS +IdsSubHdtOut ( + IN OUT VOID *DataPtr, + IN OUT AMD_CONFIG_PARAMS *StdHeader, + IN IDS_NV_ITEM *IdsNvPtr + ); + +UINT8 +IdsGetNumPstatesFamCommon ( + IN OUT AMD_CONFIG_PARAMS *StdHeader + ); + +VOID +IdsApRunCodeOnAllLocalCores ( + IN AP_TASK *TaskPtr, + IN OUT AMD_CONFIG_PARAMS *StdHeader + ); +IDS_STATUS +IdsSubTargetPstate ( + IN OUT VOID *DataPtr, + IN OUT AMD_CONFIG_PARAMS *StdHeader, + IN IDS_NV_ITEM *IdsNvPtr + ); + +VOID +IdsMakePciRegEntry ( + IN OUT TABLE_ENTRY_FIELDS **TableEntry, + IN UINT64 Family, + IN UINT64 Revision, + IN UINT32 PciAddr, + IN UINT32 Data, + IN UINT32 Mask + ); + +VOID +IdsLibPciWriteBitsToAllNode ( + IN PCI_ADDR PciAddress, + IN UINT8 Highbit, + IN UINT8 Lowbit, + IN UINT32 *Value, + IN OUT AMD_CONFIG_PARAMS *StdHeader + ); +VOID +IdsRunCodeOnCoreEarly ( + IN UINT8 Socket, + IN UINT8 Core, + IN AP_TASK* ApTask, + IN OUT AMD_CONFIG_PARAMS *StdHeader + ); + +VOID +IdsGetMask64bits ( + IN UINT64 RegVal, + IN UINT8 Highbit, + IN UINT8 Lowbit, + IN OUT UINT64 *AndMask, + IN OUT UINT64 *OrMask + ); + +VOID +IdsGetMask32bits ( + IN UINT32 RegVal, + IN UINT8 Highbit, + IN UINT8 Lowbit, + IN OUT UINT32 *AndMask, + IN OUT UINT32 *OrMask + ); + +VOID +IdsGetMask16bits ( + IN UINT16 RegVal, + IN UINT8 Highbit, + IN UINT8 Lowbit, + IN OUT UINT32 *AndMask, + IN OUT UINT32 *OrMask + ); + +VOID +IdsGetStartEndModule ( + IN UINT8 ModuleId, + IN OUT UINT8 *StartModule, + IN OUT UINT8 *EndModule + ); + + +VOID +IdsGetStartEndSocket ( + IN UINT8 SocketId, + IN OUT UINT8 *StartSocket, + IN OUT UINT8 *EndSocket + ); + +BOOLEAN +IdsCheckPciExist ( + IN PCI_ADDR PciAddr, + IN OUT AMD_CONFIG_PARAMS *StdHeader + ); + +VOID +IdsLibDataMaskSet32 ( + IN OUT UINT32 *Value, + IN UINT32 AndMask, + IN UINT32 OrMask + ); +#define IDS_CPB_BOOST_DIS_IGNORE 0xFFFFFFFFul + +#endif //_IDS_LIB_H_ + diff --git a/src/vendorcode/amd/pi/00630F01/Proc/IDS/OptionsIds.h b/src/vendorcode/amd/pi/00630F01/Proc/IDS/OptionsIds.h new file mode 100644 index 0000000000..0d58e7eb54 --- /dev/null +++ b/src/vendorcode/amd/pi/00630F01/Proc/IDS/OptionsIds.h @@ -0,0 +1,92 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * IDS Option File + * + * This file is used to switch on/off IDS features. + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: Core + * @e \$Revision: 281181 $ @e \$Date: 2013-12-18 02:18:55 -0600 (Wed, 18 Dec 2013) $ + */ +/***************************************************************************** + * + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * 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 Advanced Micro Devices, Inc. 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 ADVANCED MICRO DEVICES, INC. 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. + * + ***************************************************************************/ +#ifndef _OPTION_IDS_H_ +#define _OPTION_IDS_H_ + +/** + * + * This file generates the defaults tables for the Integrated Debug Support + * Module. The documented build options are imported from a user controlled + * file for processing. The build options for the Integrated Debug Support + * Module are listed below: + * + * IDSOPT_IDS_ENABLED + * IDSOPT_ERROR_TRAP_ENABLED + * IDSOPT_CONTROL_ENABLED + * + * Warning: When you enable the IDSOPT_CONTROL_NV_TO_CMOS feature. + * please make the cmos region defined by IDS_OPT_CMOS_REGION_START & + * IDS_OPT_CMOS_REGION_END can be touched between IDS HOOK point + * IDS_CPU_Early_Override and IDS_BEFORE_AP_EARLY_HALT of BSP + * + * IDSOPT_CONTROL_NV_TO_CMOS + * IDS_OPT_CMOS_INDEX_PORT + * IDS_OPT_CMOS_DATA_PORT + * IDS_OPT_CMOS_REGION_START + * IDS_OPT_CMOS_REGION_END + * + * IDSOPT_TRACING_ENABLED + * IDSOPT_TRACING_CONSOLE_HDTOUT + * IDSOPT_TRACING_CONSOLE_SERIALPORT + * IDSOPT_SERIAL_PORT (default 0x3F8) + * IDSOPT_TRACING_CONSOLE_REDIRECT_IO + * IDSOPT_DEBUG_PRINT_IO_PORT (default 0x80) + * IDSOPT_TRACING_CONSOLE_RAM + * IDSOPT_DPRAM_BASE + * IDSOPT_DPRAM_SIZE + * IDSOPT_DPRAM_STOP_LOGGING_WHEN_BUFFER_FULL (default FALSE) + * IDSOPT_CUSTOMIZE_TRACING_SERVICE + * IDSOPT_CUSTOMIZE_TRACING_SERVICE_INIT + * IDSOPT_CUSTOMIZE_TRACING_SERVICE_EXIT + * + * IDSOPT_TRACE_BLD_CFG + * IDSOPT_PERF_ANALYSIS + * IDSOPT_ASSERT_ENABLED + * IDS_DEBUG_PORT + * IDSOPT_CAR_CORRUPTION_CHECK_ENABLED + * IDSOPT_DEBUG_CODE_ENABLED + * IDSOPT_IDT_EXCEPTION_TRAP + * IDSOPT_C_OPTIMIZATION_DISABLED + * + **/ + +#endif |