[U-Boot] [PATCH 2/3] tests: py: dfu: Add functionality to set different u-boot's dfu env variable

Lukasz Majewski l.majewski at samsung.com
Fri Apr 8 17:44:50 CEST 2016


By default (on almost all systems) the dfu env variable, which defines
available alt settings, is named as "dfu_alt_info".

However on some platforms (i.e. Odroid XU3), the 'dfu_alt_info' is concatenated
from other variables - namely 'dfu_alt_boot' and 'dfu_alt_system' at run time
(when one types 'dfu 0 mmc 0' for first time).

'dfu_alt_boot' describes alt settings which depend on boot medium - for example
boot loader's LBA sectors which are different on eMMC and SD card because of e.g.
MBR/GPT.

'dfu_alt_system' describes board agnostic alt settings - like rootfs, kernel.
On such system we can only append/modify this env variable.

Because of the above, we must have way to modify other than "dfu_ale_info"
variable to perform tests.

Signed-off-by: Lukasz Majewski <l.majewski at samsung.com>
---
 test/py/tests/test_dfu.py | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/test/py/tests/test_dfu.py b/test/py/tests/test_dfu.py
index df3b561..1ed6020 100644
--- a/test/py/tests/test_dfu.py
+++ b/test/py/tests/test_dfu.py
@@ -44,6 +44,11 @@ env__dfu_configs = (
         # configurations, but don't want to test every single transfer size
         # on each, to avoid bloating the overall time taken by testing.
         "test_sizes": (63, 64, 65),
+        # Optional values.
+        # Those values are necessary on boards like Odroid XU3, where
+        # - dfu alt info env variable is concatenated from boot medium dependent
+        #   (dfu_alt_boot) and user defined (dfu_alt_system) variables
+        "alt_info_env_name": "dfu_alt_system",
     },
 )
 
@@ -124,7 +129,12 @@ def test_dfu(u_boot_console, env__usb_dev_port, env__dfu_config):
         u_boot_console.log.action(
             'Starting long-running U-Boot dfu shell command')
 
-        cmd = 'setenv dfu_alt_info "%s"' % env__dfu_config['alt_info']
+        dfu_alt_info_env = "dfu_alt_info"
+        if "alt_info_env_name" in env__dfu_config:
+	        dfu_alt_info_env = env__dfu_config['alt_info_env_name']
+
+        cmd = 'setenv "%s" "%s"' % (dfu_alt_info_env,
+                                    env__dfu_config['alt_info'])
         u_boot_console.run_command(cmd)
 
         cmd = 'dfu 0 ' + env__dfu_config['cmd_params']
-- 
2.0.0.rc2



More information about the U-Boot mailing list