source: Sophya/trunk/Poubelle/archediab.old/archediab.sources/h/carte_pci.h@ 651

Last change on this file since 651 was 637, checked in by ansari, 26 years ago

archediab version 24 initial import

File size: 1.6 KB
RevLine 
[637]1/*
2 * Interface de contrôle de la carte PCI
3 */
4
5/* type des pointeurs pour le bus PCI */
6typedef unsigned long * pointeur_PCI;
7
8/* adresse de base de la carte PCI, dans le fichier choix_acqui */
9//#define Adresse_base_PCI 0x81000000
10
11/* pointeurs sur les différents ports de la carte */
12static pointeur_PCI fifo_p = (pointeur_PCI) (Adresse_base_PCI + 0x00);
13static pointeur_PCI util_p = (pointeur_PCI) (Adresse_base_PCI + 0x00);
14static pointeur_PCI flags_p = (pointeur_PCI) (Adresse_base_PCI + 0x04);
15static pointeur_PCI reset_p = (pointeur_PCI) (Adresse_base_PCI + 0x08);
16static pointeur_PCI test_p = (pointeur_PCI) (Adresse_base_PCI + 0x0c);
17static pointeur_PCI set_util_p = (pointeur_PCI) (Adresse_base_PCI + 0x10);
18
19/* pseudo-fonctions pour contrôler la carte */
20#define read_fifo() (*fifo_p)
21#define write_util(x) (*util_p = (x))
22#define read_flags() (*flags_p)
23#define write_flags(x) (*flags_p = (x))
24#define reset_fifo() ((void) (*reset_p = 0))
25#define read_test() (*test_p)
26#define write_test(x) (*test_p = (x))
27#define set_util(x) (*set_util_p = (x))
28#define wait_read(p) {register unsigned long * q = (p);\
29 while (!(*q = read_fifo())) {}}
30#define fast_read(x) {while (!((x) = read_fifo())) {}}
31
32/* drapeaux */
33#define POS_FIRST_FLAG 19
34#define NB_FLAGS 7
35#define FLAG_FIFO_FULL 0x00080000
36#define FLAG_NFIFOEF 0x00100000
37#define FLAG_NFIFOHF 0x00200000
38#define FLAG_NFIFOFF 0x00400000
39#define FLAG_PLEIN0 0x00800000
40#define FLAG_PLEIN1 0x01000000
41#define FLAG_MULTIPLEX 0x02000000
42
43/* noms des drapeaux */
44static char *flag_name[NB_FLAGS] = {"Fifo_full", "nFifoef", "nFifohf",
45 "nFifoff", "Plein0", "Plein1", "Multiplex"};
Note: See TracBrowser for help on using the repository browser.