X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ccdbg-command.c;h=f79d3621726a78ac36d996d79ae88c3fb39be83a;hp=3e42d48e2dd8066bd890c4e80482b75ef9d81845;hb=3709ec3205cfb152b6568f3ea505c67fe7504c2a;hpb=0ffe4ef870b0e564789a1990aeab5b6651868e5b diff --git a/ccdbg-command.c b/ccdbg-command.c index 3e42d48e..f79d3621 100644 --- a/ccdbg-command.c +++ b/ccdbg-command.c @@ -19,15 +19,23 @@ #include "ccdbg.h" void -ccdbg_reset(struct ccdbg *dbg) +ccdbg_debug_mode(struct ccdbg *dbg) { /* force two rising clocks while holding RESET_N low */ - ccdbg_clock_1_0(dbg); - cccp_write(dbg, CC_RESET_N, 0); - ccdbg_clock_0_1(dbg); - ccdbg_clock_1_0(dbg); - ccdbg_clock_0_1(dbg); - cccp_write(dbg, CC_RESET_N, CC_RESET_N); + ccdbg_half_clock(dbg); + ccdbg_write(dbg, CC_RESET_N|CC_CLOCK, 0); ccdbg_half_clock(dbg); + ccdbg_write(dbg, CC_CLOCK, CC_CLOCK); ccdbg_half_clock(dbg); + ccdbg_write(dbg, CC_CLOCK, 0); ccdbg_half_clock(dbg); + ccdbg_write(dbg, CC_CLOCK, CC_CLOCK); ccdbg_half_clock(dbg); + ccdbg_write(dbg, CC_RESET_N, CC_RESET_N); ccdbg_half_clock(dbg); +} + +void +ccdbg_reset(struct ccdbg *dbg) +{ + ccdbg_half_clock(dbg); + ccdbg_write(dbg, CC_RESET_N, 0); ccdbg_half_clock(dbg); + ccdbg_write(dbg, CC_RESET_N, CC_RESET_N); } uint8_t @@ -41,3 +49,10 @@ ccdbg_rd_config(struct ccdbg *dbg) { return ccdbg_cmd_write_read8(dbg, CC_RD_CONFIG, NULL, 0); } + +uint16_t +ccdbg_get_chip_id(struct ccdbg *dbg) +{ + return ccdbg_cmd_write_read16(dbg, CC_GET_CHIP_ID, NULL, 0); +} +