Hi Cédric, > Subject: Re: [PATCH v5 21/21] tests/functional/arm/test_aspeed_ast2600_sdk: > Add i3c functional test > > On 2/10/26 10:10, Jamin Lin wrote: > > Signed-off-by: Jamin Lin <[email protected]> > > --- > > tests/functional/arm/test_aspeed_ast2600_sdk.py | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git a/tests/functional/arm/test_aspeed_ast2600_sdk.py > b/tests/functional/arm/test_aspeed_ast2600_sdk.py > > index 6236aeb11c..3485feaf2c 100755 > > --- a/tests/functional/arm/test_aspeed_ast2600_sdk.py > > +++ b/tests/functional/arm/test_aspeed_ast2600_sdk.py > > @@ -31,6 +31,15 @@ def do_ast2600_pcie_test(self): > > 'ip addr show dev eth4', > > 'inet 10.0.2.15/24') > > > > + def do_ast2600_i3c_test(self): > > + exec_command_and_wait_for_pattern(self, > > + 'i3ctransfer -d /dev/bus/i3c/5-1234567890ab' > > + ' -w 0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef', > > + 'Success on message 0') > > + exec_command_and_wait_for_pattern(self, > > + 'i3ctransfer -d /dev/bus/i3c/5-1234567890ab -r 8 | grep 0x | > xargs', > > + '0x12 0x34 0x56 0x78 0x90 0xab 0xcd 0xef') > > + > > def test_arm_ast2600_evb_sdk(self): > > self.set_machine('ast2600-evb') > > self.require_netdev('user') > > @@ -43,6 +52,8 @@ def test_arm_ast2600_evb_sdk(self): > > 'ds1338,bus=aspeed.i2c.bus.5,address=0x32') > > self.vm.add_args('-device', 'e1000e,netdev=net1,bus=pcie.0') > > self.vm.add_args('-netdev', 'user,id=net1') > > + self.vm.add_args('-device', > > + 'mock-i3c-target,bus=dw.i3c.5,pid=0xab9078563412') > > self.do_test_arm_aspeed_sdk_start( > > self.scratch_file("ast2600-default", "image-bmc")) > > > > @@ -69,6 +80,7 @@ def test_arm_ast2600_evb_sdk(self): > > exec_command_and_wait_for_pattern(self, > > '/sbin/hwclock -f /dev/rtc1', year) > > self.do_ast2600_pcie_test() > > + self.do_ast2600_i3c_test() > > > > def test_arm_ast2600_otp_blockdev_device(self): > > self.vm.set_machine("ast2600-evb") > > I am seeing these errors from Linux : > > 2026-02-10 16:50:20,812: [ 5.080168] i3c i3c-0: xfer error: 4 > 2026-02-10 16:50:20,818: [ 5.083648] i3c i3c-0: xfer error: 4 > 2026-02-10 16:50:20,818: [ 5.085817] i3c i3c-0: xfer error: 4 > 2026-02-10 16:50:20,818: [ 5.086369] i3c i3c-0: xfer error: 4 > 2026-02-10 16:50:20,870: [ 5.127257] i3c i3c-1: xfer error: 4 > 2026-02-10 16:50:20,873: [ 5.130879] i3c i3c-1: xfer error: 4 > 2026-02-10 16:50:20,874: [ 5.131253] i3c i3c-1: xfer error: 4 > 2026-02-10 16:50:20,874: [ 5.131527] i3c i3c-1: xfer error: 4 > 2026-02-10 16:50:20,909: [ 5.162790] i3c i3c-2: xfer error: 4 > 2026-02-10 16:50:20,913: [ 5.163488] i3c i3c-2: xfer error: 4 > 2026-02-10 16:50:20,949: [ 5.195396] i3c i3c-3: xfer error: 4 > 2026-02-10 16:50:20,952: [ 5.196101] i3c i3c-3: xfer error: 4 > 2026-02-10 16:50:21,018: [ 5.253398] i3c i3c-5: xfer error: 4 > 2026-02-10 16:50:21,042: [ 5.269565] i3c i3c-0: xfer error: 9 > 2026-02-10 16:50:21,043: [ 5.273845] i3c-mux-imx3102 0-4cc31020000: > No ownership > 2026-02-10 16:50:21,049: [ 5.276017] i3c i3c-1: xfer error: 9 > 2026-02-10 16:50:21,049: [ 5.278757] i3c-mux-imx3102 1-4cc31020000: > No ownership > > Is that expected ? >
Yes, this behavior is expected. I verified the same result on the AST2600 EVB and observed identical error messages. I3C bus 0, 1, 2, 3: These buses are configured to use the i3c-mux (imx3102) in the device tree. However, since the i3c mux model is not present in the current environment, the driver reports: xfer error: 4 No ownership These messages indicate that the mux device is expected but not available. I3C bus 5 For this bus, the firmware does not have this i3c-mock-target model driver, which results in: xfer error: 4 This is also expected under the current configuration. Despite these error messages, the I3C device nodes are still created correctly: /dev/bus/i3c/ 0-4cc51180000 0-4cc51181000 1-4cc51180000 1-4cc51181000 5-1234567890ab i3c-4 This means the controller itself is functioning. We can use the i3c-transfer tool to access the device node and test the i3c-mock-target model. The results match expectations. For reference, the relevant DTS configuration can be found here: https://github.com/AspeedTech-BMC/linux/blob/aspeed-master-v6.18/arch/arm/boot/dts/aspeed/aspeed-ast2600-evb.dts#L950 Thanks, Jamin > Thanks, > > C. >
