aboutsummaryrefslogtreecommitdiff
path: root/src/adiv5.c
diff options
context:
space:
mode:
authorGareth McMullin2012-06-26 21:02:11 +1200
committerGareth McMullin2012-06-26 21:02:11 +1200
commit4581da20342c459855a4b585e72746df56e22e26 (patch)
tree410c9ab34aee3cd9d0f15be56889cca55c21084f /src/adiv5.c
parent29b9e103fb4847c0ee908aa764fef609aa25ad39 (diff)
Added option byte programming commands for STM32F1.
Diffstat (limited to 'src/adiv5.c')
-rw-r--r--src/adiv5.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/adiv5.c b/src/adiv5.c
index a37afa1..22b9965 100644
--- a/src/adiv5.c
+++ b/src/adiv5.c
@@ -260,6 +260,17 @@ void adiv5_ap_mem_write(ADIv5_AP_t *ap, uint32_t addr, uint32_t value)
adiv5_ap_write(ap, ADIV5_AP_DRW, value);
}
+void adiv5_ap_mem_write_halfword(ADIv5_AP_t *ap, uint32_t addr, uint16_t value)
+{
+ uint32_t v = value;
+ if (addr & 2)
+ v <<= 16;
+
+ adiv5_ap_write(ap, ADIV5_AP_CSW, 0xA2000051);
+ adiv5_ap_write(ap, ADIV5_AP_TAR, addr);
+ adiv5_ap_write(ap, ADIV5_AP_DRW, v);
+}
+
void adiv5_ap_write(ADIv5_AP_t *ap, uint8_t addr, uint32_t value)
{
adiv5_dp_write(ap->dp, ADIV5_DP_SELECT,