| Message ID | 20260423085718.70762-1-akhilrajeev@nvidia.com |
|---|---|
| Headers | show |
| Series | Support ACPI and SETAASA device discovery | expand |
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
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
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(-)