1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 /***************************************************************************
4 * Copyright (C) 2022 by Daniel Anselmi *
6 ***************************************************************************/
8 #ifndef OPENOCD_PLD_ECP5_H
9 #define OPENOCD_PLD_ECP5_H
13 int lattice_ecp5_read_status(struct jtag_tap
*tap
, uint32_t *status
, uint32_t out
, bool do_idle
);
14 int lattice_ecp5_read_usercode(struct jtag_tap
*tap
, uint32_t *usercode
, uint32_t out
);
15 int lattice_ecp5_write_usercode(struct lattice_pld_device
*lattice_device
, uint32_t usercode
);
16 int lattice_ecp5_load(struct lattice_pld_device
*lattice_device
, struct lattice_bit_file
*bit_file
);
17 int lattice_ecp5_connect_spi_to_jtag(struct lattice_pld_device
*pld_device_info
);
18 int lattice_ecp5_disconnect_spi_from_jtag(struct lattice_pld_device
*pld_device_info
);
19 int lattice_ecp5_get_facing_read_bits(struct lattice_pld_device
*pld_device_info
, unsigned int *facing_read_bits
);
20 int lattice_ecp5_refresh(struct lattice_pld_device
*lattice_device
);
22 #endif /* OPENOCD_PLD_ECP5_H */