reduce clock to 50us
[fw/altos] / ccdbg.h
diff --git a/ccdbg.h b/ccdbg.h
index 8ccd477012ca6d7264a8f8810a4aa911e7825019..7d9940c30bb49b80312d323cf3b314ffac41aaf5 100644 (file)
--- a/ccdbg.h
+++ b/ccdbg.h
@@ -45,7 +45,7 @@
 
 
 /* painfully slow for now */
 
 
 /* painfully slow for now */
-#define CC_CLOCK_US    (100)
+#define CC_CLOCK_US    (50)
 
 struct ccdbg {
        usb_dev_handle  *usb_dev;
 
 struct ccdbg {
        usb_dev_handle  *usb_dev;
@@ -88,9 +88,12 @@ struct ccdbg {
 #define CC_RESUME              0x4c
 #define CC_DEBUG_INSTR(n)      (0x54|(n))
 #define CC_STEP_INSTR          0x5c
 #define CC_RESUME              0x4c
 #define CC_DEBUG_INSTR(n)      (0x54|(n))
 #define CC_STEP_INSTR          0x5c
-#define CC_STEP_REPLACE                (0x64|(n))
+#define CC_STEP_REPLACE(n)     (0x64|(n))
 #define CC_GET_CHIP_ID         0x68
 
 #define CC_GET_CHIP_ID         0x68
 
+#define CC_DEBUG_BITBANG       0x00000001
+#define CC_DEBUG_COMMAND       0x00000002
+
 /* ccdbg-command.c */
 void
 ccdbg_debug_mode(struct ccdbg *dbg);
 /* ccdbg-command.c */
 void
 ccdbg_debug_mode(struct ccdbg *dbg);
@@ -99,14 +102,53 @@ void
 ccdbg_reset(struct ccdbg *dbg);
 
 uint8_t
 ccdbg_reset(struct ccdbg *dbg);
 
 uint8_t
-ccdbg_read_status(struct ccdbg *dbg);
+ccdbg_chip_erase(struct ccdbg *dbg);
+
+uint8_t
+ccdbg_wr_config(struct ccdbg *dbg, uint8_t config);
 
 uint8_t
 ccdbg_rd_config(struct ccdbg *dbg);
 
 
 uint8_t
 ccdbg_rd_config(struct ccdbg *dbg);
 
+uint8_t
+ccdbg_get_pc(struct ccdbg *dbg);
+
+uint8_t
+ccdbg_read_status(struct ccdbg *dbg);
+
+uint8_t
+ccdbg_set_hw_brkpnt(struct ccdbg *dbg, uint8_t number, uint8_t enable, uint16_t addr);
+
+uint8_t
+ccdbg_halt(struct ccdbg *dbg);
+
+uint8_t
+ccdbg_resume(struct ccdbg *dbg);
+
+uint8_t
+ccdbg_debug_instr(struct ccdbg *dbg, uint8_t *instr, int nbytes);
+
+uint8_t
+ccdbg_step_instr(struct ccdbg *dbg);
+
+uint8_t
+ccdbg_step_replace(struct ccdbg *dbg, uint8_t *instr, int nbytes);
+
 uint16_t
 ccdbg_get_chip_id(struct ccdbg *dbg);
 
 uint16_t
 ccdbg_get_chip_id(struct ccdbg *dbg);
 
+
+       
+/* ccdbg-debug.c */
+void
+ccdbg_debug(int level, char *format, ...);
+
+void
+ccdbg_add_debug(int level);
+
+void
+ccdbg_clear_debug(int level);
+
 /* ccdbg-io.c */
 void
 ccdbg_quarter_clock(struct ccdbg *dbg);
 /* ccdbg-io.c */
 void
 ccdbg_quarter_clock(struct ccdbg *dbg);
@@ -153,6 +195,35 @@ ccdbg_cmd_write_read8(struct ccdbg *dbg, uint8_t cmd, uint8_t *data, int len);
 uint16_t
 ccdbg_cmd_write_read16(struct ccdbg *dbg, uint8_t cmd, uint8_t *data, int len);
 
 uint16_t
 ccdbg_cmd_write_read16(struct ccdbg *dbg, uint8_t cmd, uint8_t *data, int len);
 
+void
+ccdbg_send(struct ccdbg *dbg, uint8_t mask, uint8_t set);
+
+void
+ccdbg_send_bit(struct ccdbg *dbg, uint8_t bit);
+
+void
+ccdbg_send_byte(struct ccdbg *dbg, uint8_t byte);
+
+void
+ccdbg_send_bytes(struct ccdbg *dbg, uint8_t *bytes, int nbytes);
+
+uint8_t
+ccdbg_recv_bit(struct ccdbg *dbg, int first);
+
+uint8_t
+ccdbg_recv_byte(struct ccdbg *dbg, int first);
+
+void
+ccdbg_recv_bytes(struct ccdbg *dbg, uint8_t *bytes, int nbytes);
+
+void
+ccdbg_print(char *format, uint8_t mask, uint8_t set);
+
+/* ccdbg-manual.c */
+
+void
+ccdbg_manual(struct ccdbg *dbg, FILE *input);
+
 /* cp-usb.c */
 void
 cp_usb_init(struct ccdbg *dbg);
 /* cp-usb.c */
 void
 cp_usb_init(struct ccdbg *dbg);