RE: [EXTERNAL] [PATCH v1 1/1] i2c: designware: Add ACPI ID MSFT0006 for Microsoft Cobalt SoCs
From: Jeff Kirsher
Date: Thu Nov 05 2026 - 13:06:11 EST
> -----Original Message-----
> From: Siddharth Chintamaneni <sidchintamaneni@xxxxxxxxx>
> Sent: Wednesday, November 4, 2026 3:49 PM
> To: Andi Shyti <andi.shyti@xxxxxxxxxx>; Mika Westerberg
> <mika.westerberg@xxxxxxxxxxxxxxx>; Rafael J . Wysocki <rafael@xxxxxxxxxx>
> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>; Len Brown
> <lenb@xxxxxxxxxx>; linux-i2c@xxxxxxxxxxxxxxx; linux-acpi@xxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; Allen Pais <apais@xxxxxxxxxxxxx>;
> rlmenge@xxxxxxxxx; hargar@xxxxxxxxxxxxxxxxxxx; Siddharth Chintamaneni
> <sidchintamaneni@xxxxxxxxx>; Jarred White <jarred.white@xxxxxxxxxxxxx>;
> Jeff Kirsher <jeff.kirsher@xxxxxxxxxxxxx>
> Subject: [EXTERNAL] [PATCH v1 1/1] i2c: designware: Add ACPI ID MSFT0006
> for Microsoft Cobalt SoCs
>
> [You don't often get email from sidchintamaneni@xxxxxxxxx. Learn why this is
> important at https://aka.ms/LearnAboutSenderIdentification ]
>
> Add the MSFT0006 ACPI ID for the DesignWare I2C controller integrated on
> Microsoft Cobalt SoCs, along with its 300 MHz input clock description in
> acpi_apd.c.
>
> Without an explicit MSFT0006 entry, ACPI device matching falls back to its
> _CID (APMC0D0F), which configures a 100 MHz input clock instead of the
> controller's actual 300 MHz clock.
>
> Signed-off-by: Siddharth Chintamaneni <sidchintamaneni@xxxxxxxxx>
Acked-by: Jeff Kirsher <jeff.kirsher@xxxxxxxxxxxxx>
> ---
> Cc: Jarred White <jarredwhite@xxxxxxxxxxxxx>
>
> drivers/acpi/acpi_apd.c | 6 ++++++
> drivers/i2c/busses/i2c-designware-platdrv.c | 1 +
> 2 files changed, 7 insertions(+)
>
> diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c index
> 9fc667d6776c8..a1baa056931c4 100644
> --- a/drivers/acpi/acpi_apd.c
> +++ b/drivers/acpi/acpi_apd.c
> @@ -198,6 +198,11 @@ static const struct apd_device_desc hjmc_i2c_desc =
> {
> .fixed_clk_rate = 200 * HZ_PER_MHZ, };
>
> +static const struct apd_device_desc msft_i2c_desc = {
> + .setup = acpi_apd_setup,
> + .fixed_clk_rate = 300 * HZ_PER_MHZ, };
> +
> #endif /* CONFIG_ARM64 */
>
> #endif
> @@ -272,6 +277,7 @@ static const struct acpi_device_id
> acpi_apd_device_ids[] = {
> { "HJMC3001", APD_ADDR(hjmc_i2c_desc) },
> { "LECA0002", APD_ADDR(leca_spi_desc) },
> { "LECA0003", APD_ADDR(leca_i2c_desc) },
> + { "MSFT0006", APD_ADDR(msft_i2c_desc) },
> { "NXP0001", APD_ADDR(nxp_i2c_desc) }, #endif
> { }
> diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c
> b/drivers/i2c/busses/i2c-designware-platdrv.c
> index 1da6b0314b6a0..f359d38cc63c7 100644
> --- a/drivers/i2c/busses/i2c-designware-platdrv.c
> +++ b/drivers/i2c/busses/i2c-designware-platdrv.c
> @@ -280,6 +280,7 @@ static const struct acpi_device_id
> dw_i2c_acpi_match[] = {
> { .id = "INT3433" },
> { .id = "INTC10EF" },
> { .id = "LECA0003" },
> + { .id = "MSFT0006" },
> { }
> };
> MODULE_DEVICE_TABLE(acpi, dw_i2c_acpi_match);
> --
> 2.45.4