X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ccdbg.h;h=32283c0d8e09527c74f6df6814555d3538c34d67;hp=8f937bd431e618c89dc649e6ad3f5100008422ee;hb=01cb2799875e086ee6096627c058ee235bbc33d5;hpb=0ffe4ef870b0e564789a1990aeab5b6651868e5b diff --git a/ccdbg.h b/ccdbg.h index 8f937bd4..32283c0d 100644 --- a/ccdbg.h +++ b/ccdbg.h @@ -26,8 +26,10 @@ #include #include #include +#include #include #include +#include #include #define CC_DATA CP2101_GPIO_MASK(0) @@ -35,7 +37,7 @@ #define CC_RESET_N CP2101_GPIO_MASK(2) /* painfully slow for now */ -#define CC_CLOCK_US (2 * 1000) +#define CC_CLOCK_US (1000 * 1000) struct ccdbg { int fd; @@ -77,4 +79,51 @@ struct ccdbg { #define CC_STEP_REPLACE (0x64|(n)) #define CC_GET_CHIP_ID 0x68 +/* ccdbg-command.c */ +void +ccdbg_reset(struct ccdbg *dbg); + +uint8_t +ccdbg_read_status(struct ccdbg *dbg); + +uint8_t +ccdbg_rd_config(struct ccdbg *dbg); + +/* ccdbg-io.c */ +void +ccdbg_quarter_clock(struct ccdbg *dbg); + +struct ccdbg * +ccdbg_open(char *file); + +void +ccdbg_close(struct ccdbg *dbg); + +void +ccdbg_clock_1_0(struct ccdbg *dbg); + +void +ccdbg_clock_0_1(struct ccdbg *dbg); + +void +ccdbg_write_bit(struct ccdbg *dbg, uint8_t bit); + +void +ccdbg_write_byte(struct ccdbg *dbg, uint8_t byte); + +uint8_t +ccdbg_read_bit(struct ccdbg *dbg); + +uint8_t +ccdbg_read_byte(struct ccdbg *dbg); + +void +ccdbg_cmd_write(struct ccdbg *dbg, uint8_t cmd, uint8_t *data, int len); + +uint8_t +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); + #endif /* _CCDBG_H_ */