public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
@ 2024-08-07  6:47 Nhi Pham via groups.io
  2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 1/5] AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation Nhi Pham via groups.io
                   ` (8 more replies)
  0 siblings, 9 replies; 19+ messages in thread
From: Nhi Pham via groups.io @ 2024-08-07  6:47 UTC (permalink / raw)
  To: devel; +Cc: quic_llindhol, chuong, rebecca, nhi

This updates the I2C library and implements SMBUS PEI/DXE drivers to
support IPMI SSIF in the Mt. Jade platform.

v2:
- Refine the changes of the DwI2cLib per Leif's comments and update the
  commit message accordingly.
- Remove the additional PCD PcdBmcSlaveAddr since it's is unused.

NOTE: Regarding the controller/target terminology, the function
prototype and comment are derived from edk2/MdePkg. In this patch set, I
am trying to avoid misusing the terms in the implementation instead of
altering the function prototype and comment with the PPI and Protocol.

Nhi Pham (5):
  AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation
  AmpereSiliconPkg: Define PCDs for SMBUS and BMC
  AmpereAltraPkg: Add SmbusHc PEI and DXE drivers
  JadePkg: Add PlatformBmcReadyLib to support BMC ready check
  Ampere/Jade: Enable IPMI SSIF

 Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec                        |  15 +-
 Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc                        |  23 ++
 Platform/Ampere/JadePkg/Jade.dsc                                            |   2 +
 Platform/Ampere/JadePkg/Jade.fdf                                            |  17 ++
 Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.inf |  29 ++
 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf                |  43 +++
 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf                |  43 +++
 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h               |  95 +++++++
 Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h                      |  11 +-
 Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c         |   6 +-
 Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.c   |  30 +++
 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c               | 261 ++++++++++++++++++
 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c                  | 277 ++++++++++++++++++++
 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c                  | 263 +++++++++++++++++++
 Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c                   | 129 ++++++++-
 15 files changed, 1227 insertions(+), 17 deletions(-)
 create mode 100755 Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.inf
 create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
 create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
 create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
 create mode 100644 Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.c
 create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
 create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
 create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c

-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120261): https://edk2.groups.io/g/devel/message/120261
Mute This Topic: https://groups.io/mt/107765352/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 19+ messages in thread

* [edk2-devel] [edk2-platforms][PATCH v2 1/5] AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation
  2024-08-07  6:47 [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support Nhi Pham via groups.io
@ 2024-08-07  6:47 ` Nhi Pham via groups.io
  2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 2/5] AmpereSiliconPkg: Define PCDs for SMBUS and BMC Nhi Pham via groups.io
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 19+ messages in thread
From: Nhi Pham via groups.io @ 2024-08-07  6:47 UTC (permalink / raw)
  To: devel; +Cc: quic_llindhol, chuong, rebecca, nhi

This introduces two input parameters to the I2cProbe() and updates the
InternalI2cRead() for the support of the SMBUS operation with optional
PEC check, which will be used by the IPMI SSIF driver.

Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
---
 Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h              |  11 +-
 Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c |   6 +-
 Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c           | 129 ++++++++++++++++++--
 3 files changed, 131 insertions(+), 15 deletions(-)

