On Tue, Jul 21, 2026 at 04:07:48AM +0000, 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 describing 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.
>
> v5->v6:
Thank you for hard work. I glance at there are some important sashiko AI
review need be figured out. let me know if you think it is ready for me
to do manual check.
You can simple reply sashiko review result by providing your justify.
Frank
> * Do not take an extra fwnode reference when assigning the boardinfo
> fwnode to a newly registered I3C device.
> * Issue SETAASA after SETDASA pre-assignment and before ENTDAA.
> * Prefer SETDASA over SETAASA when a device advertises both methods
> and an explicit dynamic address (assigned-address) is provided.
> * Reject PID 0 for non-SETAASA I3C boardinfo entries.
> * Drop OF/ACPI uevent modalias emission; keep OF/ACPI matching for
> SETAASA devices only.
> * Resolve DesignWare quirks before core clock acquisition and fail
> probe early when the clock is missing without the ACPI skip quirk.
>
> v4->v5:
> * Free ACPI I2C boardinfo when an ACPI child without an I2C resource is
> ignored.
> * Issue RSTDAA if SETAASA device attach fails after the static address is
> used as the dynamic address.
> * Emit OF and ACPI modaliases for firmware-matched I3C devices.
> * Make the DesignWare core clock optional and use "clock-frequency" as
> the fallback when core_clk is absent.
> * Keep DesignWare pclk, reset, and match-data handling on their existing
> optional paths.
>
> v3->v4:
> * Clarify mipi-i3c-static-method bit semantics and assigned-address
> * Add I3C_ADDR_METHOD_VENDOR
> * Fix fwnode reference handling while converting child property parsing
> to use unified firmware-node APIs.
> * Align ACPI child enumeration with the I2C core for multiple
> I2cSerialBus resources, ignore ACPI child entries without an I2C
> resource, and populate I2C modalias information from ACPI.
> * Update SETAASA handling to use the static address as the dynamic
> address, skip device-info retrieval for SETAASA devices, and tolerate
> M2 for SETHID/SETAASA similarly to ENTDAA.
> * Reorder DesignWare I3C clock/reset to include optional clock in the
> ACPI skip clock/reset quirk.
> * Add prints for missing ACPI clock-frequency and SPD5118 I3C
> device type read failures.
> * Fix grammar in comments and commit messages.
>
> 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 (12):
> dt-bindings: i3c: Add mipi-i3c-static-method to support SETAASA
> 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 ACPI core clock frequency quirk
> 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 | 36 +-
> arch/arm64/configs/defconfig | 3 +
> drivers/hwmon/Kconfig | 9 +-
> drivers/hwmon/spd5118.c | 119 +++---
> drivers/i3c/master.c | 390 +++++++++++++++---
> drivers/i3c/master/dw-i3c-master.c | 59 ++-
> include/dt-bindings/i3c/i3c.h | 4 +
> include/linux/i3c/ccc.h | 1 +
> include/linux/i3c/master.h | 20 +-
> 9 files changed, 498 insertions(+), 143 deletions(-)
>
>
> base-commit: 6eb8711ece2ce27e52e327a5b7a628ed39b97f45
> --
> 2.43.0
>