diff options
Diffstat (limited to 'drivers/net/irda/pxaficp_ir.c')
-rw-r--r-- | drivers/net/irda/pxaficp_ir.c | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c index a0ee05318155..004a9aab3a50 100644 --- a/drivers/net/irda/pxaficp_ir.c +++ b/drivers/net/irda/pxaficp_ir.c | |||
@@ -22,9 +22,53 @@ | |||
22 | #include <net/irda/wrapper.h> | 22 | #include <net/irda/wrapper.h> |
23 | #include <net/irda/irda_device.h> | 23 | #include <net/irda/irda_device.h> |
24 | 24 | ||
25 | #include <asm/dma.h> | 25 | #include <mach/dma.h> |
26 | #include <mach/irda.h> | 26 | #include <mach/irda.h> |
27 | #include <mach/hardware.h> | ||
27 | #include <mach/pxa-regs.h> | 28 | #include <mach/pxa-regs.h> |
29 | #include <mach/regs-uart.h> | ||
30 | |||
31 | #define FICP __REG(0x40800000) /* Start of FICP area */ | ||
32 | #define ICCR0 __REG(0x40800000) /* ICP Control Register 0 */ | ||
33 | #define ICCR1 __REG(0x40800004) /* ICP Control Register 1 */ | ||
34 | #define ICCR2 __REG(0x40800008) /* ICP Control Register 2 */ | ||
35 | #define ICDR __REG(0x4080000c) /* ICP Data Register */ | ||
36 | #define ICSR0 __REG(0x40800014) /* ICP Status Register 0 */ | ||
37 | #define ICSR1 __REG(0x40800018) /* ICP Status Register 1 */ | ||
38 | |||
39 | #define ICCR0_AME (1 << 7) /* Address match enable */ | ||
40 | #define ICCR0_TIE (1 << 6) /* Transmit FIFO interrupt enable */ | ||
41 | #define ICCR0_RIE (1 << 5) /* Recieve FIFO interrupt enable */ | ||
42 | #define ICCR0_RXE (1 << 4) /* Receive enable */ | ||
43 | #define ICCR0_TXE (1 << 3) /* Transmit enable */ | ||
44 | #define ICCR0_TUS (1 << 2) /* Transmit FIFO underrun select */ | ||
45 | #define ICCR0_LBM (1 << 1) /* Loopback mode */ | ||
46 | #define ICCR0_ITR (1 << 0) /* IrDA transmission */ | ||
47 | |||
48 | #define ICCR2_RXP (1 << 3) /* Receive Pin Polarity select */ | ||
49 | #define ICCR2_TXP (1 << 2) /* Transmit Pin Polarity select */ | ||
50 | #define ICCR2_TRIG (3 << 0) /* Receive FIFO Trigger threshold */ | ||
51 | #define ICCR2_TRIG_8 (0 << 0) /* >= 8 bytes */ | ||
52 | #define ICCR2_TRIG_16 (1 << 0) /* >= 16 bytes */ | ||
53 | #define ICCR2_TRIG_32 (2 << 0) /* >= 32 bytes */ | ||
54 | |||
55 | #ifdef CONFIG_PXA27x | ||
56 | #define ICSR0_EOC (1 << 6) /* DMA End of Descriptor Chain */ | ||
57 | #endif | ||
58 | #define ICSR0_FRE (1 << 5) /* Framing error */ | ||
59 | #define ICSR0_RFS (1 << 4) /* Receive FIFO service request */ | ||
60 | #define ICSR0_TFS (1 << 3) /* Transnit FIFO service request */ | ||
61 | #define ICSR0_RAB (1 << 2) /* Receiver abort */ | ||
62 | #define ICSR0_TUR (1 << 1) /* Trunsmit FIFO underun */ | ||
63 | #define ICSR0_EIF (1 << 0) /* End/Error in FIFO */ | ||
64 | |||
65 | #define ICSR1_ROR (1 << 6) /* Receiver FIFO underrun */ | ||
66 | #define ICSR1_CRE (1 << 5) /* CRC error */ | ||
67 | #define ICSR1_EOF (1 << 4) /* End of frame */ | ||
68 | #define ICSR1_TNF (1 << 3) /* Transmit FIFO not full */ | ||
69 | #define ICSR1_RNE (1 << 2) /* Receive FIFO not empty */ | ||
70 | #define ICSR1_TBY (1 << 1) /* Tramsmiter busy flag */ | ||
71 | #define ICSR1_RSY (1 << 0) /* Recevier synchronized flag */ | ||
28 | 72 | ||
29 | #define IrSR_RXPL_NEG_IS_ZERO (1<<4) | 73 | #define IrSR_RXPL_NEG_IS_ZERO (1<<4) |
30 | #define IrSR_RXPL_POS_IS_ZERO 0x0 | 74 | #define IrSR_RXPL_POS_IS_ZERO 0x0 |