diff options
author | Jochen Friedrich <jochen@scram.de> | 2008-01-24 10:20:05 -0500 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2008-01-28 09:31:06 -0500 |
commit | 44f25fb4d0754c6c2ab5bf97990a671e19152139 (patch) | |
tree | 88116926057db0050f24d3f3a9dcb526c2342c73 /include/asm-powerpc | |
parent | b5677d848cbb94220ac2cfd36d93bcdbe49c3280 (diff) |
[POWERPC] CPM: Move definition of buffer descriptor to cpm.h
Buffer descriptors are used by both CPM1 and CPM2. Move the definitions
from the cpm dependent include file to common cpm.h
Signed-off-by: Jochen Friedrich <jochen@scram.de>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'include/asm-powerpc')
-rw-r--r-- | include/asm-powerpc/cpm.h | 73 | ||||
-rw-r--r-- | include/asm-powerpc/cpm1.h | 65 | ||||
-rw-r--r-- | include/asm-powerpc/cpm2.h | 64 |
3 files changed, 73 insertions, 129 deletions
diff --git a/include/asm-powerpc/cpm.h b/include/asm-powerpc/cpm.h index fae83b137337..77e39dad9728 100644 --- a/include/asm-powerpc/cpm.h +++ b/include/asm-powerpc/cpm.h | |||
@@ -4,6 +4,79 @@ | |||
4 | #include <linux/compiler.h> | 4 | #include <linux/compiler.h> |
5 | #include <linux/types.h> | 5 | #include <linux/types.h> |
6 | 6 | ||
7 | /* Buffer descriptors used by many of the CPM protocols. */ | ||
8 | typedef struct cpm_buf_desc { | ||
9 | ushort cbd_sc; /* Status and Control */ | ||
10 | ushort cbd_datlen; /* Data length in buffer */ | ||
11 | uint cbd_bufaddr; /* Buffer address in host memory */ | ||
12 | } cbd_t; | ||
13 | |||
14 | /* Buffer descriptor control/status used by serial | ||
15 | */ | ||
16 | |||
17 | #define BD_SC_EMPTY (0x8000) /* Receive is empty */ | ||
18 | #define BD_SC_READY (0x8000) /* Transmit is ready */ | ||
19 | #define BD_SC_WRAP (0x2000) /* Last buffer descriptor */ | ||
20 | #define BD_SC_INTRPT (0x1000) /* Interrupt on change */ | ||
21 | #define BD_SC_LAST (0x0800) /* Last buffer in frame */ | ||
22 | #define BD_SC_TC (0x0400) /* Transmit CRC */ | ||
23 | #define BD_SC_CM (0x0200) /* Continous mode */ | ||
24 | #define BD_SC_ID (0x0100) /* Rec'd too many idles */ | ||
25 | #define BD_SC_P (0x0100) /* xmt preamble */ | ||
26 | #define BD_SC_BR (0x0020) /* Break received */ | ||
27 | #define BD_SC_FR (0x0010) /* Framing error */ | ||
28 | #define BD_SC_PR (0x0008) /* Parity error */ | ||
29 | #define BD_SC_NAK (0x0004) /* NAK - did not respond */ | ||
30 | #define BD_SC_OV (0x0002) /* Overrun */ | ||
31 | #define BD_SC_UN (0x0002) /* Underrun */ | ||
32 | #define BD_SC_CD (0x0001) /* */ | ||
33 | #define BD_SC_CL (0x0001) /* Collision */ | ||
34 | |||
35 | /* Buffer descriptor control/status used by Ethernet receive. | ||
36 | * Common to SCC and FCC. | ||
37 | */ | ||
38 | #define BD_ENET_RX_EMPTY (0x8000) | ||
39 | #define BD_ENET_RX_WRAP (0x2000) | ||
40 | #define BD_ENET_RX_INTR (0x1000) | ||
41 | #define BD_ENET_RX_LAST (0x0800) | ||
42 | #define BD_ENET_RX_FIRST (0x0400) | ||
43 | #define BD_ENET_RX_MISS (0x0100) | ||
44 | #define BD_ENET_RX_BC (0x0080) /* FCC Only */ | ||
45 | #define BD_ENET_RX_MC (0x0040) /* FCC Only */ | ||
46 | #define BD_ENET_RX_LG (0x0020) | ||
47 | #define BD_ENET_RX_NO (0x0010) | ||
48 | #define BD_ENET_RX_SH (0x0008) | ||
49 | #define BD_ENET_RX_CR (0x0004) | ||
50 | #define BD_ENET_RX_OV (0x0002) | ||
51 | #define BD_ENET_RX_CL (0x0001) | ||
52 | #define BD_ENET_RX_STATS (0x01ff) /* All status bits */ | ||
53 | |||
54 | /* Buffer descriptor control/status used by Ethernet transmit. | ||
55 | * Common to SCC and FCC. | ||
56 | */ | ||
57 | #define BD_ENET_TX_READY (0x8000) | ||
58 | #define BD_ENET_TX_PAD (0x4000) | ||
59 | #define BD_ENET_TX_WRAP (0x2000) | ||
60 | #define BD_ENET_TX_INTR (0x1000) | ||
61 | #define BD_ENET_TX_LAST (0x0800) | ||
62 | #define BD_ENET_TX_TC (0x0400) | ||
63 | #define BD_ENET_TX_DEF (0x0200) | ||
64 | #define BD_ENET_TX_HB (0x0100) | ||
65 | #define BD_ENET_TX_LC (0x0080) | ||
66 | #define BD_ENET_TX_RL (0x0040) | ||
67 | #define BD_ENET_TX_RCMASK (0x003c) | ||
68 | #define BD_ENET_TX_UN (0x0002) | ||
69 | #define BD_ENET_TX_CSL (0x0001) | ||
70 | #define BD_ENET_TX_STATS (0x03ff) /* All status bits */ | ||
71 | |||
72 | /* Buffer descriptor control/status used by Transparent mode SCC. | ||
73 | */ | ||
74 | #define BD_SCC_TX_LAST (0x0800) | ||
75 | |||
76 | /* Buffer descriptor control/status used by I2C. | ||
77 | */ | ||
78 | #define BD_I2C_START (0x0400) | ||
79 | |||
7 | int cpm_muram_init(void); | 80 | int cpm_muram_init(void); |
8 | unsigned long cpm_muram_alloc(unsigned long size, unsigned long align); | 81 | unsigned long cpm_muram_alloc(unsigned long size, unsigned long align); |
9 | int cpm_muram_free(unsigned long offset); | 82 | int cpm_muram_free(unsigned long offset); |
diff --git a/include/asm-powerpc/cpm1.h b/include/asm-powerpc/cpm1.h index 901a00b48959..b2ebd6ac6dae 100644 --- a/include/asm-powerpc/cpm1.h +++ b/include/asm-powerpc/cpm1.h | |||
@@ -91,32 +91,6 @@ extern void cpm_load_patch(cpm8xx_t *cp); | |||
91 | 91 | ||
92 | extern void cpm_reset(void); | 92 | extern void cpm_reset(void); |
93 | 93 | ||
94 | /* Buffer descriptors used by many of the CPM protocols. | ||
95 | */ | ||
96 | typedef struct cpm_buf_desc { | ||
97 | ushort cbd_sc; /* Status and Control */ | ||
98 | ushort cbd_datlen; /* Data length in buffer */ | ||
99 | uint cbd_bufaddr; /* Buffer address in host memory */ | ||
100 | } cbd_t; | ||
101 | |||
102 | #define BD_SC_EMPTY ((ushort)0x8000) /* Receive is empty */ | ||
103 | #define BD_SC_READY ((ushort)0x8000) /* Transmit is ready */ | ||
104 | #define BD_SC_WRAP ((ushort)0x2000) /* Last buffer descriptor */ | ||
105 | #define BD_SC_INTRPT ((ushort)0x1000) /* Interrupt on change */ | ||
106 | #define BD_SC_LAST ((ushort)0x0800) /* Last buffer in frame */ | ||
107 | #define BD_SC_TC ((ushort)0x0400) /* Transmit CRC */ | ||
108 | #define BD_SC_CM ((ushort)0x0200) /* Continous mode */ | ||
109 | #define BD_SC_ID ((ushort)0x0100) /* Rec'd too many idles */ | ||
110 | #define BD_SC_P ((ushort)0x0100) /* xmt preamble */ | ||
111 | #define BD_SC_BR ((ushort)0x0020) /* Break received */ | ||
112 | #define BD_SC_FR ((ushort)0x0010) /* Framing error */ | ||
113 | #define BD_SC_PR ((ushort)0x0008) /* Parity error */ | ||
114 | #define BD_SC_NAK ((ushort)0x0004) /* NAK - did not respond */ | ||
115 | #define BD_SC_OV ((ushort)0x0002) /* Overrun */ | ||
116 | #define BD_SC_UN ((ushort)0x0002) /* Underrun */ | ||
117 | #define BD_SC_CD ((ushort)0x0001) /* ?? */ | ||
118 | #define BD_SC_CL ((ushort)0x0001) /* Collision */ | ||
119 | |||
120 | /* Parameter RAM offsets. | 94 | /* Parameter RAM offsets. |
121 | */ | 95 | */ |
122 | #define PROFF_SCC1 ((uint)0x0000) | 96 | #define PROFF_SCC1 ((uint)0x0000) |
@@ -446,41 +420,6 @@ typedef struct scc_enet { | |||
446 | #define SCC_PSMR_NIB22 ((ushort)0x000a) /* Start frame search */ | 420 | #define SCC_PSMR_NIB22 ((ushort)0x000a) /* Start frame search */ |
447 | #define SCC_PSMR_FDE ((ushort)0x0001) /* Full duplex enable */ | 421 | #define SCC_PSMR_FDE ((ushort)0x0001) /* Full duplex enable */ |
448 | 422 | ||
449 | /* Buffer descriptor control/status used by Ethernet receive. | ||
450 | */ | ||
451 | #define BD_ENET_RX_EMPTY ((ushort)0x8000) | ||
452 | #define BD_ENET_RX_WRAP ((ushort)0x2000) | ||
453 | #define BD_ENET_RX_INTR ((ushort)0x1000) | ||
454 | #define BD_ENET_RX_LAST ((ushort)0x0800) | ||
455 | #define BD_ENET_RX_FIRST ((ushort)0x0400) | ||
456 | #define BD_ENET_RX_MISS ((ushort)0x0100) | ||
457 | #define BD_ENET_RX_LG ((ushort)0x0020) | ||
458 | #define BD_ENET_RX_NO ((ushort)0x0010) | ||
459 | #define BD_ENET_RX_SH ((ushort)0x0008) | ||
460 | #define BD_ENET_RX_CR ((ushort)0x0004) | ||
461 | #define BD_ENET_RX_OV ((ushort)0x0002) | ||
462 | #define BD_ENET_RX_CL ((ushort)0x0001) | ||
463 | #define BD_ENET_RX_BC ((ushort)0x0080) /* DA is Broadcast */ | ||
464 | #define BD_ENET_RX_MC ((ushort)0x0040) /* DA is Multicast */ | ||
465 | #define BD_ENET_RX_STATS ((ushort)0x013f) /* All status bits */ | ||
466 | |||
467 | /* Buffer descriptor control/status used by Ethernet transmit. | ||
468 | */ | ||
469 | #define BD_ENET_TX_READY ((ushort)0x8000) | ||
470 | #define BD_ENET_TX_PAD ((ushort)0x4000) | ||
471 | #define BD_ENET_TX_WRAP ((ushort)0x2000) | ||
472 | #define BD_ENET_TX_INTR ((ushort)0x1000) | ||
473 | #define BD_ENET_TX_LAST ((ushort)0x0800) | ||
474 | #define BD_ENET_TX_TC ((ushort)0x0400) | ||
475 | #define BD_ENET_TX_DEF ((ushort)0x0200) | ||
476 | #define BD_ENET_TX_HB ((ushort)0x0100) | ||
477 | #define BD_ENET_TX_LC ((ushort)0x0080) | ||
478 | #define BD_ENET_TX_RL ((ushort)0x0040) | ||
479 | #define BD_ENET_TX_RCMASK ((ushort)0x003c) | ||
480 | #define BD_ENET_TX_UN ((ushort)0x0002) | ||
481 | #define BD_ENET_TX_CSL ((ushort)0x0001) | ||
482 | #define BD_ENET_TX_STATS ((ushort)0x03ff) /* All status bits */ | ||
483 | |||
484 | /* SCC as UART | 423 | /* SCC as UART |
485 | */ | 424 | */ |
486 | typedef struct scc_uart { | 425 | typedef struct scc_uart { |
@@ -549,8 +488,6 @@ typedef struct scc_trans { | |||
549 | uint st_cmask; /* Constant mask for CRC */ | 488 | uint st_cmask; /* Constant mask for CRC */ |
550 | } scc_trans_t; | 489 | } scc_trans_t; |
551 | 490 | ||
552 | #define BD_SCC_TX_LAST ((ushort)0x0800) | ||
553 | |||
554 | /* IIC parameter RAM. | 491 | /* IIC parameter RAM. |
555 | */ | 492 | */ |
556 | typedef struct iic { | 493 | typedef struct iic { |
@@ -574,8 +511,6 @@ typedef struct iic { | |||
574 | char res2[2]; /* Reserved */ | 511 | char res2[2]; /* Reserved */ |
575 | } iic_t; | 512 | } iic_t; |
576 | 513 | ||
577 | #define BD_IIC_START ((ushort)0x0400) | ||
578 | |||
579 | /* SPI parameter RAM. | 514 | /* SPI parameter RAM. |
580 | */ | 515 | */ |
581 | typedef struct spi { | 516 | typedef struct spi { |
diff --git a/include/asm-powerpc/cpm2.h b/include/asm-powerpc/cpm2.h index f1112c15ef96..b93a53eb55c1 100644 --- a/include/asm-powerpc/cpm2.h +++ b/include/asm-powerpc/cpm2.h | |||
@@ -132,29 +132,6 @@ extern void cpm_setbrg(uint brg, uint rate); | |||
132 | extern void cpm2_fastbrg(uint brg, uint rate, int div16); | 132 | extern void cpm2_fastbrg(uint brg, uint rate, int div16); |
133 | extern void cpm2_reset(void); | 133 | extern void cpm2_reset(void); |
134 | 134 | ||
135 | |||
136 | /* Buffer descriptors used by many of the CPM protocols. | ||
137 | */ | ||
138 | typedef struct cpm_buf_desc { | ||
139 | ushort cbd_sc; /* Status and Control */ | ||
140 | ushort cbd_datlen; /* Data length in buffer */ | ||
141 | uint cbd_bufaddr; /* Buffer address in host memory */ | ||
142 | } cbd_t; | ||
143 | |||
144 | #define BD_SC_EMPTY ((ushort)0x8000) /* Receive is empty */ | ||
145 | #define BD_SC_READY ((ushort)0x8000) /* Transmit is ready */ | ||
146 | #define BD_SC_WRAP ((ushort)0x2000) /* Last buffer descriptor */ | ||
147 | #define BD_SC_INTRPT ((ushort)0x1000) /* Interrupt on change */ | ||
148 | #define BD_SC_LAST ((ushort)0x0800) /* Last buffer in frame */ | ||
149 | #define BD_SC_CM ((ushort)0x0200) /* Continous mode */ | ||
150 | #define BD_SC_ID ((ushort)0x0100) /* Rec'd too many idles */ | ||
151 | #define BD_SC_P ((ushort)0x0100) /* xmt preamble */ | ||
152 | #define BD_SC_BR ((ushort)0x0020) /* Break received */ | ||
153 | #define BD_SC_FR ((ushort)0x0010) /* Framing error */ | ||
154 | #define BD_SC_PR ((ushort)0x0008) /* Parity error */ | ||
155 | #define BD_SC_OV ((ushort)0x0002) /* Overrun */ | ||
156 | #define BD_SC_CD ((ushort)0x0001) /* ?? */ | ||
157 | |||
158 | /* Function code bits, usually generic to devices. | 135 | /* Function code bits, usually generic to devices. |
159 | */ | 136 | */ |
160 | #define CPMFCR_GBL ((u_char)0x20) /* Set memory snooping */ | 137 | #define CPMFCR_GBL ((u_char)0x20) /* Set memory snooping */ |
@@ -456,43 +433,6 @@ typedef struct scc_enet { | |||
456 | #define SCC_PSMR_NIB22 ((ushort)0x000a) /* Start frame search */ | 433 | #define SCC_PSMR_NIB22 ((ushort)0x000a) /* Start frame search */ |
457 | #define SCC_PSMR_FDE ((ushort)0x0001) /* Full duplex enable */ | 434 | #define SCC_PSMR_FDE ((ushort)0x0001) /* Full duplex enable */ |
458 | 435 | ||
459 | /* Buffer descriptor control/status used by Ethernet receive. | ||
460 | * Common to SCC and FCC. | ||
461 | */ | ||
462 | #define BD_ENET_RX_EMPTY ((ushort)0x8000) | ||
463 | #define BD_ENET_RX_WRAP ((ushort)0x2000) | ||
464 | #define BD_ENET_RX_INTR ((ushort)0x1000) | ||
465 | #define BD_ENET_RX_LAST ((ushort)0x0800) | ||
466 | #define BD_ENET_RX_FIRST ((ushort)0x0400) | ||
467 | #define BD_ENET_RX_MISS ((ushort)0x0100) | ||
468 | #define BD_ENET_RX_BC ((ushort)0x0080) /* FCC Only */ | ||
469 | #define BD_ENET_RX_MC ((ushort)0x0040) /* FCC Only */ | ||
470 | #define BD_ENET_RX_LG ((ushort)0x0020) | ||
471 | #define BD_ENET_RX_NO ((ushort)0x0010) | ||
472 | #define BD_ENET_RX_SH ((ushort)0x0008) | ||
473 | #define BD_ENET_RX_CR ((ushort)0x0004) | ||
474 | #define BD_ENET_RX_OV ((ushort)0x0002) | ||
475 | #define BD_ENET_RX_CL ((ushort)0x0001) | ||
476 | #define BD_ENET_RX_STATS ((ushort)0x01ff) /* All status bits */ | ||
477 | |||
478 | /* Buffer descriptor control/status used by Ethernet transmit. | ||
479 | * Common to SCC and FCC. | ||
480 | */ | ||
481 | #define BD_ENET_TX_READY ((ushort)0x8000) | ||
482 | #define BD_ENET_TX_PAD ((ushort)0x4000) | ||
483 | #define BD_ENET_TX_WRAP ((ushort)0x2000) | ||
484 | #define BD_ENET_TX_INTR ((ushort)0x1000) | ||
485 | #define BD_ENET_TX_LAST ((ushort)0x0800) | ||
486 | #define BD_ENET_TX_TC ((ushort)0x0400) | ||
487 | #define BD_ENET_TX_DEF ((ushort)0x0200) | ||
488 | #define BD_ENET_TX_HB ((ushort)0x0100) | ||
489 | #define BD_ENET_TX_LC ((ushort)0x0080) | ||
490 | #define BD_ENET_TX_RL ((ushort)0x0040) | ||
491 | #define BD_ENET_TX_RCMASK ((ushort)0x003c) | ||
492 | #define BD_ENET_TX_UN ((ushort)0x0002) | ||
493 | #define BD_ENET_TX_CSL ((ushort)0x0001) | ||
494 | #define BD_ENET_TX_STATS ((ushort)0x03ff) /* All status bits */ | ||
495 | |||
496 | /* SCC as UART | 436 | /* SCC as UART |
497 | */ | 437 | */ |
498 | typedef struct scc_uart { | 438 | typedef struct scc_uart { |
@@ -562,8 +502,6 @@ typedef struct scc_trans { | |||
562 | uint st_cmask; /* Constant mask for CRC */ | 502 | uint st_cmask; /* Constant mask for CRC */ |
563 | } scc_trans_t; | 503 | } scc_trans_t; |
564 | 504 | ||
565 | #define BD_SCC_TX_LAST ((ushort)0x0800) | ||
566 | |||
567 | /* How about some FCCs..... | 505 | /* How about some FCCs..... |
568 | */ | 506 | */ |
569 | #define FCC_GFMR_DIAG_NORM ((uint)0x00000000) | 507 | #define FCC_GFMR_DIAG_NORM ((uint)0x00000000) |
@@ -769,8 +707,6 @@ typedef struct spi { | |||
769 | 707 | ||
770 | #define SPI_EB ((u_char)0x10) /* big endian byte order */ | 708 | #define SPI_EB ((u_char)0x10) /* big endian byte order */ |
771 | 709 | ||
772 | #define BD_IIC_START ((ushort)0x0400) | ||
773 | |||
774 | /* IDMA parameter RAM | 710 | /* IDMA parameter RAM |
775 | */ | 711 | */ |
776 | typedef struct idma { | 712 | typedef struct idma { |