e286869b24
- Why I did it 1. Update Mellanox HW-MGMT package to newer version V.7.0030.1011 2. Replace the SONiC PMON Thermal control algorithm with the one inside the HW-MGMT package on all Nvidia platforms 3. Support Spectrum-4 systems - How I did it 1. Update the HW-MGMT package version number and submodule pointer 2. Remove the thermal control algorithm implementation from Mellanox platform API 3. Revise the patch to HW-MGMT package which will disable HW-MGMT from running on SIMX 4. Update the downstream kernel patch list Signed-off-by: Kebo Liu <kebol@nvidia.com>
130 lines
5.1 KiB
Diff
130 lines
5.1 KiB
Diff
From b37820018a651f9f8bfe3a9c3fe0e90e49add58b Mon Sep 17 00:00:00 2001
|
|
From: Michael Shych <michaelsh@nvidia.com>
|
|
Date: Tue, 9 May 2023 11:06:39 +0000
|
|
Subject: [PATCH v1 1/1] platform: mellanox: mlx-platform: add support of 5th
|
|
CPLD.
|
|
|
|
Add 5th CPLD version, PN and minimal version registers.
|
|
|
|
Signed-off-by: Michael Shych <michaelsh@nvidia.com>
|
|
---
|
|
drivers/platform/mellanox/mlx-platform.c | 33 ++++++++++++++++++++++++++++++--
|
|
1 file changed, 31 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/drivers/platform/mellanox/mlx-platform.c b/drivers/platform/mellanox/mlx-platform.c
|
|
index 605d57e95..dc6b7ad2c 100644
|
|
--- a/drivers/platform/mellanox/mlx-platform.c
|
|
+++ b/drivers/platform/mellanox/mlx-platform.c
|
|
@@ -99,6 +99,9 @@
|
|
#define MLXPLAT_CPLD_LPC_REG_FAN_OFFSET 0x88
|
|
#define MLXPLAT_CPLD_LPC_REG_FAN_EVENT_OFFSET 0x89
|
|
#define MLXPLAT_CPLD_LPC_REG_FAN_MASK_OFFSET 0x8a
|
|
+#define MLXPLAT_CPLD_LPC_REG_CPLD5_VER_OFFSET 0x8e
|
|
+#define MLXPLAT_CPLD_LPC_REG_CPLD5_PN_OFFSET 0x8f
|
|
+#define MLXPLAT_CPLD_LPC_REG_CPLD5_PN1_OFFSET 0x90
|
|
#define MLXPLAT_CPLD_LPC_REG_EROT_OFFSET 0x91
|
|
#define MLXPLAT_CPLD_LPC_REG_EROT_EVENT_OFFSET 0x92
|
|
#define MLXPLAT_CPLD_LPC_REG_EROT_MASK_OFFSET 0x93
|
|
@@ -133,6 +136,7 @@
|
|
#define MLXPLAT_CPLD_LPC_REG_DBG4_OFFSET 0xb9
|
|
#define MLXPLAT_CPLD_LPC_REG_GP4_RO_OFFSET 0xc2
|
|
#define MLXPLAT_CPLD_LPC_REG_SPI_CHNL_SELECT 0xc3
|
|
+#define MLXPLAT_CPLD_LPC_REG_CPLD5_MVER_OFFSET 0xc4
|
|
#define MLXPLAT_CPLD_LPC_REG_WD_CLEAR_OFFSET 0xc7
|
|
#define MLXPLAT_CPLD_LPC_REG_WD_CLEAR_WP_OFFSET 0xc8
|
|
#define MLXPLAT_CPLD_LPC_REG_WD1_TMR_OFFSET 0xc9
|
|
@@ -3713,6 +3717,12 @@ static struct mlxreg_core_data mlxplat_mlxcpld_default_ng_regs_io_data[] = {
|
|
.bit = GENMASK(7, 0),
|
|
.mode = 0444,
|
|
},
|
|
+ {
|
|
+ .label = "cpld5_version",
|
|
+ .reg = MLXPLAT_CPLD_LPC_REG_CPLD5_VER_OFFSET,
|
|
+ .bit = GENMASK(7, 0),
|
|
+ .mode = 0444,
|
|
+ },
|
|
{
|
|
.label = "cpld1_pn",
|
|
.reg = MLXPLAT_CPLD_LPC_REG_CPLD1_PN_OFFSET,
|
|
@@ -3741,6 +3751,13 @@ static struct mlxreg_core_data mlxplat_mlxcpld_default_ng_regs_io_data[] = {
|
|
.mode = 0444,
|
|
.regnum = 2,
|
|
},
|
|
+ {
|
|
+ .label = "cpld5_pn",
|
|
+ .reg = MLXPLAT_CPLD_LPC_REG_CPLD5_PN_OFFSET,
|
|
+ .bit = GENMASK(15, 0),
|
|
+ .mode = 0444,
|
|
+ .regnum = 2,
|
|
+ },
|
|
{
|
|
.label = "cpld1_version_min",
|
|
.reg = MLXPLAT_CPLD_LPC_REG_CPLD1_MVER_OFFSET,
|
|
@@ -3765,6 +3782,12 @@ static struct mlxreg_core_data mlxplat_mlxcpld_default_ng_regs_io_data[] = {
|
|
.bit = GENMASK(7, 0),
|
|
.mode = 0444,
|
|
},
|
|
+ {
|
|
+ .label = "cpld5_version_min",
|
|
+ .reg = MLXPLAT_CPLD_LPC_REG_CPLD5_MVER_OFFSET,
|
|
+ .bit = GENMASK(7, 0),
|
|
+ .mode = 0444,
|
|
+ },
|
|
{
|
|
.label = "asic_reset",
|
|
.reg = MLXPLAT_CPLD_LPC_REG_RESET_GP2_OFFSET,
|
|
@@ -5404,6 +5427,7 @@ static bool mlxplat_mlxcpld_readable_reg(struct device *dev, unsigned int reg)
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD2_VER_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD3_VER_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD4_VER_OFFSET:
|
|
+ case MLXPLAT_CPLD_LPC_REG_CPLD5_VER_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD1_PN_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD1_PN1_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD2_PN_OFFSET:
|
|
@@ -5412,6 +5436,8 @@ static bool mlxplat_mlxcpld_readable_reg(struct device *dev, unsigned int reg)
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD3_PN1_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD4_PN_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD4_PN1_OFFSET:
|
|
+ case MLXPLAT_CPLD_LPC_REG_CPLD5_PN_OFFSET:
|
|
+ case MLXPLAT_CPLD_LPC_REG_CPLD5_PN1_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_RESET_GP4_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_RESET_CAUSE_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_RST_CAUSE1_OFFSET:
|
|
@@ -5524,6 +5550,7 @@ static bool mlxplat_mlxcpld_readable_reg(struct device *dev, unsigned int reg)
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD2_MVER_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD3_MVER_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD4_MVER_OFFSET:
|
|
+ case MLXPLAT_CPLD_LPC_REG_CPLD5_MVER_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_PWM1_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_PWM2_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_PWM3_OFFSET:
|
|
@@ -5565,14 +5592,15 @@ static bool mlxplat_mlxcpld_volatile_reg(struct device *dev, unsigned int reg)
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD2_VER_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD3_VER_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD4_VER_OFFSET:
|
|
+ case MLXPLAT_CPLD_LPC_REG_CPLD5_VER_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD1_PN_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD1_PN1_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD2_PN_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD2_PN1_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD3_PN_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD3_PN1_OFFSET:
|
|
- case MLXPLAT_CPLD_LPC_REG_CPLD4_PN_OFFSET:
|
|
- case MLXPLAT_CPLD_LPC_REG_CPLD4_PN1_OFFSET:
|
|
+ case MLXPLAT_CPLD_LPC_REG_CPLD5_PN_OFFSET:
|
|
+ case MLXPLAT_CPLD_LPC_REG_CPLD5_PN1_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_RESET_GP4_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_RESET_CAUSE_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_RST_CAUSE1_OFFSET:
|
|
@@ -5677,6 +5705,7 @@ static bool mlxplat_mlxcpld_volatile_reg(struct device *dev, unsigned int reg)
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD2_MVER_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD3_MVER_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_CPLD4_MVER_OFFSET:
|
|
+ case MLXPLAT_CPLD_LPC_REG_CPLD5_MVER_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_PWM1_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_PWM2_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_PWM3_OFFSET:
|
|
--
|
|
2.14.1
|
|
|