summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures
diff options
context:
space:
mode:
Diffstat (limited to 'src/import/chips/p9/procedures')
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C40
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_psi_scom.C65
-rw-r--r--src/import/chips/p9/procedures/hwp/nest/p9_pcie_config.C4
-rw-r--r--src/import/chips/p9/procedures/hwp/nest/p9_pcie_scominit.C4
-rw-r--r--src/import/chips/p9/procedures/hwp/nest/p9_setup_bars_defs.H4
5 files changed, 104 insertions, 13 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C
index a193ddfe5..5da7c0653 100644
--- a/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C
+++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C
@@ -34,8 +34,12 @@ constexpr auto literal_3 = 3;
constexpr auto literal_1 = 1;
constexpr auto literal_0 = 0;
constexpr auto literal_0x0 = 0x0;
-constexpr auto literal_0x1111111111111111 = 0x1111111111111111;
-constexpr auto literal_0x0000000000000000 = 0x0000000000000000;
+constexpr auto literal_0x009A48180F01FFFF = 0x009A48180F01FFFF;
+constexpr auto literal_0x7F60B04500AE0000 = 0x7F60B04500AE0000;
+constexpr auto literal_0xFF65B04700FE0000 = 0xFF65B04700FE0000;
+constexpr auto literal_0x5550F40000000003 = 0x5550F40000000003;
+constexpr auto literal_0xAAA70A5DF0000000 = 0xAAA70A5DF0000000;
+constexpr auto literal_0xAAAF0BFFF0000000 = 0xAAAF0BFFF0000000;
fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT0,
const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1)
@@ -201,7 +205,7 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
}
{
- l_scom_buffer.insert<uint64_t> (literal_0x1111111111111111, 0, 64, 0 );
+ l_scom_buffer.insert<uint64_t> (literal_0x009A48180F01FFFF, 0, 64, 0 );
}
l_rc = fapi2::putScom(TGT0, 0x5011403ull, l_scom_buffer);
@@ -223,7 +227,7 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
}
{
- l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ l_scom_buffer.insert<uint64_t> (literal_0x7F60B04500AE0000, 0, 64, 0 );
}
l_rc = fapi2::putScom(TGT0, 0x5011406ull, l_scom_buffer);
@@ -245,7 +249,7 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
}
{
- l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ l_scom_buffer.insert<uint64_t> (literal_0xFF65B04700FE0000, 0, 64, 0 );
}
l_rc = fapi2::putScom(TGT0, 0x5011407ull, l_scom_buffer);
@@ -258,6 +262,28 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
}
{
+ l_rc = fapi2::getScom( TGT0, 0x5011443ull, l_scom_buffer );
+
+ if (l_rc)
+ {
+ FAPI_ERR("ERROR executing: getScom (0x5011443ull)");
+ break;
+ }
+
+ {
+ l_scom_buffer.insert<uint64_t> (literal_0x5550F40000000003, 0, 64, 0 );
+ }
+
+ l_rc = fapi2::putScom(TGT0, 0x5011443ull, l_scom_buffer);
+
+ if (l_rc)
+ {
+ FAPI_ERR("ERROR executing: putScom (0x5011443ull)");
+ break;
+ }
+ }
+
+ {
l_rc = fapi2::getScom( TGT0, 0x5011446ull, l_scom_buffer );
if (l_rc)
@@ -267,7 +293,7 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
}
{
- l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ l_scom_buffer.insert<uint64_t> (literal_0xAAA70A5DF0000000, 0, 64, 0 );
}
l_rc = fapi2::putScom(TGT0, 0x5011446ull, l_scom_buffer);
@@ -289,7 +315,7 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
}
{
- l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ l_scom_buffer.insert<uint64_t> (literal_0xAAAF0BFFF0000000, 0, 64, 0 );
}
l_rc = fapi2::putScom(TGT0, 0x5011447ull, l_scom_buffer);
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_psi_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_psi_scom.C
index f4b8547d7..fb04ebbae 100644
--- a/src/import/chips/p9/procedures/hwp/initfiles/p9_psi_scom.C
+++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_psi_scom.C
@@ -29,6 +29,8 @@
using namespace fapi2;
+constexpr auto literal_0xFE00000000000000 = 0xFE00000000000000;
+constexpr auto literal_0x0000000000000000 = 0x0000000000000000;
constexpr auto literal_0b00111001000000101111111111111 = 0b00111001000000101111111111111;
constexpr auto literal_0b00000000000000000000000000000 = 0b00000000000000000000000000000;
constexpr auto literal_0b11000110001010010000000000000 = 0b11000110001010010000000000000;
@@ -43,6 +45,69 @@ fapi2::ReturnCode p9_psi_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
{
fapi2::buffer<uint64_t> l_scom_buffer;
{
+ l_rc = fapi2::getScom( TGT0, 0x4011803ull, l_scom_buffer );
+
+ if (l_rc)
+ {
+ FAPI_ERR("ERROR executing: getScom (0x4011803ull)");
+ break;
+ }
+
+ {
+ l_scom_buffer.insert<uint64_t> (literal_0xFE00000000000000, 0, 7, 0 );
+ }
+
+ l_rc = fapi2::putScom(TGT0, 0x4011803ull, l_scom_buffer);
+
+ if (l_rc)
+ {
+ FAPI_ERR("ERROR executing: putScom (0x4011803ull)");
+ break;
+ }
+ }
+ {
+ l_rc = fapi2::getScom( TGT0, 0x4011806ull, l_scom_buffer );
+
+ if (l_rc)
+ {
+ FAPI_ERR("ERROR executing: getScom (0x4011806ull)");
+ break;
+ }
+
+ {
+ l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 7, 0 );
+ }
+
+ l_rc = fapi2::putScom(TGT0, 0x4011806ull, l_scom_buffer);
+
+ if (l_rc)
+ {
+ FAPI_ERR("ERROR executing: putScom (0x4011806ull)");
+ break;
+ }
+ }
+ {
+ l_rc = fapi2::getScom( TGT0, 0x4011807ull, l_scom_buffer );
+
+ if (l_rc)
+ {
+ FAPI_ERR("ERROR executing: getScom (0x4011807ull)");
+ break;
+ }
+
+ {
+ l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 7, 0 );
+ }
+
+ l_rc = fapi2::putScom(TGT0, 0x4011807ull, l_scom_buffer);
+
+ if (l_rc)
+ {
+ FAPI_ERR("ERROR executing: putScom (0x4011807ull)");
+ break;
+ }
+ }
+ {
l_rc = fapi2::getScom( TGT0, 0x5012903ull, l_scom_buffer );
if (l_rc)
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_pcie_config.C b/src/import/chips/p9/procedures/hwp/nest/p9_pcie_config.C
index eb141d60b..f3f269f62 100644
--- a/src/import/chips/p9/procedures/hwp/nest/p9_pcie_config.C
+++ b/src/import/chips/p9/procedures/hwp/nest/p9_pcie_config.C
@@ -309,8 +309,8 @@ fapi2::ReturnCode p9_pcie_config(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHI
l_register_bar += l_register_bar_offsets[l_phb_id];
FAPI_DBG("phb%i bar1 addr: %#lx", l_phb_id, l_register_bar());
l_register_bar = l_register_bar << P9_PCIE_CONFIG_BAR_SHIFT;
- FAPI_TRY(fapi2::putScom(l_phb_chiplets, PHB_MMIOBAR1_REG, l_register_bar),
- "Error from putScom (PHB_MMIOBAR1_REG)");
+ FAPI_TRY(fapi2::putScom(l_phb_chiplets, PHB_PHBBAR_REG, l_register_bar),
+ "Error from putScom (PHB_PHBBAR_REG)");
// step 23: NestBase+StackBase+0x14<software programmed>Set Base
// addressress Enable Register (BARE)
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_pcie_scominit.C b/src/import/chips/p9/procedures/hwp/nest/p9_pcie_scominit.C
index d85d0d0bd..2a7746a84 100644
--- a/src/import/chips/p9/procedures/hwp/nest/p9_pcie_scominit.C
+++ b/src/import/chips/p9/procedures/hwp/nest/p9_pcie_scominit.C
@@ -173,12 +173,12 @@ fapi2::ReturnCode p9_pcie_scominit(const fapi2::Target<fapi2::TARGET_TYPE_PROC_C
FAPI_TRY(fapi2::putScom(l_pec_chiplets, PEC_FIR_ACTION0_REG, l_buf));
// Phase1 init step 6 (Set FIR action1)
- l_buf = 0xFFFFFFFFF8000000;
+ l_buf = 0xE79E79E000000000ULL;
FAPI_DBG("pec%i: %#lx", l_pec_id, l_buf());
FAPI_TRY(fapi2::putScom(l_pec_chiplets, PEC_FIR_ACTION1_REG, l_buf));
// Phase1 init step 7 (Set FIR mask)
- l_buf = 0xFFFFFFFFF8000000;
+ l_buf = 0x1861861FF8000000ULL;
FAPI_DBG("pec%i: %#lx", l_pec_id, l_buf());
FAPI_TRY(fapi2::putScom(l_pec_chiplets, PEC_FIR_MASK_REG, l_buf));
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_setup_bars_defs.H b/src/import/chips/p9/procedures/hwp/nest/p9_setup_bars_defs.H
index f0a97d393..0c4e56057 100644
--- a/src/import/chips/p9/procedures/hwp/nest/p9_setup_bars_defs.H
+++ b/src/import/chips/p9/procedures/hwp/nest/p9_setup_bars_defs.H
@@ -304,8 +304,8 @@ struct p9_setup_bars_addr_range
//
const uint64_t MCD_FIR_ACTION0 = 0x0000000000000000ULL;
-const uint64_t MCD_FIR_ACTION1 = 0xFFFFFFFFFFFFFFFFULL;
-const uint64_t MCD_FIR_MASK = 0xFFFFFFFFFFFFFFFFULL;
+const uint64_t MCD_FIR_ACTION1 = 0x8030000000000000ULL;
+const uint64_t MCD_FIR_MASK = 0x4C40000000000000ULL;
//
OpenPOWER on IntegriCloud