diff mbox series

[v2,11/11] tests/avocado: Test Aspeed Zephyr SDK v00.01.08 on AST1030 board

Message ID 20221230113504.37032-12-philmd@linaro.org
State Superseded
Headers show
Series hw/arm/aspeed_ast10x0: Map more peripherals & few more fixes | expand

Commit Message

Philippe Mathieu-Daudé Dec. 30, 2022, 11:35 a.m. UTC
Add a very quick test that runs some commands in a Zephyr shell:

  $ tests/venv/bin/avocado --show=app,console run -t os:zephyr tests/avocado
  (2/2) tests/avocado/machine_aspeed.py:AST1030Machine.test_ast1030_zephyros_1_07:
  console: *** Booting Zephyr OS build v00.01.07  ***
  console: ast1030_evb demo
  console: SOC: AST1030-A1
  console: uart:~$ kernel stacks
  console: 0x36910 wdt_background (real size 1024):	unused 988	usage 36 / 1024 (3 %)
  console: 0x36ad8 shell_uart (real size 4096):	unused 3084	usage 1012 / 4096 (24 %)
  console: 0x2edb8 ADC0       (real size 400):	unused 260	usage 140 / 400 (35 %)
  console: 0x2f0f0 ADC1       (real size 400):	unused 260	usage 140 / 400 (35 %)
  console: 0x3b098 sysworkq   (real size 1024):	unused 860	usage 164 / 1024 (16 %)
  console: 0x36cc0 usbdworkq  (real size 1024):	unused 860	usage 164 / 1024 (16 %)
  console: 0x36bd8 usbworkq   (real size 1024):	unused 860	usage 164 / 1024 (16 %)
  console: 0x36a10 logging    (real size 768):	unused 548	usage 220 / 768 (28 %)
  console: 0x36ef8 idle 00    (real size 320):	unused 268	usage 52 / 320 (16 %)
  console: 0x47800 IRQ 00     (real size 2048):	unused 1504	usage 544 / 2048 (26 %)
  console: uart:~$ otp info scu
  console: SCU     BIT   reg_protect     Description
  console: ____________________________________________________________________
  console: 0x500   0x0   0x0             Disable ARM CM4 CPU boot (TXD5)
  console: 0x500   0x1   0x0            /Reserved
  console: 0x500   0x2   0x0            \ "
  console: 0x500   0x3   0x0             Address offset of single chip ABR mode
  console: 0x500   0x4   0x0            /Reserved
  console: 0x500   0x5   0x0            | "
  console: 0x500   0x6   0x0            | "
  console: 0x500   0x7   0x0            | "
  console: 0x500   0x8   0x0            | "
  console: 0x500   0x9   0x0            | "
  console: 0x500   0xA   0x0            | "
  console: 0x500   0xB   0x0            | "
  console: 0x500   0xC   0x0            | "
  console: 0x500   0xD   0x0            | "
  console: 0x500   0xE   0x0            | "
  console: 0x500   0xF   0x0            | "
  console: 0x500   0x10  0x0            \ "
  console: 0x500   0x11  0x0             Disabl3 ARM JTAG debug
  console: 0x500   0x12  0x0            /Reserved
  console: 0x500   0x13  0x0            | "
  console: 0x500   0x14  0x0            | "
  console: 0x500   0x15  0x0            | "
  console: 0x500   0x16  0x0            | "
  console: 0x500   0x17  0x0            | "
  console: 0x500   0x18  0x0            | "
  console: 0x500   0x19  0x0            | "
  console: 0x500   0x1A  0x0            | "
  console: 0x500   0x1B  0x0            | "
  console: 0x500   0x1C  0x0            | "
  console: 0x500   0x1D  0x0            | "
  console: 0x500   0x1E  0x0            | "
  console: 0x500   0x1F  0x0            \ "
  console: 0x510   0x0   0x0            /Reserved
  console: 0x510   0x1   0x0            | "
  console: 0x510   0x2   0x0            | "
  console: 0x510   0x3   0x0            \ "
  console: 0x510   0x4   0x0             Disable debug interfaces
  console: 0x510   0x5   0x0            /Reserved
  console: 0x510   0x6   0x0            | "
  console: 0x510   0x7   0x0            \ "
  console: 0x510   0x8   0x0             Enable boot from Uart5 by Pin Strap
  console: 0x510   0x9   0x0            /Reserved
  console: 0x510   0xA   0x0            \ "
  console: 0x510   0xB   0x0             Enable boot SPI ABR
  console: 0x510   0xC   0x0             Boot SPI ABR Mode
  console: 0x510   0xD   0x0            /Boot SPI flash size
  console: 0x510   0xE   0x0            | "
  console: 0x510   0xF   0x0            \ "
  console: 0x510   0x10  0x0            /Reserved
  console: 0x510   0x11  0x0            | "
  console: 0x510   0x12  0x0            | "
  console: 0x510   0x13  0x0            | "
  console: 0x510   0x14  0x0            | "
  console: 0x510   0x15  0x0            \ "
  console: 0x510   0x16  0x0             Enable boot SPI auxiliary control pins
  console: 0x510   0x19  0x0            /Reserved
  console: 0x510   0x1A  0x0            | "
  console: 0x510   0x1B  0x0            | "
  console: 0x510   0x1C  0x0            | "
  console: 0x510   0x1D  0x0            | "
  console: 0x510   0x1E  0x0            | "
  console: 0x510   0x1F  0x0            \ "
  console: 0x510   0x1E  0x0             Enable dedicate GPIO strap pins
  console: 0x510   0x1F  0x0             Enable Secure Boot by Pin Strap
  console: uart:~$ hwinfo devid
  console: Length: 8
  console: ID: 0x0000018000000180
  console: uart:~$ crypto aes256_cbc_vault
  console: aes256_cbc vault key 1
  console: Was waiting for:
  console: 6b c1 be e2 2e 40 9f 96 e9 3d 7e 11 73 93 17 2a
  console: ae 2d 8a 57 1e 03 ac 9c 9e b7 6f ac 45 af 8e 51
  console: 30 c8 1c 46 a3 5c e4 11 e5 fb c1 19 1a 0a 52 ef
  console: f6 9f 24 45 df 4f 9b 17 ad 2b 41 7b e6 6c 37 10
  console: But got:
  console: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  console: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  console: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  console: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  console: uart:~$ random get
  console: 0x862460d
  console: uart:~$ i2c scan I2C_0
  console: 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
  console: 00:             -- -- -- -- -- -- -- -- -- -- -- --
  console: 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  console: 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  console: 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  console: 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  console: 50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  console: 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  console: 70: -- -- -- -- -- -- -- --
  console: 1 devices found on I2C_0
  console: uart:~$ kernel uptime
  console: Uptime: 9897 ms
  console: uart:~$ kernel reboot warm
  console: *** Booting Zephyr OS build v00.01.07  ***
  PASS (1.08 s)

