Unverified Commit 059417ea authored by Oleksandr Shamray's avatar Oleksandr Shamray Committed by Ilpo Järvinen
Browse files

platform: mellanox: mlx-platform: Add support DGX flavor of next-generation...


platform: mellanox: mlx-platform: Add support DGX flavor of next-generation 800GB/s ethernet switch.

This system is based on Nvidia SN5600 Spectrum-4 Based 64x800Gb/s ETH
Switch System, with the following key changes:

Key changes:
  1. New system SKU: HI174.
  2. Power Supply: PSU AC replaiced with PDB board (added pdb/pwr
     attributes).
  3. CPLD: Update register map with new PDB related signals.

Signed-off-by: default avatarOleksandr Shamray <oleksandrs@nvidia.com>
Reviewed-by: default avatarVadim Pasternak <vadimp@nvidia.com>
Link: https://patch.msgid.link/20260128075939.2704019-3-oleksandrs@nvidia.com


Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
parent dbf76f86
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -7772,6 +7772,27 @@ static int __init mlxplat_dmi_ng800_matched(const struct dmi_system_id *dmi)
	return mlxplat_register_platform_device();
}

static int __init mlxplat_dmi_ng800_dgx_matched(const struct dmi_system_id *dmi)
{
	int i;

	mlxplat_max_adap_num = MLXPLAT_CPLD_MAX_PHYS_ADAPTER_NUM;
	mlxplat_mux_num = ARRAY_SIZE(mlxplat_ng800_mux_data);
	mlxplat_mux_data = mlxplat_ng800_mux_data;
	mlxplat_hotplug = &mlxplat_mlxcpld_dgx_ext_data;
	mlxplat_hotplug->deferred_nr =
		mlxplat_msn21xx_channels[MLXPLAT_CPLD_GRP_CHNL_NUM - 1];
	mlxplat_led = &mlxplat_default_ng_led_data;
	mlxplat_regs_io = &mlxplat_dgx_ng_regs_io_data;
	mlxplat_fan = &mlxplat_default_fan_data;
	for (i = 0; i < ARRAY_SIZE(mlxplat_mlxcpld_wd_set_type2); i++)
		mlxplat_wd_data[i] = &mlxplat_mlxcpld_wd_set_type2[i];
	mlxplat_i2c = &mlxplat_mlxcpld_i2c_ng_data;
	mlxplat_regmap_config = &mlxplat_mlxcpld_regmap_config_ng400;

	return mlxplat_register_platform_device();
}

static int __init mlxplat_dmi_l1_switch_matched(const struct dmi_system_id *dmi)
{
	int i;
@@ -7926,6 +7947,13 @@ static const struct dmi_system_id mlxplat_dmi_table[] __initconst = {
			DMI_MATCH(DMI_BOARD_NAME, "VMOD0011"),
		},
	},
	{
		.callback = mlxplat_dmi_ng800_dgx_matched,
		.matches = {
			DMI_MATCH(DMI_BOARD_NAME, "VMOD0013"),
			DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "HI174"),
		},
	},
	{
		.callback = mlxplat_dmi_ng800_matched,
		.matches = {