[PATCH v3 00/13] Support ACPI and SETAASA device discovery

Akhil R posted 13 patches 1 month, 3 weeks ago
.../devicetree/bindings/i3c/i3c.yaml          |  31 +-
arch/arm64/configs/defconfig                  |   3 +
drivers/acpi/acpica/rsserial.c                |   6 +-
drivers/hwmon/Kconfig                         |   9 +-
drivers/hwmon/spd5118.c                       | 119 +++---
drivers/i3c/master.c                          | 354 +++++++++++++++---
drivers/i3c/master/dw-i3c-master.c            |  66 ++--
include/acpi/acrestyp.h                       |   1 +
include/dt-bindings/i3c/i3c.h                 |   3 +
include/linux/i3c/ccc.h                       |   1 +
include/linux/i3c/master.h                    |  20 +-
11 files changed, 463 insertions(+), 150 deletions(-)
[PATCH v3 00/13] Support ACPI and SETAASA device discovery
Posted by Akhil R 1 month, 3 weeks ago
This patch series adds SETAASA device discovery to the I3C subsystem,
enabling support for SPD5118 temperature sensors found on DDR5 memory
modules. The changes also add ACPI support for all existing DAA
methods like SETDASA, SETNEWDA as well as I2C devices on I3C bus.

SPD5118 and similar devices on DDR5 memory modules differ from typical
I3C devices in their initialization. They use SETAASA broadcast CCC
instead of ENTDAA for address assignment, and per JEDEC specification,
are not required to have a Provisioned ID or implement standard device
information CCC commands (GETPID, GETDCR, GETBCR).

The series enables to describe all I3C and I2C devices on both Device
Tree and the ACPI table, using unified device property APIs throughout
the I3C core and the Synopsys DesignWare I3C master driver.

Please note that the series modifies drivers across multiple subsystems,
like Device Tree bindings, ACPI, I3C and HWMON.

v2->v3:
  * Fix maximum value and indent bit list for mipi-i3c-static-method.
  * Move I3C_ADDR_METHOD_* macros to dt-bindings header.
  * Drop ACPICA commit IDs, keep only the Link: tags.
  * Revert the change which proceeds to register other devices if SETAASA
    is not supported so that it aligns with the rest of the driver and to
    avoid the issues pointed by Sashiko.
  * Rework multiple commit messages.

v1->v2:
  * Added patch to remove 16-bit addressing support for SPD5118
  * Guard ACPI calls with #ifdef CONFIG_ACPI
  * Remove CONFIG_OF guard for of_alias_get_highest_id()
  * Mask mipi-i3c-static-method in the driver to select only valid values.
  * Proceed to register other devices if SETAASA is not supported.
  * Update commit message and links in the description of multiple commits.


Akhil R (13):
  dt-bindings: i3c: Add mipi-i3c-static-method to support SETAASA
  ACPICA: Read LVR from the I2C resource descriptor
  i3c: master: Use unified device property interface
  i3c: master: Support ACPI enumeration of child devices
  i3c: master: Add support for devices using SETAASA
  i3c: master: Add support for devices without PID
  i3c: master: match I3C device through DT and ACPI
  i3c: dw-i3c-master: Add SETAASA as supported CCC
  i3c: dw-i3c-master: Add a quirk to skip clock and reset
  i3c: dw-i3c-master: Add ACPI ID for Tegra410
  hwmon: spd5118: Remove 16-bit addressing
  hwmon: spd5118: Add I3C support
  arm64: defconfig: Enable I3C and SPD5118 hwmon

 .../devicetree/bindings/i3c/i3c.yaml          |  31 +-
 arch/arm64/configs/defconfig                  |   3 +
 drivers/acpi/acpica/rsserial.c                |   6 +-
 drivers/hwmon/Kconfig                         |   9 +-
 drivers/hwmon/spd5118.c                       | 119 +++---
 drivers/i3c/master.c                          | 354 +++++++++++++++---
 drivers/i3c/master/dw-i3c-master.c            |  66 ++--
 include/acpi/acrestyp.h                       |   1 +
 include/dt-bindings/i3c/i3c.h                 |   3 +
 include/linux/i3c/ccc.h                       |   1 +
 include/linux/i3c/master.h                    |  20 +-
 11 files changed, 463 insertions(+), 150 deletions(-)

