diff options
Diffstat (limited to 'Silicon/AMD/Styx/AmdModulePkg/Common/Wtf_Reg.h')
-rw-r--r-- | Silicon/AMD/Styx/AmdModulePkg/Common/Wtf_Reg.h | 266 |
1 files changed, 133 insertions, 133 deletions
diff --git a/Silicon/AMD/Styx/AmdModulePkg/Common/Wtf_Reg.h b/Silicon/AMD/Styx/AmdModulePkg/Common/Wtf_Reg.h index 736edab..7c7bb70 100644 --- a/Silicon/AMD/Styx/AmdModulePkg/Common/Wtf_Reg.h +++ b/Silicon/AMD/Styx/AmdModulePkg/Common/Wtf_Reg.h @@ -1,133 +1,133 @@ -/* $NoKeywords */
-/**
- * @file
- *
- * Wtf_Reg.h
- *
- * Contains Where's-The-Firmware (WTF) definitions and Macros.
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: FDK
- * @e sub-project: UEFI
- * @e version: $Revision: 334098 $ @e date: $Date: 2016-01-08 14:21:15 -0600 (Fri, 08 Jan 2016) $
- *
- */
-/*****************************************************************************
-*
-* Copyright 2013 - 2016 ADVANCED MICRO DEVICES, INC. All Rights Reserved.
-*
-* This program and the accompanying materials are licensed and made available
-* under the terms and conditions of the BSD License which accompanies this
-* distribution. The full text of the license may be found at
-* http://opensource.org/licenses/bsd-license.php
-*
-* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR
-* IMPLIED.
-*
-***************************************************************************/
-
-#ifndef __WTF_REG__H_
-#define __WTF_REG__H_
-
-#ifdef __cplusplus
- extern "C" {
- #endif
-
-/*----------------------------------------------------------------------------------------
- * D E F I N I T I O N S A N D M A C R O S
- *----------------------------------------------------------------------------------------
- */
-#define WTF_STATUS_REG 0xE0000000 // "Where's The Firmware" Register
-
-#define WTF_STATUS_REG_SIZE 32
-#define WTF_STATUS_ERROR_SIZE 12
-#define WTF_STATUS_POST_SIZE 10
-#define WTF_STATUS_FW_INDICATOR_SIZE 2
-#define WTF_STATUS_BT_CHKSUMFAIL_SIZE 1
-
-#define WTF_STATUS_ERROR_SHIFT 0
-#define WTF_STATUS_POST_SHIFT 12
-#define WTF_STATUS_FW_INDICATOR_SHIFT 22
-#define WTF_STATUS_BT_CHKSUMFAIL_SHIFT 31
-
-#define WTF_STATUS_ERROR_MASK 0x00000FFF
-#define WTF_STATUS_POST_MASK 0x003FF000
-#define WTF_STATUS_FW_INDICATOR_MASK 0x00C00000
-#define WTF_STATUS_BT_CHKSUMFAIL_MASK 0x80000000
-
-#define WTF_STATUS_MASK \
- (WTF_STATUS_ERROR_MASK | \
- WTF_STATUS_POST_MASK | \
- WTF_STATUS_FW_INDICATOR_MASK | \
- WTF_STATUS_BT_CHKSUMFAIL_MASK)
-
-#define WTF_STATUS_DEFAULT 0x00000000
-#define WTF_STATUS_FW_INDICATOR_UEFI 0x2
-
-#define WTF_STATUS_GET_ERROR(wtf_status) \
- ((wtf_status & WTF_STATUS_ERROR_MASK) >> WTF_STATUS_ERROR_SHIFT)
-#define WTF_STATUS_GET_POST(wtf_status) \
- ((wtf_status & WTF_STATUS_POST_MASK) >> WTF_STATUS_POST_SHIFT)
-#define WTF_STATUS_GET_FW_INDICATOR(wtf_status) \
- ((wtf_status & WTF_STATUS_FW_INDICATOR_MASK) >> WTF_STATUS_FW_INDICATOR_SHIFT)
-#define WTF_STATUS_GET_BT_CHKSUMFAIL(wtf_status) \
- ((wtf_status & WTF_STATUS_BT_CHECKSUMFAIL_MASK) >> WTF_STATUS_BT_CHECKSUMFAIL_SHIFT)
-
-#define WTF_STATUS_SET_ERROR(error) { \
- UINT32 wtf_status_reg; \
- wtf_status_reg = MmioRead32 (WTF_STATUS_REG); \
- wtf_status_reg = (wtf_status_reg & ~WTF_STATUS_ERROR_MASK) | (error << WTF_STATUS_ERROR_SHIFT); \
- wtf_status_reg = (wtf_status_reg & ~WTF_STATUS_FW_INDICATOR_MASK) | (WTF_STATUS_FW_INDICATOR_UEFI << WTF_STATUS_FW_INDICATOR_SHIFT); \
- MmioWrite32 (WTF_STATUS_REG, wtf_status_reg); \
-}
-
-#define WTF_STATUS_SET_POST(post) { \
- UINT32 wtf_status_reg; \
- wtf_status_reg = MmioRead32 (WTF_STATUS_REG); \
- wtf_status_reg = (wtf_status_reg & ~WTF_STATUS_POST_MASK) | (post << WTF_STATUS_POST_SHIFT); \
- wtf_status_reg = (wtf_status_reg & ~WTF_STATUS_FW_INDICATOR_MASK) | (WTF_STATUS_FW_INDICATOR_UEFI << WTF_STATUS_FW_INDICATOR_SHIFT); \
- MmioWrite32 (WTF_STATUS_REG, wtf_status_reg); \
-}
-
-#define WTF_STATUS_SET_FW_INDICATOR(fwindicator) { \
- UINT32 wtf_status_reg; \
- wtf_status_reg = MmioRead32 (WTF_STATUS_REG); \
- wtf_status_reg = (wtf_status_reg & ~WTF_STATUS_FW_INDICATOR_MASK) | (fwindicator << WTF_STATUS_FW_INDICATOR_SHIFT); \
- MmioWrite32 (WTF_STATUS_REG, wtf_status_reg); \
-}
-
-#define WTF_STATUS_SET_BT_CHKSUMFAIL(btchksmfail) { \
- UINT32 wtf_status_reg; \
- wtf_status_reg = MmioRead32 (WTF_STATUS_REG); \
- wtf_status_reg = (wtf_status_reg & ~WTF_STATUS_BT_CHKSUMFAIL_MASK) | (btchksmfail << WTF_STATUS_BT_CHKSUMFAIL_SHIFT); \
- MmioWrite32 (WTF_STATUS_REG, wtf_status_reg); \
-}
-
-/*----------------------------------------------------------------------------------------
- * T Y P E D E F S A N D S T R U C T U R E S
- *----------------------------------------------------------------------------------------
- */
-/// WTF Status Structure
-typedef
-struct _WTF_STATUS_T {
- UINT64 error : WTF_STATUS_ERROR_SIZE; ///< WTF Status Error Size
- UINT64 post : WTF_STATUS_POST_SIZE; ///< WTF Status Post Size
- UINT64 fwindicator : WTF_STATUS_FW_INDICATOR_SIZE; ///< WTF Status Firmware Indicator Size
- UINT64 reserved : 7; ///< Reserved
- UINT64 btchksmfail : WTF_STATUS_BT_CHKSUMFAIL_SIZE; ///< WTF Status Bit Checksum Fail Size
-} WTF_STATUS_T;
-
-/// WTF Status Union
-typedef
-union {
- UINT32 val : 32; ///< Value
- WTF_STATUS_T f; ///< WTF Status Structure
-} WTF_STATUS_U;
-
-
-/****** DO NOT WRITE BELOW THIS LINE *******/
-#ifdef __cplusplus
-}
-#endif
-#endif
+/* $NoKeywords */ +/** + * @file + * + * Wtf_Reg.h + * + * Contains Where's-The-Firmware (WTF) definitions and Macros. + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: FDK + * @e sub-project: UEFI + * @e version: $Revision: 334098 $ @e date: $Date: 2016-01-08 14:21:15 -0600 (Fri, 08 Jan 2016) $ + * + */ +/***************************************************************************** +* +* Copyright 2013 - 2016 ADVANCED MICRO DEVICES, INC. All Rights Reserved. +* +* This program and the accompanying materials are licensed and made available +* under the terms and conditions of the BSD License which accompanies this +* distribution. The full text of the license may be found at +* http://opensource.org/licenses/bsd-license.php +* +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR +* IMPLIED. +* +***************************************************************************/ + +#ifndef __WTF_REG__H_ +#define __WTF_REG__H_ + +#ifdef __cplusplus + extern "C" { + #endif + +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ +#define WTF_STATUS_REG 0xE0000000 // "Where's The Firmware" Register + +#define WTF_STATUS_REG_SIZE 32 +#define WTF_STATUS_ERROR_SIZE 12 +#define WTF_STATUS_POST_SIZE 10 +#define WTF_STATUS_FW_INDICATOR_SIZE 2 +#define WTF_STATUS_BT_CHKSUMFAIL_SIZE 1 + +#define WTF_STATUS_ERROR_SHIFT 0 +#define WTF_STATUS_POST_SHIFT 12 +#define WTF_STATUS_FW_INDICATOR_SHIFT 22 +#define WTF_STATUS_BT_CHKSUMFAIL_SHIFT 31 + +#define WTF_STATUS_ERROR_MASK 0x00000FFF +#define WTF_STATUS_POST_MASK 0x003FF000 +#define WTF_STATUS_FW_INDICATOR_MASK 0x00C00000 +#define WTF_STATUS_BT_CHKSUMFAIL_MASK 0x80000000 + +#define WTF_STATUS_MASK \ + (WTF_STATUS_ERROR_MASK | \ + WTF_STATUS_POST_MASK | \ + WTF_STATUS_FW_INDICATOR_MASK | \ + WTF_STATUS_BT_CHKSUMFAIL_MASK) + +#define WTF_STATUS_DEFAULT 0x00000000 +#define WTF_STATUS_FW_INDICATOR_UEFI 0x2 + +#define WTF_STATUS_GET_ERROR(wtf_status) \ + ((wtf_status & WTF_STATUS_ERROR_MASK) >> WTF_STATUS_ERROR_SHIFT) +#define WTF_STATUS_GET_POST(wtf_status) \ + ((wtf_status & WTF_STATUS_POST_MASK) >> WTF_STATUS_POST_SHIFT) +#define WTF_STATUS_GET_FW_INDICATOR(wtf_status) \ + ((wtf_status & WTF_STATUS_FW_INDICATOR_MASK) >> WTF_STATUS_FW_INDICATOR_SHIFT) +#define WTF_STATUS_GET_BT_CHKSUMFAIL(wtf_status) \ + ((wtf_status & WTF_STATUS_BT_CHECKSUMFAIL_MASK) >> WTF_STATUS_BT_CHECKSUMFAIL_SHIFT) + +#define WTF_STATUS_SET_ERROR(error) { \ + UINT32 wtf_status_reg; \ + wtf_status_reg = MmioRead32 (WTF_STATUS_REG); \ + wtf_status_reg = (wtf_status_reg & ~WTF_STATUS_ERROR_MASK) | (error << WTF_STATUS_ERROR_SHIFT); \ + wtf_status_reg = (wtf_status_reg & ~WTF_STATUS_FW_INDICATOR_MASK) | (WTF_STATUS_FW_INDICATOR_UEFI << WTF_STATUS_FW_INDICATOR_SHIFT); \ + MmioWrite32 (WTF_STATUS_REG, wtf_status_reg); \ +} + +#define WTF_STATUS_SET_POST(post) { \ + UINT32 wtf_status_reg; \ + wtf_status_reg = MmioRead32 (WTF_STATUS_REG); \ + wtf_status_reg = (wtf_status_reg & ~WTF_STATUS_POST_MASK) | (post << WTF_STATUS_POST_SHIFT); \ + wtf_status_reg = (wtf_status_reg & ~WTF_STATUS_FW_INDICATOR_MASK) | (WTF_STATUS_FW_INDICATOR_UEFI << WTF_STATUS_FW_INDICATOR_SHIFT); \ + MmioWrite32 (WTF_STATUS_REG, wtf_status_reg); \ +} + +#define WTF_STATUS_SET_FW_INDICATOR(fwindicator) { \ + UINT32 wtf_status_reg; \ + wtf_status_reg = MmioRead32 (WTF_STATUS_REG); \ + wtf_status_reg = (wtf_status_reg & ~WTF_STATUS_FW_INDICATOR_MASK) | (fwindicator << WTF_STATUS_FW_INDICATOR_SHIFT); \ + MmioWrite32 (WTF_STATUS_REG, wtf_status_reg); \ +} + +#define WTF_STATUS_SET_BT_CHKSUMFAIL(btchksmfail) { \ + UINT32 wtf_status_reg; \ + wtf_status_reg = MmioRead32 (WTF_STATUS_REG); \ + wtf_status_reg = (wtf_status_reg & ~WTF_STATUS_BT_CHKSUMFAIL_MASK) | (btchksmfail << WTF_STATUS_BT_CHKSUMFAIL_SHIFT); \ + MmioWrite32 (WTF_STATUS_REG, wtf_status_reg); \ +} + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ +/// WTF Status Structure +typedef +struct _WTF_STATUS_T { + UINT64 error : WTF_STATUS_ERROR_SIZE; ///< WTF Status Error Size + UINT64 post : WTF_STATUS_POST_SIZE; ///< WTF Status Post Size + UINT64 fwindicator : WTF_STATUS_FW_INDICATOR_SIZE; ///< WTF Status Firmware Indicator Size + UINT64 reserved : 7; ///< Reserved + UINT64 btchksmfail : WTF_STATUS_BT_CHKSUMFAIL_SIZE; ///< WTF Status Bit Checksum Fail Size +} WTF_STATUS_T; + +/// WTF Status Union +typedef +union { + UINT32 val : 32; ///< Value + WTF_STATUS_T f; ///< WTF Status Structure +} WTF_STATUS_U; + + +/****** DO NOT WRITE BELOW THIS LINE *******/ +#ifdef __cplusplus +} +#endif +#endif |