aboutsummaryrefslogtreecommitdiff
path: root/parser/csr.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2005-07-03 10:00:32 +0000
committerMarcel Holtmann <marcel@holtmann.org>2005-07-03 10:00:32 +0000
commite435ed5cf8b7c352b607cb8601a2eefdb7bfc17d (patch)
tree9fbd5481d82d47b37e3334fc372acc212df2eb55 /parser/csr.c
parent2b734b5dc792845a2e547ecfeac7c4e30e556b36 (diff)
downloadhcidump-e435ed5cf8b7c352b607cb8601a2eefdb7bfc17d.tar.gz
Update CSR BCCMD decoding
Diffstat (limited to 'parser/csr.c')
-rw-r--r--parser/csr.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/parser/csr.c b/parser/csr.c
index 0d62571..c587c6c 100644
--- a/parser/csr.c
+++ b/parser/csr.c
@@ -62,6 +62,16 @@ static inline void uint16_dump(int level, char *str, struct frame *frm)
printf("%s: value %d (0x%4.4x)\n", str, value, value);
}
+static inline void uint32_dump(int level, char *str, struct frame *frm)
+{
+ uint32_t value;
+
+ value = CSR_U32(frm);
+
+ p_indent(level, frm);
+ printf("%s: value %d (0x%4.4x)\n", str, value, value);
+}
+
static inline void bdaddr_dump(int level, char *str, struct frame *frm)
{
char addr[18];
@@ -183,12 +193,33 @@ static inline void bccmd_dump(int level, struct frame *frm)
case 0x281b:
uint16_dump(level + 1, "CHIPREV", frm);
break;
+ case 0x2825:
+ uint16_dump(level + 1, "INTERFACE_VERSION", frm);
+ break;
+ case 0x282a:
+ uint16_dump(level + 1, "RAND", frm);
+ break;
case 0x282c:
uint16_dump(level + 1, "MAX_CRYPT_KEY_LENGTH", frm);
break;
+ case 0x2836:
+ uint16_dump(level + 1, "CHIPANAREV", frm);
+ break;
+ case 0x2838:
+ uint16_dump(level + 1, "BUILDID_LOADER", frm);
+ break;
+ case 0x2c00:
+ uint32_dump(level + 1, "BT_CLOCK", frm);
+ break;
case 0x3008:
handle_length_dump(level + 1, "CRYPT_KEY_LENGTH", frm);
break;
+ case 0x481c:
+ uint16_dump(level + 1, "MAP_SCO_PCM", frm);
+ break;
+ case 0x6802:
+ uint16_dump(level + 1, "CONFIG_UART", frm);
+ break;
case 0x6805:
uint16_dump(level + 1, "PANIC_ARG", frm);
break;