Diff between 063dd32b7146f1a54f403c0e5b6c48e8ef65f4e9 and 00d0481c801aa5c4e2e0473b27b17edccc169a06

Changed Files

File Additions Deletions Status
tools/parser/csr.c +25 -2 modified

Full Patch

diff --git a/tools/parser/csr.c b/tools/parser/csr.c
index 9df3cd7..091d27d 100644
--- a/tools/parser/csr.c
+++ b/tools/parser/csr.c
@@ -67,6 +67,16 @@ static inline void complex_dump(int level, char *str, struct frame *frm)
 	raw_dump(level, frm);
 }
 
+static inline void bool_dump(int level, char *str, struct frame *frm)
+{
+	uint16_t value;
+
+	value = CSR_U16(frm);
+
+	p_indent(level, frm);
+	printf("%s: value %s (%d)\n", str, value ? "TRUE" : "FALSE", value);
+}
+
 static inline void int8_dump(int level, char *str, struct frame *frm)
 {
 	int16_t value;
@@ -77,6 +87,16 @@ static inline void int8_dump(int level, char *str, struct frame *frm)
 	printf("%s: value %d (0x%2.2x)\n", str, value, value);
 }
 
+static inline void int16_dump(int level, char *str, struct frame *frm)
+{
+	int16_t value;
+
+	value = CSR_S16(frm);
+
+	p_indent(level, frm);
+	printf("%s: value %d (0x%2.2x)\n", str, value, value);
+}
+
 static inline void uint16_dump(int level, char *str, struct frame *frm)
 {
 	uint16_t value;
@@ -174,8 +194,11 @@ static inline void pskey_dump(int level, struct frame *frm)
 	case 0x010e:
 		uint16_dump(level + 1, "LMP_REMOTE_VERSION", frm);
 		break;
+	case 0x01a5:
+		bool_dump(level + 1, "HOSTIO_USE_HCI_EXTN", frm);
+		break;
 	case 0x01ab:
-		uint16_dump(level + 1, "HOSTIO_MAP_SCO_PCM", frm);
+		bool_dump(level + 1, "HOSTIO_MAP_SCO_PCM", frm);
 		break;
 	case 0x01be:
 		uint16_dump(level + 1, "UART_BAUDRATE", frm);
@@ -199,7 +222,7 @@ static inline void pskey_dump(int level, struct frame *frm)
 		uint16_dump(level + 1, "USB_DFU_PRODUCT_ID", frm);
 		break;
 	case 0x03cd:
-		uint16_dump(level + 1, "INITIAL_BOOTMODE", frm);
+		int16_dump(level + 1, "INITIAL_BOOTMODE", frm);
 		break;
 	default:
 		raw_dump(level + 1, frm);