Ref: https://github.com/AspeedTech-BMC/zephyr/releases/download/v00.01.07/Aspeed_Zephy_SDK_User_Guide_v00.01.07.pdf

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Peter Delevoryas <peter@pjd.dev>
---
 tests/avocado/machine_aspeed.py | 41 ++++++++++++++++++++++++++++++++-
 1 file changed, 40 insertions(+), 1 deletion(-)

Comments

Cédric Le Goater Jan. 2, 2023, 1:46 p.m. UTC | #1
On 12/30/22 12:35, Philippe Mathieu-Daudé wrote:
> Add a very quick test that runs some commands in a Zephyr shell:
> 
>    $ tests/venv/bin/avocado --show=app,console run -t os:zephyr tests/avocado
>    (2/2) tests/avocado/machine_aspeed.py:AST1030Machine.test_ast1030_zephyros_1_07:
>    console: *** Booting Zephyr OS build v00.01.07  ***
>    console: ast1030_evb demo
>    console: SOC: AST1030-A1
>    console: uart:~$ kernel stacks
>    console: 0x36910 wdt_background (real size 1024):	unused 988	usage 36 / 1024 (3 %)
>    console: 0x36ad8 shell_uart (real size 4096):	unused 3084	usage 1012 / 4096 (24 %)
>    console: 0x2edb8 ADC0       (real size 400):	unused 260	usage 140 / 400 (35 %)
>    console: 0x2f0f0 ADC1       (real size 400):	unused 260	usage 140 / 400 (35 %)
>    console: 0x3b098 sysworkq   (real size 1024):	unused 860	usage 164 / 1024 (16 %)
>    console: 0x36cc0 usbdworkq  (real size 1024):	unused 860	usage 164 / 1024 (16 %)
>    console: 0x36bd8 usbworkq   (real size 1024):	unused 860	usage 164 / 1024 (16 %)
>    console: 0x36a10 logging    (real size 768):	unused 548	usage 220 / 768 (28 %)
>    console: 0x36ef8 idle 00    (real size 320):	unused 268	usage 52 / 320 (16 %)
>    console: 0x47800 IRQ 00     (real size 2048):	unused 1504	usage 544 / 2048 (26 %)
>    console: uart:~$ otp info scu
>    console: SCU     BIT   reg_protect     Description
>    console: ____________________________________________________________________
>    console: 0x500   0x0   0x0             Disable ARM CM4 CPU boot (TXD5)
>    console: 0x500   0x1   0x0            /Reserved
>    console: 0x500   0x2   0x0            \ "
>    console: 0x500   0x3   0x0             Address offset of single chip ABR mode
>    console: 0x500   0x4   0x0            /Reserved
>    console: 0x500   0x5   0x0            | "
>    console: 0x500   0x6   0x0            | "
>    console: 0x500   0x7   0x0            | "
>    console: 0x500   0x8   0x0            | "
>    console: 0x500   0x9   0x0            | "
>    console: 0x500   0xA   0x0            | "
>    console: 0x500   0xB   0x0            | "
>    console: 0x500   0xC   0x0            | "
>    console: 0x500   0xD   0x0            | "
>    console: 0x500   0xE   0x0            | "
>    console: 0x500   0xF   0x0            | "
>    console: 0x500   0x10  0x0            \ "
>    console: 0x500   0x11  0x0             Disabl3 ARM JTAG debug
>    console: 0x500   0x12  0x0            /Reserved
>    console: 0x500   0x13  0x0            | "
>    console: 0x500   0x14  0x0            | "
>    console: 0x500   0x15  0x0            | "
>    console: 0x500   0x16  0x0            | "
>    console: 0x500   0x17  0x0            | "
>    console: 0x500   0x18  0x0            | "
>    console: 0x500   0x19  0x0            | "
>    console: 0x500   0x1A  0x0            | "
>    console: 0x500   0x1B  0x0            | "
>    console: 0x500   0x1C  0x0            | "
>    console: 0x500   0x1D  0x0            | "
>    console: 0x500   0x1E  0x0            | "
>    console: 0x500   0x1F  0x0            \ "
>    console: 0x510   0x0   0x0            /Reserved
>    console: 0x510   0x1   0x0            | "
>    console: 0x510   0x2   0x0            | "
>    console: 0x510   0x3   0x0            \ "
>    console: 0x510   0x4   0x0             Disable debug interfaces
>    console: 0x510   0x5   0x0            /Reserved
>    console: 0x510   0x6   0x0            | "
>    console: 0x510   0x7   0x0            \ "
>    console: 0x510   0x8   0x0             Enable boot from Uart5 by Pin Strap
>    console: 0x510   0x9   0x0            /Reserved
>    console: 0x510   0xA   0x0            \ "
>    console: 0x510   0xB   0x0             Enable boot SPI ABR
>    console: 0x510   0xC   0x0             Boot SPI ABR Mode
>    console: 0x510   0xD   0x0            /Boot SPI flash size
>    console: 0x510   0xE   0x0            | "
>    console: 0x510   0xF   0x0            \ "
>    console: 0x510   0x10  0x0            /Reserved
>    console: 0x510   0x11  0x0            | "
>    console: 0x510   0x12  0x0            | "
>    console: 0x510   0x13  0x0            | "
>    console: 0x510   0x14  0x0            | "
>    console: 0x510   0x15  0x0            \ "
>    console: 0x510   0x16  0x0             Enable boot SPI auxiliary control pins
>    console: 0x510   0x19  0x0            /Reserved
>    console: 0x510   0x1A  0x0            | "
>    console: 0x510   0x1B  0x0            | "
>    console: 0x510   0x1C  0x0            | "
>    console: 0x510   0x1D  0x0            | "
>    console: 0x510   0x1E  0x0            | "
>    console: 0x510   0x1F  0x0            \ "
>    console: 0x510   0x1E  0x0             Enable dedicate GPIO strap pins
>    console: 0x510   0x1F  0x0             Enable Secure Boot by Pin Strap
>    console: uart:~$ hwinfo devid
>    console: Length: 8
>    console: ID: 0x0000018000000180
>    console: uart:~$ crypto aes256_cbc_vault
>    console: aes256_cbc vault key 1
>    console: Was waiting for:
>    console: 6b c1 be e2 2e 40 9f 96 e9 3d 7e 11 73 93 17 2a
>    console: ae 2d 8a 57 1e 03 ac 9c 9e b7 6f ac 45 af 8e 51
>    console: 30 c8 1c 46 a3 5c e4 11 e5 fb c1 19 1a 0a 52 ef
>    console: f6 9f 24 45 df 4f 9b 17 ad 2b 41 7b e6 6c 37 10
>    console: But got:
>    console: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>    console: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>    console: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>    console: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>    console: uart:~$ random get
>    console: 0x862460d
>    console: uart:~$ i2c scan I2C_0
>    console: 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
>    console: 00:             -- -- -- -- -- -- -- -- -- -- -- --
>    console: 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>    console: 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>    console: 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>    console: 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>    console: 50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>    console: 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>    console: 70: -- -- -- -- -- -- -- --
>    console: 1 devices found on I2C_0
>    console: uart:~$ kernel uptime
>    console: Uptime: 9897 ms
>    console: uart:~$ kernel reboot warm
>    console: *** Booting Zephyr OS build v00.01.07  ***
>    PASS (1.08 s)
> 
> Ref: https://github.com/AspeedTech-BMC/zephyr/releases/download/v00.01.07/Aspeed_Zephy_SDK_User_Guide_v00.01.07.pdf
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: Peter Delevoryas <peter@pjd.dev>



Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.


