tests/functional/aarch64/test_aspeed_ast2700: Add USB EHCI test for AST2700 A1/A2
Add a functional test to verify USB EHCI support on the AST2700 A2/A1 by attaching a USB keyboard device and checking its enumeration via lsusb. This introduces a helper routine that runs lsusb in the guest and validates that the emulated "QEMU USB Keyboard" is detected. Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20260713032704.3583103-11-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
Jamin Lin committed
Jul 13, 2026 at 03:27 UTC
87c565334014d47ea987bd6a8c0919c03e4c4636
2 files changed
+14
tests/functional/aarch64/test_aspeed_ast2700a1.py
+7
@@ -118,6 +118,11 @@ class AST2x00MachineSDK(QemuSystemTest):
118
'ip addr show dev eth2',
119
'inet 10.0.2.15/24')
120
121
+ def do_ast2700_usb_ehci_test(self):
122
+ exec_command_and_wait_for_pattern(self,
123
+ 'lsusb',
124
+ 'QEMU QEMU USB Keyboard')
125
+
126
def start_ast2700_test(self, name, bus_id):
127
num_cpu = 4
128
load_images_list = [
@@ -161,10 +166,12 @@ class AST2x00MachineSDK(QemuSystemTest):
166
self.archive_extract(self.ASSET_SDK_V1101_AST2700A1)
167
self.vm.add_args('-device', 'e1000e,netdev=net1,bus=pcie.2')
168
self.vm.add_args('-netdev', 'user,id=net1')
169
+ self.vm.add_args('-device', 'usb-kbd,bus=usb-bus.3')
170
self.start_ast2700_test('ast2700-a1-image', 1)
171
self.verify_openbmc_boot_and_login('ast2700-a1')
172
self.do_ast2700_i2c_test(1)
173
self.do_ast2700_pcie_test()
174
+ self.do_ast2700_usb_ehci_test()
175
176
def test_aarch64_ast2700a1_evb_sdk_vbootrom_v11_01(self):
177
self.set_machine('ast2700a1-evb')
tests/functional/aarch64/test_aspeed_ast2700a2.py
+7
@@ -121,6 +121,11 @@ class AST2x00MachineSDK(QemuSystemTest):
121
'ip addr show dev eth2',
122
'inet 10.0.2.15/24')
123
124
+ def do_ast2700_usb_ehci_test(self):
125
+ exec_command_and_wait_for_pattern(self,
126
+ 'lsusb',
127
+ 'QEMU QEMU USB Keyboard')
128
+
129
def start_ast2700_test(self, name, bus_id):
130
num_cpu = 4
131
load_images_list = [
@@ -164,10 +169,12 @@ class AST2x00MachineSDK(QemuSystemTest):
169
self.archive_extract(self.ASSET_SDK_V1101_AST2700A2)
170
self.vm.add_args('-device', 'e1000e,netdev=net1,bus=pcie.2')
171
self.vm.add_args('-netdev', 'user,id=net1')
172
+ self.vm.add_args('-device', 'usb-kbd,bus=usb-bus.3')
173
self.start_ast2700_test('ast2700-default-image', 1)
174
self.verify_openbmc_boot_and_login('ast2700-default')
175
self.do_ast2700_i2c_test(1)
176
self.do_ast2700_pcie_test()
177
+ self.do_ast2700_usb_ehci_test()
178
179
def test_aarch64_ast2700a2_evb_sdk_vbootrom_v11_01(self):
180
self.set_machine('ast2700a2-evb')