1#ifndef RVL_SDK_IPC_HARDWARE_H 
    2#define RVL_SDK_IPC_HARDWARE_H 
   11volatile u32 IPC_HW_REGS_PPC[256] AT_ADDRESS(0xCD000000);
 
   12volatile u32 IPC_HW_REGS[256] AT_ADDRESS(0xCD800000);
 
   19    X(IPC_PPCMSG,      0xCD000000)                                             \ 
   20    X(IPC_PPCCTRL,     0xCD000004)                                             \ 
   21    X(IPC_ARMMSG,      0xCD000008)                                             \ 
   22    X(IPC_ARMCTRL,     0xCD00000C)                                             \ 
   23    X(TIMER,           0xCD000010)                                             \ 
   24    X(ALARM,           0xCD000014)                                             \ 
   25    X(PPCIRQFLAG,      0xCD000030)                                             \ 
   26    X(PPCIRQMASK,      0xCD000034)                                             \ 
   27    X(ARMIRQFLAG,      0xCD000038)                                             \ 
   28    X(ARMIRQMASK,      0xCD00003C)                                             \ 
   29    X(MEMMIRR,         0xCD000060)                                             \ 
   30    X(AHBPROT,         0xCD000064)                                             \ 
   31    X(EXICTRL,         0xCD000070)                                             \ 
   32    X(GPIO1BOUT,       0xCD0000C0)                                             \ 
   33    X(GPIO1BDIR,       0xCD0000C4)                                             \ 
   34    X(GPIO1BIN,        0xCD0000C8)                                             \ 
   35    X(GPIO1BINTLVL,    0xCD0000CC)                                             \ 
   36    X(GPIO1BINTFLAG,   0xCD0000D0)                                             \ 
   37    X(GPIO1BINTENABLE, 0xCD0000D4)                                             \ 
   38    X(GPIO1BINMIR,     0xCD0000D8)                                             \ 
   39    X(GPIO1ENABLE,     0xCD0000DC)                                             \ 
   40    X(GPIO1OUT,        0xCD0000E0)                                             \ 
   41    X(GPIO1DIR,        0xCD0000E4)                                             \ 
   42    X(GPIO1IN,         0xCD0000E8)                                             \ 
   43    X(GPIO1INTLVL,     0xCD0000EC)                                             \ 
   44    X(GPIO1INTFLAG,    0xCD0000F0)                                             \ 
   45    X(GPIO1INTENABLE,  0xCD0000F4)                                             \ 
   46    X(GPIO1INMIR,      0xCD0000F8)                                             \ 
   47    X(GPIO1OWNER,      0xCD0000FC)                                             \ 
   48    X(DIFLAGS,         0xCD000180)                                             \ 
   49    X(RESETS,          0xCD000194)                                             \ 
   50    X(CLOCKS,          0xCD0001B4)                                             \ 
   51    X(GPIO2OUT,        0xCD0001C8)                                             \ 
   52    X(GPIO2DIR,        0xCD0001CC)                                             \ 
   53    X(GPIO2IN,         0xCD0001D0)                                             \ 
   54    X(OTPCMD,          0xCD0001EC)                                             \ 
   55    X(OTPDATA,         0xCD0001F0)                                             \ 
   56    X(VERSION,         0xCD000214) 
   62#define X(NAME, ADDR) IPC_##NAME = (ADDR - 0xCD000000) / 4, 
   63typedef enum { LIST_OF_REGS } IPCHwReg;
 
   69#define X(NAME, ADDR) ACR_##NAME = (ADDR - 0xCD000000), 
   70typedef enum { LIST_OF_REGS } ACRHwReg;
 
   77    GPIO_POWER = (1 << 0),
 
   78    GPIO_SHUTDOWN = (1 << 1),
 
   81    GPIO_DISPIN = (1 << 4),
 
   82    GPIO_SLOTLED = (1 << 5),
 
   83    GPIO_EJECTBTN = (1 << 6),
 
   84    GPIO_SLOTIN = (1 << 7),
 
   85    GPIO_SENSORBAR = (1 << 8),
 
   86    GPIO_DOEJECT = (1 << 9),
 
   87    GPIO_EEP_CS = (1 << 10),
 
   88    GPIO_EEP_CLK = (1 << 11),
 
   89    GPIO_EEP_MOSI = (1 << 12),
 
   90    GPIO_EEP_MISO = (1 << 13),
 
   91    GPIO_AVE_SCL = (1 << 14),
 
   92    GPIO_AVE_SDA = (1 << 15),
 
   93    GPIO_DEBUG0 = (1 << 16),
 
   94    GPIO_DEBUG1 = (1 << 17),
 
   95    GPIO_DEBUG2 = (1 << 18),
 
   96    GPIO_DEBUG3 = (1 << 19),
 
   97    GPIO_DEBUG4 = (1 << 20),
 
   98    GPIO_DEBUG5 = (1 << 21),
 
   99    GPIO_DEBUG6 = (1 << 22),
 
  100    GPIO_DEBUG7 = (1 << 23),