enum m10bmc_type {
        M10_N3000,
-       M10_D5005
+       M10_D5005,
+       M10_N5010,
 };
 
 static struct mfd_cell m10bmc_d5005_subdevs[] = {
        { .name = "n3000bmc-secure" },
 };
 
+static struct mfd_cell m10bmc_n5010_subdevs[] = {
+       { .name = "n5010bmc-hwmon" },
+};
+
 static const struct regmap_range m10bmc_regmap_range[] = {
        regmap_reg_range(M10BMC_LEGACY_BUILD_VER, M10BMC_LEGACY_BUILD_VER),
        regmap_reg_range(M10BMC_SYS_BASE, M10BMC_SYS_END),
                cells = m10bmc_d5005_subdevs;
                n_cell = ARRAY_SIZE(m10bmc_d5005_subdevs);
                break;
+       case M10_N5010:
+               cells = m10bmc_n5010_subdevs;
+               n_cell = ARRAY_SIZE(m10bmc_n5010_subdevs);
+               break;
        default:
                return -ENODEV;
        }
 static const struct spi_device_id m10bmc_spi_id[] = {
        { "m10-n3000", M10_N3000 },
        { "m10-d5005", M10_D5005 },
+       { "m10-n5010", M10_N5010 },
        { }
 };
 MODULE_DEVICE_TABLE(spi, m10bmc_spi_id);