[PATCH v5 04/12] i3c: master: Add support for devices using SETAASA

Akhil R akhilrajeev at nvidia.com
Fri Jul 3 02:08:55 PDT 2026


On Thu, 25 Jun 2026 07:42:03 -0500 Frank Li wrote:
> On Thu, Jun 25, 2026 at 09:38:15AM +0000, Akhil R wrote:
>> On Wed, 24 Jun 2026 13:57:46 -0400, Frank Li wrote:
>> ...
>> ...
>> >> [Severity: High]
>> >> Is it possible that sending the SETAASA broadcast before direct SETDASA
>> >> assignments breaks initialization for devices that natively support SETAASA
>> >> but are configured for SETDASA?
>> >>
>> >> According to the I3C specification, any device on the bus natively supporting
>> >> SETAASA will respond to this broadcast by adopting its static address as its
>> >> dynamic address.
>> >>
>> >> After this broadcast, the driver iterates through devices and attempts to
>> >> assign custom dynamic addresses via direct SETDASA commands:
>> >>
>> >> drivers/i3c/master.c:i3c_master_early_i3c_dev_add() {
>> >>     ...
>> >> 	ret = i3c_master_setdasa_locked(master, i3cdev->info.static_addr,
>> >> 					i3cdev->boardinfo->init_dyn_addr);
>> >>     ...
>> >> }
>> >>
>> >> Since the target device already adopted its dynamic address during the
>> >> SETAASA broadcast, it is no longer in the unassigned state and will NACK
>> >> the subsequent SETDASA command.
>> >
>> > Look like correct, but I am not sure if target will NACK SETDASA. Or should
>> > use SETNEWDA for SETAASA method.
>>
>> Yes, this looks valid for mixed device buses. I can move
>> i3c_master_setaasa_locked() after the SETDASA handling and before
>> i3c_master_do_daa() in the same function, so SETDASA-assigned devices will
>> ignore the later SETAASA broadcast. Does that sound good to you?
> 
> yes, try it to follow spec.

I just noticed that the specification says: if both bits 0 and 1 are set,
meaning both SETDASA and SETAASA are supported, the I3C Bus Controller should
use SETDASA first.

So moving i3c_master_setaasa_locked() after SETDASA handling follows the spec.

I will wait a few more days before sending v6, to see if there are any other
concerns.

Best Regards,
Akhil



More information about the linux-i3c mailing list