test/qtest/aspeed_smc-test: Introducing a "page_addr" data field
Currently, these test cases used the hardcode offset 0x1400000 (0x14000 * 256) which was beyond the 16MB flash size for flash page read/write command testing. However, the default fmc flash model of ast1030-a1 EVB is "w25q80bl" whose size is 1MB. To test SoC flash models, introduces a new page_addr member in TestData structure, so users can set the offset for flash page read/write command testing. Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/r/20241127091543.1243114-5-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
parent
dc32f5baf9
commit
369a47ae4b
@ -72,6 +72,7 @@ typedef struct TestData {
|
|||||||
char *tmp_path;
|
char *tmp_path;
|
||||||
uint8_t cs;
|
uint8_t cs;
|
||||||
const char *node;
|
const char *node;
|
||||||
|
uint32_t page_addr;
|
||||||
} TestData;
|
} TestData;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -256,7 +257,7 @@ static void assert_page_mem(const TestData *data, uint32_t addr,
|
|||||||
static void test_erase_sector(const void *data)
|
static void test_erase_sector(const void *data)
|
||||||
{
|
{
|
||||||
const TestData *test_data = (const TestData *)data;
|
const TestData *test_data = (const TestData *)data;
|
||||||
uint32_t some_page_addr = 0x600 * FLASH_PAGE_SIZE;
|
uint32_t some_page_addr = test_data->page_addr;
|
||||||
uint32_t page[FLASH_PAGE_SIZE / 4];
|
uint32_t page[FLASH_PAGE_SIZE / 4];
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -308,7 +309,7 @@ static void test_erase_sector(const void *data)
|
|||||||
static void test_erase_all(const void *data)
|
static void test_erase_all(const void *data)
|
||||||
{
|
{
|
||||||
const TestData *test_data = (const TestData *)data;
|
const TestData *test_data = (const TestData *)data;
|
||||||
uint32_t some_page_addr = 0x15000 * FLASH_PAGE_SIZE;
|
uint32_t some_page_addr = test_data->page_addr;
|
||||||
uint32_t page[FLASH_PAGE_SIZE / 4];
|
uint32_t page[FLASH_PAGE_SIZE / 4];
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -358,8 +359,8 @@ static void test_erase_all(const void *data)
|
|||||||
static void test_write_page(const void *data)
|
static void test_write_page(const void *data)
|
||||||
{
|
{
|
||||||
const TestData *test_data = (const TestData *)data;
|
const TestData *test_data = (const TestData *)data;
|
||||||
uint32_t my_page_addr = 0x14000 * FLASH_PAGE_SIZE; /* beyond 16MB */
|
uint32_t my_page_addr = test_data->page_addr;
|
||||||
uint32_t some_page_addr = 0x15000 * FLASH_PAGE_SIZE;
|
uint32_t some_page_addr = my_page_addr + FLASH_PAGE_SIZE;
|
||||||
uint32_t page[FLASH_PAGE_SIZE / 4];
|
uint32_t page[FLASH_PAGE_SIZE / 4];
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -395,8 +396,8 @@ static void test_write_page(const void *data)
|
|||||||
static void test_read_page_mem(const void *data)
|
static void test_read_page_mem(const void *data)
|
||||||
{
|
{
|
||||||
const TestData *test_data = (const TestData *)data;
|
const TestData *test_data = (const TestData *)data;
|
||||||
uint32_t my_page_addr = 0x14000 * FLASH_PAGE_SIZE; /* beyond 16MB */
|
uint32_t my_page_addr = test_data->page_addr;
|
||||||
uint32_t some_page_addr = 0x15000 * FLASH_PAGE_SIZE;
|
uint32_t some_page_addr = my_page_addr + FLASH_PAGE_SIZE;
|
||||||
uint32_t page[FLASH_PAGE_SIZE / 4];
|
uint32_t page[FLASH_PAGE_SIZE / 4];
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -438,7 +439,7 @@ static void test_read_page_mem(const void *data)
|
|||||||
static void test_write_page_mem(const void *data)
|
static void test_write_page_mem(const void *data)
|
||||||
{
|
{
|
||||||
const TestData *test_data = (const TestData *)data;
|
const TestData *test_data = (const TestData *)data;
|
||||||
uint32_t my_page_addr = 0x15000 * FLASH_PAGE_SIZE;
|
uint32_t my_page_addr = test_data->page_addr;
|
||||||
uint32_t page[FLASH_PAGE_SIZE / 4];
|
uint32_t page[FLASH_PAGE_SIZE / 4];
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -679,6 +680,8 @@ static void test_palmetto_bmc(TestData *data)
|
|||||||
data->jedec_id = 0x20ba19;
|
data->jedec_id = 0x20ba19;
|
||||||
data->cs = 0;
|
data->cs = 0;
|
||||||
data->node = "/machine/soc/fmc/ssi.0/child[0]";
|
data->node = "/machine/soc/fmc/ssi.0/child[0]";
|
||||||
|
/* beyond 16MB */
|
||||||
|
data->page_addr = 0x14000 * FLASH_PAGE_SIZE;
|
||||||
|
|
||||||
qtest_add_data_func("/ast2400/smc/read_jedec", data, test_read_jedec);
|
qtest_add_data_func("/ast2400/smc/read_jedec", data, test_read_jedec);
|
||||||
qtest_add_data_func("/ast2400/smc/erase_sector", data, test_erase_sector);
|
qtest_add_data_func("/ast2400/smc/erase_sector", data, test_erase_sector);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user