diff --git a/Platforms/AMD/Styx/AmdStyx.dec b/Platforms/AMD/Styx/AmdStyx.dec
index 3466d1e..6624f8c 100644
--- a/Platforms/AMD/Styx/AmdStyx.dec
+++ b/Platforms/AMD/Styx/AmdStyx.dec
@@ -50,8 +50,8 @@
   gAmdStyxTokenSpaceGuid.PcdStyxFdt|{ 0xe4, 0x08, 0x0d, 0x04, 0x9a, 0x47, 0x4b, 0x42, 0x8c, 0x42, 0x36, 0x64, 0xdf, 0x79, 0x3f, 0x4b }|VOID*|0x00010000
 
   # Synopsys SATA Controller
-  gAmdStyxTokenSpaceGuid.PcdSataCtrlAxiSlvPort|0xE0300000|UINT32|0x00020000
-  gAmdStyxTokenSpaceGuid.PcdSataPortCount|8|UINT8|0x00020001
+  gAmdStyxTokenSpaceGuid.PcdSata0CtrlAxiSlvPort|0xE0300000|UINT32|0x00020000
+  gAmdStyxTokenSpaceGuid.PcdSata0PortCount|8|UINT8|0x00020001
   gAmdStyxTokenSpaceGuid.PcdSataPi|0xFF|UINT32|0x00020002
   gAmdStyxTokenSpaceGuid.PcdSataPortMode|0|UINT16|0x00020003
   gAmdStyxTokenSpaceGuid.PcdSataPortMpsp|TRUE|BOOLEAN|0x00020004
diff --git a/Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc b/Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc
index 0e97cb6..2606a0b 100644
--- a/Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc
+++ b/Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc
@@ -405,7 +405,7 @@
   #
   # Cello has 2 SATA ports on the first controller.
   #
-  gAmdStyxTokenSpaceGuid.PcdSataPortCount|2
+  gAmdStyxTokenSpaceGuid.PcdSata0PortCount|2
   gAmdStyxTokenSpaceGuid.PcdSata1PortCount|0
 
   # PCIe Support
diff --git a/Platforms/AMD/Styx/Drivers/StyxSataPlatformDxe/InitController.c b/Platforms/AMD/Styx/Drivers/StyxSataPlatformDxe/InitController.c
index e199202..5c651ed 100644
--- a/Platforms/AMD/Styx/Drivers/StyxSataPlatformDxe/InitController.c
+++ b/Platforms/AMD/Styx/Drivers/StyxSataPlatformDxe/InitController.c
@@ -152,19 +152,19 @@
   //
   // Perform SATA workarounds
   //
-  for (PortNum = 0; PortNum < FixedPcdGet8(PcdSataPortCount); PortNum++) {
+  for (PortNum = 0; PortNum < FixedPcdGet8(PcdSata0PortCount); PortNum++) {
       SetCwMinSata0 (PortNum);
   }
 
-  Status = InitializeSataController (FixedPcdGet32(PcdSataCtrlAxiSlvPort),
-             FixedPcdGet8(PcdSataPortCount), 0);
+  Status = InitializeSataController (FixedPcdGet32(PcdSata0CtrlAxiSlvPort),
+             FixedPcdGet8(PcdSata0PortCount), 0);
   if (EFI_ERROR (Status)) {
     DEBUG ((DEBUG_WARN, "%a: failed to initialize primary SATA controller!\n",
       __FUNCTION__));
     return Status;
   }
 
-  for (PortNum = 0; PortNum < FixedPcdGet8(PcdSataPortCount); PortNum++) {
+  for (PortNum = 0; PortNum < FixedPcdGet8(PcdSata0PortCount); PortNum++) {
       SetPrdSingleSata0 (PortNum);
   }
 
@@ -174,7 +174,8 @@
     }
 
     Status = InitializeSataController (FixedPcdGet32(PcdSata1CtrlAxiSlvPort),
-               FixedPcdGet8(PcdSata1PortCount), FixedPcdGet8(PcdSataPortCount));
+               FixedPcdGet8(PcdSata1PortCount),
+               FixedPcdGet8(PcdSata0PortCount));
     if (EFI_ERROR (Status)) {
       DEBUG ((DEBUG_WARN, "%a: failed to initialize secondary SATA controller!\n",
         __FUNCTION__));
diff --git a/Platforms/AMD/Styx/Drivers/StyxSataPlatformDxe/StyxSataPlatformDxe.inf b/Platforms/AMD/Styx/Drivers/StyxSataPlatformDxe/StyxSataPlatformDxe.inf
index e6f112a..b478fa5 100644
--- a/Platforms/AMD/Styx/Drivers/StyxSataPlatformDxe/StyxSataPlatformDxe.inf
+++ b/Platforms/AMD/Styx/Drivers/StyxSataPlatformDxe/StyxSataPlatformDxe.inf
@@ -46,15 +46,15 @@
   gAmdModulePkgTokenSpaceGuid.PcdSataSerdesOffset
   gAmdModulePkgTokenSpaceGuid.PcdSataNumChPerSerdes
 
-  gAmdStyxTokenSpaceGuid.PcdSataCtrlAxiSlvPort
-  gAmdStyxTokenSpaceGuid.PcdSataPortCount
+  gAmdStyxTokenSpaceGuid.PcdSata0CtrlAxiSlvPort
+  gAmdStyxTokenSpaceGuid.PcdSata0PortCount
+  gAmdStyxTokenSpaceGuid.PcdSata1CtrlAxiSlvPort
+  gAmdStyxTokenSpaceGuid.PcdSata1PortCount
   gAmdStyxTokenSpaceGuid.PcdSataPortMode
   gAmdStyxTokenSpaceGuid.PcdSataSmpsSupport
   gAmdStyxTokenSpaceGuid.PcdSataSssSupport
   gAmdStyxTokenSpaceGuid.PcdSataPortCpd
   gAmdStyxTokenSpaceGuid.PcdSataPortMpsp
-  gAmdStyxTokenSpaceGuid.PcdSata1CtrlAxiSlvPort
-  gAmdStyxTokenSpaceGuid.PcdSata1PortCount
 
 [Depex]
   TRUE
diff --git a/Platforms/AMD/Styx/Overdrive1000Board/Overdrive1000Board.dsc b/Platforms/AMD/Styx/Overdrive1000Board/Overdrive1000Board.dsc
index e093c62..4f90f94 100644
--- a/Platforms/AMD/Styx/Overdrive1000Board/Overdrive1000Board.dsc
+++ b/Platforms/AMD/Styx/Overdrive1000Board/Overdrive1000Board.dsc
@@ -410,7 +410,7 @@
   #
   # 2 ports active on Overdrive 1000
   #
-  gAmdStyxTokenSpaceGuid.PcdSataPortCount|2
+  gAmdStyxTokenSpaceGuid.PcdSata0PortCount|2
   gAmdStyxTokenSpaceGuid.PcdSata1PortCount|0
 
   # PCIe Support
diff --git a/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc b/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc
index bd91831..c7bf241 100644
--- a/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc
+++ b/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc
@@ -412,7 +412,7 @@
   #
   # Overdrive B1 has 14 SATA ports across 2 controllers.
   #
-  gAmdStyxTokenSpaceGuid.PcdSataPortCount|8
+  gAmdStyxTokenSpaceGuid.PcdSata0PortCount|8
   gAmdStyxTokenSpaceGuid.PcdSata1PortCount|6
 
   # PCIe Support