-- 
2.50.1
Re: [PATCH v3 00/13] Support ACPI and SETAASA device discovery
Posted by Alexandre Belloni 10 hours ago
Hello,

On 23/04/2026 14:26:59+0530, Akhil R wrote:
> This patch series adds SETAASA device discovery to the I3C subsystem,
> enabling support for SPD5118 temperature sensors found on DDR5 memory
> modules. The changes also add ACPI support for all existing DAA
> methods like SETDASA, SETNEWDA as well as I2C devices on I3C bus.
> 
> SPD5118 and similar devices on DDR5 memory modules differ from typical
> I3C devices in their initialization. They use SETAASA broadcast CCC
> instead of ENTDAA for address assignment, and per JEDEC specification,
> are not required to have a Provisioned ID or implement standard device
> information CCC commands (GETPID, GETDCR, GETBCR).
> 
> The series enables to describe all I3C and I2C devices on both Device
> Tree and the ACPI table, using unified device property APIs throughout
> the I3C core and the Synopsys DesignWare I3C master driver.
> 
> Please note that the series modifies drivers across multiple subsystems,
> like Device Tree bindings, ACPI, I3C and HWMON.
> 
> v2->v3:
>   * Fix maximum value and indent bit list for mipi-i3c-static-method.
>   * Move I3C_ADDR_METHOD_* macros to dt-bindings header.
>   * Drop ACPICA commit IDs, keep only the Link: tags.
>   * Revert the change which proceeds to register other devices if SETAASA
>     is not supported so that it aligns with the rest of the driver and to
>     avoid the issues pointed by Sashiko.
>   * Rework multiple commit messages.
> 
> v1->v2:
>   * Added patch to remove 16-bit addressing support for SPD5118
>   * Guard ACPI calls with #ifdef CONFIG_ACPI
>   * Remove CONFIG_OF guard for of_alias_get_highest_id()
>   * Mask mipi-i3c-static-method in the driver to select only valid values.
>   * Proceed to register other devices if SETAASA is not supported.
>   * Update commit message and links in the description of multiple commits.
> 
> 
> Akhil R (13):
>   dt-bindings: i3c: Add mipi-i3c-static-method to support SETAASA
>   ACPICA: Read LVR from the I2C resource descriptor
>   i3c: master: Use unified device property interface
>   i3c: master: Support ACPI enumeration of child devices
>   i3c: master: Add support for devices using SETAASA
>   i3c: master: Add support for devices without PID
>   i3c: master: match I3C device through DT and ACPI
>   i3c: dw-i3c-master: Add SETAASA as supported CCC
>   i3c: dw-i3c-master: Add a quirk to skip clock and reset
>   i3c: dw-i3c-master: Add ACPI ID for Tegra410
>   hwmon: spd5118: Remove 16-bit addressing
>   hwmon: spd5118: Add I3C support
>   arm64: defconfig: Enable I3C and SPD5118 hwmon
> 

I'd really like to apply this but I would have preferred having an
actual ack from Rob on patch 1. Also, you are going to have to rebase on
the current i3c-next. Can you do this?

Thanks!

>  .../devicetree/bindings/i3c/i3c.yaml          |  31 +-
>  arch/arm64/configs/defconfig                  |   3 +
>  drivers/acpi/acpica/rsserial.c                |   6 +-
>  drivers/hwmon/Kconfig                         |   9 +-
>  drivers/hwmon/spd5118.c                       | 119 +++---
>  drivers/i3c/master.c                          | 354 +++++++++++++++---
>  drivers/i3c/master/dw-i3c-master.c            |  66 ++--
>  include/acpi/acrestyp.h                       |   1 +
>  include/dt-bindings/i3c/i3c.h                 |   3 +
>  include/linux/i3c/ccc.h                       |   1 +
>  include/linux/i3c/master.h                    |  20 +-
>  11 files changed, 463 insertions(+), 150 deletions(-)
> 
> -- 
> 2.50.1
> 
> 
> -- 
> linux-i3c mailing list
> linux-i3c@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-i3c

