1ae465c3dSCédric Le Goater# Test class to boot aspeed machines 2ae465c3dSCédric Le Goater# 3ae465c3dSCédric Le Goater# SPDX-License-Identifier: GPL-2.0-or-later 4ae465c3dSCédric Le Goater 5*3ddac7e4SCédric Le Goaterfrom .cmd import exec_command_and_wait_for_pattern 6ae465c3dSCédric Le Goaterfrom .linuxkernel import LinuxKernelTest 7ae465c3dSCédric Le Goater 8ae465c3dSCédric Le Goaterclass AspeedTest(LinuxKernelTest): 9ae465c3dSCédric Le Goater 10ae465c3dSCédric Le Goater def do_test_arm_aspeed(self, machine, image): 11ae465c3dSCédric Le Goater self.set_machine(machine) 12ae465c3dSCédric Le Goater self.vm.set_console() 13ae465c3dSCédric Le Goater self.vm.add_args('-drive', 'file=' + image + ',if=mtd,format=raw', 14ae465c3dSCédric Le Goater '-net', 'nic', '-snapshot') 15ae465c3dSCédric Le Goater self.vm.launch() 16ae465c3dSCédric Le Goater 17ae465c3dSCédric Le Goater self.wait_for_console_pattern("U-Boot 2016.07") 18ae465c3dSCédric Le Goater self.wait_for_console_pattern("## Loading kernel from FIT Image at 20080000") 19ae465c3dSCédric Le Goater self.wait_for_console_pattern("Starting kernel ...") 20ae465c3dSCédric Le Goater self.wait_for_console_pattern("Booting Linux on physical CPU 0x0") 21ae465c3dSCédric Le Goater self.wait_for_console_pattern( 22ae465c3dSCédric Le Goater "aspeed-smc 1e620000.spi: read control register: 203b0641") 23ae465c3dSCédric Le Goater self.wait_for_console_pattern("ftgmac100 1e660000.ethernet eth0: irq ") 24ae465c3dSCédric Le Goater self.wait_for_console_pattern("systemd[1]: Set hostname to") 25*3ddac7e4SCédric Le Goater 26*3ddac7e4SCédric Le Goater def do_test_arm_aspeed_buildroot_start(self, image, cpu_id, pattern='Aspeed EVB'): 27*3ddac7e4SCédric Le Goater self.require_netdev('user') 28*3ddac7e4SCédric Le Goater self.vm.set_console() 29*3ddac7e4SCédric Le Goater self.vm.add_args('-drive', 'file=' + image + ',if=mtd,format=raw,read-only=true', 30*3ddac7e4SCédric Le Goater '-net', 'nic', '-net', 'user') 31*3ddac7e4SCédric Le Goater self.vm.launch() 32*3ddac7e4SCédric Le Goater 33*3ddac7e4SCédric Le Goater self.wait_for_console_pattern('U-Boot 2019.04') 34*3ddac7e4SCédric Le Goater self.wait_for_console_pattern('## Loading kernel from FIT Image') 35*3ddac7e4SCédric Le Goater self.wait_for_console_pattern('Starting kernel ...') 36*3ddac7e4SCédric Le Goater self.wait_for_console_pattern('Booting Linux on physical CPU ' + cpu_id) 37*3ddac7e4SCédric Le Goater self.wait_for_console_pattern('lease of 10.0.2.15') 38*3ddac7e4SCédric Le Goater # the line before login: 39*3ddac7e4SCédric Le Goater self.wait_for_console_pattern(pattern) 40*3ddac7e4SCédric Le Goater exec_command_and_wait_for_pattern(self, 'root', 'Password:') 41*3ddac7e4SCédric Le Goater exec_command_and_wait_for_pattern(self, 'passw0rd', '#') 42*3ddac7e4SCédric Le Goater 43*3ddac7e4SCédric Le Goater def do_test_arm_aspeed_buildroot_poweroff(self): 44*3ddac7e4SCédric Le Goater exec_command_and_wait_for_pattern(self, 'poweroff', 45*3ddac7e4SCédric Le Goater 'reboot: System halted'); 46*3ddac7e4SCédric Le Goater 47*3ddac7e4SCédric Le Goater def do_test_arm_aspeed_sdk_start(self, image): 48*3ddac7e4SCédric Le Goater self.require_netdev('user') 49*3ddac7e4SCédric Le Goater self.vm.set_console() 50*3ddac7e4SCédric Le Goater self.vm.add_args('-drive', 'file=' + image + ',if=mtd,format=raw', 51*3ddac7e4SCédric Le Goater '-net', 'nic', '-net', 'user', '-snapshot') 52*3ddac7e4SCédric Le Goater self.vm.launch() 53*3ddac7e4SCédric Le Goater 54*3ddac7e4SCédric Le Goater self.wait_for_console_pattern('U-Boot 2019.04') 55*3ddac7e4SCédric Le Goater self.wait_for_console_pattern('## Loading kernel from FIT Image') 56*3ddac7e4SCédric Le Goater self.wait_for_console_pattern('Starting kernel ...') 57