summaryrefslogtreecommitdiffstats
path: root/tmk_core/common/chibios/eeprom.c
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/common/chibios/eeprom.c')
-rw-r--r--tmk_core/common/chibios/eeprom.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/tmk_core/common/chibios/eeprom.c b/tmk_core/common/chibios/eeprom.c
index 5ff8ee86f..9061b790c 100644
--- a/tmk_core/common/chibios/eeprom.c
+++ b/tmk_core/common/chibios/eeprom.c
@@ -79,6 +79,10 @@
#define EEESIZE 0x39
#endif
+/** \brief eeprom initialization
+ *
+ * FIXME: needs doc
+ */
void eeprom_initialize(void)
{
uint32_t count=0;
@@ -111,6 +115,10 @@ void eeprom_initialize(void)
#define FlexRAM ((uint8_t *)0x14000000)
+/** \brief eeprom read byte
+ *
+ * FIXME: needs doc
+ */
uint8_t eeprom_read_byte(const uint8_t *addr)
{
uint32_t offset = (uint32_t)addr;
@@ -119,6 +127,10 @@ uint8_t eeprom_read_byte(const uint8_t *addr)
return FlexRAM[offset];
}
+/** \brief eeprom read word
+ *
+ * FIXME: needs doc
+ */
uint16_t eeprom_read_word(const uint16_t *addr)
{
uint32_t offset = (uint32_t)addr;
@@ -127,6 +139,10 @@ uint16_t eeprom_read_word(const uint16_t *addr)
return *(uint16_t *)(&FlexRAM[offset]);
}
+/** \brief eeprom read dword
+ *
+ * FIXME: needs doc
+ */
uint32_t eeprom_read_dword(const uint32_t *addr)
{
uint32_t offset = (uint32_t)addr;
@@ -135,6 +151,10 @@ uint32_t eeprom_read_dword(const uint32_t *addr)
return *(uint32_t *)(&FlexRAM[offset]);
}
+/** \brief eeprom read block
+ *
+ * FIXME: needs doc
+ */
void eeprom_read_block(void *buf, const void *addr, uint32_t len)
{
uint32_t offset = (uint32_t)addr;
@@ -148,11 +168,19 @@ void eeprom_read_block(void *buf, const void *addr, uint32_t len)
}
}
+/** \brief eeprom is ready
+ *
+ * FIXME: needs doc
+ */
int eeprom_is_ready(void)
{
return (FTFL->FCNFG & FTFL_FCNFG_EEERDY) ? 1 : 0;
}
+/** \brief flexram wait
+ *
+ * FIXME: needs doc
+ */
static void flexram_wait(void)
{
while (!(FTFL->FCNFG & FTFL_FCNFG_EEERDY)) {
@@ -160,6 +188,10 @@ static void flexram_wait(void)
}
}
+/** \brief eeprom_write_byte
+ *
+ * FIXME: needs doc
+ */
void eeprom_write_byte(uint8_t *addr, uint8_t value)
{
uint32_t offset = (uint32_t)addr;
@@ -172,6 +204,10 @@ void eeprom_write_byte(uint8_t *addr, uint8_t value)
}
}
+/** \brief eeprom write word
+ *
+ * FIXME: needs doc
+ */
void eeprom_write_word(uint16_t *addr, uint16_t value)
{
uint32_t offset = (uint32_t)addr;
@@ -199,6 +235,10 @@ void eeprom_write_word(uint16_t *addr, uint16_t value)
#endif
}
+/** \brief eeprom write dword
+ *
+ * FIXME: needs doc
+ */
void eeprom_write_dword(uint32_t *addr, uint32_t value)
{
uint32_t offset = (uint32_t)addr;
@@ -242,6 +282,10 @@ void eeprom_write_dword(uint32_t *addr, uint32_t value)
#endif
}
+/** \brief eeprom write block
+ *
+ * FIXME: needs doc
+ */
void eeprom_write_block(const void *buf, void *addr, uint32_t len)
{
uint32_t offset = (uint32_t)addr;