Plugins work again.
[goodfet] / firmware / include / chipcon.h
index 73906ab..deed945 100644 (file)
@@ -7,6 +7,8 @@
 
 //Chipcon command definitions.
 #define CCCMD_CHIP_ERASE 0x14
+
+//1D or 19?
 #define CCCMD_WR_CONFIG 0x1D
 #define CCCMD_RD_CONFIG 0x24
 #define CCCMD_READ_STATUS 0x34
@@ -17,6 +19,9 @@
 #define CCCMD_STEP_INSTR 0x5C
 #define CCCMD_DEBUG_INSTR 0x54
 
+//! Flash Word Size
+extern u8 flash_word_size;
+
 //! Erase a chipcon chip.
 void cc_chip_erase();
 //! Write the configuration byte.
@@ -37,6 +42,10 @@ void cc_debug_instr(unsigned char);
 unsigned char cc_peekcodebyte(unsigned long adr);
 //!Read a byte of data memory.
 unsigned char cc_peekdatabyte(unsigned int adr);
+//! Fetch a byte of IRAM.
+u8 cc_peekirambyte(u8 adr);
+//! Write a byte of IRAM.
+u8 cc_pokeirambyte(u8 adr, u8 val);
 //! Set a byte of data memory.
 unsigned char cc_pokedatabyte(unsigned int adr,
                              unsigned char val);
@@ -61,6 +70,8 @@ void cc_halt();
 void cc_resume();
 //! Step an instruction
 void cc_step_instr();
+//! Locks the chip.
+void cc_lockchip();
 
 #define CC_STATUS_ERASED 0x80
 #define CC_STATUS_PCONIDLE 0x40
@@ -94,3 +105,5 @@ void cc_step_instr();
 #define CC_READ_FLASH_PAGE 0x96
 #define CC_MASS_ERASE_FLASH 0x97
 #define CC_PROGRAM_FLASH 0x98
+#define CC_WIPEFLASHBUFFER 0x99
+#define CC_LOCKCHIP 0x9A