1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 /***************************************************************************
4 * Copyright (C) 2022 by Daniel Anselmi *
6 ***************************************************************************/
8 #ifndef OPENOCD_PLD_ECP2_3_H
9 #define OPENOCD_PLD_ECP2_3_H
13 int lattice_ecp2_3_read_status(struct jtag_tap
*tap
, uint32_t *status
, uint32_t out
, bool do_idle
);
14 int lattice_ecp2_3_read_usercode(struct jtag_tap
*tap
, uint32_t *usercode
, uint32_t out
);
15 int lattice_ecp2_3_write_usercode(struct lattice_pld_device
*lattice_device
, uint32_t usercode
);
16 int lattice_ecp2_load(struct lattice_pld_device
*lattice_device
, struct lattice_bit_file
*bit_file
);
17 int lattice_ecp3_load(struct lattice_pld_device
*lattice_device
, struct lattice_bit_file
*bit_file
);
18 int lattice_ecp2_3_connect_spi_to_jtag(struct lattice_pld_device
*pld_device_info
);
19 int lattice_ecp2_3_disconnect_spi_from_jtag(struct lattice_pld_device
*pld_device_info
);
20 int lattice_ecp2_3_get_facing_read_bits(struct lattice_pld_device
*pld_device_info
, unsigned int *facing_read_bits
);
21 int lattice_ecp2_3_refresh(struct lattice_pld_device
*lattice_device
);
23 #endif /* OPENOCD_PLD_ECP2_3_H */