Skip to content
/ linux Public

Commit 095a2c1

Browse files
vadimp-nvidiajwrdegoede
authored andcommitted
platform/x86: mlx-platform: Add COME board revision register
Extend COME CPLD with board configuration register for getting board revision. The value of this register is pushed by hardware through GPIO pins. The purpose of it is to expose some minor BOM changes. Signed-off-by: Vadim Pasternak <vadimp@nvidia.com> Reviewed-by: Oleksandr Shamray <oleksandrs@nvidia.com> Link: https://lore.kernel.org/r/20220711084559.62447-7-vadimp@nvidia.com Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
1 parent 2deb928 commit 095a2c1

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

drivers/platform/x86/mlx-platform.c

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@
150150
#define MLXPLAT_CPLD_LPC_REG_SLOT_QTY_OFFSET 0xfa
151151
#define MLXPLAT_CPLD_LPC_REG_CONFIG1_OFFSET 0xfb
152152
#define MLXPLAT_CPLD_LPC_REG_CONFIG2_OFFSET 0xfc
153+
#define MLXPLAT_CPLD_LPC_REG_CONFIG3_OFFSET 0xfd
153154
#define MLXPLAT_CPLD_LPC_IO_RANGE 0x100
154155
#define MLXPLAT_CPLD_LPC_I2C_CH1_OFF 0xdb
155156
#define MLXPLAT_CPLD_LPC_I2C_CH2_OFF 0xda
@@ -3153,6 +3154,12 @@ static struct mlxreg_core_data mlxplat_mlxcpld_default_ng_regs_io_data[] = {
31533154
.bit = GENMASK(7, 0),
31543155
.mode = 0444,
31553156
},
3157+
{
3158+
.label = "config3",
3159+
.reg = MLXPLAT_CPLD_LPC_REG_CONFIG3_OFFSET,
3160+
.bit = GENMASK(7, 0),
3161+
.mode = 0444,
3162+
},
31563163
{
31573164
.label = "ufm_version",
31583165
.reg = MLXPLAT_CPLD_LPC_REG_UFM_VERSION_OFFSET,
@@ -3631,6 +3638,12 @@ static struct mlxreg_core_data mlxplat_mlxcpld_modular_regs_io_data[] = {
36313638
.bit = GENMASK(7, 0),
36323639
.mode = 0444,
36333640
},
3641+
{
3642+
.label = "config3",
3643+
.reg = MLXPLAT_CPLD_LPC_REG_CONFIG3_OFFSET,
3644+
.bit = GENMASK(7, 0),
3645+
.mode = 0444,
3646+
},
36343647
{
36353648
.label = "ufm_version",
36363649
.reg = MLXPLAT_CPLD_LPC_REG_UFM_VERSION_OFFSET,
@@ -3828,6 +3841,12 @@ static struct mlxreg_core_data mlxplat_mlxcpld_nvlink_blade_regs_io_data[] = {
38283841
.bit = GENMASK(7, 0),
38293842
.mode = 0444,
38303843
},
3844+
{
3845+
.label = "config3",
3846+
.reg = MLXPLAT_CPLD_LPC_REG_CONFIG3_OFFSET,
3847+
.bit = GENMASK(7, 0),
3848+
.mode = 0444,
3849+
},
38313850
{
38323851
.label = "ufm_version",
38333852
.reg = MLXPLAT_CPLD_LPC_REG_UFM_VERSION_OFFSET,
@@ -4404,6 +4423,7 @@ static bool mlxplat_mlxcpld_readable_reg(struct device *dev, unsigned int reg)
44044423
case MLXPLAT_CPLD_LPC_REG_SLOT_QTY_OFFSET:
44054424
case MLXPLAT_CPLD_LPC_REG_CONFIG1_OFFSET:
44064425
case MLXPLAT_CPLD_LPC_REG_CONFIG2_OFFSET:
4426+
case MLXPLAT_CPLD_LPC_REG_CONFIG3_OFFSET:
44074427
case MLXPLAT_CPLD_LPC_REG_UFM_VERSION_OFFSET:
44084428
return true;
44094429
}
@@ -4531,6 +4551,7 @@ static bool mlxplat_mlxcpld_volatile_reg(struct device *dev, unsigned int reg)
45314551
case MLXPLAT_CPLD_LPC_REG_SLOT_QTY_OFFSET:
45324552
case MLXPLAT_CPLD_LPC_REG_CONFIG1_OFFSET:
45334553
case MLXPLAT_CPLD_LPC_REG_CONFIG2_OFFSET:
4554+
case MLXPLAT_CPLD_LPC_REG_CONFIG3_OFFSET:
45344555
case MLXPLAT_CPLD_LPC_REG_UFM_VERSION_OFFSET:
45354556
return true;
45364557
}

0 commit comments

Comments
 (0)