/** @file Hsio Sata policy Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _HSIO_SATA_CONFIG_H_ #define _HSIO_SATA_CONFIG_H_ #define HSIO_SATA_PREMEM_CONFIG_REVISION 1 extern EFI_GUID gHsioSataPreMemConfigGuid; #pragma pack (push,1) /** The PCH_HSIO_SATA_PORT_LANE describes HSIO settings for SATA Port lane **/ typedef struct { // // HSIO Rx Eq // UINT32 HsioRxGen1EqBoostMagEnable : 1; ///< 0: Disable; 1: Enable Receiver Equalization Boost Magnitude Adjustment Value override UINT32 HsioRxGen1EqBoostMag : 6; ///< SATA 1.5 Gb/sReceiver Equalization Boost Magnitude Adjustment value UINT32 HsioRxGen2EqBoostMagEnable : 1; ///< 0: Disable; 1: Enable Receiver Equalization Boost Magnitude Adjustment Value override UINT32 HsioRxGen2EqBoostMag : 6; ///< SATA 3.0 Gb/sReceiver Equalization Boost Magnitude Adjustment value UINT32 HsioRxGen3EqBoostMagEnable : 1; ///< 0: Disable; 1: Enable Receiver Equalization Boost Magnitude Adjustment Value override UINT32 HsioRxGen3EqBoostMag : 6; ///< SATA 6.0 Gb/sReceiver Equalization Boost Magnitude Adjustment value // // HSIO Tx Eq // UINT32 HsioTxGen1DownscaleAmpEnable : 1; ///< 0: Disable; 1: Enable SATA 1.5 Gb/s TX Output Downscale Amplitude Adjustment value override UINT32 HsioTxGen1DownscaleAmp : 6; ///< SATA 1.5 Gb/s TX Output Downscale Amplitude Adjustment value UINT32 RsvdBits0 : 4; ///< Reserved bits UINT32 HsioTxGen2DownscaleAmpEnable : 1; ///< 0: Disable; 1: Enable SATA 3.0 Gb/s TX Output Downscale Amplitude Adjustment value override UINT32 HsioTxGen2DownscaleAmp : 6; ///< SATA 3.0 Gb/s TX Output Downscale Amplitude Adjustment UINT32 HsioTxGen3DownscaleAmpEnable : 1; ///< 0: Disable; 1: Enable SATA 6.0 Gb/s TX Output Downscale Amplitude Adjustment value override UINT32 HsioTxGen3DownscaleAmp : 6; ///< SATA 6.0 Gb/s TX Output Downscale Amplitude Adjustment UINT32 HsioTxGen1DeEmphEnable : 1; ///< 0: Disable; 1: Enable SATA 1.5 Gb/s TX Output De-Emphasis Adjustment Setting value override UINT32 HsioTxGen1DeEmph : 6; ///< SATA 1.5 Gb/s TX Output De-Emphasis Adjustment Setting UINT32 HsioTxGen2DeEmphEnable : 1; ///< 0: Disable; 1: Enable SATA 3.0 Gb/s TX Output De-Emphasis Adjustment Setting value override UINT32 HsioTxGen2DeEmph : 6; ///< SATA 3.0 Gb/s TX Output De-Emphasis Adjustment Setting UINT32 RsvdBits1 : 4; ///< Reserved bits UINT32 HsioTxGen3DeEmphEnable : 1; ///< 0: Disable; 1: Enable SATA 6.0 Gb/s TX Output De-Emphasis Adjustment Setting value override UINT32 HsioTxGen3DeEmph : 6; ///< SATA 6.0 Gb/s TX Output De-Emphasis Adjustment Setting value override UINT32 RsvdBits2 : 25; ///< Reserved bits } PCH_HSIO_SATA_PORT_LANE; /// /// The PCH_HSIO_SATA_CONFIG block describes the HSIO configuration of the SATA controller. /// typedef struct { CONFIG_BLOCK_HEADER Header; ///< Config Block Header /// /// These members describe the configuration of HSIO for SATA lanes. /// PCH_HSIO_SATA_PORT_LANE PortLane[PCH_MAX_SATA_PORTS]; } PCH_HSIO_SATA_PREMEM_CONFIG; #pragma pack (pop) #endif // _HSIO_SATA_CONFIG_H_