pld: add support for lattice ecp2 and ecp3 devices
Change-Id: I29c227c37be464f7ecc97a30d9cf3da1442e2b7f Signed-off-by: Daniel Anselmi <danselmi@gmx.ch> Reviewed-on: https://review.openocd.org/c/openocd/+/7396 Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Tested-by: jenkins
This commit is contained in:
committed by
Antonio Borneo
parent
8670ad4caa
commit
d35faaa35c
32
src/pld/lattice.h
Normal file
32
src/pld/lattice.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2022 by Daniel Anselmi *
|
||||
* danselmi@gmx.ch *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef OPENOCD_PLD_LATTICE_H
|
||||
#define OPENOCD_PLD_LATTICE_H
|
||||
|
||||
#include <jtag/jtag.h>
|
||||
#include "pld.h"
|
||||
#include "lattice_bit.h"
|
||||
|
||||
#define BYPASS 0xFF
|
||||
|
||||
struct lattice_pld_device {
|
||||
struct jtag_tap *tap;
|
||||
size_t preload_length;
|
||||
enum lattice_family_e family;
|
||||
};
|
||||
|
||||
int lattice_set_instr(struct jtag_tap *tap, uint8_t new_instr, tap_state_t endstate);
|
||||
int lattice_read_u32_register(struct jtag_tap *tap, uint8_t cmd, uint32_t *in_val,
|
||||
uint32_t out_val, bool do_idle);
|
||||
int lattice_verify_usercode(struct lattice_pld_device *lattice_device, uint32_t out,
|
||||
uint32_t expected, uint32_t mask);
|
||||
int lattice_verify_status_register_u32(struct lattice_pld_device *lattice_device, uint32_t out,
|
||||
uint32_t expected, uint32_t mask, bool do_idle);
|
||||
int lattice_preload(struct lattice_pld_device *lattice_device);
|
||||
|
||||
#endif /* OPENOCD_PLD_LATTICE_H */
|
||||
Reference in New Issue
Block a user