diff options
| author | Keith Packard <keithp@keithp.com> | 2012-11-30 15:10:59 -0800 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2012-11-30 15:10:59 -0800 | 
| commit | 0fa9ce23dd63846337872d6d666a469512614d07 (patch) | |
| tree | 751106e238d943ccd7921b7a973b490bd808d146 /src | |
| parent | cb01d968f21a171682e6358641edaf5eef815a66 (diff) | |
altos: Share cc1111 reset/debug-start code
These sequences are very similar, differing only in whether the dbg
clock line is toggled while holding reset low for a while.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/cc1111/ao_dbg.c | 28 | 
1 files changed, 8 insertions, 20 deletions
diff --git a/src/cc1111/ao_dbg.c b/src/cc1111/ao_dbg.c index fd1fdabf..4e534697 100644 --- a/src/cc1111/ao_dbg.c +++ b/src/cc1111/ao_dbg.c @@ -201,43 +201,31 @@ ao_dbg_send_bits_delay(uint8_t msk, uint8_t val)  }  void -ao_dbg_debug_mode(void) +ao_dbg_do_reset(uint8_t clock_up)  {  	ao_dbg_set_pins();  	ao_dbg_send_bits_delay(DBG_CLOCK|DBG_DATA|DBG_RESET_N, DBG_CLOCK|DBG_DATA|DBG_RESET_N); -	ao_dbg_send_bits_delay(DBG_CLOCK|DBG_DATA|DBG_RESET_N,     0    |DBG_DATA|    0    ); +	ao_dbg_send_bits_delay(DBG_CLOCK|DBG_DATA|DBG_RESET_N, clock_up |DBG_DATA|    0    );  	ao_delay(AO_RESET_LOW_DELAY);  	ao_dbg_send_bits      (DBG_CLOCK|DBG_DATA|DBG_RESET_N, DBG_CLOCK|DBG_DATA|    0    ); -	ao_dbg_send_bits_delay(DBG_CLOCK|DBG_DATA|DBG_RESET_N,     0    |DBG_DATA|    0    ); +	ao_dbg_send_bits_delay(DBG_CLOCK|DBG_DATA|DBG_RESET_N, clock_up |DBG_DATA|    0    );  	ao_dbg_send_bits_delay(DBG_CLOCK|DBG_DATA|DBG_RESET_N, DBG_CLOCK|DBG_DATA|    0    ); -	ao_dbg_send_bits_delay(DBG_CLOCK|DBG_DATA|DBG_RESET_N,     0    |DBG_DATA|DBG_RESET_N); -	ao_delay(AO_RESET_HIGH_DELAY); -} - -void -ao_dbg_reset(void) -{ -	ao_dbg_set_pins(); -	ao_dbg_send_bits_delay(DBG_CLOCK|DBG_DATA|DBG_RESET_N, DBG_CLOCK|DBG_DATA|DBG_RESET_N); -	ao_dbg_send_bits_delay(DBG_CLOCK|DBG_DATA|DBG_RESET_N, DBG_CLOCK|DBG_DATA|    0    ); -	ao_delay(AO_RESET_LOW_DELAY); -	ao_dbg_send_bits      (DBG_CLOCK|DBG_DATA|DBG_RESET_N, DBG_CLOCK|DBG_DATA|    0    ); -	ao_dbg_send_bits_delay(DBG_CLOCK|DBG_DATA|DBG_RESET_N, DBG_CLOCK|DBG_DATA|    0    ); -	ao_dbg_send_bits_delay(DBG_CLOCK|DBG_DATA|DBG_RESET_N, DBG_CLOCK|DBG_DATA|    0    ); -	ao_dbg_send_bits_delay(DBG_CLOCK|DBG_DATA|DBG_RESET_N, DBG_CLOCK|DBG_DATA|DBG_RESET_N); +	ao_dbg_send_bits_delay(DBG_CLOCK|DBG_DATA|DBG_RESET_N, clock_up |DBG_DATA|DBG_RESET_N);  	ao_delay(AO_RESET_HIGH_DELAY);  }  static void  debug_enable(void)  { -	ao_dbg_debug_mode(); +	/* toggle clock line while holding reset low */ +	ao_dbg_do_reset(0);  }  static void  debug_reset(void)  { -	ao_dbg_reset(); +	/* hold clock high while holding reset low */ +	ao_dbg_do_reset(DBG_CLOCK);  }  static void  | 
