cortex_a : multiple target on the same dap

This commit is contained in:
Michel JAOUEN 2011-04-12 18:24:50 +02:00 committed by Øyvind Harboe
parent a7844aa4e8
commit 28ddd16ddc
2 changed files with 12 additions and 0 deletions

View File

@ -164,6 +164,8 @@ struct jtag_tap {
struct jtag_tap_event_action *event_action; struct jtag_tap_event_action *event_action;
struct jtag_tap* next_tap; struct jtag_tap* next_tap;
/* dap instance if some null if no instance , initialized to 0 by calloc*/
struct adiv5_dap *dap;
}; };
void jtag_tap_init(struct jtag_tap *tap); void jtag_tap_init(struct jtag_tap *tap);

View File

@ -1959,6 +1959,11 @@ static int cortex_a8_init_arch_info(struct target *target,
/* Setup struct cortex_a8_common */ /* Setup struct cortex_a8_common */
cortex_a8->common_magic = CORTEX_A8_COMMON_MAGIC; cortex_a8->common_magic = CORTEX_A8_COMMON_MAGIC;
/* tap has no dap initialized */
if (!tap->dap)
{
armv7a->armv4_5_common.dap = dap;
/* Setup struct cortex_a8_common */
armv4_5->arch_info = armv7a; armv4_5->arch_info = armv7a;
/* prepare JTAG information for the new target */ /* prepare JTAG information for the new target */
@ -1971,6 +1976,11 @@ static int cortex_a8_init_arch_info(struct target *target,
/* Number of bits for tar autoincrement, impl. dep. at least 10 */ /* Number of bits for tar autoincrement, impl. dep. at least 10 */
dap->tar_autoincr_block = (1 << 10); dap->tar_autoincr_block = (1 << 10);
dap->memaccess_tck = 80;
tap->dap = dap;
}
else
armv7a->armv4_5_common.dap = tap->dap;
cortex_a8->fast_reg_read = 0; cortex_a8->fast_reg_read = 0;