blob: 5c7bcbd420bc629be790defee64b69ae399e7c3a [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001# SPDX-License-Identifier: GPL-2.0
Stephen Warren819f23b2016-01-15 11:15:27 -07002# Copyright (c) 2015 Stephen Warren
3# Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved.
Stephen Warren819f23b2016-01-15 11:15:27 -07004
5import pytest
Simon Glassfb916372025-02-09 09:07:15 -07006import utils
Stephen Warren819f23b2016-01-15 11:15:27 -07007
8@pytest.mark.buildconfigspec('cmd_memory')
Simon Glassddba5202025-02-09 09:07:14 -07009def test_md(ubman):
Stephen Warren75e731e2016-01-26 13:41:30 -070010 """Test that md reads memory as expected, and that memory can be modified
11 using the mw command."""
Stephen Warren819f23b2016-01-15 11:15:27 -070012
Simon Glassfb916372025-02-09 09:07:15 -070013 ram_base = utils.find_ram_base(ubman)
Stephen Warren819f23b2016-01-15 11:15:27 -070014 addr = '%08x' % ram_base
15 val = 'a5f09876'
16 expected_response = addr + ': ' + val
Simon Glassddba5202025-02-09 09:07:14 -070017 ubman.run_command('mw ' + addr + ' 0 10')
18 response = ubman.run_command('md ' + addr + ' 10')
Stephen Warren819f23b2016-01-15 11:15:27 -070019 assert(not (expected_response in response))
Simon Glassddba5202025-02-09 09:07:14 -070020 ubman.run_command('mw ' + addr + ' ' + val)
21 response = ubman.run_command('md ' + addr + ' 10')
Stephen Warren819f23b2016-01-15 11:15:27 -070022 assert(expected_response in response)
23
24@pytest.mark.buildconfigspec('cmd_memory')
Simon Glassddba5202025-02-09 09:07:14 -070025def test_md_repeat(ubman):
Stephen Warren75e731e2016-01-26 13:41:30 -070026 """Test command repeat (via executing an empty command) operates correctly
27 for "md"; the command must repeat and dump an incrementing address."""
Stephen Warren819f23b2016-01-15 11:15:27 -070028
Simon Glassfb916372025-02-09 09:07:15 -070029 ram_base = utils.find_ram_base(ubman)
Stephen Warren819f23b2016-01-15 11:15:27 -070030 addr_base = '%08x' % ram_base
31 words = 0x10
32 addr_repeat = '%08x' % (ram_base + (words * 4))
Simon Glassddba5202025-02-09 09:07:14 -070033 ubman.run_command('md %s %x' % (addr_base, words))
34 response = ubman.run_command('')
Stephen Warren819f23b2016-01-15 11:15:27 -070035 expected_response = addr_repeat + ': '
36 assert(expected_response in response)