X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fjtag%2Fhla%2Fhla_layout.h;h=9a991b65b8675dda82876771deacbd36ed4f6530;hp=3fd361eace5e2a5c84f900f87ec069a38069ed10;hb=1e6970dafdccfec388d1a816c2019f9c6b26e338;hpb=adb8ec32dc7439aa3e34ab19f026e390ec129c10 diff --git a/src/jtag/hla/hla_layout.h b/src/jtag/hla/hla_layout.h index 3fd361eace..9a991b65b8 100644 --- a/src/jtag/hla/hla_layout.h +++ b/src/jtag/hla/hla_layout.h @@ -18,7 +18,7 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * ***************************************************************************/ #ifndef _HL_LAYOUT_H @@ -35,43 +35,46 @@ extern struct hl_layout_api_s icdi_usb_layout_api; /** */ struct hl_layout_api_s { /** */ - int (*open) (struct hl_interface_param_s *param, void **fd); + int (*open) (struct hl_interface_param_s *param, void **handle); /** */ - int (*close) (void *fd); + int (*close) (void *handle); /** */ - int (*reset) (void *fd); + int (*reset) (void *handle); /** */ - int (*assert_srst) (void *fd, int srst); + int (*assert_srst) (void *handle, int srst); /** */ - int (*run) (void *fd); + int (*run) (void *handle); /** */ - int (*halt) (void *fd); + int (*halt) (void *handle); /** */ - int (*step) (void *fd); + int (*step) (void *handle); /** */ - int (*read_regs) (void *fd); + int (*read_regs) (void *handle); /** */ - int (*read_reg) (void *fd, int num, uint32_t *val); + int (*read_reg) (void *handle, int num, uint32_t *val); /** */ - int (*write_reg) (void *fd, int num, uint32_t val); + int (*write_reg) (void *handle, int num, uint32_t val); /** */ - int (*read_mem8) (void *handle, uint32_t addr, uint16_t len, - uint8_t *buffer); + int (*read_mem) (void *handle, uint32_t addr, uint32_t size, + uint32_t count, uint8_t *buffer); /** */ - int (*write_mem8) (void *handle, uint32_t addr, uint16_t len, - const uint8_t *buffer); - /** */ - int (*read_mem32) (void *handle, uint32_t addr, uint16_t len, - uint8_t *buffer); - /** */ - int (*write_mem32) (void *handle, uint32_t addr, uint16_t len, - const uint8_t *buffer); + int (*write_mem) (void *handle, uint32_t addr, uint32_t size, + uint32_t count, const uint8_t *buffer); /** */ int (*write_debug_reg) (void *handle, uint32_t addr, uint32_t val); - /** */ - int (*idcode) (void *fd, uint32_t *idcode); - /** */ - enum target_state (*state) (void *fd); + /** + * Read the idcode of the target connected to the adapter + * + * If the adapter doesn't support idcode retrieval, this callback should + * store 0 to indicate a wildcard match. + * + * @param handle A pointer to the device-specific handle + * @param idcode Storage for the detected idcode + * @returns ERROR_OK on success, or an error code on failure. + */ + int (*idcode) (void *handle, uint32_t *idcode); + /** */ + enum target_state (*state) (void *handle); }; /** */