// SPDX-License-Identifier: WTFPL #include #include #include #define MAGIC1 0x4e4f4765 // eGON #define MAGIC2 0x3054422e // .BT0 static char *para_str[] = { "dram_clk", "dram_type", "dram_dx_odt", "dram_dx_dri", "dram_ca_dri", "dram_odt_en", "dram_para1", "dram_para2", "dram_mr0", "dram_mr1", "dram_mr2", "dram_mr3", "dram_mr4", "dram_mr5", "dram_mr6", "dram_mr11", "dram_mr12", "dram_mr13", "dram_mr14", "dram_mr16", "dram_mr17", "dram_mr22", "dram_tpr0", "dram_tpr1", "dram_tpr2", "dram_tpr3", "dram_tpr6", "dram_tpr10", "dram_tpr11", "dram_tpr12", "dram_tpr13", NULL }; static uint32_t buf[128]; void dump(void) { int i; for (i = 0; para_str[i] != NULL; i++) printf("%s = 0x%08x\n", para_str[i], buf[i + 0x0e]); } int main(int argc, char *argv[]) { FILE *fp; if (argc < 2) { printf("usage: %s [filename]\n", argv[0]); goto fin0; } if ((fp = fopen(argv[1], "r")) == NULL) { printf("file open error\n"); goto fin0; } while (fread(buf, 1, sizeof(buf), fp) == sizeof(buf)) { if (buf[1] == MAGIC1 || buf[2] == MAGIC2) { dump(); goto fin1; } } fin1: fclose(fp); fin0: return 0; }