[2/3] common/cnxk: update cn20k part numbers
Checks
Commit Message
- Update cn20k part number
- Add cnf205 support
- Add APIs for respective cn20k models
Signed-off-by: Rahul Bhansali <rbhansali@marvell.com>
Signed-off-by: Harman Kalra <hkalra@marvell.com>
---
drivers/common/cnxk/roc_constants.h | 4 ++--
drivers/common/cnxk/roc_model.c | 4 +++-
drivers/common/cnxk/roc_model.h | 28 +++++++++++++++++++++++++++-
3 files changed, 32 insertions(+), 4 deletions(-)
@@ -66,8 +66,8 @@
#define PCI_SUBSYSTEM_DEVID_CN10KB 0xBD00
#define PCI_SUBSYSTEM_DEVID_CNF10KB 0xBC00
-#define PCI_SUBSYSTEM_DEVID_CN20KA 0xA020
-#define PCI_SUBSYSTEM_DEVID_CNF20KA 0xA000
+#define PCI_SUBSYSTEM_DEVID_CN20KA 0xC220
+#define PCI_SUBSYSTEM_DEVID_CNF20KA 0xC200
#define PCI_SUBSYSTEM_DEVID_CN9KA 0x0000
#define PCI_SUBSYSTEM_DEVID_CN9KB 0xb400
@@ -18,7 +18,8 @@ struct roc_model *roc_model;
#define SOC_PART_CN10K 0xD49
#define SOC_PART_CN20K 0xD8E
-#define PART_206xx 0xA0
+#define PART_206xx 0xC2
+#define PART_205xxN 0xC3
#define PART_106xx 0xB9
#define PART_105xx 0xBA
#define PART_105xxN 0xBC
@@ -62,6 +63,7 @@ static const struct model_db {
char name[ROC_MODEL_STR_LEN_MAX];
} model_db[] = {
{VENDOR_ARM, PART_206xx, 0, 0, ROC_MODEL_CN206xx_A0, "cn20ka_a0"},
+ {VENDOR_ARM, PART_205xxN, 0, 0, ROC_MODEL_CNF205xxN_A0, "cnf20ka_a0"},
{VENDOR_ARM, PART_106xx, 0, 0, ROC_MODEL_CN106xx_A0, "cn10ka_a0"},
{VENDOR_ARM, PART_106xx, 0, 1, ROC_MODEL_CN106xx_A1, "cn10ka_a1"},
{VENDOR_ARM, PART_106xx, 1, 0, ROC_MODEL_CN106xx_B0, "cn10ka_b0"},
@@ -37,6 +37,7 @@ struct roc_model {
#define ROC_MODEL_CNF105xxN_B0 BIT_ULL(27)
/* CN20k Models*/
#define ROC_MODEL_CN206xx_A0 BIT_ULL(40)
+#define ROC_MODEL_CNF205xxN_A0 BIT_ULL(41)
/* Following flags describe platform code is running on */
#define ROC_ENV_HW BIT_ULL(61)
@@ -75,7 +76,8 @@ struct roc_model {
/* CN20K models */
#define ROC_MODEL_CN206xx (ROC_MODEL_CN206xx_A0)
-#define ROC_MODEL_CN20K (ROC_MODEL_CN206xx)
+#define ROC_MODEL_CNF205xxN (ROC_MODEL_CNF205xxN_A0)
+#define ROC_MODEL_CN20K (ROC_MODEL_CN206xx | ROC_MODEL_CNF205xxN)
/* Runtime variants */
static inline uint64_t
@@ -320,6 +322,30 @@ roc_model_is_cn10kb(void)
return roc_model->flag & ROC_MODEL_CN103xx;
}
+static inline uint64_t
+roc_model_is_cn20ka(void)
+{
+ return roc_model->flag & ROC_MODEL_CN206xx;
+}
+
+static inline uint64_t
+roc_model_is_cn20ka_a0(void)
+{
+ return roc_model->flag & ROC_MODEL_CN206xx_A0;
+}
+
+static inline uint64_t
+roc_model_is_cnf20ka(void)
+{
+ return roc_model->flag & ROC_MODEL_CNF205xxN;
+}
+
+static inline uint64_t
+roc_model_is_cnf20ka_a0(void)
+{
+ return roc_model->flag & ROC_MODEL_CNF205xxN_A0;
+}
+
static inline bool
roc_env_is_hw(void)
{