@ -10,35 +10,57 @@
# ifndef _ALTERA_H_
# define _ALTERA_H_
typedef enum { /* typedef Altera_iface */
min_altera_iface_type , /* insert all new types after this */
passive_serial , /* serial data and external clock */
passive_parallel_synchronous , /* parallel data */
passive_parallel_asynchronous , /* parallel data */
passive_serial_asynchronous , /* serial data w/ internal clock (not used) */
altera_jtag_mode , /* jtag/tap serial (not used ) */
fast_passive_parallel , /* fast passive parallel (FPP) */
fast_passive_parallel_security , /* fast passive parallel with security (FPPS) */
max_altera_iface_type /* insert all new types before this */
} Altera_iface ; /* end, typedef Altera_iface */
enum altera_iface {
/* insert all new types after this */
min_altera_iface_type ,
/* serial data and external clock */
passive_serial ,
/* parallel data */
passive_parallel_synchronous ,
/* parallel data */
passive_parallel_asynchronous ,
/* serial data w/ internal clock (not used) */
passive_serial_asynchronous ,
/* jtag/tap serial (not used ) */
altera_jtag_mode ,
/* fast passive parallel (FPP) */
fast_passive_parallel ,
/* fast passive parallel with security (FPPS) */
fast_passive_parallel_security ,
/* insert all new types before this */
max_altera_iface_type ,
} ;
typedef enum { /* typedef Altera_Family */
min_altera_type , /* insert all new types after this */
Altera_ACEX1K , /* ACEX1K Family */
Altera_CYC2 , /* CYCLONII Family */
Altera_StratixII , /* StratixII Family */
/* Add new models here */
max_altera_type /* insert all new types before this */
} Altera_Family ; /* end, typedef Altera_Family */
enum altera_family {
/* insert all new types after this */
min_altera_type ,
/* ACEX1K Family */
Altera_ACEX1K ,
/* CYCLONII Family */
Altera_CYC2 ,
/* StratixII Family */
Altera_StratixII ,
typedef struct { /* typedef Altera_desc */
Altera_Family family ; /* part type */
Altera_iface iface ; /* interface type */
size_t size ; /* bytes of data part can accept */
void * iface_fns ; /* interface function table */
void * base ; /* base interface address */
int cookie ; /* implementation specific cookie */
} Altera_desc ; /* end, typedef Altera_desc */
/* Add new models here */
/* insert all new types before this */
max_altera_type ,
} ;
typedef struct {
/* part type */
enum altera_family family ;
/* interface type */
enum altera_iface iface ;
/* bytes of data part can accept */
size_t size ;
/* interface function table */
void * iface_fns ;
/* base interface address */
void * base ;
/* implementation specific cookie */
int cookie ;
} Altera_desc ;
/* Generic Altera Functions
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */