OpenOCD
efinix.c File Reference
Include dependency graph for efinix.c:

Go to the source code of this file.

Data Structures

struct  efinix_device
 
struct  efinix_pld_device
 

Macros

#define ENTERUSER   0x7
 
#define PROGRAM   0x4
 
#define RUNTEST_FINISH_CYCLES   100
 
#define RUNTEST_START_CYCLES   100
 
#define TRAILING_ZEROS   4000
 
#define USER1   0x8
 
#define USER2   0x9
 
#define USER3   0xa
 
#define USER4   0xb
 

Enumerations

enum  efinix_family_e { EFINIX_TRION , EFINIX_TITANIUM , EFINIX_UNKNOWN }
 

Functions

static int efinix_get_ipdbg_hub (int user_num, struct pld_device *pld_device, struct pld_ipdbg_hub *hub)
 
static int efinix_get_jtagspi_userircode (struct pld_device *pld_device, unsigned int *ir)
 
static int efinix_load (struct pld_device *pld_device, const char *filename)
 
static int efinix_read_bit_file (struct raw_bit_file *bit_file, const char *filename)
 
static int efinix_read_file (struct raw_bit_file *bit_file, const char *filename)
 
static int efinix_set_instr (struct jtag_tap *tap, uint8_t new_instr)
 
 PLD_CREATE_COMMAND_HANDLER (efinix_pld_create_command)
 

Variables

struct pld_driver efinix_pld
 

Macro Definition Documentation

◆ ENTERUSER

#define ENTERUSER   0x7

Definition at line 18 of file efinix.c.

◆ PROGRAM

#define PROGRAM   0x4

Definition at line 17 of file efinix.c.

◆ RUNTEST_FINISH_CYCLES

#define RUNTEST_FINISH_CYCLES   100

Definition at line 32 of file efinix.c.

◆ RUNTEST_START_CYCLES

#define RUNTEST_START_CYCLES   100

Definition at line 31 of file efinix.c.

◆ TRAILING_ZEROS

#define TRAILING_ZEROS   4000

Definition at line 30 of file efinix.c.

◆ USER1

#define USER1   0x8

Definition at line 19 of file efinix.c.

◆ USER2

#define USER2   0x9

Definition at line 20 of file efinix.c.

◆ USER3

#define USER3   0xa

Definition at line 21 of file efinix.c.

◆ USER4

#define USER4   0xb

Definition at line 22 of file efinix.c.

Enumeration Type Documentation

◆ efinix_family_e

Enumerator
EFINIX_TRION 
EFINIX_TITANIUM 
EFINIX_UNKNOWN 

Definition at line 24 of file efinix.c.

Function Documentation

◆ efinix_get_ipdbg_hub()

static int efinix_get_ipdbg_hub ( int  user_num,
struct pld_device pld_device,
struct pld_ipdbg_hub hub 
)
static

◆ efinix_get_jtagspi_userircode()

static int efinix_get_jtagspi_userircode ( struct pld_device pld_device,
unsigned int *  ir 
)
static

Definition at line 252 of file efinix.c.

References ERROR_OK, and USER1.

◆ efinix_load()

◆ efinix_read_bit_file()

static int efinix_read_bit_file ( struct raw_bit_file bit_file,
const char *  filename 
)
static

◆ efinix_read_file()

static int efinix_read_file ( struct raw_bit_file bit_file,
const char *  filename 
)
static

◆ efinix_set_instr()

static int efinix_set_instr ( struct jtag_tap tap,
uint8_t  new_instr 
)
static

◆ PLD_CREATE_COMMAND_HANDLER()

PLD_CREATE_COMMAND_HANDLER ( efinix_pld_create_command  )

Definition at line 258 of file efinix.c.

Variable Documentation

◆ efinix_pld

struct pld_driver efinix_pld
Initial value:
= {
.name = "efinix",
.pld_create_command = &efinix_pld_create_command,
.load = &efinix_load,
.get_ipdbg_hub = efinix_get_ipdbg_hub,
.get_jtagspi_userircode = efinix_get_jtagspi_userircode,
}
static int efinix_load(struct pld_device *pld_device, const char *filename)
Definition: efinix.c:140
static int efinix_get_jtagspi_userircode(struct pld_device *pld_device, unsigned int *ir)
Definition: efinix.c:252
static int efinix_get_ipdbg_hub(int user_num, struct pld_device *pld_device, struct pld_ipdbg_hub *hub)
Definition: efinix.c:207

Definition at line 258 of file efinix.c.