blob: 1830423d1eb3763559cb31767cf376268584a48b [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#ifndef DDR_TESTS_H
2#define DDR_TESTS_H
3
4#define printw(hex_) printf("0x%08X", hex_)
5#define printh(hex_) printf("0x%04X", hex_)
6#define printb(hex_) printf("0x%02X", hex_)
7#define rotate(value, number) (value = ((value << (sizeof(uint32_t)*8-number))\
8 | (value >> number)))
9#define conv_dec(x) simple_strtoul(x, NULL, 10)
10#define conv_hex(x) simple_strtoul(x, NULL, 16)
11
12enum access_type {
13 ACCESS_TYPE_BYTE = 0,
14 ACCESS_TYPE_HWORD,
15 ACCESS_TYPE_WORD,
16};
17
18enum print_mode {
19 SILENT_MODE = 0,
20 SIGN_MODE,
21 MINIMAL_MODE,
22 FULL_MODE,
23};
24
25enum mtsp_test_val {
26 MTSP_OPERATION_OK = 0,
27 MTSP_WRONG_PARAMETER,
28 MTSP_READ_FAIL, /* Reading pattern did not matched the writing*/
29 MTSP_ERROR, /*general error*/
30 MTSP_DIR_ERR, /*direction unknown*/
31 MTSP_DRIVE_ERR, /* drive unknown*/
32 MTSP_CPU_UNKNOWN,
33};
34
35enum pattern_number {
36 PATTERN_NUMBER_ONE = 0,
37 PATTERN_NUMBER_TWO,
38 PATTERN_NUMBER_THREE,
39 PATTERN_NUMBER_FOUR,
40 PATTERN_NUMBER_FIVE,
41 PATTERN_NUMBER_SIX,
42 PATTERN_NUMBER_SEVEN,
43 PATTERN_NUMBER_EIGHT,
44 PATTERN_NUMBER_NINE,
45 PATTERN_NUMBER_TEN,
46 PATTERN_NUMBER_ELEVEN,
47 PATTERN_NUMBER_TWELVE,
48 PATTERN_NUMBER_THIRTEEN,
49 PATTERN_NUMBER_FOURTEEN,
50 PATTERN_NUMBER_FIFTEEN,
51 PATTERN_NUMBER_SIXTEEN,
52 PATTERN_NUMBER_SEVENTEEN,
53 PATTERN_NUMBER_EIGHTEEN,
54 PATTERN_NUMBER_NINETEEN,
55 PATTERN_NUMBER_TWENTY,
56 PATTERN_NUMBER_TWENTYONE,
57 PATTERN_NUMBER_TWENTYTWO,
58 PATTERN_NUMBER_TWENTYTHREE,
59 PATTERN_NUMBER_TWENTYFOUR,
60 PATTERN_NUMBER_TWENTYFIVE,
61 PATTERN_NUMBER_TWENTYSIX,
62 PATTERN_NUMBER_TWENTYSEVEN,
63 PATTERN_NUMBER_TWENTYEIGHT,
64 PATTERN_NUMBER_TWENTYNINE,
65 PATTERN_NUMBER_THIRTY,
66 PATTERN_NUMBER_THIRTYONE,
67 PATTERN_NUMBER_THIRTYTWO,
68};
69
70struct pattern_dword {
71 uint32_t first_pattern;
72 uint32_t second_pattern;
73};
74
75/* Functions Declerations*/
76uint32_t mtsp_test(uint32_t addr, uint32_t size, uint32_t pattern,
77 uint32_t pre_read);
78uint32_t memory_test(uint32_t addr, uint32_t size, enum pattern_number pattern,
79 uint8_t access, uint8_t mtsp);
80int smtd(int argc, uint8_t **argv);
81int mtsp(int argc, uint8_t **argv);
82
83#endif