diff --git a/src/drivers/i2c/cs35l53/chip.h b/src/drivers/i2c/cs35l53/chip.h index 9aeb874011..8631666e0c 100644 --- a/src/drivers/i2c/cs35l53/chip.h +++ b/src/drivers/i2c/cs35l53/chip.h @@ -48,6 +48,12 @@ struct drivers_i2c_cs35l53_config { const char *sub; /* SUB ID to uniquely identify system */ + /* Device Description */ + const char *desc; + + /* Identifier for chips */ + uint32_t uid; + /* Interrupt configuration */ struct acpi_irq irq; diff --git a/src/drivers/i2c/cs35l53/cs35l53.c b/src/drivers/i2c/cs35l53/cs35l53.c index 1909bef7b5..9857203b8c 100644 --- a/src/drivers/i2c/cs35l53/cs35l53.c +++ b/src/drivers/i2c/cs35l53/cs35l53.c @@ -33,8 +33,11 @@ static void cs35l53_fill_ssdt(const struct device *dev) acpigen_write_scope(scope); acpigen_write_device(acpi_device_name(dev)); acpigen_write_name_string("_HID", CS35L53_ACPI_HID); - acpigen_write_name_integer("_UID", 0); - acpigen_write_name_string("_DDN", dev->chip_ops->name); + acpigen_write_name_integer("_UID", config->uid); + if (config->desc == NULL) + acpigen_write_name_string("_DDN", dev->chip_ops->name); + else + acpigen_write_name_string("_DDN", config->desc); acpigen_write_name_string("_SUB", config->sub); acpigen_write_STA(acpi_device_status(dev));