mirror of
https://xff.cz/git/u-boot/
synced 2025-11-02 03:17:29 +01:00
* Patch by Steven Scholz, 10 Oct 2003
- Add support for Altera FPGA ACEX1K
* Patches by Thomas Lange, 09 Oct 2003:
- Endian swap ATA identity for all big endian CPUs, not just PPC
- MIPS only: New option CONFIG_MEMSIZE_IN_BYTES for passing memsize
args to linux
- add support for dbau1x00 board (MIPS32)
This commit is contained in:
@@ -28,46 +28,63 @@
|
||||
#define _ALTERA_H_
|
||||
|
||||
/*
|
||||
* Note that this is just Altera FPGA interface boilerplate.
|
||||
* There is no support for Altera devices yet.
|
||||
*
|
||||
* See include/xilinx.h for a working example.
|
||||
* See include/xilinx.h for another working example.
|
||||
*/
|
||||
|
||||
/* In your board's config.h file you should define CONFIG_FPGA as such:
|
||||
* #define CONFIG_FPGA (CFG_ALTERA_xxx | CFG_ALTERA_IF_xxx )
|
||||
*/
|
||||
/* Altera Model definitions
|
||||
*********************************************************************/
|
||||
#define CFG_ACEX1K CFG_FPGA_DEV( 0x1 )
|
||||
|
||||
/* Altera Model definitions */
|
||||
#define CFG_ALTERA_xxxx ( CFG_FPGA_ALTERA | CFG_FPGA_DEV( 0x1 ))
|
||||
#define CFG_ALTERA_ACEX1K (CFG_FPGA_ALTERA | CFG_ACEX1K)
|
||||
/* Add new models here */
|
||||
|
||||
/* Altera Interface definitions */
|
||||
#define CFG_ALTERA_IF_xxx CFG_FPGA_IF( 0x1 )
|
||||
/* Altera Interface definitions
|
||||
*********************************************************************/
|
||||
#define CFG_ALTERA_IF_PS CFG_FPGA_IF( 0x1 ) /* passive serial */
|
||||
/* Add new interfaces here */
|
||||
|
||||
typedef enum { /* typedef Altera_iface */
|
||||
min_altera_iface_type, /* insert all new types after this */
|
||||
/* Add new interfaces here */
|
||||
max_altera_iface_type /* insert all new types before this */
|
||||
} Altera_iface; /* end, typedef Altera_iface */
|
||||
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 ) */
|
||||
max_altera_iface_type /* insert all new types before this */
|
||||
} Altera_iface; /* end, typedef Altera_iface */
|
||||
|
||||
typedef enum { /* typedef Altera_Family */
|
||||
min_altera_type, /* insert all new types after this */
|
||||
typedef enum { /* typedef Altera_Family */
|
||||
min_altera_type, /* insert all new types after this */
|
||||
Altera_ACEX1K, /* ACEX1K Family */
|
||||
/* Add new models here */
|
||||
max_altera_type /* insert all new types before this */
|
||||
} Altera_Family; /* end, typedef Altera_Family */
|
||||
max_altera_type /* insert all new types before this */
|
||||
} Altera_Family; /* end, typedef Altera_Family */
|
||||
|
||||
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 * base; /* base interface address */
|
||||
} Altera_desc; /* end, typedef Altera_desc */
|
||||
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 */
|
||||
|
||||
/* Generic Altera Functions
|
||||
*********************************************************************/
|
||||
extern int altera_load( Altera_desc *desc, void *image, size_t size );
|
||||
extern int altera_dump( Altera_desc *desc, void *buf, size_t bsize );
|
||||
extern int altera_info( Altera_desc *desc );
|
||||
extern int altera_reloc( Altera_desc *desc, ulong reloc_off );
|
||||
extern int altera_reloc( Altera_desc *desc, ulong reloc_offset );
|
||||
|
||||
#endif /* _ALTERA_H_ */
|
||||
/* Board specific implementation specific function types
|
||||
*********************************************************************/
|
||||
typedef int (*Altera_pre_fn)( int cookie );
|
||||
typedef int (*Altera_config_fn)( int assert_config, int flush, int cookie );
|
||||
typedef int (*Altera_status_fn)( int cookie );
|
||||
typedef int (*Altera_done_fn)( int cookie );
|
||||
typedef int (*Altera_clk_fn)( int assert_clk, int flush, int cookie );
|
||||
typedef int (*Altera_data_fn)( int assert_data, int flush, int cookie );
|
||||
typedef int (*Altera_abort_fn)( int cookie );
|
||||
typedef int (*Altera_post_fn)( int cookie );
|
||||
|
||||
#endif /* _ALTERA_H_ */
|
||||
|
||||
Reference in New Issue
Block a user