> ---
>   tests/avocado/machine_aspeed.py | 41 ++++++++++++++++++++++++++++++++-
>   1 file changed, 40 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/avocado/machine_aspeed.py b/tests/avocado/machine_aspeed.py
> index 1fc385e1c8..11f5b17eb9 100644
> --- a/tests/avocado/machine_aspeed.py
> +++ b/tests/avocado/machine_aspeed.py
> @@ -22,10 +22,11 @@ class AST1030Machine(QemuSystemTest):
>   
>       timeout = 10
>   
> -    def test_ast1030_zephyros(self):
> +    def test_ast1030_zephyros_1_04(self):
>           """
>           :avocado: tags=arch:arm
>           :avocado: tags=machine:ast1030-evb
> +        :avocado: tags=os:zephyr
>           """
>           tar_url = ('https://github.com/AspeedTech-BMC'
>                      '/zephyr/releases/download/v00.01.04/ast1030-evb-demo.zip')
> @@ -41,6 +42,44 @@ def test_ast1030_zephyros(self):
>           exec_command_and_wait_for_pattern(self, "help",
>                                             "Available commands")
>   
> +    def test_ast1030_zephyros_1_07(self):
> +        """
> +        :avocado: tags=arch:arm
> +        :avocado: tags=machine:ast1030-evb
> +        :avocado: tags=os:zephyr
> +        """
> +        tar_url = ('https://github.com/AspeedTech-BMC'
> +                   '/zephyr/releases/download/v00.01.07/ast1030-evb-demo.zip')
> +        tar_hash = '40ac87eabdcd3b3454ce5aad11fedc72a33ecda2'
> +        tar_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
> +        archive.extract(tar_path, self.workdir)
> +        kernel_file = self.workdir + "/ast1030-evb-demo/zephyr.bin"
> +        self.vm.set_console()
> +        self.vm.add_args('-kernel', kernel_file,
> +                         '-nographic')
> +        self.vm.launch()
> +        wait_for_console_pattern(self, "Booting Zephyr OS")
> +        for shell_cmd in [
> +                'kernel stacks',
> +                'otp info conf',
> +                'otp info scu',
> +                'hwinfo devid',
> +                'crypto aes256_cbc_vault',
> +                'random get',
> +                'jtag JTAG1 sw_xfer high TMS',
> +                'adc ADC0 resolution 12',
> +                'adc ADC0 read 42',
> +                'adc ADC1 read 69',
> +                'i2c scan I2C_0',
> +                'i3c attach I3C_0',
> +                'hash test',
> +                'kernel uptime',
> +                'kernel reboot warm',
> +                'kernel uptime',
> +                'kernel reboot cold',
> +                'kernel uptime',
> +        ]: exec_command_and_wait_for_pattern(self, shell_cmd, "uart:~$")
> +
>   class AST2x00Machine(QemuSystemTest):
>   
>       timeout = 90
diff mbox series

