diff options
Diffstat (limited to 'openpcd/firmware')
-rw-r--r-- | openpcd/firmware/TODO | 27 | ||||
-rw-r--r-- | openpcd/firmware/include/sys/types.h | 14 | ||||
-rw-r--r-- | openpcd/firmware/src/flash.c | 11 |
3 files changed, 38 insertions, 14 deletions
diff --git a/openpcd/firmware/TODO b/openpcd/firmware/TODO new file mode 100644 index 0000000..eea1974 --- /dev/null +++ b/openpcd/firmware/TODO @@ -0,0 +1,27 @@ +SPI: +- use PDC DMA for SPI transfers +- use real SPI clock divisor (4.8MHz) rather than current 320kHz clock + +RC632: +- Fix locking between 'atomic' ops like set/clear bit and RC632 IRQ +- Implement VFIFO handling + +USB: +- don't busy-wait for EP2/EP3 transfers but rather use TX completion IRQ +- Implement VFIFO handling +- Add DFU descriptor to host + +DFU: +- implement DFU protocol for memory and flash +- add capability to copy and execute DFU from RAM + +Generic: +- + +Later, for PICCsim: +- Implement SSC code for sampling subcarrier +- Implement SSC code for generating subcarrier +- Implement Manchester coding + +Way Later, for librfid: +- Implement parts (or all of) 14443 in firmware as alternative configuration diff --git a/openpcd/firmware/include/sys/types.h b/openpcd/firmware/include/sys/types.h deleted file mode 100644 index f17ffe5..0000000 --- a/openpcd/firmware/include/sys/types.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef _TYPES_H -#define _TYPES_H - -typedef unsigned char u_int8_t; -typedef unsigned short u_int16_t; -typedef unsigned int u_int32_t; -typedef unsigned long long u_int64_t; - -typedef signed char int8_t; -typedef signed short int16_t; -typedef signed int int32_t; -typedef signed long long int64_t; - -#endif diff --git a/openpcd/firmware/src/flash.c b/openpcd/firmware/src/flash.c new file mode 100644 index 0000000..cca7fb7 --- /dev/null +++ b/openpcd/firmware/src/flash.c @@ -0,0 +1,11 @@ + + +#define EFCS_CMD_WRITE_PAGE 0x01 +#define EFCS_CMD_SET_LOCK_BIT 0x02 +#define EFCS_CMD_WRITE_PAGE_LOCK 0x03 +#define EFCS_CMD_CLEAR_LOCK 0x04 +#define EFCS_CMD_ERASE_ALL 0x08 +#define EFCS_CMD_SET_NVM_BIT 0x0b +#define EFCS_CMD_CLEAR_NVM_BIT 0x0d +#define EFCS_CMD_SET_SECURITY_BIT 0x0f + |