Removed useless abstraction of low-level AP access functions.
This commit is contained in:
parent
91815f2d23
commit
b8462dd1f2
15
src/adiv5.c
15
src/adiv5.c
|
@ -157,6 +157,21 @@ void adiv5_dp_init(ADIv5_DP_t *dp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void adiv5_dp_write_ap(ADIv5_DP_t *dp, uint8_t addr, uint32_t value)
|
||||||
|
{
|
||||||
|
adiv5_dp_low_access(dp, 1, 0, addr, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t adiv5_dp_read_ap(ADIv5_DP_t *dp, uint8_t addr)
|
||||||
|
{
|
||||||
|
uint32_t ret;
|
||||||
|
|
||||||
|
adiv5_dp_low_access(dp, 1, 1, addr, 0);
|
||||||
|
ret = adiv5_dp_low_access(dp, 0, 1, ADIV5_DP_RDBUFF, 0);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
ap_check_error(struct target_s *target)
|
ap_check_error(struct target_s *target)
|
||||||
|
|
|
@ -41,9 +41,6 @@
|
||||||
static void adiv5_jtagdp_write(ADIv5_DP_t *dp, uint8_t addr, uint32_t value);
|
static void adiv5_jtagdp_write(ADIv5_DP_t *dp, uint8_t addr, uint32_t value);
|
||||||
static uint32_t adiv5_jtagdp_read(ADIv5_DP_t *dp, uint8_t addr);
|
static uint32_t adiv5_jtagdp_read(ADIv5_DP_t *dp, uint8_t addr);
|
||||||
|
|
||||||
static void adiv5_jtagdp_write_ap(ADIv5_DP_t *dp, uint8_t addr, uint32_t value);
|
|
||||||
static uint32_t adiv5_jtagdp_read_ap(ADIv5_DP_t *dp, uint8_t addr);
|
|
||||||
|
|
||||||
static uint32_t adiv5_jtagdp_error(ADIv5_DP_t *dp);
|
static uint32_t adiv5_jtagdp_error(ADIv5_DP_t *dp);
|
||||||
|
|
||||||
static uint32_t adiv5_jtagdp_low_access(ADIv5_DP_t *dp, uint8_t APnDP, uint8_t RnW,
|
static uint32_t adiv5_jtagdp_low_access(ADIv5_DP_t *dp, uint8_t APnDP, uint8_t RnW,
|
||||||
|
@ -60,9 +57,6 @@ void adiv5_jtag_dp_handler(jtag_dev_t *dev)
|
||||||
dp->dp_write = adiv5_jtagdp_write;
|
dp->dp_write = adiv5_jtagdp_write;
|
||||||
dp->dp_read = adiv5_jtagdp_read;
|
dp->dp_read = adiv5_jtagdp_read;
|
||||||
|
|
||||||
dp->ap_write = adiv5_jtagdp_write_ap;
|
|
||||||
dp->ap_read = adiv5_jtagdp_read_ap;
|
|
||||||
|
|
||||||
dp->error = adiv5_jtagdp_error;
|
dp->error = adiv5_jtagdp_error;
|
||||||
|
|
||||||
dp->low_access = adiv5_jtagdp_low_access;
|
dp->low_access = adiv5_jtagdp_low_access;
|
||||||
|
@ -81,17 +75,6 @@ static uint32_t adiv5_jtagdp_read(ADIv5_DP_t *dp, uint8_t addr)
|
||||||
return adiv5_jtagdp_low_access(dp, 0, 1, ADIV5_DP_RDBUFF, 0);
|
return adiv5_jtagdp_low_access(dp, 0, 1, ADIV5_DP_RDBUFF, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void adiv5_jtagdp_write_ap(ADIv5_DP_t *dp, uint8_t addr, uint32_t value)
|
|
||||||
{
|
|
||||||
adiv5_jtagdp_low_access(dp, 1, 0, addr, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
static uint32_t adiv5_jtagdp_read_ap(ADIv5_DP_t *dp, uint8_t addr)
|
|
||||||
{
|
|
||||||
adiv5_jtagdp_low_access(dp, 1, 1, addr, 0);
|
|
||||||
return adiv5_jtagdp_low_access(dp, 0, 1, ADIV5_DP_RDBUFF, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
static uint32_t adiv5_jtagdp_error(ADIv5_DP_t *dp)
|
static uint32_t adiv5_jtagdp_error(ADIv5_DP_t *dp)
|
||||||
{
|
{
|
||||||
adiv5_jtagdp_low_access(dp, 0, 1, ADIV5_DP_CTRLSTAT, 0);
|
adiv5_jtagdp_low_access(dp, 0, 1, ADIV5_DP_CTRLSTAT, 0);
|
||||||
|
|
|
@ -39,9 +39,6 @@
|
||||||
static void adiv5_swdp_write(ADIv5_DP_t *dp, uint8_t addr, uint32_t value);
|
static void adiv5_swdp_write(ADIv5_DP_t *dp, uint8_t addr, uint32_t value);
|
||||||
static uint32_t adiv5_swdp_read(ADIv5_DP_t *dp, uint8_t addr);
|
static uint32_t adiv5_swdp_read(ADIv5_DP_t *dp, uint8_t addr);
|
||||||
|
|
||||||
static void adiv5_swdp_write_ap(ADIv5_DP_t *dp, uint8_t addr, uint32_t value);
|
|
||||||
static uint32_t adiv5_swdp_read_ap(ADIv5_DP_t *dp, uint8_t addr);
|
|
||||||
|
|
||||||
static uint32_t adiv5_swdp_error(ADIv5_DP_t *dp);
|
static uint32_t adiv5_swdp_error(ADIv5_DP_t *dp);
|
||||||
|
|
||||||
static uint32_t adiv5_swdp_low_access(ADIv5_DP_t *dp, uint8_t APnDP, uint8_t RnW,
|
static uint32_t adiv5_swdp_low_access(ADIv5_DP_t *dp, uint8_t APnDP, uint8_t RnW,
|
||||||
|
@ -74,8 +71,6 @@ int adiv5_swdp_scan(void)
|
||||||
|
|
||||||
dp->dp_write = adiv5_swdp_write;
|
dp->dp_write = adiv5_swdp_write;
|
||||||
dp->dp_read = adiv5_swdp_read;
|
dp->dp_read = adiv5_swdp_read;
|
||||||
dp->ap_write = adiv5_swdp_write_ap;
|
|
||||||
dp->ap_read = adiv5_swdp_read_ap;
|
|
||||||
dp->error = adiv5_swdp_error;
|
dp->error = adiv5_swdp_error;
|
||||||
dp->low_access = adiv5_swdp_low_access;
|
dp->low_access = adiv5_swdp_low_access;
|
||||||
|
|
||||||
|
@ -97,21 +92,6 @@ static uint32_t adiv5_swdp_read(ADIv5_DP_t *dp, uint8_t addr)
|
||||||
return adiv5_swdp_low_access(dp, 0, 1, addr, 0);
|
return adiv5_swdp_low_access(dp, 0, 1, addr, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void adiv5_swdp_write_ap(ADIv5_DP_t *dp, uint8_t addr, uint32_t value)
|
|
||||||
{
|
|
||||||
adiv5_swdp_low_access(dp, 1, 0, addr, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
static uint32_t adiv5_swdp_read_ap(ADIv5_DP_t *dp, uint8_t addr)
|
|
||||||
{
|
|
||||||
uint32_t ret;
|
|
||||||
|
|
||||||
adiv5_swdp_low_access(dp, 1, 1, addr, 0);
|
|
||||||
ret = adiv5_swdp_low_access(dp, 0, 1, ADIV5_DP_RDBUFF, 0);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static uint32_t adiv5_swdp_error(ADIv5_DP_t *dp)
|
static uint32_t adiv5_swdp_error(ADIv5_DP_t *dp)
|
||||||
{
|
{
|
||||||
uint32_t err, clr = 0;
|
uint32_t err, clr = 0;
|
||||||
|
|
|
@ -98,9 +98,6 @@ typedef struct ADIv5_DP_s {
|
||||||
void (*dp_write)(struct ADIv5_DP_s *dp, uint8_t addr, uint32_t value);
|
void (*dp_write)(struct ADIv5_DP_s *dp, uint8_t addr, uint32_t value);
|
||||||
uint32_t (*dp_read)(struct ADIv5_DP_s *dp, uint8_t addr);
|
uint32_t (*dp_read)(struct ADIv5_DP_s *dp, uint8_t addr);
|
||||||
|
|
||||||
void (*ap_write)(struct ADIv5_DP_s *dp, uint8_t addr, uint32_t value);
|
|
||||||
uint32_t (*ap_read)(struct ADIv5_DP_s *dp, uint8_t addr);
|
|
||||||
|
|
||||||
uint32_t (*error)(struct ADIv5_DP_s *dp);
|
uint32_t (*error)(struct ADIv5_DP_s *dp);
|
||||||
|
|
||||||
uint32_t (*low_access)(struct ADIv5_DP_s *dp, uint8_t APnDP, uint8_t RnW,
|
uint32_t (*low_access)(struct ADIv5_DP_s *dp, uint8_t APnDP, uint8_t RnW,
|
||||||
|
@ -122,16 +119,6 @@ static inline uint32_t adiv5_dp_read(ADIv5_DP_t *dp, uint8_t addr)
|
||||||
return dp->dp_read(dp, addr);
|
return dp->dp_read(dp, addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void adiv5_dp_write_ap(ADIv5_DP_t *dp, uint8_t addr, uint32_t value)
|
|
||||||
{
|
|
||||||
dp->ap_write(dp, addr, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline uint32_t adiv5_dp_read_ap(ADIv5_DP_t *dp, uint8_t addr)
|
|
||||||
{
|
|
||||||
return dp->ap_read(dp, addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline uint32_t adiv5_dp_error(ADIv5_DP_t *dp)
|
static inline uint32_t adiv5_dp_error(ADIv5_DP_t *dp)
|
||||||
{
|
{
|
||||||
return dp->error(dp);
|
return dp->error(dp);
|
||||||
|
@ -165,6 +152,9 @@ extern int adiv5_ap_count;
|
||||||
void adiv5_free_all(void);
|
void adiv5_free_all(void);
|
||||||
void adiv5_dp_init(ADIv5_DP_t *dp);
|
void adiv5_dp_init(ADIv5_DP_t *dp);
|
||||||
|
|
||||||
|
void adiv5_dp_write_ap(ADIv5_DP_t *dp, uint8_t addr, uint32_t value);
|
||||||
|
uint32_t adiv5_dp_read_ap(ADIv5_DP_t *dp, uint8_t addr);
|
||||||
|
|
||||||
uint32_t adiv5_ap_mem_read(ADIv5_AP_t *ap, uint32_t addr);
|
uint32_t adiv5_ap_mem_read(ADIv5_AP_t *ap, uint32_t addr);
|
||||||
void adiv5_ap_mem_write(ADIv5_AP_t *ap, uint32_t addr, uint32_t value);
|
void adiv5_ap_mem_write(ADIv5_AP_t *ap, uint32_t addr, uint32_t value);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue