00001
00041 #ifndef PDCA_REGS_H_INCLUDED
00042 #define PDCA_REGS_H_INCLUDED
00043
00044 #define PDCA_CHAN_MAR 0x00
00045 #define PDCA_CHAN_PSR 0x04
00046 # define PDCA_PSR_PID(x) ((x) << 0)
00047 #define PDCA_CHAN_TCR 0x08
00048 #define PDCA_CHAN_MARR 0x0c
00049 #define PDCA_CHAN_TCRR 0x10
00050 #define PDCA_CHAN_CR 0x14
00051 # define PDCA_CR_TEN ( 1 << 0)
00052 # define PDCA_CR_TDIS ( 1 << 1)
00053 # define PDCA_CR_ECLR ( 1 << 8)
00054 #define PDCA_CHAN_MR 0x18
00055 # define PDCA_MR_SIZE(x) ((x) << 0)
00056 # define PDCA_SIZE_BYTE 0
00057 # define PDCA_SIZE_HWORD 1
00058 # define PDCA_SIZE_WORD 2
00059 #define PDCA_CHAN_SR 0x1c
00060 # define PDCA_SR_TEN ( 1 << 0)
00061 #define PDCA_CHAN_IER 0x20
00062 #define PDCA_CHAN_IDR 0x24
00063 #define PDCA_CHAN_IMR 0x28
00064 #define PDCA_CHAN_ISR 0x2c
00065 # define PDCA_INT_RCZ ( 1 << 0)
00066 # define PDCA_INT_TRC ( 1 << 1)
00067 # define PDCA_INT_TERR ( 1 << 2)
00068
00069 #define PDCA_CHAN_REGS_SIZE 0x40
00070
00071 #define pdca_chan_read_reg(chan, reg) \
00072 mmio_read32(chan->regs + PDCA_CHAN_##reg)
00073 #define pdca_chan_write_reg(chan, reg, value) \
00074 mmio_write32(chan->regs + PDCA_CHAN_##reg, value)
00075
00076 #endif