diff --git a/Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h b/Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h
index f13794171029..3a312f7b6aed 100644
--- a/Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h
+++ b/Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h
@@ -1,7 +1,7 @@
 /** @file
   Library implementation for the Designware I2C controller.
 
-  Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.<BR>
+  Copyright (c) 2020 - 2024, Ampere Computing LLC. All rights reserved.<BR>
 
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -70,6 +70,9 @@ I2cRead (
 
   @param[in] Bus      I2C bus Id.
   @param[in] BusSpeed I2C bus speed in Hz.
+  @param[in] IsSmbus  Flag to indicate if the bus is used to execute an SMBus operation.
+  @param[in] PecCheck If Packet Error Code (PEC) checking is required for the SMBUS operation
+                      and is ignored when present in other operations.
 
   @retval EFI_SUCCESS           Success.
   @retval EFI_INVALID_PARAMETER A parameter is invalid.
@@ -78,8 +81,10 @@ I2cRead (
 EFI_STATUS
 EFIAPI
 I2cProbe (
-  IN UINT32 Bus,
-  IN UINTN  BusSpeed
+  IN UINT32   Bus,
+  IN UINTN    BusSpeed,
+  IN BOOLEAN  IsSmbus,
+  IN BOOLEAN  PecCheck
   );
 
 /**
diff --git a/Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c b/Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c
index bc886b530f3c..a9e7328381e6 100644
--- a/Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c
+++ b/Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c
@@ -1,6 +1,6 @@
 /** @file
 
-  Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.<BR>
+  Copyright (c) 2020 - 2024, Ampere Computing LLC. All rights reserved.<BR>
 
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -104,7 +104,7 @@ RtcI2cRead (
     return EFI_DEVICE_ERROR;
   }
 
-  Status = I2cProbe (I2C_RTC_BUS_ADDRESS, I2C_RTC_BUS_SPEED);
+  Status = I2cProbe (I2C_RTC_BUS_ADDRESS, I2C_RTC_BUS_SPEED, FALSE, FALSE);
   if (EFI_ERROR (Status)) {
     return EFI_DEVICE_ERROR;
   }
@@ -148,7 +148,7 @@ RtcI2cWrite (
     return EFI_INVALID_PARAMETER;
   }
 
-  Status = I2cProbe (I2C_RTC_BUS_ADDRESS, I2C_RTC_BUS_SPEED);
+  Status = I2cProbe (I2C_RTC_BUS_ADDRESS, I2C_RTC_BUS_SPEED, FALSE, FALSE);
   if (EFI_ERROR (Status)) {
     return EFI_DEVICE_ERROR;
   }
diff --git a/Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c b/Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c
index 669ba2ea98a4..a6631ea17d69 100644
--- a/Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c
+++ b/Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c
@@ -1,6 +1,6 @@
 /** @file
 
-  Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.<BR>
+  Copyright (c) 2020 - 2024, Ampere Computing LLC. All rights reserved.<BR>
 
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -31,12 +31,14 @@
 // Private I2C bus data
 //
 typedef struct {
-  UINTN  Base;
-  UINT32 BusSpeed;
-  UINT32 RxFifo;
-  UINT32 TxFifo;
-  UINT32 PollingTime;
-  UINT32 Enabled;
+  UINTN      Base;
+  UINT32     BusSpeed;
+  UINT32     RxFifo;
+  UINT32     TxFifo;
+  UINT32     PollingTime;
+  UINT32     Enabled;
+  BOOLEAN    IsSmbus;
+  BOOLEAN    PecCheck;
 } DW_I2C_CONTEXT_T;
 
 //
@@ -337,6 +339,11 @@ I2cWaitTxData (
       DEBUG ((DEBUG_ERROR, "%a: Timeout waiting for TX buffer available\n", __FUNCTION__));
       return EFI_TIMEOUT;
     }
+
+    if ((I2cCheckErrors (Bus) & DW_IC_INTR_TX_ABRT) != 0) {
+      return EFI_ABORTED;
+    }
+
     MicroSecondDelay (mI2cBusList[Bus].PollingTime);
   }
 
@@ -542,6 +549,72 @@ InternalI2cWrite (
   return Status;
 }
 
+/**
+  This extracts the data length from the initial byte of the SMBUS transaction. This allows
+  the driver to accurately read the SMBUS response with the exact length, rather than
+  consistently reading 32-byte block of data.
+
+  @param[in]  Bus      I2C bus Id.
+  @param[out] BusSpeed Pointer to the buffer to store the read length.
+
+  @retval EFI_SUCCESS  The operation is successful.
+  @retval Others       An error occurred.
+
+**/
+EFI_STATUS
+InternalSmbusReadDataLength (
+  UINT32  Bus,
+  UINT32  *Length
+  )
+{
+  EFI_STATUS Status;
+  UINTN      Base;
+  UINT32     CmdSend;
+
+  Base = mI2cBusList[Bus].Base;
+
+  CmdSend = DW_IC_DATA_CMD_CMD;
+  MmioWrite32 (Base + DW_IC_DATA_CMD, CmdSend);
+  I2cSync ();
+
+  if (I2cCheckErrors (Bus) != 0) {
+    DEBUG ((DEBUG_ERROR, "%a: Sending reading command error\n", __func__));
+    return EFI_CRC_ERROR;
+  }
+
+  Status = I2cWaitRxData (Bus);
+  if (EFI_ERROR (Status)) {
+    //
+    // If the SMBUS target is not ready to handle the request
+    // or is busy with preparing the response data, it will response
+    // NACK, and the error status TX_ABRT is triggered to indicate that
+    // the RX FIFO is not ready for reading. Thus, the following message
+    // serves more as verbose alert rather than an error.
+    //
+    DEBUG ((DEBUG_VERBOSE,
+      "%a: Reading Smbus data length failed to wait data\n",
+      __func__
+      ));
+
+    if (Status != EFI_ABORTED) {
+      MmioWrite32 (Base + DW_IC_DATA_CMD, DW_IC_DATA_CMD_STOP);
+      I2cSync ();
+    }
+
+    return Status;
+  }
+
+  *Length = MmioRead32 (Base + DW_IC_DATA_CMD) & DW_IC_DATA_CMD_DAT_MASK;
+  I2cSync ();
+
+  if (I2cCheckErrors (Bus) != 0) {
+    DEBUG ((DEBUG_ERROR, "%a: Sending reading command error\n", __func__));
+    return EFI_CRC_ERROR;
+  }
+
+  return EFI_SUCCESS;
+}
+
 EFI_STATUS
 InternalI2cRead (
   UINT32  Bus,
@@ -559,6 +632,7 @@ InternalI2cRead (
   UINTN      Count;
   UINTN      ReadCount;
   UINTN      WriteCount;
+  UINT32     ResponseLen;
 
   Status = EFI_SUCCESS;
   Base = mI2cBusList[Bus].Base;
@@ -601,6 +675,35 @@ InternalI2cRead (
   }
 
   WriteCount = 0;
+  if (mI2cBusList[Bus].IsSmbus) {
+    //
+    // Read Smbus Data Length, first byte of the Smbus response data.
+    //
+    Status = InternalSmbusReadDataLength (Bus, &ResponseLen);
+    if (EFI_ERROR (Status)) {
+      goto Exit;
+    }
+
+    WriteCount++;
+    Buf[ReadCount++] = ResponseLen;
+
+    //
+    // Abort the transaction when the requested length is shorter than the actual response data
+    // or if there is no response data when PEC disabled.
+    //
+    if ((*Length < (ResponseLen + 2)) || (!mI2cBusList[Bus].PecCheck && ResponseLen == 0)) {
+      MmioWrite32 (Base + DW_IC_DATA_CMD, DW_IC_DATA_CMD_CMD | DW_IC_DATA_CMD_STOP);
+      I2cSync ();
+      Status = EFI_INVALID_PARAMETER;
+      goto Exit;
+    }
+
+    *Length = ResponseLen + 1; // Response Data Length + 8-bit Byte Count field
+    if (mI2cBusList[Bus].PecCheck) {
+      *Length += 1; // ++ 8-bit PEC field
+    }
+  }
+
   while ((*Length - ReadCount) != 0) {
     TxLimit = mI2cBusList[Bus].TxFifo - MmioRead32 (Base + DW_IC_TXFLR);
     RxLimit = mI2cBusList[Bus].RxFifo - MmioRead32 (Base + DW_IC_RXFLR);
@@ -750,6 +853,9 @@ I2cRead (
 
   @param[in] Bus      I2C bus Id.
   @param[in] BusSpeed I2C bus speed in Hz.
+  @param[in] IsSmbus  Flag to indicate if the bus is used to execute an SMBus operation.
+  @param[in] PecCheck If Packet Error Code (PEC) checking is required for the SMBUS operation
+                      and is ignored when present in other operations.
 
   @retval EFI_SUCCESS           Success.
   @retval EFI_INVALID_PARAMETER A parameter is invalid.
@@ -758,8 +864,10 @@ I2cRead (
 EFI_STATUS
 EFIAPI
 I2cProbe (
-  IN UINT32 Bus,
-  IN UINTN  BusSpeed
+  IN UINT32   Bus,
+  IN UINTN    BusSpeed,
+  IN BOOLEAN  IsSmbus,
+  IN BOOLEAN  PecCheck
   )
 {
   if (Bus >= AC01_I2C_MAX_BUS_NUM
@@ -768,6 +876,9 @@ I2cProbe (
     return EFI_INVALID_PARAMETER;
   }
 
+  mI2cBusList[Bus].IsSmbus  = IsSmbus;
+  mI2cBusList[Bus].PecCheck = PecCheck;
+
   return I2cInit (Bus, BusSpeed);
 }
 
-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120262): https://edk2.groups.io/g/devel/message/120262
Mute This Topic: https://groups.io/mt/107765353/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [edk2-devel] [edk2-platforms][PATCH v2 2/5] AmpereSiliconPkg: Define PCDs for SMBUS and BMC
  2024-08-07  6:47 [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support Nhi Pham via groups.io
  2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 1/5] AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation Nhi Pham via groups.io
@ 2024-08-07  6:47 ` Nhi Pham via groups.io
  2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 3/5] AmpereAltraPkg: Add SmbusHc PEI and DXE drivers Nhi Pham via groups.io
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 19+ messages in thread
From: Nhi Pham via groups.io @ 2024-08-07  6:47 UTC (permalink / raw)
  To: devel; +Cc: quic_llindhol, chuong, rebecca, nhi

This introduces fixed PCDs for SMBUS and BMC as specified to Ampere.

Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
---
 Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec b/Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec
index 56e8b2fd2f11..c8e3b5784bdb 100644
--- a/Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec
+++ b/Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec
@@ -66,8 +66,19 @@ [PcdsFixedAtBuild]
   #
   # SMBIOS Type 0 Pcd
   #
-  gAmpereTokenSpaceGuid.PcdSmbiosTables0MajorVersion|0xFF|UINT8|0x00000005
-  gAmpereTokenSpaceGuid.PcdSmbiosTables0MinorVersion|0xFF|UINT8|0x00000006
+  gAmpereTokenSpaceGuid.PcdSmbiosTables0MajorVersion|0xFF|UINT8|0x00000005
+  gAmpereTokenSpaceGuid.PcdSmbiosTables0MinorVersion|0xFF|UINT8|0x00000006
+
+  #
+  # I2C PCDs for SMBUS
+  #
+  gAmpereTokenSpaceGuid.PcdSmbusI2cBusNumber|0x00|UINT8|0x00000007
+  gAmpereTokenSpaceGuid.PcdSmbusI2cBusSpeed|100000|UINT32|0x00000008 # Hz
+
+  #
+  # GPIO pin to support BMC ready check
+  #
+  gAmpereTokenSpaceGuid.PcdBmcReadyGpio|0x18|UINT8|0x00000009
 
 [PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx]
   #
-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120263): https://edk2.groups.io/g/devel/message/120263
Mute This Topic: https://groups.io/mt/107765354/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [edk2-devel] [edk2-platforms][PATCH v2 3/5] AmpereAltraPkg: Add SmbusHc PEI and DXE drivers
  2024-08-07  6:47 [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support Nhi Pham via groups.io
  2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 1/5] AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation Nhi Pham via groups.io
  2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 2/5] AmpereSiliconPkg: Define PCDs for SMBUS and BMC Nhi Pham via groups.io
@ 2024-08-07  6:47 ` Nhi Pham via groups.io
  2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 4/5] JadePkg: Add PlatformBmcReadyLib to support BMC ready check Nhi Pham via groups.io
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 19+ messages in thread
From: Nhi Pham via groups.io @ 2024-08-07  6:47 UTC (permalink / raw)
  To: devel; +Cc: quic_llindhol, chuong, rebecca, nhi

This adds the implementation of SMBUS PPI and Protocol to produce SMBUS
interface in both PEI and DXE phases for use by IPMI SSIF.

Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
---
 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf  |  43 +++
 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf  |  43 +++
 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h |  95 +++++++
 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c | 261 ++++++++++++++++++
 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c    | 277 ++++++++++++++++++++
 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c    | 263 +++++++++++++++++++
 6 files changed, 982 insertions(+)

diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf b/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
new file mode 100644
index 000000000000..7e8c8176658e
--- /dev/null
+++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
@@ -0,0 +1,43 @@
+## @file
+#
+# Copyright (c) 2024, Ampere Computing LLC. All rights reserved.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  INF_VERSION                    = 0x0001001B
+  BASE_NAME                      = SmbusHcDxe
+  FILE_GUID                      = A92C6874-B59E-49A7-957D-8511C9D8520E
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+  ENTRY_POINT                    = InitializeSmbus
+
+[Sources]
+  SmbusHcCommon.c
+  SmbusHcDxe.c
+
+[Packages]
+  MdeModulePkg/MdeModulePkg.dec
+  MdePkg/MdePkg.dec
+  Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dec
+  Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec
+
+[LibraryClasses]
+  BaseMemoryLib
+  DebugLib
+  GpioLib
+  I2cLib
+  UefiBootServicesTableLib
+  UefiDriverEntryPoint
+
+[Protocols]
+  gEfiSmbusHcProtocolGuid        # PRODUCES
+
+[Pcd]
+  gAmpereTokenSpaceGuid.PcdSmbusI2cBusNumber
+  gAmpereTokenSpaceGuid.PcdSmbusI2cBusSpeed
+
+[Depex]
+  TRUE
diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf b/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
new file mode 100644
index 000000000000..810a583feab3
--- /dev/null
+++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
@@ -0,0 +1,43 @@
+## @file
+#
+# Copyright (c) 2024, Ampere Computing LLC. All rights reserved.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  INF_VERSION                    = 0x0001001B
+  BASE_NAME                      = SmbusHcPeim
+  FILE_GUID                      = 1D770ACE-36E9-4B74-B548-4F423B60A26C
+  MODULE_TYPE                    = PEIM
+  VERSION_STRING                 = 1.0
+  ENTRY_POINT                    = InitializeSmbusPeim
+
+[Sources]
+  SmbusHcCommon.c
+  SmbusHcPei.c
+
+[Packages]
+  MdeModulePkg/MdeModulePkg.dec
+  MdePkg/MdePkg.dec
+  Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dec
+  Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec
+
+[LibraryClasses]
+  BaseMemoryLib
+  DebugLib
+  GpioLib
+  I2cLib
+  PeimEntryPoint
+  PeiServicesLib
+
+[Ppis]
+  gEfiPeiSmbus2PpiGuid        # PRODUCES
+
+[Pcd]
+  gAmpereTokenSpaceGuid.PcdSmbusI2cBusNumber
+  gAmpereTokenSpaceGuid.PcdSmbusI2cBusSpeed
+
+[Depex]
+  TRUE
diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h b/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
new file mode 100644
index 000000000000..db19d50b0f2a
--- /dev/null
+++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
@@ -0,0 +1,95 @@
+/** @file
+
+  Copyright (c) 2024, Ampere Computing LLC. All rights reserved.<BR>
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef SMBUS_HC_COMMON_LIB_H_
+#define SMBUS_HC_COMMON_LIB_H_
+
+#include <Library/PcdLib.h>
+#include <IndustryStandard/SmBus.h>
+#include <Uefi/UefiBaseType.h>
+
+//
+// I2C Based SMBus info
+//
+#define I2C_BUS_NUMBER  (FixedPcdGet8 (PcdSmbusI2cBusNumber))
+#define I2C_BUS_SPEED   (FixedPcdGet32 (PcdSmbusI2cBusSpeed))
+#define I2C_WRITE_ADDRESS(Addr)  ((Addr) << 1 | 0)
+#define I2C_READ_ADDRESS(Addr)   ((Addr) << 1 | 1)
+
+//
+// SMBus 2.0
+//
+#define SMBUS_MAX_BLOCK_LENGTH   0x20
+#define SMBUS_READ_TEMP_LENGTH   (SMBUS_MAX_BLOCK_LENGTH + 2)  // Length + 32 Bytes + PEC
+#define SMBUS_WRITE_TEMP_LENGTH  (SMBUS_MAX_BLOCK_LENGTH + 3)  // CMD + Length + 32 Bytes + PEC
+
+//
+// SMBus PEC
+//
+#define CRC8_POLYNOMINAL_KEY  0x107     // X^8 + X^2 + X + 1
+
+/**
+  Executes an SMBus operation to an SMBus controller. Returns when either the command has been
+  executed or an error is encountered in doing the operation.
+
+  The Execute() function provides a standard way to execute an operation as defined in the System
+  Management Bus (SMBus) Specification. The resulting transaction will be either that the SMBus
+  slave devices accept this transaction or that this function returns with error.
+
+  @param  This                    A pointer to the EFI_SMBUS_HC_PROTOCOL instance.
+  @param  SlaveAddress            The SMBus slave address of the device with which to communicate.
+  @param  Command                 This command is transmitted by the SMBus host controller to the
+                                  SMBus slave device and the interpretation is SMBus slave device
+                                  specific. It can mean the offset to a list of functions inside an
+                                  SMBus slave device. Not all operations or slave devices support
+                                  this command's registers.
+  @param  Operation               Signifies which particular SMBus hardware protocol instance that
+                                  it will use to execute the SMBus transactions. This SMBus
+                                  hardware protocol is defined by the SMBus Specification and is
+                                  not related to EFI.
+  @param  PecCheck                Defines if Packet Error Code (PEC) checking is required for this
+                                  operation.
+  @param  Length                  Signifies the number of bytes that this operation will do. The
+                                  maximum number of bytes can be revision specific and operation
+                                  specific. This field will contain the actual number of bytes that
+                                  are executed for this operation. Not all operations require this
+                                  argument.
+  @param  Buffer                  Contains the value of data to execute to the SMBus slave device.
+                                  Not all operations require this argument. The length of this
+                                  buffer is identified by Length.
+
+  @retval EFI_SUCCESS             The last data that was returned from the access matched the poll
+                                  exit criteria.
+  @retval EFI_CRC_ERROR           Checksum is not correct (PEC is incorrect).
+  @retval EFI_TIMEOUT             Timeout expired before the operation was completed. Timeout is
+                                  determined by the SMBus host controller device.
+  @retval EFI_OUT_OF_RESOURCES    The request could not be completed due to a lack of resources.
+  @retval EFI_DEVICE_ERROR        The request was not completed because a failure that was
+                                  reflected in the Host Status Register bit. Device errors are a
+                                  result of a transaction collision, illegal command field,
+                                  unclaimed cycle (host initiated), or bus errors (collisions).
+  @retval EFI_INVALID_PARAMETER   Operation is not defined in EFI_SMBUS_OPERATION.
+  @retval EFI_INVALID_PARAMETER   Length/Buffer is NULL for operations except for EfiSmbusQuickRead
+                                  and EfiSmbusQuickWrite. Length is outside the range of valid
+                                  values.
+  @retval EFI_UNSUPPORTED         The SMBus operation or PEC is not supported.
+  @retval EFI_BUFFER_TOO_SMALL    Buffer is not sufficient for this operation.
+
+**/
+EFI_STATUS
+EFIAPI
+SmbusHcCommonExecute (
+  IN       EFI_SMBUS_DEVICE_ADDRESS  SlaveAddress,
+  IN       EFI_SMBUS_DEVICE_COMMAND  Command,
+  IN       EFI_SMBUS_OPERATION       Operation,
+  IN       BOOLEAN                   PecCheck,
+  IN OUT   UINTN                     *Length,
+  IN OUT   VOID                      *Buffer
+  );
+
+#endif /* SMBUS_HC_COMMON_LIB_H_ */
diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c b/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
new file mode 100644
index 000000000000..adce5c02cf95
--- /dev/null
+++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
@@ -0,0 +1,261 @@
+/** @file
+  SmbusHcCommon implement common api for SmbusHc
+
+  Copyright (c) 2024, Ampere Computing LLC. All rights reserved.<BR>
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <Uefi.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/DebugLib.h>
+#include <Library/GpioLib.h>
+#include <Library/I2cLib.h>
+#include <Library/PcdLib.h>
+
+#include "SmbusHcCommon.h"
+
+/**
+  Incremental calculate Pec base on previous Pec value and CRC8 of data array
+  pointed to by Buffer
+
+  @param  Pec        Previous Pec
+  @param  Buffer     Pointer to data array
+  @param  Length     Array count
+
+  @retval Pec
+
+**/
+UINT8
+CalculatePec (
+  UINT8   Pec,
+  UINT8   *Buffer,
+  UINT32  Length
+  )
+{
+  UINT8  Offset, Index;
+
+  for (Offset = 0; Offset < Length; Offset++) {
+    Pec ^= Buffer[Offset];
+    for (Index = 0; Index < 8; Index++) {
+      if ((Pec & 0x80) != 0) {
+        Pec = (UINT8)((Pec << 1) ^ CRC8_POLYNOMINAL_KEY);
+      } else {
+        Pec <<= 1;
+      }
+    }
+  }
+
+  return Pec & 0xFF;
+}
+
+/**
+  Executes an SMBus operation to an SMBus controller. Returns when either the command has been
+  executed or an error is encountered in doing the operation.
+
+  The Execute() function provides a standard way to execute an operation as defined in the System
+  Management Bus (SMBus) Specification. The resulting transaction will be either that the SMBus
+  slave devices accept this transaction or that this function returns with error.
+
+  @param  SlaveAddress            The SMBus slave address of the device with which to communicate.
+  @param  Command                 This command is transmitted by the SMBus host controller to the
+                                  SMBus slave device and the interpretation is SMBus slave device
+                                  specific. It can mean the offset to a list of functions inside an
+                                  SMBus slave device. Not all operations or slave devices support
+                                  this command's registers.
+  @param  Operation               Signifies which particular SMBus hardware protocol instance that
+                                  it will use to execute the SMBus transactions. This SMBus
+                                  hardware protocol is defined by the SMBus Specification and is
+                                  not related to EFI.
+  @param  PecCheck                Defines if Packet Error Code (PEC) checking is required for this
+                                  operation.
+  @param  Length                  Signifies the number of bytes that this operation will do. The
+                                  maximum number of bytes can be revision specific and operation
+                                  specific. This field will contain the actual number of bytes that
+                                  are executed for this operation. Not all operations require this
+                                  argument.
+  @param  Buffer                  Contains the value of data to execute to the SMBus slave device.
+                                  Not all operations require this argument. The length of this
+                                  buffer is identified by Length.
+
+  @retval EFI_SUCCESS             The last data that was returned from the access matched the poll
+                                  exit criteria.
+  @retval EFI_CRC_ERROR           Checksum is not correct (PEC is incorrect).
+  @retval EFI_TIMEOUT             Timeout expired before the operation was completed. Timeout is
+                                  determined by the SMBus host controller device.
+  @retval EFI_OUT_OF_RESOURCES    The request could not be completed due to a lack of resources.
+  @retval EFI_DEVICE_ERROR        The request was not completed because a failure that was
+                                  reflected in the Host Status Register bit. Device errors are a
+                                  result of a transaction collision, illegal command field,
+                                  unclaimed cycle (host initiated), or bus errors (collisions).
+  @retval EFI_INVALID_PARAMETER   Operation is not defined in EFI_SMBUS_OPERATION.
+  @retval EFI_INVALID_PARAMETER   Length/Buffer is NULL for operations except for EfiSmbusQuickRead
+                                  and EfiSmbusQuickWrite. Length is outside the range of valid
+                                  values.
+  @retval EFI_UNSUPPORTED         The SMBus operation or PEC is not supported.
+  @retval EFI_BUFFER_TOO_SMALL    Buffer is not sufficient for this operation.
+
+**/
+EFI_STATUS
+EFIAPI
+SmbusHcCommonExecute (
+  IN       EFI_SMBUS_DEVICE_ADDRESS  SlaveAddress,
+  IN       EFI_SMBUS_DEVICE_COMMAND  Command,
+  IN       EFI_SMBUS_OPERATION       Operation,
+  IN       BOOLEAN                   PecCheck,
+  IN OUT   UINTN                     *Length,
+  IN OUT   VOID                      *Buffer
+  )
+{
+  EFI_STATUS  Status;
+  UINTN       DataLen, Idx;
+  UINT8       ReadTemp[SMBUS_READ_TEMP_LENGTH];
+  UINT8       WriteTemp[SMBUS_WRITE_TEMP_LENGTH];
+  UINT8       CrcTemp[10];
+  UINT8       Pec;
+
+  if (  ((Operation != EfiSmbusQuickRead) && (Operation != EfiSmbusQuickWrite))
+     && ((Length == NULL) || (Buffer == NULL)))
+  {
+    return EFI_INVALID_PARAMETER;
+  }
+
+  //
+  // Switch to correct I2C bus and speed
+  //
+  Status = I2cProbe (I2C_BUS_NUMBER, I2C_BUS_SPEED, TRUE, PecCheck);
+  if (EFI_ERROR (Status)) {
+    return EFI_DEVICE_ERROR;
+  }
+
+  //
+  // Process Operation
+  //
+  switch (Operation) {
+    case EfiSmbusWriteBlock:
+      if (*Length > SMBUS_MAX_BLOCK_LENGTH) {
+        return EFI_INVALID_PARAMETER;
+      }
+
+      WriteTemp[0] = Command;
+      WriteTemp[1] = *Length;
+      CopyMem (&WriteTemp[2], Buffer, *Length);
+      DataLen = *Length + 2;
+
+      //
+      // PEC handling
+      //
+      if (PecCheck) {
+        CrcTemp[0] = I2C_WRITE_ADDRESS (SlaveAddress.SmbusDeviceAddress);
+        Pec        = CalculatePec (0, &CrcTemp[0], 1);
+        Pec        = CalculatePec (Pec, WriteTemp, DataLen);
+        DEBUG ((DEBUG_VERBOSE, "\nWriteBlock PEC = 0x%x \n", Pec));
+        WriteTemp[DataLen] = Pec;
+        DataLen           += 1;
+      }
+
+      DEBUG ((DEBUG_VERBOSE, "W %d: ", DataLen));
+      for (Idx = 0; Idx < DataLen; Idx++) {
+        DEBUG ((DEBUG_VERBOSE, "0x%x ", WriteTemp[Idx]));
+      }
+
+      DEBUG ((DEBUG_VERBOSE, "\n"));
+
+      Status = I2cWrite (
+                 I2C_BUS_NUMBER,
+                 SlaveAddress.SmbusDeviceAddress,
+                 WriteTemp,
+                 (UINT32 *)&DataLen
+                 );
+      if (EFI_ERROR (Status)) {
+        if (Status != EFI_TIMEOUT) {
+          Status = EFI_DEVICE_ERROR;
+        }
+      }
+
+      break;
+
+    case EfiSmbusReadBlock:
+      WriteTemp[0] = Command;
+      DataLen      = *Length + 2; // +1 byte for Data Length +1 byte for PEC
+      Status       = I2cRead (
+                       I2C_BUS_NUMBER,
+                       SlaveAddress.SmbusDeviceAddress,
+                       WriteTemp,
+                       1,
+                       ReadTemp,
+                       (UINT32 *)&DataLen
+                       );
+      if (EFI_ERROR (Status)) {
+        if (Status != EFI_TIMEOUT) {
+          Status = EFI_DEVICE_ERROR;
+        }
+
+        *Length = 0;
+        break;
+      }
+
+      DEBUG ((DEBUG_VERBOSE, "R %d: ", DataLen));
+      for (Idx = 0; Idx < DataLen; Idx++) {
+        DEBUG ((DEBUG_VERBOSE, "0x%x ", ReadTemp[Idx]));
+      }
+
+      DEBUG ((DEBUG_VERBOSE, "\n"));
+
+      DataLen = ReadTemp[0];
+
+      //
+      // PEC handling
+      //
+      if (PecCheck) {
+        CrcTemp[0] = I2C_WRITE_ADDRESS (SlaveAddress.SmbusDeviceAddress);
+        CrcTemp[1] = Command;
+        CrcTemp[2] = I2C_READ_ADDRESS (SlaveAddress.SmbusDeviceAddress);
+
+        Pec = CalculatePec (0, &CrcTemp[0], 3);
+        Pec = CalculatePec (Pec, ReadTemp, DataLen + 1);
+
+        if (Pec != ReadTemp[DataLen + 1]) {
+          DEBUG ((DEBUG_ERROR, "ReadBlock PEC cal = 0x%x != 0x%x\n", Pec, ReadTemp[DataLen + 1]));
+          return EFI_CRC_ERROR;
+        } else {
+          DEBUG ((DEBUG_VERBOSE, "ReadBlock PEC 0x%x\n", ReadTemp[DataLen + 1]));
+        }
+      }
+
+      if ((DataLen == 0) || (DataLen > SMBUS_MAX_BLOCK_LENGTH)) {
+        DEBUG ((DEBUG_ERROR, "%a: Invalid length = %d\n", __func__, DataLen));
+        *Length = 0;
+        Status  = EFI_INVALID_PARAMETER;
+      } else if (DataLen > *Length) {
+        DEBUG ((DEBUG_ERROR, "%a: Buffer too small\n", __func__));
+        *Length = 0;
+        Status  = EFI_BUFFER_TOO_SMALL;
+      } else {
+        *Length = DataLen;
+        CopyMem (Buffer, &ReadTemp[1], DataLen);
+      }
+
+      break;
+
+    case EfiSmbusQuickRead:
+    case EfiSmbusQuickWrite:
+    case EfiSmbusReceiveByte:
+    case EfiSmbusSendByte:
+    case EfiSmbusReadByte:
+    case EfiSmbusWriteByte:
+    case EfiSmbusReadWord:
+    case EfiSmbusWriteWord:
+    case EfiSmbusProcessCall:
+    case EfiSmbusBWBRProcessCall:
+      DEBUG ((DEBUG_ERROR, "%a: Unsupported command\n", __func__));
+      Status = EFI_UNSUPPORTED;
+      break;
+
+    default:
+      Status = EFI_INVALID_PARAMETER;
+  }
+
+  return Status;
+}
diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c b/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
new file mode 100644
index 000000000000..49a16a2c3d7e
--- /dev/null
+++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
@@ -0,0 +1,277 @@
+/** SmbusHc protocol implementation follows SMBus 2.0 specification.
+
+  Copyright (c) 2024, Ampere Computing LLC. All rights reserved.<BR>
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <Library/BaseMemoryLib.h>
+#include <Library/DebugLib.h>
+#include <Library/GpioLib.h>
+#include <Library/I2cLib.h>
+#include <Library/PcdLib.h>
+#include <Library/UefiBootServicesTableLib.h>
+#include <Protocol/SmbusHc.h>
+
+#include "SmbusHcCommon.h"
+
+//
+// Handle to install SMBus Host Controller protocol.
+//
+EFI_HANDLE  mSmbusHcHandle = NULL;
+
+/**
+  Executes an SMBus operation to an SMBus controller. Returns when either the command has been
+  executed or an error is encountered in doing the operation.
+
+  The Execute() function provides a standard way to execute an operation as defined in the System
+  Management Bus (SMBus) Specification. The resulting transaction will be either that the SMBus
+  slave devices accept this transaction or that this function returns with error.
+
+  @param  This                    A pointer to the EFI_SMBUS_HC_PROTOCOL instance.
+  @param  SlaveAddress            The SMBus slave address of the device with which to communicate.
+  @param  Command                 This command is transmitted by the SMBus host controller to the
+                                  SMBus slave device and the interpretation is SMBus slave device
+                                  specific. It can mean the offset to a list of functions inside an
+                                  SMBus slave device. Not all operations or slave devices support
+                                  this command's registers.
+  @param  Operation               Signifies which particular SMBus hardware protocol instance that
+                                  it will use to execute the SMBus transactions. This SMBus
+                                  hardware protocol is defined by the SMBus Specification and is
+                                  not related to EFI.
+  @param  PecCheck                Defines if Packet Error Code (PEC) checking is required for this
+                                  operation.
+  @param  Length                  Signifies the number of bytes that this operation will do. The
+                                  maximum number of bytes can be revision specific and operation
+                                  specific. This field will contain the actual number of bytes that
+                                  are executed for this operation. Not all operations require this
+                                  argument.
+  @param  Buffer                  Contains the value of data to execute to the SMBus slave device.
+                                  Not all operations require this argument. The length of this
+                                  buffer is identified by Length.
+
+  @retval EFI_SUCCESS             The last data that was returned from the access matched the poll
+                                  exit criteria.
+  @retval EFI_CRC_ERROR           Checksum is not correct (PEC is incorrect).
+  @retval EFI_TIMEOUT             Timeout expired before the operation was completed. Timeout is
+                                  determined by the SMBus host controller device.
+  @retval EFI_OUT_OF_RESOURCES    The request could not be completed due to a lack of resources.
+  @retval EFI_DEVICE_ERROR        The request was not completed because a failure that was
+                                  reflected in the Host Status Register bit. Device errors are a
+                                  result of a transaction collision, illegal command field,
+                                  unclaimed cycle (host initiated), or bus errors (collisions).
+  @retval EFI_INVALID_PARAMETER   Operation is not defined in EFI_SMBUS_OPERATION.
+  @retval EFI_INVALID_PARAMETER   Length/Buffer is NULL for operations except for EfiSmbusQuickRead
+                                  and EfiSmbusQuickWrite. Length is outside the range of valid
+                                  values.
+  @retval EFI_UNSUPPORTED         The SMBus operation or PEC is not supported.
+  @retval EFI_BUFFER_TOO_SMALL    Buffer is not sufficient for this operation.
+
+**/
+EFI_STATUS
+EFIAPI
+SmbusHcExecute (
+  IN CONST EFI_SMBUS_HC_PROTOCOL     *This,
+  IN       EFI_SMBUS_DEVICE_ADDRESS  SlaveAddress,
+  IN       EFI_SMBUS_DEVICE_COMMAND  Command,
+  IN       EFI_SMBUS_OPERATION       Operation,
+  IN       BOOLEAN                   PecCheck,
+  IN OUT   UINTN                     *Length,
+  IN OUT   VOID                      *Buffer
+  )
+{
+  EFI_STATUS  Status;
+  EFI_TPL     OldTpl;
+
+  ASSERT (This != NULL);
+
+  OldTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL);
+
+  Status = SmbusHcCommonExecute (SlaveAddress, Command, Operation, PecCheck, Length, Buffer);
+
+  gBS->RestoreTPL (OldTpl);
+
+  return Status;
+}
+
+/**
+
+  The SmbusHcArpDevice() function provides a standard way for a device driver to
+  enumerate the entire SMBus or specific devices on the bus.
+
+  @param This           A pointer to the EFI_SMBUS_HC_PROTOCOL instance.
+
+  @param ArpAll         A Boolean expression that indicates if the
+                        host drivers need to enumerate all the devices
+                        or enumerate only the device that is
+                        identified by SmbusUdid. If ArpAll is TRUE,
+                        SmbusUdid and SlaveAddress are optional. If
+                        ArpAll is FALSE, ArpDevice will enumerate
+                        SmbusUdid and the address will be at
+                        SlaveAddress.
+
+  @param SmbusUdid      The Unique Device Identifier (UDID) that is
+                        associated with this device. Type
+                        EFI_SMBUS_UDID is defined in
+                        EFI_PEI_SMBUS_PPI.ArpDevice() in the
+                        Platform Initialization SMBus PPI
+                        Specification.
+
+  @param SlaveAddress   The SMBus slave address that is
+                        associated with an SMBus UDID.
+
+  @retval EFI_SUCCESS           The last data that was returned from the
+                                access matched the poll exit criteria.
+
+  @retval EFI_CRC_ERROR         Checksum is not correct (PEC is
+                                incorrect).
+
+  @retval EFI_TIMEOUT           Timeout expired before the operation was
+                                completed. Timeout is determined by the
+                                SMBus host controller device.
+
+  @retval EFI_OUT_OF_RESOURCES  The request could not be
+                                completed due to a lack of
+                                resources.
+
+  @retval EFI_DEVICE_ERROR      The request was not completed
+                                because a failure was reflected in
+                                the Host Status Register bit. Device
+                                Errors are a result of a transaction
+                                collision, illegal command field,
+                                unclaimed cycle (host initiated), or
+                                bus errors (collisions).
+
+  @retval EFI_UNSUPPORTED       ArpDevice, GetArpMap, and Notify are
+                                not implemented by this driver.
+
+**/
+EFI_STATUS
+EFIAPI
+SmbusHcArpDevice (
+  IN CONST EFI_SMBUS_HC_PROTOCOL *This,
+  IN       BOOLEAN ArpAll,
+  IN       EFI_SMBUS_UDID *SmbusUdid, OPTIONAL
+  IN OUT   EFI_SMBUS_DEVICE_ADDRESS *SlaveAddress OPTIONAL
+  )
+{
+  //
+  // Not supported
+  //
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  The SmbusHcGetArpMap() function returns the mapping of all the SMBus devices
+  that were enumerated by the SMBus host driver.
+
+  @param This           A pointer to the EFI_SMBUS_HC_PROTOCOL instance.
+
+  @param Length         Size of the buffer that contains the SMBus
+                        device map.
+
+  @param SmbusDeviceMap The pointer to the device map as
+                        enumerated by the SMBus controller
+                        driver.
+
+  @retval EFI_SUCCESS       The SMBus returned the current device map.
+
+  @retval EFI_UNSUPPORTED   ArpDevice, GetArpMap, and Notify are
+                            not implemented by this driver.
+
+**/
+EFI_STATUS
+EFIAPI
+SmbusHcGetArpMap (
+  IN CONST EFI_SMBUS_HC_PROTOCOL  *This,
+  IN OUT   UINTN                  *Length,
+  IN OUT   EFI_SMBUS_DEVICE_MAP   **SmbusDeviceMap
+  )
+{
+  //
+  // Not supported
+  //
+  return EFI_UNSUPPORTED;
+}
+
+/**
+
+  The SmbusHcNotify() function registers all the callback functions to
+  allow the bus driver to call these functions when the
+  SlaveAddress/Data pair happens.
+
+  @param  This            A pointer to the EFI_SMBUS_HC_PROTOCOL instance.
+
+  @param  SlaveAddress    Address that the host controller detects
+                          as sending a message and calls all the registered function.
+
+  @param  Data            Data that the host controller detects as sending
+                          message and calls all the registered function.
+
+
+  @param  NotifyFunction  The function to call when the bus
+                          driver detects the SlaveAddress and
+                          Data pair.
+
+  @retval EFI_SUCCESS       NotifyFunction was registered.
+
+  @retval EFI_UNSUPPORTED   ArpDevice, GetArpMap, and Notify are
+                            not implemented by this driver.
+
+**/
+EFI_STATUS
+EFIAPI
+SmbusHcNotify (
+  IN CONST EFI_SMBUS_HC_PROTOCOL      *This,
+  IN       EFI_SMBUS_DEVICE_ADDRESS   SlaveAddress,
+  IN       UINTN                      Data,
+  IN       EFI_SMBUS_NOTIFY_FUNCTION  NotifyFunction
+  )
+{
+  //
+  // Not supported
+  //
+  return EFI_UNSUPPORTED;
+}
+
+//
+// Interface defintion of SMBUS Host Controller Protocol.
+//
+EFI_SMBUS_HC_PROTOCOL  mSmbusHcProtocol = {
+  SmbusHcExecute,
+  SmbusHcArpDevice,
+  SmbusHcGetArpMap,
+  SmbusHcNotify
+};
+
+/**
+  SmbusHc driver entry point
+
+  @param[in] ImageHandle          ImageHandle of this module
+  @param[in] SystemTable          EFI System Table
+
+  @retval EFI_SUCCESS             Driver initializes successfully
+  @retval Other values            Some error occurred
+**/
+EFI_STATUS
+InitializeSmbus (
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
+  )
+{
+  EFI_STATUS  Status;
+
+  //
+  // Install Smbus protocol
+  //
+  Status = gBS->InstallMultipleProtocolInterfaces (
+                  &mSmbusHcHandle,
+                  &gEfiSmbusHcProtocolGuid,
+                  &mSmbusHcProtocol,
+                  NULL
+                  );
+  ASSERT_EFI_ERROR (Status);
+
+  return Status;
+}
diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c b/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
new file mode 100644
index 000000000000..39483a2a602a
--- /dev/null
+++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
@@ -0,0 +1,263 @@
+/** @file
+  SmbusHc protocol implementation follows SMBus 2.0 specification.
+
+  Copyright (c) 2024, Ampere Computing LLC. All rights reserved.<BR>
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <Library/BaseMemoryLib.h>
+#include <Library/DebugLib.h>
+#include <Library/PeiServicesLib.h>
+#include <Ppi/Smbus2.h>
+
+#include "SmbusHcCommon.h"
+
+/**
+  Executes an SMBus operation to an SMBus controller. Returns when either the command has been
+  executed or an error is encountered in doing the operation.
+
+  The Execute() function provides a standard way to execute an operation as defined in the System
+  Management Bus (SMBus) Specification. The resulting transaction will be either that the SMBus
+  slave devices accept this transaction or that this function returns with error.
+
+  @param  This                    A pointer to the EFI_PEI_SMBUS2_PPI instance.
+  @param  SlaveAddress            The SMBus slave address of the device with which to communicate.
+  @param  Command                 This command is transmitted by the SMBus host controller to the
+                                  SMBus slave device and the interpretation is SMBus slave device
+                                  specific. It can mean the offset to a list of functions inside an
+                                  SMBus slave device. Not all operations or slave devices support
+                                  this command's registers.
+  @param  Operation               Signifies which particular SMBus hardware protocol instance that
+                                  it will use to execute the SMBus transactions. This SMBus
+                                  hardware protocol is defined by the SMBus Specification and is
+                                  not related to EFI.
+  @param  PecCheck                Defines if Packet Error Code (PEC) checking is required for this
+                                  operation.
+  @param  Length                  Signifies the number of bytes that this operation will do. The
+                                  maximum number of bytes can be revision specific and operation
+                                  specific. This field will contain the actual number of bytes that
+                                  are executed for this operation. Not all operations require this
+                                  argument.
+  @param  Buffer                  Contains the value of data to execute to the SMBus slave device.
+                                  Not all operations require this argument. The length of this
+                                  buffer is identified by Length.
+
+  @retval EFI_SUCCESS             The last data that was returned from the access matched the poll
+                                  exit criteria.
+  @retval EFI_CRC_ERROR           Checksum is not correct (PEC is incorrect).
+  @retval EFI_TIMEOUT             Timeout expired before the operation was completed. Timeout is
+                                  determined by the SMBus host controller device.
+  @retval EFI_OUT_OF_RESOURCES    The request could not be completed due to a lack of resources.
+  @retval EFI_DEVICE_ERROR        The request was not completed because a failure that was
+                                  reflected in the Host Status Register bit. Device errors are a
+                                  result of a transaction collision, illegal command field,
+                                  unclaimed cycle (host initiated), or bus errors (collisions).
+  @retval EFI_INVALID_PARAMETER   Operation is not defined in EFI_SMBUS_OPERATION.
+  @retval EFI_INVALID_PARAMETER   Length/Buffer is NULL for operations except for EfiSmbusQuickRead
+                                  and EfiSmbusQuickWrite. Length is outside the range of valid
+                                  values.
+  @retval EFI_UNSUPPORTED         The SMBus operation or PEC is not supported.
+  @retval EFI_BUFFER_TOO_SMALL    Buffer is not sufficient for this operation.
+
+**/
+EFI_STATUS
+EFIAPI
+SmbusHcExecute (
+  IN CONST EFI_PEI_SMBUS2_PPI        *This,
+  IN       EFI_SMBUS_DEVICE_ADDRESS  SlaveAddress,
+  IN       EFI_SMBUS_DEVICE_COMMAND  Command,
+  IN       EFI_SMBUS_OPERATION       Operation,
+  IN       BOOLEAN                   PecCheck,
+  IN OUT   UINTN                     *Length,
+  IN OUT   VOID                      *Buffer
+  )
+{
+  ASSERT (This != NULL);
+  return SmbusHcCommonExecute (SlaveAddress, Command, Operation, PecCheck, Length, Buffer);
+}
+
+/**
+
+  The SmbusHcArpDevice() function provides a standard way for a device driver to
+  enumerate the entire SMBus or specific devices on the bus.
+
+  @param This           A pointer to the EFI_PEI_SMBUS2_PPI instance.
+
+  @param ArpAll         A Boolean expression that indicates if the
+                        host drivers need to enumerate all the devices
+                        or enumerate only the device that is
+                        identified by SmbusUdid. If ArpAll is TRUE,
+                        SmbusUdid and SlaveAddress are optional. If
+                        ArpAll is FALSE, ArpDevice will enumerate
+                        SmbusUdid and the address will be at
+                        SlaveAddress.
+
+  @param SmbusUdid      The Unique Device Identifier (UDID) that is
+                        associated with this device. Type
+                        EFI_SMBUS_UDID is defined in
+                        EFI_PEI_SMBUS_PPI.ArpDevice() in the
+                        Platform Initialization SMBus PPI
+                        Specification.
+
+  @param SlaveAddress   The SMBus slave address that is
+                        associated with an SMBus UDID.
+
+  @retval EFI_SUCCESS           The last data that was returned from the
+                                access matched the poll exit criteria.
+
+  @retval EFI_CRC_ERROR         Checksum is not correct (PEC is
+                                incorrect).
+
+  @retval EFI_TIMEOUT           Timeout expired before the operation was
+                                completed. Timeout is determined by the
+                                SMBus host controller device.
+
+  @retval EFI_OUT_OF_RESOURCES  The request could not be
+                                completed due to a lack of
+                                resources.
+
+  @retval EFI_DEVICE_ERROR      The request was not completed
+                                because a failure was reflected in
+                                the Host Status Register bit. Device
+                                Errors are a result of a transaction
+                                collision, illegal command field,
+                                unclaimed cycle (host initiated), or
+                                bus errors (collisions).
+
+  @retval EFI_UNSUPPORTED       ArpDevice, GetArpMap, and Notify are
+                                not implemented by this driver.
+
+**/
+EFI_STATUS
+EFIAPI
+SmbusHcArpDevice (
+  IN CONST EFI_PEI_SMBUS2_PPI *This,
+  IN       BOOLEAN ArpAll,
+  IN       EFI_SMBUS_UDID *SmbusUdid, OPTIONAL
+  IN OUT   EFI_SMBUS_DEVICE_ADDRESS *SlaveAddress OPTIONAL
+  )
+{
+  //
+  // Not supported
+  //
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  The SmbusHcGetArpMap() function returns the mapping of all the SMBus devices
+  that were enumerated by the SMBus host driver.
+
+  @param This           A pointer to the EFI_PEI_SMBUS2_PPI instance.
+
+  @param Length         Size of the buffer that contains the SMBus
+                        device map.
+
+  @param SmbusDeviceMap The pointer to the device map as
+                        enumerated by the SMBus controller
+                        driver.
+
+  @retval EFI_SUCCESS       The SMBus returned the current device map.
+
+  @retval EFI_UNSUPPORTED   ArpDevice, GetArpMap, and Notify are
+                            not implemented by this driver.
+
+**/
+EFI_STATUS
+EFIAPI
+SmbusHcGetArpMap (
+  IN CONST EFI_PEI_SMBUS2_PPI    *This,
+  IN OUT   UINTN                 *Length,
+  IN OUT   EFI_SMBUS_DEVICE_MAP  **SmbusDeviceMap
+  )
+{
+  //
+  // Not supported
+  //
+  return EFI_UNSUPPORTED;
+}
+
+/**
+
+  The SmbusHcNotify() function registers all the callback functions to
+  allow the bus driver to call these functions when the
+  SlaveAddress/Data pair happens.
+
+  @param  This            A pointer to the EFI_PEI_SMBUS2_PPI instance.
+
+  @param  SlaveAddress    Address that the host controller detects
+                          as sending a message and calls all the registered function.
+
+  @param  Data            Data that the host controller detects as sending
+                          message and calls all the registered function.
+
+
+  @param  NotifyFunction  The function to call when the bus
+                          driver detects the SlaveAddress and
+                          Data pair.
+
+  @retval EFI_SUCCESS       NotifyFunction was registered.
+
+  @retval EFI_UNSUPPORTED   ArpDevice, GetArpMap, and Notify are
+                            not implemented by this driver.
+
+**/
+EFI_STATUS
+EFIAPI
+SmbusHcNotify (
+  IN CONST EFI_PEI_SMBUS2_PPI              *This,
+  IN       EFI_SMBUS_DEVICE_ADDRESS        SlaveAddress,
+  IN       UINTN                           Data,
+  IN       EFI_PEI_SMBUS_NOTIFY2_FUNCTION  NotifyFunction
+  )
+{
+  //
+  // Not supported
+  //
+  return EFI_UNSUPPORTED;
+}
+
+//
+// Interface defintion of SMBUS Host Controller Protocol.
+//
+EFI_PEI_SMBUS2_PPI  mSmbusHcPpi = {
+  SmbusHcExecute,
+  SmbusHcArpDevice,
+  SmbusHcGetArpMap,
+  SmbusHcNotify
+};
+
+EFI_PEI_PPI_DESCRIPTOR  gPpiSmbusHcPpiList = {
+  (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
+  &gEfiPeiSmbus2PpiGuid,
+  &mSmbusHcPpi
+};
+
+/**
+  SmbusHc driver entry point
+
+  @param[in] ImageHandle          ImageHandle of this module
+  @param[in]  PeiServices         An indirect pointer to the PEI Services Table
+                                  published by the PEI Foundation.
+
+  @retval EFI_SUCCESS             Driver initializes successfully
+  @retval Other values            Some error occurred
+**/
+EFI_STATUS
+EFIAPI
+InitializeSmbusPeim (
+  IN       EFI_PEI_FILE_HANDLE  FileHandle,
+  IN CONST EFI_PEI_SERVICES     **PeiServices
+  )
+{
+  EFI_STATUS  Status;
+
+  //
+  // Install Smbus Ppi
+  //
+  Status = PeiServicesInstallPpi (&gPpiSmbusHcPpiList);
+  ASSERT_EFI_ERROR (Status);
+
+  return Status;
+}
-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120264): https://edk2.groups.io/g/devel/message/120264
Mute This Topic: https://groups.io/mt/107765355/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [edk2-devel] [edk2-platforms][PATCH v2 4/5] JadePkg: Add PlatformBmcReadyLib to support BMC ready check
  2024-08-07  6:47 [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support Nhi Pham via groups.io
                   ` (2 preceding siblings ...)
  2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 3/5] AmpereAltraPkg: Add SmbusHc PEI and DXE drivers Nhi Pham via groups.io
@ 2024-08-07  6:47 ` Nhi Pham via groups.io
  2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 5/5] Ampere/Jade: Enable IPMI SSIF Nhi Pham via groups.io
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 19+ messages in thread
From: Nhi Pham via groups.io @ 2024-08-07  6:47 UTC (permalink / raw)
  To: devel; +Cc: quic_llindhol, chuong, rebecca, nhi

This adds the PlatformBmcReadyLib library instance, which provides a
function to check whether the BMC is ready for transaction or not. The
function checks the GPIO pin specified by the PcdBmcReadyGpio PCD and
returns TRUE if the pin is set to a logic high level, indicating that
the BMC is ready.

Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
---
 Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.inf | 29 +++++++++++++++++++
 Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.c   | 30 ++++++++++++++++++++
 2 files changed, 59 insertions(+)

diff --git a/Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.inf b/Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.inf
new file mode 100755
index 000000000000..493178c3fc5e
--- /dev/null
+++ b/Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.inf
@@ -0,0 +1,29 @@
+## @file
+#
+# Copyright (c) 2024, Ampere Computing LLC. All rights reserved.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  INF_VERSION                    = 0x0001001B
+  BASE_NAME                      = PlatformBmcReadyLib
+  FILE_GUID                      = D7D58480-96D5-4820-AC2D-472F4E0B9903
+  MODULE_TYPE                    = BASE
+  VERSION_STRING                 = 1.0
+  LIBRARY_CLASS                  = PlatformBmcReadyLib
+
+[Sources]
+  PlatformBmcReadyLib.c
+
+[Packages]
+  MdePkg/MdePkg.dec
+  Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec
+  Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dec
+
+[LibraryClasses]
+  GpioLib
+
+[Pcd]
+  gAmpereTokenSpaceGuid.PcdBmcReadyGpio
diff --git a/Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.c b/Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.c
new file mode 100644
index 000000000000..b1712ff393c8
--- /dev/null
+++ b/Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.c
@@ -0,0 +1,30 @@
+/** @file
+
+  Copyright (c) 2024, Ampere Computing LLC. All rights reserved.<BR>
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <Uefi.h>
+#include <Library/GpioLib.h>
+#include <Library/PcdLib.h>
+
+/**
+  This function checks whether BMC is ready for transaction or not.
+
+  @retval TRUE   The BMC is ready.
+  @retval FALSE  The BMC is not ready.
+
+**/
+BOOLEAN
+EFIAPI
+PlatformBmcReady (
+  VOID
+  )
+{
+  //
+  // The BMC is considered ready if its GPIO pin is set to a logic high level.
+  //
+  return GpioReadBit (FixedPcdGet8 (PcdBmcReadyGpio)) == 0x1;
+}
-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120265): https://edk2.groups.io/g/devel/message/120265
Mute This Topic: https://groups.io/mt/107765356/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [edk2-devel] [edk2-platforms][PATCH v2 5/5] Ampere/Jade: Enable IPMI SSIF
  2024-08-07  6:47 [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support Nhi Pham via groups.io
                   ` (3 preceding siblings ...)
  2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 4/5] JadePkg: Add PlatformBmcReadyLib to support BMC ready check Nhi Pham via groups.io
@ 2024-08-07  6:47 ` Nhi Pham via groups.io
  2024-08-07  7:16 ` [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support Chang, Abner via groups.io
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 19+ messages in thread
From: Nhi Pham via groups.io @ 2024-08-07  6:47 UTC (permalink / raw)
  To: devel; +Cc: quic_llindhol, chuong, rebecca, nhi

This adds the building of IPMI SSIf and associated modules.

Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
---
 Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc | 23 ++++++++++++++++++++
 Platform/Ampere/JadePkg/Jade.dsc                     |  2 ++
 Platform/Ampere/JadePkg/Jade.fdf                     | 17 +++++++++++++++
 3 files changed, 42 insertions(+)

diff --git a/Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc b/Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc
index 71a33f9ff36a..ba18e75d531d 100644
--- a/Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc
+++ b/Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc
@@ -91,6 +91,7 @@ [LibraryClasses.common]
   GpioLib|Silicon/Ampere/AmpereAltraPkg/Library/DwGpioLib/DwGpioLib.inf
   MmCommunicationLib|Silicon/Ampere/AmpereAltraPkg/Library/MmCommunicationLib/MmCommunicationLib.inf
   FlashLib|Silicon/Ampere/AmpereAltraPkg/Library/FlashLib/FlashLib.inf
+  ManageabilityTransportHelperLib|ManageabilityPkg/Library/BaseManageabilityTransportHelperLib/BaseManageabilityTransportHelper.inf
 
   #
   # ARM PL011 UART Driver
@@ -211,6 +212,10 @@ [LibraryClasses.common.PEIM]
   ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
   PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
 
+  SmbusLib|MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLibSmbus2Ppi.inf
+  IpmiLib|MdeModulePkg/Library/PeiIpmiLibIpmiPpi/PeiIpmiLibIpmiPpi.inf
+  ManageabilityTransportLib|ManageabilityPkg/Library/ManageabilityTransportSsifLib/Pei/PeiManageabilityTransportSsif.inf
+
 [LibraryClasses.common.SEC, LibraryClasses.common.PEIM]
   MemoryInitPeiLib|Silicon/Ampere/AmpereAltraPkg/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
@@ -264,6 +269,12 @@ [LibraryClasses.common.DXE_RUNTIME_DRIVER]
   AmpereCpuLib|Silicon/Ampere/AmpereAltraPkg/Library/AmpereCpuLib/RuntimeAmpereCpuLib.inf
   FlashLib|Silicon/Ampere/AmpereAltraPkg/Library/FlashLib/RuntimeFlashLib.inf
 
+[LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_DRIVER]
+  SmbusLib|MdePkg/Library/DxeSmbusLib/DxeSmbusLib.inf
+  IpmiLib|MdeModulePkg/Library/DxeIpmiLibIpmiProtocol/DxeIpmiLibIpmiProtocol.inf
+  IpmiCommandLib|ManageabilityPkg/Library/IpmiCommandLib/IpmiCommandLib.inf
+  ManageabilityTransportLib|ManageabilityPkg/Library/ManageabilityTransportSsifLib/Dxe/DxeManageabilityTransportSsif.inf
+
 [LibraryClasses.ARM,LibraryClasses.AARCH64]
   #
   # It is not possible to prevent the ARM compiler for generic intrinsic functions.
@@ -547,6 +558,12 @@ [Components.common]
   MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
   Silicon/Ampere/AmpereAltraPkg/Drivers/BootProgress/BootProgressPeim/BootProgressPeim.inf
 
+  #
+  # IPMI SSIF
+  #
+  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
+  ManageabilityPkg/Universal/IpmiProtocol/Pei/IpmiPpiPei.inf
+
   #
   # DXE Phase modules
   #
@@ -689,6 +706,12 @@ [Components.common]
   #
   Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.inf
 
+  #
+  # IPMI SSIF
+  #
+  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
+  ManageabilityPkg/Universal/IpmiProtocol/Dxe/IpmiProtocolDxe.inf
+
   #
   # Bds
   #
diff --git a/Platform/Ampere/JadePkg/Jade.dsc b/Platform/Ampere/JadePkg/Jade.dsc
index 1bd9f2ec1583..29d43f0d4a49 100644
--- a/Platform/Ampere/JadePkg/Jade.dsc
+++ b/Platform/Ampere/JadePkg/Jade.dsc
@@ -89,6 +89,8 @@ [LibraryClasses]
 
   OemMiscLib|Platform/Ampere/JadePkg/Library/OemMiscLib/OemMiscLib.inf
 
+  PlatformBmcReadyLib|Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.inf
+
 ################################################################################
 #
 # Specific Platform Pcds
diff --git a/Platform/Ampere/JadePkg/Jade.fdf b/Platform/Ampere/JadePkg/Jade.fdf
index 4091e4c06300..c1889f4a13dd 100644
--- a/Platform/Ampere/JadePkg/Jade.fdf
+++ b/Platform/Ampere/JadePkg/Jade.fdf
@@ -146,6 +146,11 @@ [FV.FVMAIN_COMPACT]
   INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
   INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
   INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
+  INF Silicon/Ampere/AmpereAltraPkg/Drivers/ATFHobPei/ATFHobPeim.inf
+  INF Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
+  INF ManageabilityPkg/Universal/IpmiProtocol/Pei/IpmiPpiPei.inf
+  INF Silicon/Ampere/AmpereAltraPkg/Drivers/FlashPei/FlashPei.inf
+  INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
 }
 
   INF ArmPlatformPkg/Sec/Sec.inf
@@ -164,6 +169,12 @@ [FV.FVMAIN_COMPACT]
   INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
   INF Silicon/Ampere/AmpereAltraPkg/Drivers/PcieInitPei/PcieInitPei.inf
 
+  #
+  # IPMI SSIF
+  #
+  INF Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
+  INF ManageabilityPkg/Universal/IpmiProtocol/Pei/IpmiPpiPei.inf
+
   #
   # Print platform information before passing control into the Driver Execution Environment (DXE) phase
   #
@@ -311,6 +322,12 @@ [FV.FvMain]
   #
   INF Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.inf
 
+  #
+  # IPMI SSIF
+  #
+  INF Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
+  INF ManageabilityPkg/Universal/IpmiProtocol/Dxe/IpmiProtocolDxe.inf
+
   #
   # UEFI application (Shell Embedded Boot Loader)
   #
-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120266): https://edk2.groups.io/g/devel/message/120266
Mute This Topic: https://groups.io/mt/107765357/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
  2024-08-07  6:47 [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support Nhi Pham via groups.io
                   ` (4 preceding siblings ...)
  2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 5/5] Ampere/Jade: Enable IPMI SSIF Nhi Pham via groups.io
@ 2024-08-07  7:16 ` Chang, Abner via groups.io
  2024-08-07  7:35   ` Nhi Pham via groups.io
  2024-08-07 10:23   ` Leif Lindholm
  2024-08-08  3:06 ` Nhi Pham via groups.io
                   ` (2 subsequent siblings)
  8 siblings, 2 replies; 19+ messages in thread
From: Chang, Abner via groups.io @ 2024-08-07  7:16 UTC (permalink / raw)
  To: devel@edk2.groups.io, nhi@os.amperecomputing.com
  Cc: quic_llindhol@quicinc.com, chuong@os.amperecomputing.com,
	rebecca@os.amperecomputing.com

[AMD Official Use Only - AMD Internal Distribution Only]

Hi Pham,
We already move edk2-platforms review through GitHub PR. Could you please send the PR against edk2-platforms?

Thanks
Abner

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Nhi Pham
> via groups.io
> Sent: Wednesday, August 7, 2024 2:47 PM
> To: devel@edk2.groups.io
> Cc: quic_llindhol@quicinc.com; chuong@os.amperecomputing.com;
> rebecca@os.amperecomputing.com; nhi@os.amperecomputing.com
> Subject: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> This updates the I2C library and implements SMBUS PEI/DXE drivers to
> support IPMI SSIF in the Mt. Jade platform.
>
> v2:
> - Refine the changes of the DwI2cLib per Leif's comments and update the
>   commit message accordingly.
> - Remove the additional PCD PcdBmcSlaveAddr since it's is unused.
>
> NOTE: Regarding the controller/target terminology, the function
> prototype and comment are derived from edk2/MdePkg. In this patch set, I
> am trying to avoid misusing the terms in the implementation instead of
> altering the function prototype and comment with the PPI and Protocol.
>
> Nhi Pham (5):
>   AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation
>   AmpereSiliconPkg: Define PCDs for SMBUS and BMC
>   AmpereAltraPkg: Add SmbusHc PEI and DXE drivers
>   JadePkg: Add PlatformBmcReadyLib to support BMC ready check
>   Ampere/Jade: Enable IPMI SSIF
>
>  Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec                        |  15 +-
>  Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc                        |  23 ++
>  Platform/Ampere/JadePkg/Jade.dsc                                            |   2 +
>  Platform/Ampere/JadePkg/Jade.fdf                                            |  17 ++
>
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> Lib.inf |  29 ++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf                |
> 43 +++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf                |
> 43 +++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
> |  95 +++++++
>  Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h                      |  11 +-
>  Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c
> |   6 +-
>
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> Lib.c   |  30 +++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
> | 261 ++++++++++++++++++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c                  |
> 277 ++++++++++++++++++++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c                  |
> 263 +++++++++++++++++++
>  Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c                   | 129
> ++++++++-
>  15 files changed, 1227 insertions(+), 17 deletions(-)
>  create mode 100755
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> Lib.inf
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>  create mode 100644
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> Lib.c
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
>
> --
> 2.25.1
>
>
>
> 
>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120267): https://edk2.groups.io/g/devel/message/120267
Mute This Topic: https://groups.io/mt/107765352/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
  2024-08-07  7:16 ` [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support Chang, Abner via groups.io
@ 2024-08-07  7:35   ` Nhi Pham via groups.io
  2024-08-09  2:44     ` Chang, Abner via groups.io
  2024-08-07 10:23   ` Leif Lindholm
  1 sibling, 1 reply; 19+ messages in thread
From: Nhi Pham via groups.io @ 2024-08-07  7:35 UTC (permalink / raw)
  To: Chang, Abner, devel@edk2.groups.io
  Cc: quic_llindhol@quicinc.com, Chuong Tran OS, Rebecca  Cran OS

[-- Attachment #1: Type: text/plain, Size: 4783 bytes --]

Sure, Abner. I've created this PR https://github.com/tianocore/edk2-platforms/pull/178

Regards,
Nhi
________________________________
From: Chang, Abner <Abner.Chang@amd.com>
Sent: Wednesday, August 7, 2024 2:16 PM
To: devel@edk2.groups.io <devel@edk2.groups.io>; Nhi Pham OS <nhi@os.amperecomputing.com>
Cc: quic_llindhol@quicinc.com <quic_llindhol@quicinc.com>; Chuong Tran OS <chuong@os.amperecomputing.com>; Rebecca Cran OS <rebecca@os.amperecomputing.com>
Subject: RE: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support

[AMD Official Use Only - AMD Internal Distribution Only]

Hi Pham,
We already move edk2-platforms review through GitHub PR. Could you please send the PR against edk2-platforms?

Thanks
Abner

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Nhi Pham
> via groups.io
> Sent: Wednesday, August 7, 2024 2:47 PM
> To: devel@edk2.groups.io
> Cc: quic_llindhol@quicinc.com; chuong@os.amperecomputing.com;
> rebecca@os.amperecomputing.com; nhi@os.amperecomputing.com
> Subject: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> This updates the I2C library and implements SMBUS PEI/DXE drivers to
> support IPMI SSIF in the Mt. Jade platform.
>
> v2:
> - Refine the changes of the DwI2cLib per Leif's comments and update the
>   commit message accordingly.
> - Remove the additional PCD PcdBmcSlaveAddr since it's is unused.
>
> NOTE: Regarding the controller/target terminology, the function
> prototype and comment are derived from edk2/MdePkg. In this patch set, I
> am trying to avoid misusing the terms in the implementation instead of
> altering the function prototype and comment with the PPI and Protocol.
>
> Nhi Pham (5):
>   AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation
>   AmpereSiliconPkg: Define PCDs for SMBUS and BMC
>   AmpereAltraPkg: Add SmbusHc PEI and DXE drivers
>   JadePkg: Add PlatformBmcReadyLib to support BMC ready check
>   Ampere/Jade: Enable IPMI SSIF
>
>  Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec                        |  15 +-
>  Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc                        |  23 ++
>  Platform/Ampere/JadePkg/Jade.dsc                                            |   2 +
>  Platform/Ampere/JadePkg/Jade.fdf                                            |  17 ++
>
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> Lib.inf |  29 ++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf                |
> 43 +++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf                |
> 43 +++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
> |  95 +++++++
>  Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h                      |  11 +-
>  Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c
> |   6 +-
>
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> Lib.c   |  30 +++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
> | 261 ++++++++++++++++++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c                  |
> 277 ++++++++++++++++++++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c                  |
> 263 +++++++++++++++++++
>  Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c                   | 129
> ++++++++-
>  15 files changed, 1227 insertions(+), 17 deletions(-)
>  create mode 100755
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> Lib.inf
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>  create mode 100644
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> Lib.c
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
>
> --
> 2.25.1
>
>
>
> 
>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120268): https://edk2.groups.io/g/devel/message/120268
Mute This Topic: https://groups.io/mt/107765352/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



[-- Attachment #2: Type: text/html, Size: 8025 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
  2024-08-07  7:16 ` [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support Chang, Abner via groups.io
  2024-08-07  7:35   ` Nhi Pham via groups.io
@ 2024-08-07 10:23   ` Leif Lindholm
  2024-08-07 10:45     ` Chang, Abner via groups.io
  1 sibling, 1 reply; 19+ messages in thread
From: Leif Lindholm @ 2024-08-07 10:23 UTC (permalink / raw)
  To: Chang, Abner, devel@edk2.groups.io, nhi@os.amperecomputing.com
  Cc: chuong@os.amperecomputing.com, rebecca@os.amperecomputing.com

Err, no we haven't.

Although we're in the process of doing that.

/
     Leif

On 2024-08-07 08:16, Chang, Abner wrote:
> [AMD Official Use Only - AMD Internal Distribution Only]
> 
> Hi Pham,
> We already move edk2-platforms review through GitHub PR. Could you please send the PR against edk2-platforms?
> 
> Thanks
> Abner
> 
>> -----Original Message-----
>> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Nhi Pham
>> via groups.io
>> Sent: Wednesday, August 7, 2024 2:47 PM
>> To: devel@edk2.groups.io
>> Cc: quic_llindhol@quicinc.com; chuong@os.amperecomputing.com;
>> rebecca@os.amperecomputing.com; nhi@os.amperecomputing.com
>> Subject: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
>>
>> Caution: This message originated from an External Source. Use proper caution
>> when opening attachments, clicking links, or responding.
>>
>>
>> This updates the I2C library and implements SMBUS PEI/DXE drivers to
>> support IPMI SSIF in the Mt. Jade platform.
>>
>> v2:
>> - Refine the changes of the DwI2cLib per Leif's comments and update the
>>    commit message accordingly.
>> - Remove the additional PCD PcdBmcSlaveAddr since it's is unused.
>>
>> NOTE: Regarding the controller/target terminology, the function
>> prototype and comment are derived from edk2/MdePkg. In this patch set, I
>> am trying to avoid misusing the terms in the implementation instead of
>> altering the function prototype and comment with the PPI and Protocol.
>>
>> Nhi Pham (5):
>>    AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation
>>    AmpereSiliconPkg: Define PCDs for SMBUS and BMC
>>    AmpereAltraPkg: Add SmbusHc PEI and DXE drivers
>>    JadePkg: Add PlatformBmcReadyLib to support BMC ready check
>>    Ampere/Jade: Enable IPMI SSIF
>>
>>   Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec                        |  15 +-
>>   Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc                        |  23 ++
>>   Platform/Ampere/JadePkg/Jade.dsc                                            |   2 +
>>   Platform/Ampere/JadePkg/Jade.fdf                                            |  17 ++
>>
>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>> Lib.inf |  29 ++
>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf                |
>> 43 +++
>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf                |
>> 43 +++
>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>> |  95 +++++++
>>   Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h                      |  11 +-
>>   Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c
>> |   6 +-
>>
>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>> Lib.c   |  30 +++
>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>> | 261 ++++++++++++++++++
>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c                  |
>> 277 ++++++++++++++++++++
>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c                  |
>> 263 +++++++++++++++++++
>>   Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c                   | 129
>> ++++++++-
>>   15 files changed, 1227 insertions(+), 17 deletions(-)
>>   create mode 100755
>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>> Lib.inf
>>   create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
>>   create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
>>   create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>>   create mode 100644
>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>> Lib.c
>>   create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>>   create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
>>   create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
>>
>> --
>> 2.25.1
>>
>>
>>
>> 
>>
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120271): https://edk2.groups.io/g/devel/message/120271
Mute This Topic: https://groups.io/mt/107765352/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
  2024-08-07 10:23   ` Leif Lindholm
@ 2024-08-07 10:45     ` Chang, Abner via groups.io
  2024-08-07 10:56       ` Leif Lindholm
  0 siblings, 1 reply; 19+ messages in thread
From: Chang, Abner via groups.io @ 2024-08-07 10:45 UTC (permalink / raw)
  To: Leif Lindholm, devel@edk2.groups.io, nhi@os.amperecomputing.com
  Cc: chuong@os.amperecomputing.com, rebecca@os.amperecomputing.com

[-- Attachment #1: Type: text/plain, Size: 5364 bytes --]

[AMD Official Use Only - AMD Internal Distribution Only]

So Leif, what's your preference? AMD already switched to use PR on edk2-platforms, shall we get back to the email review?

Thanks
Abner

Get Outlook for Android<https://aka.ms/AAb9ysg>
________________________________
From: Leif Lindholm <quic_llindhol@quicinc.com>
Sent: Wednesday, August 7, 2024 6:23:46 PM
To: Chang, Abner <Abner.Chang@amd.com>; devel@edk2.groups.io <devel@edk2.groups.io>; nhi@os.amperecomputing.com <nhi@os.amperecomputing.com>
Cc: chuong@os.amperecomputing.com <chuong@os.amperecomputing.com>; rebecca@os.amperecomputing.com <rebecca@os.amperecomputing.com>
Subject: Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support

Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.


Err, no we haven't.

Although we're in the process of doing that.

/
     Leif

On 2024-08-07 08:16, Chang, Abner wrote:
> [AMD Official Use Only - AMD Internal Distribution Only]
>
> Hi Pham,
> We already move edk2-platforms review through GitHub PR. Could you please send the PR against edk2-platforms?
>
> Thanks
> Abner
>
>> -----Original Message-----
>> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Nhi Pham
>> via groups.io
>> Sent: Wednesday, August 7, 2024 2:47 PM
>> To: devel@edk2.groups.io
>> Cc: quic_llindhol@quicinc.com; chuong@os.amperecomputing.com;
>> rebecca@os.amperecomputing.com; nhi@os.amperecomputing.com
>> Subject: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
>>
>> Caution: This message originated from an External Source. Use proper caution
>> when opening attachments, clicking links, or responding.
>>
>>
>> This updates the I2C library and implements SMBUS PEI/DXE drivers to
>> support IPMI SSIF in the Mt. Jade platform.
>>
>> v2:
>> - Refine the changes of the DwI2cLib per Leif's comments and update the
>>    commit message accordingly.
>> - Remove the additional PCD PcdBmcSlaveAddr since it's is unused.
>>
>> NOTE: Regarding the controller/target terminology, the function
>> prototype and comment are derived from edk2/MdePkg. In this patch set, I
>> am trying to avoid misusing the terms in the implementation instead of
>> altering the function prototype and comment with the PPI and Protocol.
>>
>> Nhi Pham (5):
>>    AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation
>>    AmpereSiliconPkg: Define PCDs for SMBUS and BMC
>>    AmpereAltraPkg: Add SmbusHc PEI and DXE drivers
>>    JadePkg: Add PlatformBmcReadyLib to support BMC ready check
>>    Ampere/Jade: Enable IPMI SSIF
>>
>>   Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec                        |  15 +-
>>   Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc                        |  23 ++
>>   Platform/Ampere/JadePkg/Jade.dsc                                            |   2 +
>>   Platform/Ampere/JadePkg/Jade.fdf                                            |  17 ++
>>
>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>> Lib.inf |  29 ++
>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf                |
>> 43 +++
>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf                |
>> 43 +++
>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>> |  95 +++++++
>>   Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h                      |  11 +-
>>   Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c
>> |   6 +-
>>
>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>> Lib.c   |  30 +++
>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>> | 261 ++++++++++++++++++
>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c                  |
>> 277 ++++++++++++++++++++
>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c                  |
>> 263 +++++++++++++++++++
>>   Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c                   | 129
>> ++++++++-
>>   15 files changed, 1227 insertions(+), 17 deletions(-)
>>   create mode 100755
>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>> Lib.inf
>>   create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
>>   create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
>>   create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>>   create mode 100644
>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>> Lib.c
>>   create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>>   create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
>>   create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
>>
>> --
>> 2.25.1
>>
>>
>>
>> 
>>
>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120272): https://edk2.groups.io/g/devel/message/120272
Mute This Topic: https://groups.io/mt/107765352/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



[-- Attachment #2: Type: text/html, Size: 9187 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
  2024-08-07 10:45     ` Chang, Abner via groups.io
@ 2024-08-07 10:56       ` Leif Lindholm
  2024-08-07 10:59         ` Chang, Abner via groups.io
  0 siblings, 1 reply; 19+ messages in thread
From: Leif Lindholm @ 2024-08-07 10:56 UTC (permalink / raw)
  To: devel, abner.chang, nhi@os.amperecomputing.com
  Cc: chuong@os.amperecomputing.com, rebecca@os.amperecomputing.com

I'm honestly not too fussed, but maybe hold off on telling people we've 
switched until Rebecca's set is actually merged, so that the PR 
assignment is working?

Regards,

Leif

On 2024-08-07 11:45, Chang, Abner via groups.io wrote:
> [AMD Official Use Only - AMD Internal Distribution Only]
> 
> 
> So Leif, what's your preference? AMD already switched to use PR on 
> edk2-platforms, shall we get back to the email review?
> 
> Thanks
> Abner
> 
> Get Outlook for Android <https://aka.ms/AAb9ysg>
> ------------------------------------------------------------------------
> *From:* Leif Lindholm <quic_llindhol@quicinc.com>
> *Sent:* Wednesday, August 7, 2024 6:23:46 PM
> *To:* Chang, Abner <Abner.Chang@amd.com>; devel@edk2.groups.io 
> <devel@edk2.groups.io>; nhi@os.amperecomputing.com 
> <nhi@os.amperecomputing.com>
> *Cc:* chuong@os.amperecomputing.com <chuong@os.amperecomputing.com>; 
> rebecca@os.amperecomputing.com <rebecca@os.amperecomputing.com>
> *Subject:* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF 
> support
> Caution: This message originated from an External Source. Use proper 
> caution when opening attachments, clicking links, or responding.
> 
> 
> Err, no we haven't.
> 
> Although we're in the process of doing that.
> 
> /
>       Leif
> 
> On 2024-08-07 08:16, Chang, Abner wrote:
>> [AMD Official Use Only - AMD Internal Distribution Only]
>>
>> Hi Pham,
>> We already move edk2-platforms review through GitHub PR. Could you please send the PR against edk2-platforms?
>>
>> Thanks
>> Abner
>>
>>> -----Original Message-----
>>> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Nhi Pham
>>> via groups.io
>>> Sent: Wednesday, August 7, 2024 2:47 PM
>>> To: devel@edk2.groups.io
>>> Cc: quic_llindhol@quicinc.com; chuong@os.amperecomputing.com;
>>> rebecca@os.amperecomputing.com; nhi@os.amperecomputing.com
>>> Subject: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
>>>
>>> Caution: This message originated from an External Source. Use proper caution
>>> when opening attachments, clicking links, or responding.
>>>
>>>
>>> This updates the I2C library and implements SMBUS PEI/DXE drivers to
>>> support IPMI SSIF in the Mt. Jade platform.
>>>
>>> v2:
>>> - Refine the changes of the DwI2cLib per Leif's comments and update the
>>>    commit message accordingly.
>>> - Remove the additional PCD PcdBmcSlaveAddr since it's is unused.
>>>
>>> NOTE: Regarding the controller/target terminology, the function
>>> prototype and comment are derived from edk2/MdePkg. In this patch set, I
>>> am trying to avoid misusing the terms in the implementation instead of
>>> altering the function prototype and comment with the PPI and Protocol.
>>>
>>> Nhi Pham (5):
>>>    AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation
>>>    AmpereSiliconPkg: Define PCDs for SMBUS and BMC
>>>    AmpereAltraPkg: Add SmbusHc PEI and DXE drivers
>>>    JadePkg: Add PlatformBmcReadyLib to support BMC ready check
>>>    Ampere/Jade: Enable IPMI SSIF
>>>
>>>   Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec                        |  15 +-
>>>   Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc                        |  23 ++
>>>   Platform/Ampere/JadePkg/Jade.dsc                                            |   2 +
>>>   Platform/Ampere/JadePkg/Jade.fdf                                            |  17 ++
>>>
>>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>>> Lib.inf |  29 ++
>>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf                |
>>> 43 +++
>>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf                |
>>> 43 +++
>>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>>> |  95 +++++++
>>>   Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h                      |  11 +-
>>>   Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c
>>> |   6 +-
>>>
>>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>>> Lib.c   |  30 +++
>>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>>> | 261 ++++++++++++++++++
>>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c                  |
>>> 277 ++++++++++++++++++++
>>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c                  |
>>> 263 +++++++++++++++++++
>>>   Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c                   | 129
>>> ++++++++-
>>>   15 files changed, 1227 insertions(+), 17 deletions(-)
>>>   create mode 100755
>>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>>> Lib.inf
>>>   create mode 100644
>>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
>>>   create mode 100644
>>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
>>>   create mode 100644
>>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>>>   create mode 100644
>>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>>> Lib.c
>>>   create mode 100644
>>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>>>   create mode 100644
>>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
>>>   create mode 100644
>>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
>>>
>>> --
>>> 2.25.1
>>>
>>>
>>>
>>> 
>>>
>>
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120273): https://edk2.groups.io/g/devel/message/120273
Mute This Topic: https://groups.io/mt/107765352/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
  2024-08-07 10:56       ` Leif Lindholm
@ 2024-08-07 10:59         ` Chang, Abner via groups.io
  0 siblings, 0 replies; 19+ messages in thread
From: Chang, Abner via groups.io @ 2024-08-07 10:59 UTC (permalink / raw)
  To: Leif Lindholm, devel@edk2.groups.io, nhi@os.amperecomputing.com
  Cc: chuong@os.amperecomputing.com, rebecca@os.amperecomputing.com

[-- Attachment #1: Type: text/plain, Size: 6640 bytes --]

[AMD Official Use Only - AMD Internal Distribution Only]

Sounds good too me. I feel like I probably forget how to review on email already 😊.

Abner

Get Outlook for Android<https://aka.ms/AAb9ysg>
________________________________
From: Leif Lindholm <quic_llindhol@quicinc.com>
Sent: Wednesday, August 7, 2024 6:56:34 PM
To: devel@edk2.groups.io <devel@edk2.groups.io>; Chang, Abner <Abner.Chang@amd.com>; nhi@os.amperecomputing.com <nhi@os.amperecomputing.com>
Cc: chuong@os.amperecomputing.com <chuong@os.amperecomputing.com>; rebecca@os.amperecomputing.com <rebecca@os.amperecomputing.com>
Subject: Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support

Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.


I'm honestly not too fussed, but maybe hold off on telling people we've
switched until Rebecca's set is actually merged, so that the PR
assignment is working?

Regards,

Leif

On 2024-08-07 11:45, Chang, Abner via groups.io wrote:
> [AMD Official Use Only - AMD Internal Distribution Only]
>
>
> So Leif, what's your preference? AMD already switched to use PR on
> edk2-platforms, shall we get back to the email review?
>
> Thanks
> Abner
>
> Get Outlook for Android <https://aka.ms/AAb9ysg>
> ------------------------------------------------------------------------
> *From:* Leif Lindholm <quic_llindhol@quicinc.com>
> *Sent:* Wednesday, August 7, 2024 6:23:46 PM
> *To:* Chang, Abner <Abner.Chang@amd.com>; devel@edk2.groups.io
> <devel@edk2.groups.io>; nhi@os.amperecomputing.com
> <nhi@os.amperecomputing.com>
> *Cc:* chuong@os.amperecomputing.com <chuong@os.amperecomputing.com>;
> rebecca@os.amperecomputing.com <rebecca@os.amperecomputing.com>
> *Subject:* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF
> support
> Caution: This message originated from an External Source. Use proper
> caution when opening attachments, clicking links, or responding.
>
>
> Err, no we haven't.
>
> Although we're in the process of doing that.
>
> /
>       Leif
>
> On 2024-08-07 08:16, Chang, Abner wrote:
>> [AMD Official Use Only - AMD Internal Distribution Only]
>>
>> Hi Pham,
>> We already move edk2-platforms review through GitHub PR. Could you please send the PR against edk2-platforms?
>>
>> Thanks
>> Abner
>>
>>> -----Original Message-----
>>> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Nhi Pham
>>> via groups.io
>>> Sent: Wednesday, August 7, 2024 2:47 PM
>>> To: devel@edk2.groups.io
>>> Cc: quic_llindhol@quicinc.com; chuong@os.amperecomputing.com;
>>> rebecca@os.amperecomputing.com; nhi@os.amperecomputing.com
>>> Subject: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
>>>
>>> Caution: This message originated from an External Source. Use proper caution
>>> when opening attachments, clicking links, or responding.
>>>
>>>
>>> This updates the I2C library and implements SMBUS PEI/DXE drivers to
>>> support IPMI SSIF in the Mt. Jade platform.
>>>
>>> v2:
>>> - Refine the changes of the DwI2cLib per Leif's comments and update the
>>>    commit message accordingly.
>>> - Remove the additional PCD PcdBmcSlaveAddr since it's is unused.
>>>
>>> NOTE: Regarding the controller/target terminology, the function
>>> prototype and comment are derived from edk2/MdePkg. In this patch set, I
>>> am trying to avoid misusing the terms in the implementation instead of
>>> altering the function prototype and comment with the PPI and Protocol.
>>>
>>> Nhi Pham (5):
>>>    AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation
>>>    AmpereSiliconPkg: Define PCDs for SMBUS and BMC
>>>    AmpereAltraPkg: Add SmbusHc PEI and DXE drivers
>>>    JadePkg: Add PlatformBmcReadyLib to support BMC ready check
>>>    Ampere/Jade: Enable IPMI SSIF
>>>
>>>   Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec                        |  15 +-
>>>   Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc                        |  23 ++
>>>   Platform/Ampere/JadePkg/Jade.dsc                                            |   2 +
>>>   Platform/Ampere/JadePkg/Jade.fdf                                            |  17 ++
>>>
>>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>>> Lib.inf |  29 ++
>>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf                |
>>> 43 +++
>>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf                |
>>> 43 +++
>>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>>> |  95 +++++++
>>>   Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h                      |  11 +-
>>>   Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c
>>> |   6 +-
>>>
>>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>>> Lib.c   |  30 +++
>>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>>> | 261 ++++++++++++++++++
>>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c                  |
>>> 277 ++++++++++++++++++++
>>>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c                  |
>>> 263 +++++++++++++++++++
>>>   Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c                   | 129
>>> ++++++++-
>>>   15 files changed, 1227 insertions(+), 17 deletions(-)
>>>   create mode 100755
>>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>>> Lib.inf
>>>   create mode 100644
>>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
>>>   create mode 100644
>>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
>>>   create mode 100644
>>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>>>   create mode 100644
>>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>>> Lib.c
>>>   create mode 100644
>>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>>>   create mode 100644
>>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
>>>   create mode 100644
>>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
>>>
>>> --
>>> 2.25.1
>>>
>>>
>>>
>>>
>>>
>>
>
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120274): https://edk2.groups.io/g/devel/message/120274
Mute This Topic: https://groups.io/mt/107765352/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



[-- Attachment #2: Type: text/html, Size: 11018 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
  2024-08-07  6:47 [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support Nhi Pham via groups.io
                   ` (5 preceding siblings ...)
  2024-08-07  7:16 ` [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support Chang, Abner via groups.io
@ 2024-08-08  3:06 ` Nhi Pham via groups.io
       [not found] ` <17E9A1ED2D454E7A.19172@groups.io>
  2024-08-29  5:55 ` Chuong Tran
  8 siblings, 0 replies; 19+ messages in thread
From: Nhi Pham via groups.io @ 2024-08-08  3:06 UTC (permalink / raw)
  To: quic_llindhol@quicinc.com
  Cc: devel@edk2.groups.io, Chuong Tran OS, Rebecca  Cran OS

Hi Leif,

I saw a comment from you in the Pull Request and I resolved it. Do you 
prefer to review in the Github PR? Should I send v3 to the mailing list?

Regards,
Nhi

On 8/7/2024 1:47 PM, Nhi Pham wrote:
> This updates the I2C library and implements SMBUS PEI/DXE drivers to
> support IPMI SSIF in the Mt. Jade platform.
> 
> v2:
> - Refine the changes of the DwI2cLib per Leif's comments and update the
>    commit message accordingly.
> - Remove the additional PCD PcdBmcSlaveAddr since it's is unused.
> 
> NOTE: Regarding the controller/target terminology, the function
> prototype and comment are derived from edk2/MdePkg. In this patch set, I
> am trying to avoid misusing the terms in the implementation instead of
> altering the function prototype and comment with the PPI and Protocol.
> 
> Nhi Pham (5):
>    AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation
>    AmpereSiliconPkg: Define PCDs for SMBUS and BMC
>    AmpereAltraPkg: Add SmbusHc PEI and DXE drivers
>    JadePkg: Add PlatformBmcReadyLib to support BMC ready check
>    Ampere/Jade: Enable IPMI SSIF
> 
>   Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec                        |  15 +-
>   Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc                        |  23 ++
>   Platform/Ampere/JadePkg/Jade.dsc                                            |   2 +
>   Platform/Ampere/JadePkg/Jade.fdf                                            |  17 ++
>   Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.inf |  29 ++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf                |  43 +++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf                |  43 +++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h               |  95 +++++++
>   Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h                      |  11 +-
>   Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c         |   6 +-
>   Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.c   |  30 +++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c               | 261 ++++++++++++++++++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c                  | 277 ++++++++++++++++++++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c                  | 263 +++++++++++++++++++
>   Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c                   | 129 ++++++++-
>   15 files changed, 1227 insertions(+), 17 deletions(-)
>   create mode 100755 Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.inf
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>   create mode 100644 Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.c
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120288): https://edk2.groups.io/g/devel/message/120288
Mute This Topic: https://groups.io/mt/107765352/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
  2024-08-07  7:35   ` Nhi Pham via groups.io
@ 2024-08-09  2:44     ` Chang, Abner via groups.io
  2024-08-09  3:05       ` Nhi Pham via groups.io
  0 siblings, 1 reply; 19+ messages in thread
From: Chang, Abner via groups.io @ 2024-08-09  2:44 UTC (permalink / raw)
  To: Nhi Pham OS, devel@edk2.groups.io
  Cc: quic_llindhol@quicinc.com, Chuong Tran OS, Rebecca  Cran OS

[-- Attachment #1: Type: text/plain, Size: 6128 bytes --]

[AMD Official Use Only - AMD Internal Distribution Only]

Hi Pham,
Just realize this patch is not for ManageabilityPkg when I go through the patch, I will leave this to the owner. Also, I shouldn't suggest you to create PR as I am not the owner, sorry about this.

Thanks
Abner

From: Nhi Pham OS <nhi@os.amperecomputing.com>
Sent: Wednesday, August 7, 2024 3:35 PM
To: Chang, Abner <Abner.Chang@amd.com>; devel@edk2.groups.io
Cc: quic_llindhol@quicinc.com; Chuong Tran OS <chuong@os.amperecomputing.com>; Rebecca Cran OS <rebecca@os.amperecomputing.com>
Subject: Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support


[AMD Official Use Only - AMD Internal Distribution Only]

Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.

Sure, Abner. I've created this PR https://github.com/tianocore/edk2-platforms/pull/178

Regards,
Nhi
________________________________
From: Chang, Abner <Abner.Chang@amd.com<mailto:Abner.Chang@amd.com>>
Sent: Wednesday, August 7, 2024 2:16 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Nhi Pham OS <nhi@os.amperecomputing.com<mailto:nhi@os.amperecomputing.com>>
Cc: quic_llindhol@quicinc.com<mailto:quic_llindhol@quicinc.com> <quic_llindhol@quicinc.com<mailto:quic_llindhol@quicinc.com>>; Chuong Tran OS <chuong@os.amperecomputing.com<mailto:chuong@os.amperecomputing.com>>; Rebecca Cran OS <rebecca@os.amperecomputing.com<mailto:rebecca@os.amperecomputing.com>>
Subject: RE: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support

[AMD Official Use Only - AMD Internal Distribution Only]

Hi Pham,
We already move edk2-platforms review through GitHub PR. Could you please send the PR against edk2-platforms?

Thanks
Abner

> -----Original Message-----
> From: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> On Behalf Of Nhi Pham
> via groups.io
> Sent: Wednesday, August 7, 2024 2:47 PM
> To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
> Cc: quic_llindhol@quicinc.com<mailto:quic_llindhol@quicinc.com>; chuong@os.amperecomputing.com<mailto:chuong@os.amperecomputing.com>;
> rebecca@os.amperecomputing.com<mailto:rebecca@os.amperecomputing.com>; nhi@os.amperecomputing.com<mailto:nhi@os.amperecomputing.com>
> Subject: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> This updates the I2C library and implements SMBUS PEI/DXE drivers to
> support IPMI SSIF in the Mt. Jade platform.
>
> v2:
> - Refine the changes of the DwI2cLib per Leif's comments and update the
>   commit message accordingly.
> - Remove the additional PCD PcdBmcSlaveAddr since it's is unused.
>
> NOTE: Regarding the controller/target terminology, the function
> prototype and comment are derived from edk2/MdePkg. In this patch set, I
> am trying to avoid misusing the terms in the implementation instead of
> altering the function prototype and comment with the PPI and Protocol.
>
> Nhi Pham (5):
>   AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation
>   AmpereSiliconPkg: Define PCDs for SMBUS and BMC
>   AmpereAltraPkg: Add SmbusHc PEI and DXE drivers
>   JadePkg: Add PlatformBmcReadyLib to support BMC ready check
>   Ampere/Jade: Enable IPMI SSIF
>
>  Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec                        |  15 +-
>  Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc                        |  23 ++
>  Platform/Ampere/JadePkg/Jade.dsc                                            |   2 +
>  Platform/Ampere/JadePkg/Jade.fdf                                            |  17 ++
>
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> Lib.inf |  29 ++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf                |
> 43 +++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf                |
> 43 +++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
> |  95 +++++++
>  Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h                      |  11 +-
>  Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c
> |   6 +-
>
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> Lib.c   |  30 +++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
> | 261 ++++++++++++++++++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c                  |
> 277 ++++++++++++++++++++
>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c                  |
> 263 +++++++++++++++++++
>  Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c                   | 129
> ++++++++-
>  15 files changed, 1227 insertions(+), 17 deletions(-)
>  create mode 100755
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> Lib.inf
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>  create mode 100644
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> Lib.c
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
>  create mode 100644
> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
>
> --
> 2.25.1
>
>
>
> 
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120301): https://edk2.groups.io/g/devel/message/120301
Mute This Topic: https://groups.io/mt/107765352/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



[-- Attachment #2: Type: text/html, Size: 13539 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
  2024-08-09  2:44     ` Chang, Abner via groups.io
@ 2024-08-09  3:05       ` Nhi Pham via groups.io
  2024-08-09  4:34         ` Chang, Abner via groups.io
  0 siblings, 1 reply; 19+ messages in thread
From: Nhi Pham via groups.io @ 2024-08-09  3:05 UTC (permalink / raw)
  To: Chang, Abner, devel@edk2.groups.io
  Cc: quic_llindhol@quicinc.com, Chuong Tran OS, Rebecca Cran OS

Sure, it appears the patch subject makes you confused.

Regards,
Nhi

On 8/9/2024 9:44 AM, Chang, Abner wrote:
> [AMD Official Use Only - AMD Internal Distribution Only]
> 
> 
> Hi Pham,
> 
> Just realize this patch is not for ManageabilityPkg when I go through 
> the patch, I will leave this to the owner. Also, I shouldn’t suggest you 
> to create PR as I am not the owner, sorry about this.
> 
> Thanks
> 
> Abner
> 
> *From:*Nhi Pham OS <nhi@os.amperecomputing.com>
> *Sent:* Wednesday, August 7, 2024 3:35 PM
> *To:* Chang, Abner <Abner.Chang@amd.com>; devel@edk2.groups.io
> *Cc:* quic_llindhol@quicinc.com; Chuong Tran OS 
> <chuong@os.amperecomputing.com>; Rebecca Cran OS 
> <rebecca@os.amperecomputing.com>
> *Subject:* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF 
> support
> 
> [AMD Official Use Only - AMD Internal Distribution Only]
> 
> 	
> 
> *Caution:*This message originated from an External Source. Use proper 
> caution when opening attachments, clicking links, or responding.
> 
> Sure, Abner. I've created this PR https://github.com/tianocore/edk2- 
> platforms/pull/178 <https://github.com/tianocore/edk2-platforms/pull/178>
> 
> Regards,
> Nhi
> 
> ------------------------------------------------------------------------
> 
> *From:*Chang, Abner <Abner.Chang@amd.com <mailto:Abner.Chang@amd.com>>
> *Sent:* Wednesday, August 7, 2024 2:16 PM
> *To:* devel@edk2.groups.io <mailto:devel@edk2.groups.io> 
> <devel@edk2.groups.io <mailto:devel@edk2.groups.io>>; Nhi Pham OS 
> <nhi@os.amperecomputing.com <mailto:nhi@os.amperecomputing.com>>
> *Cc:* quic_llindhol@quicinc.com <mailto:quic_llindhol@quicinc.com> 
> <quic_llindhol@quicinc.com <mailto:quic_llindhol@quicinc.com>>; Chuong 
> Tran OS <chuong@os.amperecomputing.com 
> <mailto:chuong@os.amperecomputing.com>>; Rebecca Cran OS 
> <rebecca@os.amperecomputing.com <mailto:rebecca@os.amperecomputing.com>>
> *Subject:* RE: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF 
> support
> 
> [AMD Official Use Only - AMD Internal Distribution Only]
> 
> Hi Pham,
> We already move edk2-platforms review through GitHub PR. Could you 
> please send the PR against edk2-platforms?
> 
> Thanks
> Abner
> 
>> -----Original Message-----
>> From: devel@edk2.groups.io <mailto:devel@edk2.groups.io> <devel@edk2.groups.io 
> <mailto:devel@edk2.groups.io>> On Behalf Of Nhi Pham
>> via groups.io
>> Sent: Wednesday, August 7, 2024 2:47 PM
>> To: devel@edk2.groups.io <mailto:devel@edk2.groups.io>
>> Cc: quic_llindhol@quicinc.com <mailto:quic_llindhol@quicinc.com>; 
> chuong@os.amperecomputing.com <mailto:chuong@os.amperecomputing.com>;
>> rebecca@os.amperecomputing.com <mailto:rebecca@os.amperecomputing.com>; 
> nhi@os.amperecomputing.com <mailto:nhi@os.amperecomputing.com>
>> Subject: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
>>
>> Caution: This message originated from an External Source. Use proper caution
>> when opening attachments, clicking links, or responding.
>>
>>
>> This updates the I2C library and implements SMBUS PEI/DXE drivers to
>> support IPMI SSIF in the Mt. Jade platform.
>>
>> v2:
>> - Refine the changes of the DwI2cLib per Leif's comments and update the
>>   commit message accordingly.
>> - Remove the additional PCD PcdBmcSlaveAddr since it's is unused.
>>
>> NOTE: Regarding the controller/target terminology, the function
>> prototype and comment are derived from edk2/MdePkg. In this patch set, I
>> am trying to avoid misusing the terms in the implementation instead of
>> altering the function prototype and comment with the PPI and Protocol.
>>
>> Nhi Pham (5):
>>   AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation
>>   AmpereSiliconPkg: Define PCDs for SMBUS and BMC
>>   AmpereAltraPkg: Add SmbusHc PEI and DXE drivers
>>   JadePkg: Add PlatformBmcReadyLib to support BMC ready check
>>   Ampere/Jade: Enable IPMI SSIF
>>
>>  Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec                        |  15 +-
>>  Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc                        |  23 ++
>>  Platform/Ampere/JadePkg/Jade.dsc                                            |   2 +
>>  Platform/Ampere/JadePkg/Jade.fdf                                            |  17 ++
>>
>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>> Lib.inf |  29 ++
>>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf                |
>> 43 +++
>>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf                |
>> 43 +++
>>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>> |  95 +++++++
>>  Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h                      |  11 +-
>>  Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c
>> |   6 +-
>>
>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>> Lib.c   |  30 +++
>>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>> | 261 ++++++++++++++++++
>>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c                  |
>> 277 ++++++++++++++++++++
>>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c                  |
>> 263 +++++++++++++++++++
>>  Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c                   | 129
>> ++++++++-
>>  15 files changed, 1227 insertions(+), 17 deletions(-)
>>  create mode 100755
>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>> Lib.inf
>>  create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
>>  create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
>>  create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>>  create mode 100644
>> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
>> Lib.c
>>  create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>>  create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
>>  create mode 100644
>> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
>>
>> --
>> 2.25.1
>>
>>
>>
>> 
>>
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120302): https://edk2.groups.io/g/devel/message/120302
Mute This Topic: https://groups.io/mt/107765352/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
  2024-08-09  3:05       ` Nhi Pham via groups.io
@ 2024-08-09  4:34         ` Chang, Abner via groups.io
  0 siblings, 0 replies; 19+ messages in thread
From: Chang, Abner via groups.io @ 2024-08-09  4:34 UTC (permalink / raw)
  To: Nhi Pham, devel@edk2.groups.io
  Cc: quic_llindhol@quicinc.com, Chuong Tran OS, Rebecca Cran OS

[AMD Official Use Only - AMD Internal Distribution Only]

No problem.  You can add the tag on subject like Silicon/Ampere or something else distinguishable next time. 😊

Thanks
Abner

> -----Original Message-----
> From: Nhi Pham <nhi@os.amperecomputing.com>
> Sent: Friday, August 9, 2024 11:05 AM
> To: Chang, Abner <Abner.Chang@amd.com>; devel@edk2.groups.io
> Cc: quic_llindhol@quicinc.com; Chuong Tran OS
> <chuong@os.amperecomputing.com>; Rebecca Cran OS
> <rebecca@os.amperecomputing.com>
> Subject: Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF
> support
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> Sure, it appears the patch subject makes you confused.
>
> Regards,
> Nhi
>
> On 8/9/2024 9:44 AM, Chang, Abner wrote:
> > [AMD Official Use Only - AMD Internal Distribution Only]
> >
> >
> > Hi Pham,
> >
> > Just realize this patch is not for ManageabilityPkg when I go through
> > the patch, I will leave this to the owner. Also, I shouldn’t suggest you
> > to create PR as I am not the owner, sorry about this.
> >
> > Thanks
> >
> > Abner
> >
> > *From:*Nhi Pham OS <nhi@os.amperecomputing.com>
> > *Sent:* Wednesday, August 7, 2024 3:35 PM
> > *To:* Chang, Abner <Abner.Chang@amd.com>; devel@edk2.groups.io
> > *Cc:* quic_llindhol@quicinc.com; Chuong Tran OS
> > <chuong@os.amperecomputing.com>; Rebecca Cran OS
> > <rebecca@os.amperecomputing.com>
> > *Subject:* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF
> > support
> >
> > [AMD Official Use Only - AMD Internal Distribution Only]
> >
> >
> >
> > *Caution:*This message originated from an External Source. Use proper
> > caution when opening attachments, clicking links, or responding.
> >
> > Sure, Abner. I've created this PR https://github.com/tianocore/edk2-
> > platforms/pull/178 <https://github.com/tianocore/edk2-
> platforms/pull/178>
> >
> > Regards,
> > Nhi
> >
> > ------------------------------------------------------------------------
> >
> > *From:*Chang, Abner <Abner.Chang@amd.com
> <mailto:Abner.Chang@amd.com>>
> > *Sent:* Wednesday, August 7, 2024 2:16 PM
> > *To:* devel@edk2.groups.io <mailto:devel@edk2.groups.io>
> > <devel@edk2.groups.io <mailto:devel@edk2.groups.io>>; Nhi Pham OS
> > <nhi@os.amperecomputing.com <mailto:nhi@os.amperecomputing.com>>
> > *Cc:* quic_llindhol@quicinc.com <mailto:quic_llindhol@quicinc.com>
> > <quic_llindhol@quicinc.com <mailto:quic_llindhol@quicinc.com>>; Chuong
> > Tran OS <chuong@os.amperecomputing.com
> > <mailto:chuong@os.amperecomputing.com>>; Rebecca Cran OS
> > <rebecca@os.amperecomputing.com
> <mailto:rebecca@os.amperecomputing.com>>
> > *Subject:* RE: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF
> > support
> >
> > [AMD Official Use Only - AMD Internal Distribution Only]
> >
> > Hi Pham,
> > We already move edk2-platforms review through GitHub PR. Could you
> > please send the PR against edk2-platforms?
> >
> > Thanks
> > Abner
> >
> >> -----Original Message-----
> >> From: devel@edk2.groups.io <mailto:devel@edk2.groups.io>
> <devel@edk2.groups.io
> > <mailto:devel@edk2.groups.io>> On Behalf Of Nhi Pham
> >> via groups.io
> >> Sent: Wednesday, August 7, 2024 2:47 PM
> >> To: devel@edk2.groups.io <mailto:devel@edk2.groups.io>
> >> Cc: quic_llindhol@quicinc.com <mailto:quic_llindhol@quicinc.com>;
> > chuong@os.amperecomputing.com
> <mailto:chuong@os.amperecomputing.com>;
> >> rebecca@os.amperecomputing.com
> <mailto:rebecca@os.amperecomputing.com>;
> > nhi@os.amperecomputing.com <mailto:nhi@os.amperecomputing.com>
> >> Subject: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF
> support
> >>
> >> Caution: This message originated from an External Source. Use proper
> caution
> >> when opening attachments, clicking links, or responding.
> >>
> >>
> >> This updates the I2C library and implements SMBUS PEI/DXE drivers to
> >> support IPMI SSIF in the Mt. Jade platform.
> >>
> >> v2:
> >> - Refine the changes of the DwI2cLib per Leif's comments and update the
> >>   commit message accordingly.
> >> - Remove the additional PCD PcdBmcSlaveAddr since it's is unused.
> >>
> >> NOTE: Regarding the controller/target terminology, the function
> >> prototype and comment are derived from edk2/MdePkg. In this patch set, I
> >> am trying to avoid misusing the terms in the implementation instead of
> >> altering the function prototype and comment with the PPI and Protocol.
> >>
> >> Nhi Pham (5):
> >>   AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation
> >>   AmpereSiliconPkg: Define PCDs for SMBUS and BMC
> >>   AmpereAltraPkg: Add SmbusHc PEI and DXE drivers
> >>   JadePkg: Add PlatformBmcReadyLib to support BMC ready check
> >>   Ampere/Jade: Enable IPMI SSIF
> >>
> >>  Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec                        |  15
> +-
> >>  Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc                        |  23
> ++
> >>  Platform/Ampere/JadePkg/Jade.dsc                                            |   2 +
> >>  Platform/Ampere/JadePkg/Jade.fdf                                            |  17 ++
> >>
> >>
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> >> Lib.inf |  29 ++
> >>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
> |
> >> 43 +++
> >>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
> |
> >> 43 +++
> >>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
> >> |  95 +++++++
> >>  Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h                      |  11
> +-
> >>  Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063
> .c
> >> |   6 +-
> >>
> >>
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> >> Lib.c   |  30 +++
> >>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
> >> | 261 ++++++++++++++++++
> >>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
> |
> >> 277 ++++++++++++++++++++
> >>  Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
> |
> >> 263 +++++++++++++++++++
> >>  Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c                   |
> 129
> >> ++++++++-
> >>  15 files changed, 1227 insertions(+), 17 deletions(-)
> >>  create mode 100755
> >>
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> >> Lib.inf
> >>  create mode 100644
> >> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
> >>  create mode 100644
> >> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
> >>  create mode 100644
> >> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
> >>  create mode 100644
> >>
> Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReady
> >> Lib.c
> >>  create mode 100644
> >> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
> >>  create mode 100644
> >> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
> >>  create mode 100644
> >> Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
> >>
> >> --
> >> 2.25.1
> >>
> >>
> >>
> >> 
> >>
> >



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120305): https://edk2.groups.io/g/devel/message/120305
Mute This Topic: https://groups.io/mt/107765352/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
       [not found] ` <17E9A1ED2D454E7A.19172@groups.io>
@ 2024-08-13  4:16   ` Nhi Pham via groups.io
  0 siblings, 0 replies; 19+ messages in thread
From: Nhi Pham via groups.io @ 2024-08-13  4:16 UTC (permalink / raw)
  To: quic_llindhol@quicinc.com, devel@edk2.groups.io, Nhi Pham OS
  Cc: Chuong Tran OS, Rebecca  Cran OS

[-- Attachment #1: Type: text/plain, Size: 4309 bytes --]

Hi Leif,

Hope you're doing well. I hope you can find a few minutes on reviewing this patch set.

I appreciate your time.

Thanks,
Nhi
________________________________
From: devel@edk2.groups.io <devel@edk2.groups.io> on behalf of Nhi Pham via groups.io <nhi=os.amperecomputing.com@groups.io>
Sent: Thursday, August 8, 2024 10:06 AM
To: quic_llindhol@quicinc.com <quic_llindhol@quicinc.com>
Cc: devel@edk2.groups.io <devel@edk2.groups.io>; Chuong Tran OS <chuong@os.amperecomputing.com>; Rebecca Cran OS <rebecca@os.amperecomputing.com>
Subject: Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support

Hi Leif,

I saw a comment from you in the Pull Request and I resolved it. Do you
prefer to review in the Github PR? Should I send v3 to the mailing list?

Regards,
Nhi

On 8/7/2024 1:47 PM, Nhi Pham wrote:
> This updates the I2C library and implements SMBUS PEI/DXE drivers to
> support IPMI SSIF in the Mt. Jade platform.
>
> v2:
> - Refine the changes of the DwI2cLib per Leif's comments and update the
>    commit message accordingly.
> - Remove the additional PCD PcdBmcSlaveAddr since it's is unused.
>
> NOTE: Regarding the controller/target terminology, the function
> prototype and comment are derived from edk2/MdePkg. In this patch set, I
> am trying to avoid misusing the terms in the implementation instead of
> altering the function prototype and comment with the PPI and Protocol.
>
> Nhi Pham (5):
>    AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation
>    AmpereSiliconPkg: Define PCDs for SMBUS and BMC
>    AmpereAltraPkg: Add SmbusHc PEI and DXE drivers
>    JadePkg: Add PlatformBmcReadyLib to support BMC ready check
>    Ampere/Jade: Enable IPMI SSIF
>
>   Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec                        |  15 +-
>   Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc                        |  23 ++
>   Platform/Ampere/JadePkg/Jade.dsc                                            |   2 +
>   Platform/Ampere/JadePkg/Jade.fdf                                            |  17 ++
>   Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.inf |  29 ++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf                |  43 +++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf                |  43 +++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h               |  95 +++++++
>   Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h                      |  11 +-
>   Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c         |   6 +-
>   Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.c   |  30 +++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c               | 261 ++++++++++++++++++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c                  | 277 ++++++++++++++++++++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c                  | 263 +++++++++++++++++++
>   Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c                   | 129 ++++++++-
>   15 files changed, 1227 insertions(+), 17 deletions(-)
>   create mode 100755 Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.inf
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>   create mode 100644 Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.c
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
>








-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120324): https://edk2.groups.io/g/devel/message/120324
Mute This Topic: https://groups.io/mt/107765352/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



[-- Attachment #2: Type: text/html, Size: 8526 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
  2024-08-07  6:47 [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support Nhi Pham via groups.io
                   ` (7 preceding siblings ...)
       [not found] ` <17E9A1ED2D454E7A.19172@groups.io>
@ 2024-08-29  5:55 ` Chuong Tran
  2024-08-29  7:11   ` Nhi Pham via groups.io
  8 siblings, 1 reply; 19+ messages in thread
From: Chuong Tran @ 2024-08-29  5:55 UTC (permalink / raw)
  To: Nhi Pham, devel; +Cc: quic_llindhol, chuong, rebecca

For this patch series:
Reviewed-by: Chuong Tran <chuong@os.amperecomputing.com>

Regards,
Chuong

On 8/7/2024 1:47 PM, Nhi Pham wrote:
> This updates the I2C library and implements SMBUS PEI/DXE drivers to
> support IPMI SSIF in the Mt. Jade platform.
>
> v2:
> - Refine the changes of the DwI2cLib per Leif's comments and update the
>    commit message accordingly.
> - Remove the additional PCD PcdBmcSlaveAddr since it's is unused.
>
> NOTE: Regarding the controller/target terminology, the function
> prototype and comment are derived from edk2/MdePkg. In this patch set, I
> am trying to avoid misusing the terms in the implementation instead of
> altering the function prototype and comment with the PPI and Protocol.
>
> Nhi Pham (5):
>    AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation
>    AmpereSiliconPkg: Define PCDs for SMBUS and BMC
>    AmpereAltraPkg: Add SmbusHc PEI and DXE drivers
>    JadePkg: Add PlatformBmcReadyLib to support BMC ready check
>    Ampere/Jade: Enable IPMI SSIF
>
>   Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec                        |  15 +-
>   Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc                        |  23 ++
>   Platform/Ampere/JadePkg/Jade.dsc                                            |   2 +
>   Platform/Ampere/JadePkg/Jade.fdf                                            |  17 ++
>   Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.inf |  29 ++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf                |  43 +++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf                |  43 +++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h               |  95 +++++++
>   Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h                      |  11 +-
>   Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c         |   6 +-
>   Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.c   |  30 +++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c               | 261 ++++++++++++++++++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c                  | 277 ++++++++++++++++++++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c                  | 263 +++++++++++++++++++
>   Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c                   | 129 ++++++++-
>   15 files changed, 1227 insertions(+), 17 deletions(-)
>   create mode 100755 Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.inf
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>   create mode 100644 Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.c
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120479): https://edk2.groups.io/g/devel/message/120479
Mute This Topic: https://groups.io/mt/107765352/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support
  2024-08-29  5:55 ` Chuong Tran
@ 2024-08-29  7:11   ` Nhi Pham via groups.io
  0 siblings, 0 replies; 19+ messages in thread
From: Nhi Pham via groups.io @ 2024-08-29  7:11 UTC (permalink / raw)
  To: Chuong Tran OS, devel@edk2.groups.io
  Cc: quic_llindhol@quicinc.com, Chuong Tran OS, Rebecca  Cran OS

[-- Attachment #1: Type: text/plain, Size: 4099 bytes --]

Pushed as 6146fd7abcf6..9d8eda6ffff2

Thanks,
Nhi
________________________________
From: Chuong Tran OS <chuong@amperemail.onmicrosoft.com>
Sent: Thursday, August 29, 2024 12:55 PM
To: Nhi Pham OS <nhi@os.amperecomputing.com>; devel@edk2.groups.io <devel@edk2.groups.io>
Cc: quic_llindhol@quicinc.com <quic_llindhol@quicinc.com>; Chuong Tran OS <chuong@os.amperecomputing.com>; Rebecca Cran OS <rebecca@os.amperecomputing.com>
Subject: Re: [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support

For this patch series:
Reviewed-by: Chuong Tran <chuong@os.amperecomputing.com>

Regards,
Chuong

On 8/7/2024 1:47 PM, Nhi Pham wrote:
> This updates the I2C library and implements SMBUS PEI/DXE drivers to
> support IPMI SSIF in the Mt. Jade platform.
>
> v2:
> - Refine the changes of the DwI2cLib per Leif's comments and update the
>    commit message accordingly.
> - Remove the additional PCD PcdBmcSlaveAddr since it's is unused.
>
> NOTE: Regarding the controller/target terminology, the function
> prototype and comment are derived from edk2/MdePkg. In this patch set, I
> am trying to avoid misusing the terms in the implementation instead of
> altering the function prototype and comment with the PPI and Protocol.
>
> Nhi Pham (5):
>    AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation
>    AmpereSiliconPkg: Define PCDs for SMBUS and BMC
>    AmpereAltraPkg: Add SmbusHc PEI and DXE drivers
>    JadePkg: Add PlatformBmcReadyLib to support BMC ready check
>    Ampere/Jade: Enable IPMI SSIF
>
>   Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec                        |  15 +-
>   Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc                        |  23 ++
>   Platform/Ampere/JadePkg/Jade.dsc                                            |   2 +
>   Platform/Ampere/JadePkg/Jade.fdf                                            |  17 ++
>   Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.inf |  29 ++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf                |  43 +++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf                |  43 +++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h               |  95 +++++++
>   Silicon/Ampere/AmpereAltraPkg/Include/Library/I2cLib.h                      |  11 +-
>   Platform/Ampere/JadePkg/Library/PCF85063RealTimeClockLib/PCF85063.c         |   6 +-
>   Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.c   |  30 +++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c               | 261 ++++++++++++++++++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c                  | 277 ++++++++++++++++++++
>   Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c                  | 263 +++++++++++++++++++
>   Silicon/Ampere/AmpereAltraPkg/Library/DwI2cLib/DwI2cLib.c                   | 129 ++++++++-
>   15 files changed, 1227 insertions(+), 17 deletions(-)
>   create mode 100755 Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.inf
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.inf
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.inf
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.h
>   create mode 100644 Platform/Ampere/JadePkg/Library/PlatformBmcReadyLib/PlatformBmcReadyLib.c
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcCommon.c
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcDxe.c
>   create mode 100644 Silicon/Ampere/AmpereAltraPkg/Drivers/SmbusHc/SmbusHcPei.c
>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120426): https://edk2.groups.io/g/devel/message/120426
Mute This Topic: https://groups.io/mt/107765352/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



[-- Attachment #2: Type: text/html, Size: 7768 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2024-09-03 18:03 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-07  6:47 [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support Nhi Pham via groups.io
2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 1/5] AmpereAltraPkg/DwI2cLib: Add support for SMBUS+PEC operation Nhi Pham via groups.io
2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 2/5] AmpereSiliconPkg: Define PCDs for SMBUS and BMC Nhi Pham via groups.io
2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 3/5] AmpereAltraPkg: Add SmbusHc PEI and DXE drivers Nhi Pham via groups.io
2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 4/5] JadePkg: Add PlatformBmcReadyLib to support BMC ready check Nhi Pham via groups.io
2024-08-07  6:47 ` [edk2-devel] [edk2-platforms][PATCH v2 5/5] Ampere/Jade: Enable IPMI SSIF Nhi Pham via groups.io
2024-08-07  7:16 ` [edk2-devel] [edk2-platforms][PATCH v2 0/5] Add IPMI SSIF support Chang, Abner via groups.io
2024-08-07  7:35   ` Nhi Pham via groups.io
2024-08-09  2:44     ` Chang, Abner via groups.io
2024-08-09  3:05       ` Nhi Pham via groups.io
2024-08-09  4:34         ` Chang, Abner via groups.io
2024-08-07 10:23   ` Leif Lindholm
2024-08-07 10:45     ` Chang, Abner via groups.io
2024-08-07 10:56       ` Leif Lindholm
2024-08-07 10:59         ` Chang, Abner via groups.io
2024-08-08  3:06 ` Nhi Pham via groups.io
     [not found] ` <17E9A1ED2D454E7A.19172@groups.io>
2024-08-13  4:16   ` Nhi Pham via groups.io
2024-08-29  5:55 ` Chuong Tran
2024-08-29  7:11   ` Nhi Pham via groups.io

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox