Statistics
| Branch: | Revision:

root / hw / sh7750_regnames.c @ 2f062c72

History | View | Annotate | Download (2.3 kB)

1
#include "vl.h"
2
#include "sh7750_regs.h"
3

    
4
#define REGNAME(r) {r, #r},
5

    
6
typedef struct {
7
    uint32_t regaddr;
8
    const char *regname;
9
} regname_t;
10

    
11
static regname_t regnames[] = {
12
    REGNAME(SH7750_PTEH_A7)
13
        REGNAME(SH7750_PTEL_A7)
14
        REGNAME(SH7750_PTEA_A7)
15
        REGNAME(SH7750_TTB_A7)
16
        REGNAME(SH7750_TEA_A7)
17
        REGNAME(SH7750_MMUCR_A7)
18
        REGNAME(SH7750_CCR_A7)
19
        REGNAME(SH7750_QACR0_A7)
20
        REGNAME(SH7750_QACR1_A7)
21
        REGNAME(SH7750_TRA_A7)
22
        REGNAME(SH7750_EXPEVT_A7)
23
        REGNAME(SH7750_INTEVT_A7)
24
        REGNAME(SH7750_STBCR_A7)
25
        REGNAME(SH7750_STBCR2_A7)
26
        REGNAME(SH7750_FRQCR_A7)
27
        REGNAME(SH7750_WTCNT_A7)
28
        REGNAME(SH7750_WTCSR_A7)
29
        REGNAME(SH7750_R64CNT_A7)
30
        REGNAME(SH7750_RSECCNT_A7)
31
        REGNAME(SH7750_RMINCNT_A7)
32
        REGNAME(SH7750_RHRCNT_A7)
33
        REGNAME(SH7750_RWKCNT_A7)
34
        REGNAME(SH7750_RDAYCNT_A7)
35
        REGNAME(SH7750_RMONCNT_A7)
36
        REGNAME(SH7750_RYRCNT_A7)
37
        REGNAME(SH7750_RSECAR_A7)
38
        REGNAME(SH7750_RMINAR_A7)
39
        REGNAME(SH7750_RHRAR_A7)
40
        REGNAME(SH7750_RWKAR_A7)
41
        REGNAME(SH7750_RDAYAR_A7)
42
        REGNAME(SH7750_RMONAR_A7)
43
        REGNAME(SH7750_RCR1_A7)
44
        REGNAME(SH7750_RCR2_A7)
45
        REGNAME(SH7750_BCR1_A7)
46
        REGNAME(SH7750_BCR2_A7)
47
        REGNAME(SH7750_WCR1_A7)
48
        REGNAME(SH7750_WCR2_A7)
49
        REGNAME(SH7750_WCR3_A7)
50
        REGNAME(SH7750_MCR_A7)
51
        REGNAME(SH7750_PCR_A7)
52
        REGNAME(SH7750_RTCSR_A7)
53
        REGNAME(SH7750_RTCNT_A7)
54
        REGNAME(SH7750_RTCOR_A7)
55
        REGNAME(SH7750_RFCR_A7)
56
        REGNAME(SH7750_SAR0_A7)
57
        REGNAME(SH7750_SAR1_A7)
58
        REGNAME(SH7750_SAR2_A7)
59
        REGNAME(SH7750_SAR3_A7)
60
        REGNAME(SH7750_DAR0_A7)
61
        REGNAME(SH7750_DAR1_A7)
62
        REGNAME(SH7750_DAR2_A7)
63
        REGNAME(SH7750_DAR3_A7)
64
        REGNAME(SH7750_DMATCR0_A7)
65
        REGNAME(SH7750_DMATCR1_A7)
66
        REGNAME(SH7750_DMATCR2_A7)
67
        REGNAME(SH7750_DMATCR3_A7)
68
        REGNAME(SH7750_CHCR0_A7)
69
        REGNAME(SH7750_CHCR1_A7)
70
        REGNAME(SH7750_CHCR2_A7)
71
        REGNAME(SH7750_CHCR3_A7)
72
        REGNAME(SH7750_DMAOR_A7)
73
        REGNAME(SH7750_PCTRA_A7)
74
        REGNAME(SH7750_PDTRA_A7)
75
        REGNAME(SH7750_PCTRB_A7)
76
        REGNAME(SH7750_PDTRB_A7)
77
        REGNAME(SH7750_GPIOIC_A7)
78
        REGNAME(SH7750_ICR_A7)
79
        REGNAME(SH7750_IPRA_A7)
80
        REGNAME(SH7750_IPRB_A7)
81
        REGNAME(SH7750_IPRC_A7)
82
        REGNAME(SH7750_BCR3_A7)
83
        REGNAME(SH7750_BCR4_A7)
84
        REGNAME(SH7750_PRECHARGE0_A7)
85
    REGNAME(SH7750_PRECHARGE1_A7) {(uint32_t) - 1, 0}
86
};
87

    
88
const char *regname(uint32_t addr)
89
{
90
    unsigned int i;
91

    
92
    for (i = 0; regnames[i].regaddr != (uint32_t) - 1; i++) {
93
        if (regnames[i].regaddr == addr)
94
            return regnames[i].regname;
95
    }
96

    
97
    return "<unknown reg>";
98
}