Add Doxygen documentation for HMAC module.
diff --git a/sw/lib/hmac.h b/sw/lib/hmac.h
index b78d998..fcc2f7d 100644
--- a/sw/lib/hmac.h
+++ b/sw/lib/hmac.h
@@ -8,25 +8,45 @@
#include <stddef.h>
#include <stdint.h>
-/* hmac operations */
-typedef enum hmac_ops { Hmac = 0, Sha256 = 1 } hmac_ops_t;
+/**
+ * Supported HMAC operations
+ */
+typedef enum hmac_ops { HMAC_OP_HMAC = 0, HMAC_OP_SHA256 = 1 } hmac_ops_t;
+/**
+ * HMAC Configuration options.
+ */
typedef struct hmac_cfg {
+ /** Operational mode @see hmac_ops. */
hmac_ops_t mode;
- // input swapping only (from reg)
+ /** Set to 1 to swap input bytes. */
uint32_t input_endian_swap;
- // output swapping only (to digest)
+ /** Set to 1 to swap output bytes. */
uint32_t digest_endian_swap;
+ /** Input key used in HMAC mode. */
uint32_t keys[8];
} hmac_cfg_t;
-/* Intialize hmac to desired mode. */
+/**
+ * Intialize HMAC to desired mode.
+ *
+ * @param hmac_cfg HMAC configuration settings.
+ */
void hmac_init(hmac_cfg_t hmac_cfg);
-/* Write |data| to hmac with |size| in Bytes */
+/**
+ * Write |size_in_bytes| bytes of |data| to HMAC input buffer
+ *
+ * @param data pointer to input buffer.
+ * @size_in_bytes number of bytes to write.
+ */
void hmac_update(const void *data, size_t size_in_bytes);
-/* Poll for hmac done and read out digest. */
+/**
+ * Poll for hmac done and read out digest.
+ *
+ * @param pointer to output digest buffer.
+ */
void hmac_done(uint32_t *digest);
#endif // _F_LIB_HMAC_H__
diff --git a/sw/tests/sanity_hmac/sanity_hmac.c b/sw/tests/sanity_hmac/sanity_hmac.c
index 2755d10..00cc30f 100644
--- a/sw/tests/sanity_hmac/sanity_hmac.c
+++ b/sw/tests/sanity_hmac/sanity_hmac.c
@@ -32,9 +32,9 @@
digest_t digest;
uart_init(UART_BAUD_RATE);
- uart_send_str("Starting Sha256 512 bit hash test.\r\n");
+ uart_send_str("SHA256 test.\r\n");
- hmac_cfg_t setup = {.mode = Sha256,
+ hmac_cfg_t setup = {.mode = HMAC_OP_SHA256,
.input_endian_swap = 1,
.digest_endian_swap = 1,
.keys = {0}};