-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Re: [PATCH v3 00/13] Support ACPI and SETAASA device discovery
Posted by Akhil R an hour ago
On Sun, 14 Jun 2026 22:56:06 +0200, Alexandre Belloni wrote:
> On 23/04/2026 14:26:59+0530, Akhil R wrote:
>> This patch series adds SETAASA device discovery to the I3C subsystem,
>> enabling support for SPD5118 temperature sensors found on DDR5 memory
>> modules. The changes also add ACPI support for all existing DAA
>> methods like SETDASA, SETNEWDA as well as I2C devices on I3C bus.
>> 
>> SPD5118 and similar devices on DDR5 memory modules differ from typical
>> I3C devices in their initialization. They use SETAASA broadcast CCC
>> instead of ENTDAA for address assignment, and per JEDEC specification,
>> are not required to have a Provisioned ID or implement standard device
>> information CCC commands (GETPID, GETDCR, GETBCR).
>> 
>> The series enables to describe all I3C and I2C devices on both Device
>> Tree and the ACPI table, using unified device property APIs throughout
>> the I3C core and the Synopsys DesignWare I3C master driver.
>> 
>> Please note that the series modifies drivers across multiple subsystems,
>> like Device Tree bindings, ACPI, I3C and HWMON.
>> 
>> v2->v3:
>>   * Fix maximum value and indent bit list for mipi-i3c-static-method.
>>   * Move I3C_ADDR_METHOD_* macros to dt-bindings header.
>>   * Drop ACPICA commit IDs, keep only the Link: tags.
>>   * Revert the change which proceeds to register other devices if SETAASA
>>     is not supported so that it aligns with the rest of the driver and to
>>     avoid the issues pointed by Sashiko.
>>   * Rework multiple commit messages.
>> 
>> v1->v2:
>>   * Added patch to remove 16-bit addressing support for SPD5118
>>   * Guard ACPI calls with #ifdef CONFIG_ACPI
>>   * Remove CONFIG_OF guard for of_alias_get_highest_id()
>>   * Mask mipi-i3c-static-method in the driver to select only valid values.
>>   * Proceed to register other devices if SETAASA is not supported.
>>   * Update commit message and links in the description of multiple commits.
>> 
>> 
>> Akhil R (13):
>>   dt-bindings: i3c: Add mipi-i3c-static-method to support SETAASA
>>   ACPICA: Read LVR from the I2C resource descriptor
>>   i3c: master: Use unified device property interface
>>   i3c: master: Support ACPI enumeration of child devices
>>   i3c: master: Add support for devices using SETAASA
>>   i3c: master: Add support for devices without PID
>>   i3c: master: match I3C device through DT and ACPI
>>   i3c: dw-i3c-master: Add SETAASA as supported CCC
>>   i3c: dw-i3c-master: Add a quirk to skip clock and reset
>>   i3c: dw-i3c-master: Add ACPI ID for Tegra410
>>   hwmon: spd5118: Remove 16-bit addressing
>>   hwmon: spd5118: Add I3C support
>>   arm64: defconfig: Enable I3C and SPD5118 hwmon
>> 
> 
> I'd really like to apply this but I would have preferred having an
> actual ack from Rob on patch 1. Also, you are going to have to rebase on
> the current i3c-next. Can you do this?

Definitely. I had been addressing the comments from Rob and Saashiko, but
got hooked up into somethings else in the last few weeks. I will send v4
soon. Thanks for reaching out.

Best Regards,
Akhil