Patch

diff --git a/tests/avocado/machine_aspeed.py b/tests/avocado/machine_aspeed.py
index 1fc385e1c8..11f5b17eb9 100644
--- a/tests/avocado/machine_aspeed.py
+++ b/tests/avocado/machine_aspeed.py
@@ -22,10 +22,11 @@  class AST1030Machine(QemuSystemTest):
 
     timeout = 10
 
-    def test_ast1030_zephyros(self):
+    def test_ast1030_zephyros_1_04(self):
         """
         :avocado: tags=arch:arm
         :avocado: tags=machine:ast1030-evb
+        :avocado: tags=os:zephyr
         """
         tar_url = ('https://github.com/AspeedTech-BMC'
                    '/zephyr/releases/download/v00.01.04/ast1030-evb-demo.zip')
@@ -41,6 +42,44 @@  def test_ast1030_zephyros(self):
         exec_command_and_wait_for_pattern(self, "help",
                                           "Available commands")
 
+    def test_ast1030_zephyros_1_07(self):
+        """
+        :avocado: tags=arch:arm
+        :avocado: tags=machine:ast1030-evb
+        :avocado: tags=os:zephyr
+        """
+        tar_url = ('https://github.com/AspeedTech-BMC'
+                   '/zephyr/releases/download/v00.01.07/ast1030-evb-demo.zip')
+        tar_hash = '40ac87eabdcd3b3454ce5aad11fedc72a33ecda2'
+        tar_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
+        archive.extract(tar_path, self.workdir)
+        kernel_file = self.workdir + "/ast1030-evb-demo/zephyr.bin"
+        self.vm.set_console()
+        self.vm.add_args('-kernel', kernel_file,
+                         '-nographic')
+        self.vm.launch()
+        wait_for_console_pattern(self, "Booting Zephyr OS")
+        for shell_cmd in [
+                'kernel stacks',
+                'otp info conf',
+                'otp info scu',
+                'hwinfo devid',
+                'crypto aes256_cbc_vault',
+                'random get',
+                'jtag JTAG1 sw_xfer high TMS',
+                'adc ADC0 resolution 12',
+                'adc ADC0 read 42',
+                'adc ADC1 read 69',
+                'i2c scan I2C_0',
+                'i3c attach I3C_0',
+                'hash test',
+                'kernel uptime',
+                'kernel reboot warm',
+                'kernel uptime',
+                'kernel reboot cold',
+                'kernel uptime',
+        ]: exec_command_and_wait_for_pattern(self, shell_cmd, "uart:~$")
+
 class AST2x00Machine(QemuSystemTest):
 
     timeout = 90