]> rtime.felk.cvut.cz Git - mcf548x/linux.git/blob - arch/m68k/include/asm/m548xdspi.h
Current (FEC from 2.6.31 port, no CAN, no I2C, no PCI)
[mcf548x/linux.git] / arch / m68k / include / asm / m548xdspi.h
1 /*
2  * File:        mcf548x_dspi.h
3  * Purpose:     Register and bit definitions for the MCF548X
4  *
5  * Notes:
6  *
7  */
8
9 #ifndef _M548XDSPI_H_
10 #define _M548XDSPI_H_
11
12 /*
13  *
14  * DMA Serial Peripheral Interface (DSPI)
15  *
16  */
17
18 /* Register read/write macros */
19 #define MCF_DSPI_DMCR         MCF_REG32(0x008A00)
20 #define MCF_DSPI_DTCR         MCF_REG32(0x008A08)
21 #define MCF_DSPI_DCTAR0       MCF_REG32(0x008A0C)
22 #define MCF_DSPI_DCTAR1       MCF_REG32(0x008A10)
23 #define MCF_DSPI_DCTAR2       MCF_REG32(0x008A14)
24 #define MCF_DSPI_DCTAR3       MCF_REG32(0x008A18)
25 #define MCF_DSPI_DCTAR4       MCF_REG32(0x008A1C)
26 #define MCF_DSPI_DCTAR5       MCF_REG32(0x008A20)
27 #define MCF_DSPI_DCTAR6       MCF_REG32(0x008A24)
28 #define MCF_DSPI_DCTAR7       MCF_REG32(0x008A28)
29 #define MCF_DSPI_DCTARn(x)    MCF_REG32(0x008A0C+(x*4))
30 #define MCF_DSPI_DSR          MCF_REG32(0x008A2C)
31 #define MCF_DSPI_DRSER        MCF_REG32(0x008A30)
32 #define MCF_DSPI_DTFR         MCF_REG32(0x008A34)
33 #define MCF_DSPI_DRFR         MCF_REG32(0x008A38)
34 #define MCF_DSPI_DTFDR0       MCF_REG32(0x008A3C)
35 #define MCF_DSPI_DTFDR1       MCF_REG32(0x008A40)
36 #define MCF_DSPI_DTFDR2       MCF_REG32(0x008A44)
37 #define MCF_DSPI_DTFDR3       MCF_REG32(0x008A48)
38 #define MCF_DSPI_DTFDRn(x)    MCF_REG32(0x008A3C+(x*4))
39 #define MCF_DSPI_DRFDR0       MCF_REG32(0x008A7C)
40 #define MCF_DSPI_DRFDR1       MCF_REG32(0x008A80)
41 #define MCF_DSPI_DRFDR2       MCF_REG32(0x008A84)
42 #define MCF_DSPI_DRFDR3       MCF_REG32(0x008A88)
43 #define MCF_DSPI_DRFDRn(x)    MCF_REG32(0x008A7C+(x*4))
44
45 /* Bit definitions and macros for MCF_DSPI_DMCR */
46 #define MCF_DSPI_DMCR_HALT             (0x00000001)
47 #define MCF_DSPI_DMCR_SMPL_PT(x)       (((x)&0x00000003)<<8)
48 #define MCF_DSPI_DMCR_CRXF             (0x00000400)
49 #define MCF_DSPI_DMCR_CTXF             (0x00000800)
50 #define MCF_DSPI_DMCR_DRXF             (0x00001000)
51 #define MCF_DSPI_DMCR_DTXF             (0x00002000)
52 #define MCF_DSPI_DMCR_CSIS0            (0x00010000)
53 #define MCF_DSPI_DMCR_CSIS2            (0x00040000)
54 #define MCF_DSPI_DMCR_CSIS3            (0x00080000)
55 #define MCF_DSPI_DMCR_CSIS5            (0x00200000)
56 #define MCF_DSPI_DMCR_ROOE             (0x01000000)
57 #define MCF_DSPI_DMCR_PCSSE            (0x02000000)
58 #define MCF_DSPI_DMCR_MTFE             (0x04000000)
59 #define MCF_DSPI_DMCR_FRZ              (0x08000000)
60 #define MCF_DSPI_DMCR_DCONF(x)         (((x)&0x00000003)<<28)
61 #define MCF_DSPI_DMCR_CSCK             (0x40000000)
62 #define MCF_DSPI_DMCR_MSTR             (0x80000000)
63
64 /* Bit definitions and macros for MCF_DSPI_DTCR */
65 #define MCF_DSPI_DTCR_SPI_TCNT(x)      (((x)&0x0000FFFF)<<16)
66
67 /* Bit definitions and macros for MCF_DSPI_DCTARn */
68 #define MCF_DSPI_DCTAR_BR(x)          (((x)&0x0000000F)<<0)
69 #define MCF_DSPI_DCTAR_DT(x)          (((x)&0x0000000F)<<4)
70 #define MCF_DSPI_DCTAR_ASC(x)         (((x)&0x0000000F)<<8)
71 #define MCF_DSPI_DCTAR_CSSCK(x)       (((x)&0x0000000F)<<12)
72 #define MCF_DSPI_DCTAR_PBR(x)         (((x)&0x00000003)<<16)
73 #define MCF_DSPI_DCTAR_PDT(x)         (((x)&0x00000003)<<18)
74 #define MCF_DSPI_DCTAR_PASC(x)        (((x)&0x00000003)<<20)
75 #define MCF_DSPI_DCTAR_PCSSCK(x)      (((x)&0x00000003)<<22)
76 #define MCF_DSPI_DCTAR_LSBFE          (0x01000000)
77 #define MCF_DSPI_DCTAR_CPHA           (0x02000000)
78 #define MCF_DSPI_DCTAR_CPOL           (0x04000000)
79 /* #define MCF_DSPI_DCTAR_TRSZ(x)        (((x)&0x0000000F)<<27) */
80 #define MCF_DSPI_DCTAR_FMSZ(x)        (((x)&0x0000000F)<<27)
81 #define MCF_DSPI_DCTAR_PCSSCK_1CLK    (0x00000000)
82 #define MCF_DSPI_DCTAR_PCSSCK_3CLK    (0x00400000)
83 #define MCF_DSPI_DCTAR_PCSSCK_5CLK    (0x00800000)
84 #define MCF_DSPI_DCTAR_PCSSCK_7CLK    (0x00A00000)
85 #define MCF_DSPI_DCTAR_PASC_1CLK      (0x00000000)
86 #define MCF_DSPI_DCTAR_PASC_3CLK      (0x00100000)
87 #define MCF_DSPI_DCTAR_PASC_5CLK      (0x00200000)
88 #define MCF_DSPI_DCTAR_PASC_7CLK      (0x00300000)
89 #define MCF_DSPI_DCTAR_PDT_1CLK       (0x00000000)
90 #define MCF_DSPI_DCTAR_PDT_3CLK       (0x00040000)
91 #define MCF_DSPI_DCTAR_PDT_5CLK       (0x00080000)
92 #define MCF_DSPI_DCTAR_PDT_7CLK       (0x000A0000)
93 #define MCF_DSPI_DCTAR_PBR_1CLK       (0x00000000)
94 #define MCF_DSPI_DCTAR_PBR_3CLK       (0x00010000)
95 #define MCF_DSPI_DCTAR_PBR_5CLK       (0x00020000)
96 #define MCF_DSPI_DCTAR_PBR_7CLK       (0x00030000)
97
98 /* Bit definitions and macros for MCF_DSPI_DSR */
99 #define MCF_DSPI_DSR_RXPTR(x)          (((x)&0x0000000F)<<0)
100 #define MCF_DSPI_DSR_RXCTR(x)          (((x)&0x0000000F)<<4)
101 #define MCF_DSPI_DSR_TXPTR(x)          (((x)&0x0000000F)<<8)
102 #define MCF_DSPI_DSR_TXCTR(x)          (((x)&0x0000000F)<<12)
103 #define MCF_DSPI_DSR_RFDF              (0x00020000)
104 #define MCF_DSPI_DSR_RFOF              (0x00080000)
105 #define MCF_DSPI_DSR_TFFF              (0x02000000)
106 #define MCF_DSPI_DSR_TFUF              (0x08000000)
107 #define MCF_DSPI_DSR_EOQF              (0x10000000)
108 #define MCF_DSPI_DSR_TXRXS             (0x40000000)
109 #define MCF_DSPI_DSR_TCF               (0x80000000)
110
111 /* Bit definitions and macros for MCF_DSPI_DRSER */
112 #define MCF_DSPI_DRSER_RFDFS           (0x00010000)
113 #define MCF_DSPI_DRSER_RFDFE           (0x00020000)
114 #define MCF_DSPI_DRSER_RFOFE           (0x00080000)
115 #define MCF_DSPI_DRSER_TFFFS           (0x01000000)
116 #define MCF_DSPI_DRSER_TFFFE           (0x02000000)
117 #define MCF_DSPI_DRSER_TFUFE           (0x08000000)
118 #define MCF_DSPI_DRSER_EOQFE           (0x10000000)
119 #define MCF_DSPI_DRSER_TCFE            (0x80000000)
120
121 /* Bit definitions and macros for MCF_DSPI_DTFR */
122 #define MCF_DSPI_DTFR_TXDATA(x)        (((x)&0x0000FFFF)<<0)
123 #define MCF_DSPI_DTFR_CS0              (0x00010000)
124 #define MCF_DSPI_DTFR_CS2              (0x00040000)
125 #define MCF_DSPI_DTFR_CS3              (0x00080000)
126 #define MCF_DSPI_DTFR_CS5              (0x00200000)
127 #define MCF_DSPI_DTFR_CTCNT            (0x04000000)
128 #define MCF_DSPI_DTFR_EOQ              (0x08000000)
129 #define MCF_DSPI_DTFR_CTAS(x)          (((x)&0x00000007)<<28)
130 #define MCF_DSPI_DTFR_CONT             (0x80000000)
131
132 /* Bit definitions and macros for MCF_DSPI_DRFR */
133 #define MCF_DSPI_DRFR_RXDATA(x)        (((x)&0x0000FFFF)<<0)
134
135 /* Bit definitions and macros for MCF_DSPI_DTFDRn */
136 #define MCF_DSPI_DTFDRn_TXDATA(x)      (((x)&0x0000FFFF)<<0)
137 #define MCF_DSPI_DTFDRn_TXCMD(x)       (((x)&0x0000FFFF)<<16)
138
139 /* Bit definitions and macros for MCF_DSPI_DRFDRn */
140 #define MCF_DSPI_DRFDRn_RXDATA(x)      (((x)&0x0000FFFF)<<0)
141
142 /********************************************************************/
143
144 #endif /* _M548XDSPI_H_ */