test/avocado/machine_aspeed.py: Add I2C tests to ast2600-evb
authorCédric Le Goater <clg@kaod.org>
Mon, 13 Jun 2022 12:05:48 +0000 (14:05 +0200)
committerCédric Le Goater <clg@kaod.org>
Wed, 22 Jun 2022 07:49:33 +0000 (09:49 +0200)
Create a named I2C temperature sensor device on the command line,
instantiate device from Linux since it is not part of the device tree,
and check the temperature is correctly reported under sysfs.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
tests/avocado/machine_aspeed.py

index 4d2766e1d44d1952c75393fec2fdbb382743c098..0a1ceec13eb1e3410c7a913cc1c8cf3d9d57f647 100644 (file)
@@ -147,5 +147,18 @@ class AST2x00Machine(QemuSystemTest):
         image_path = self.fetch_asset(image_url, asset_hash=image_hash,
                                       algorithm='sha256')
 
+        self.vm.add_args('-device',
+                         'tmp105,bus=aspeed.i2c.bus.3,address=0x4d,id=tmp-test');
         self.do_test_arm_aspeed_buidroot_start(image_path, '0xf00')
+
+        exec_command_and_wait_for_pattern(self,
+             'echo lm75 0x4d > /sys/class/i2c-dev/i2c-3/device/new_device',
+             'i2c i2c-3: new_device: Instantiated device lm75 at 0x4d');
+        exec_command_and_wait_for_pattern(self,
+                             'cat /sys/class/hwmon/hwmon0/temp1_input', '0')
+        self.vm.command('qom-set', path='/machine/peripheral/tmp-test',
+                        property='temperature', value=18000);
+        exec_command_and_wait_for_pattern(self,
+                             'cat /sys/class/hwmon/hwmon0/temp1_input', '18000')
+
         self.do_test_arm_aspeed_buidroot_poweroff()