pico-mdebug

mdebug firmware for pico / rp2040
git clone http://frotz.net/git/pico-mdebug.git
Log | Files | Refs | README

swd.h (1083B)


      1 // Copyright 2011-2021, Brian Swetland <swetland@frotz.net>
      2 // Licensed under the Apache License, Version 2.0.
      3 
      4 #ifndef _SWDP_H_
      5 #define _SWDP_H_
      6 
      7 void swd_init(void);
      8 void swd_reset(uint32_t kind);
      9 int swd_write(uint32_t reg, uint32_t val);
     10 int swd_read(uint32_t reg, uint32_t *val);
     11 
     12 unsigned swd_set_clock(unsigned khz);
     13 unsigned swo_set_clock(unsigned khz);
     14 void swd_hw_reset(int assert);
     15 
     16 void jtag_init(void);
     17 int jtag_io(unsigned count, unsigned tms, unsigned tdi, unsigned *tdo);
     18 
     19 // swdp_read/write() register codes
     20 
     21 // Park Stop Parity Addr3 Addr2 RnW APnDP Start
     22 
     23 #define RD_IDCODE   0b10100101
     24 #define RD_DPCTRL   0b10001101
     25 #define RD_RESEND   0b10010101
     26 #define RD_BUFFER   0b10111101
     27 
     28 #define WR_ABORT    0b10000001
     29 #define WR_DPCTRL   0b10101001
     30 #define WR_SELECT   0b10110001
     31 #define WR_BUFFER   0b10011001
     32 
     33 #define RD_AP0      0b10000111
     34 #define RD_AP1      0b10101111
     35 #define RD_AP2      0b10110111
     36 #define RD_AP3      0b10011111
     37 
     38 #define WR_AP0      0b10100011
     39 #define WR_AP1      0b10001011
     40 #define WR_AP2      0b10010011
     41 #define WR_AP3      0b10111011
     42 
     43 #endif
     44