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>
73 lines
2.8 KiB
Diff
73 lines
2.8 KiB
Diff
From 96de5181b880adf2fd65fa85fbc3e0c74f976788 Mon Sep 17 00:00:00 2001
|
|
From: Vadim Pasternak <vadimp@nvidia.com>
|
|
Date: Wed, 1 Mar 2023 17:49:08 +0000
|
|
Subject: [PATCH backport 5.10 5/6] platform: mellanox: Add field upgrade
|
|
capability register
|
|
|
|
Add new register to indicate the method of FPGA/CPLD field upgrade
|
|
supported on the specific system.
|
|
Currently two masks are available:
|
|
b00 - field upgrade through LPC gateway (new method introduced to
|
|
accelerate field upgrade process).
|
|
b11 - field upgrade through CPU GPIO pins (old method).
|
|
|
|
Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
|
|
Reviewed-by: Michael Shych <michaelsh@nvidia.com>
|
|
---
|
|
drivers/platform/mellanox/mlx-platform.c | 11 +++++++++++
|
|
1 file changed, 11 insertions(+)
|
|
|
|
diff --git a/drivers/platform/mellanox/mlx-platform.c b/drivers/platform/mellanox/mlx-platform.c
|
|
index b5d51673f..f674d9173 100644
|
|
--- a/drivers/platform/mellanox/mlx-platform.c
|
|
+++ b/drivers/platform/mellanox/mlx-platform.c
|
|
@@ -66,6 +66,7 @@
|
|
#define MLXPLAT_CPLD_LPC_REG_PWM_CONTROL_OFFSET 0x37
|
|
#define MLXPLAT_CPLD_LPC_REG_AGGR_OFFSET 0x3a
|
|
#define MLXPLAT_CPLD_LPC_REG_AGGR_MASK_OFFSET 0x3b
|
|
+#define MLXPLAT_CPLD_LPC_REG_FU_CAP_OFFSET 0x3c
|
|
#define MLXPLAT_CPLD_LPC_REG_AGGRLO_OFFSET 0x40
|
|
#define MLXPLAT_CPLD_LPC_REG_AGGRLO_MASK_OFFSET 0x41
|
|
#define MLXPLAT_CPLD_LPC_REG_AGGRCO_OFFSET 0x42
|
|
@@ -241,6 +242,7 @@
|
|
#define MLXPLAT_CPLD_VOLTREG_UPD_MASK GENMASK(5, 4)
|
|
#define MLXPLAT_CPLD_GWP_MASK GENMASK(0, 0)
|
|
#define MLXPLAT_CPLD_EROT_MASK GENMASK(1, 0)
|
|
+#define MLXPLAT_CPLD_FU_CAP_MASK GENMASK(1, 0)
|
|
#define MLXPLAT_CPLD_PWR_BUTTON_MASK BIT(0)
|
|
#define MLXPLAT_CPLD_LATCH_RST_MASK BIT(5)
|
|
#define MLXPLAT_CPLD_THERMAL1_PDB_MASK BIT(3)
|
|
@@ -3956,6 +3958,13 @@ static struct mlxreg_core_data mlxplat_mlxcpld_default_ng_regs_io_data[] = {
|
|
.mask = GENMASK(7, 0) & ~BIT(5),
|
|
.mode = 0200,
|
|
},
|
|
+ {
|
|
+ .label = "jtag_cap",
|
|
+ .reg = MLXPLAT_CPLD_LPC_REG_FU_CAP_OFFSET,
|
|
+ .mask = MLXPLAT_CPLD_FU_CAP_MASK,
|
|
+ .bit = 1,
|
|
+ .mode = 0444,
|
|
+ },
|
|
{
|
|
.label = "jtag_enable",
|
|
.reg = MLXPLAT_CPLD_LPC_REG_GP2_OFFSET,
|
|
@@ -5424,6 +5433,7 @@ static bool mlxplat_mlxcpld_readable_reg(struct device *dev, unsigned int reg)
|
|
case MLXPLAT_CPLD_LPC_SAFE_BIOS_WP_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_AGGR_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_AGGR_MASK_OFFSET:
|
|
+ case MLXPLAT_CPLD_LPC_REG_FU_CAP_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_DBG1_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_DBG2_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_DBG3_OFFSET:
|
|
@@ -5582,6 +5592,7 @@ static bool mlxplat_mlxcpld_volatile_reg(struct device *dev, unsigned int reg)
|
|
case MLXPLAT_CPLD_LPC_SAFE_BIOS_WP_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_AGGR_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_AGGR_MASK_OFFSET:
|
|
+ case MLXPLAT_CPLD_LPC_REG_FU_CAP_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_DBG1_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_DBG2_OFFSET:
|
|
case MLXPLAT_CPLD_LPC_REG_DBG3_OFFSET:
|
|
--
|
|
2.20.1
|
|
|