summaryrefslogtreecommitdiff
path: root/openpcd/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'openpcd/firmware')
-rw-r--r--openpcd/firmware/TODO27
-rw-r--r--openpcd/firmware/include/sys/types.h14
-rw-r--r--openpcd/firmware/src/flash.c11
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
+
personal git repositories of Harald Welte. Your mileage may vary