X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Ftarget%2Farm966e.h;h=b58f3a241337caf986b25d510b0d8741c4dd3ac9;hp=b98c022489e7dc653cfd160149316bc2b3cf819f;hb=1d4a09c2ef22dc10ec8a40183b8dd1b1102af20d;hpb=68c598e88d5e09728ea845a81ab279c615bbaf0f diff --git a/src/target/arm966e.h b/src/target/arm966e.h index b98c022489..b58f3a2413 100644 --- a/src/target/arm966e.h +++ b/src/target/arm966e.h @@ -23,22 +23,27 @@ #ifndef ARM966E_H #define ARM966E_H -#include "target.h" -#include "register.h" -#include "embeddedice.h" -#include "arm_jtag.h" #include "arm9tdmi.h" #define ARM966E_COMMON_MAGIC 0x20f920f9 -typedef struct arm966e_common_s +struct arm966e_common { + struct arm9tdmi_common arm9tdmi_common; int common_magic; - arm9tdmi_common_t arm9tdmi_common; - u32 cp15_control_reg; -} arm966e_common_t; + uint32_t cp15_control_reg; +}; -extern int arm966e_read_cp15(target_t *target, int reg_addr, u32 *value); -extern int arm966e_write_cp15(target_t *target, int reg_addr, u32 value); +static inline struct arm966e_common * +target_to_arm966(struct target *target) +{ + return container_of(target->arch_info, struct arm966e_common, + arm9tdmi_common.arm7_9_common.armv4_5_common); +} + +int arm966e_init_arch_info(struct target *target, + struct arm966e_common *arm966e, struct jtag_tap *tap); +int arm966e_register_commands(struct command_context *cmd_ctx); +int arm966e_write_cp15(struct target *target, int reg_addr, uint32_t value); #endif /* ARM966E_H */