[firmware] Update lk revision.

Update lk to get 3c4a0b96c1, which fixes a bug that caused timestamps
to wrap as uint32_ts.

Fixed: 82631
Change-Id: I88f0f4aca62d51e764ab0f18650dc5abf7d8d784
Reviewed-on: https://fuchsia-review.googlesource.com/c/zedmon/+/568466
Reviewed-by: Patrick Shickel <pshickel@google.com>
diff --git a/firmware/app/zedmon/ina.c b/firmware/app/zedmon/ina.c
index f4e2b11..7763f44 100644
--- a/firmware/app/zedmon/ina.c
+++ b/firmware/app/zedmon/ina.c
@@ -140,7 +140,7 @@
     }
 }
 
-static int cmd_ina_status(int argc, const cmd_args *argv) {
+static int cmd_ina_status(int argc, const console_cmd_args *argv) {
     float v_shunt = ina_v_shunt * 0.0025;
     float v_bus = ina_v_bus * 0.00125;
 
diff --git a/firmware/app/zedmon/ina233.c b/firmware/app/zedmon/ina233.c
index 247fe94..b70c5d1 100644
--- a/firmware/app/zedmon/ina233.c
+++ b/firmware/app/zedmon/ina233.c
@@ -231,7 +231,7 @@
     return true;
 }
 
-static int cmd_ina_read16(int argc, const cmd_args *argv) {
+static int cmd_ina_read16(int argc, const console_cmd_args *argv) {
     if (argc != 2) {
         printf("usage: ina_233_read <reg>\n");
         return 1;
@@ -250,7 +250,7 @@
     return 0;
 }
 
-static int cmd_ina_read8(int argc, const cmd_args *argv) {
+static int cmd_ina_read8(int argc, const console_cmd_args *argv) {
     if (argc != 2) {
         printf("usage: ina_233_read <reg>\n");
         return 1;
@@ -269,7 +269,7 @@
     return 0;
 }
 
-static int cmd_ina_write8(int argc, const cmd_args *argv) {
+static int cmd_ina_write8(int argc, const console_cmd_args *argv) {
     if (argc != 3) {
         printf("usage: ina_233_write8 <reg> <val>\n");
         return 1;
@@ -289,7 +289,7 @@
     return 0;
 }
 
-static int cmd_ina_write16(int argc, const cmd_args *argv) {
+static int cmd_ina_write16(int argc, const console_cmd_args *argv) {
     if (argc != 3) {
         printf("usage: ina_233_write16 <reg> <val>\n");
         return 1;
diff --git a/firmware/app/zedmon/include/app/zedmon/usb_proto.h b/firmware/app/zedmon/include/app/zedmon/usb_proto.h
index a8034ea..6e4ab13 100644
--- a/firmware/app/zedmon/include/app/zedmon/usb_proto.h
+++ b/firmware/app/zedmon/include/app/zedmon/usb_proto.h
@@ -43,13 +43,13 @@
     char name[56];
 } zedmon_usb_report_format_t;
 
-static_assert(sizeof(zedmon_usb_report_format_t) == 64);
-static_assert(offsetof(zedmon_usb_report_format_t, packet_type) == 0);
-static_assert(offsetof(zedmon_usb_report_format_t, index) == 1);
-static_assert(offsetof(zedmon_usb_report_format_t, type) == 2);
-static_assert(offsetof(zedmon_usb_report_format_t, unit) == 3);
-static_assert(offsetof(zedmon_usb_report_format_t, scale) == 4);
-static_assert(offsetof(zedmon_usb_report_format_t, name) == 8);
+static_assert(sizeof(zedmon_usb_report_format_t) == 64, "unexpected size");
+static_assert(offsetof(zedmon_usb_report_format_t, packet_type) == 0, "unexpected offset");
+static_assert(offsetof(zedmon_usb_report_format_t, index) == 1, "unexpected offset");
+static_assert(offsetof(zedmon_usb_report_format_t, type) == 2, "unexpected offset");
+static_assert(offsetof(zedmon_usb_report_format_t, unit) == 3, "unexpected offset");
+static_assert(offsetof(zedmon_usb_report_format_t, scale) == 4, "unexpected offset");
+static_assert(offsetof(zedmon_usb_report_format_t, name) == 8, "unexpected offset");
 
 typedef struct {
     uint8_t packet_type;  // zedmon_usb_packet_type_t
@@ -61,11 +61,11 @@
     } data;
 } zedmon_usb_parameter_value_t;
 
-static_assert(sizeof(zedmon_usb_parameter_value_t) == 64);
-static_assert(offsetof(zedmon_usb_parameter_value_t, packet_type) == 0);
-static_assert(offsetof(zedmon_usb_parameter_value_t, name) == 1);
-static_assert(offsetof(zedmon_usb_parameter_value_t, data_type) == 55);
-static_assert(offsetof(zedmon_usb_parameter_value_t, data) == 56);
+static_assert(sizeof(zedmon_usb_parameter_value_t) == 64, "unexpected size");
+static_assert(offsetof(zedmon_usb_parameter_value_t, packet_type) == 0, "unexpected offset");
+static_assert(offsetof(zedmon_usb_parameter_value_t, name) == 1, "unexpected offset");
+static_assert(offsetof(zedmon_usb_parameter_value_t, data_type) == 55, "unexpected offset");
+static_assert(offsetof(zedmon_usb_parameter_value_t, data) == 56, "unexpected offset");
 
 #endif  // __APP_ZEDMON_USB_PROTO_H_
 
diff --git a/firmware/app/zedmon/main.c b/firmware/app/zedmon/main.c
index 0e35140..af3eb81 100644
--- a/firmware/app/zedmon/main.c
+++ b/firmware/app/zedmon/main.c
@@ -19,7 +19,7 @@
     ina_loop();
 }
 
-static int cmd_relay(int argc, const cmd_args *argv) {
+static int cmd_relay(int argc, const console_cmd_args *argv) {
     if (argc != 2) {
         printf("usage: relay <bool>\n");
         return 1;
diff --git a/firmware/app/zedmon/usb.c b/firmware/app/zedmon/usb.c
index f69303c..9e7a117 100644
--- a/firmware/app/zedmon/usb.c
+++ b/firmware/app/zedmon/usb.c
@@ -100,16 +100,16 @@
     uint16_t     v_bus;
 } zedmon_sample_t;
 
-static_assert(sizeof(zedmon_sample_t) == 12);
-static_assert(offsetof(zedmon_sample_t, timestamp) == 0);
-static_assert(offsetof(zedmon_sample_t, v_shunt) == 8);
-static_assert(offsetof(zedmon_sample_t, v_bus) == 10);
+static_assert(sizeof(zedmon_sample_t) == 12, "unexpected size");
+static_assert(offsetof(zedmon_sample_t, timestamp) == 0, "unexpected offset");
+static_assert(offsetof(zedmon_sample_t, v_shunt) == 8, "unexpected offset");
+static_assert(offsetof(zedmon_sample_t, v_bus) == 10, "unexpected offset");
 
 typedef struct __attribute__((packed)) {
     uint8_t         packet_type;
     zedmon_sample_t samples[5];
 } zedmon_report_packet_t;
-static_assert(sizeof(zedmon_report_packet_t) <= 64);
+static_assert(sizeof(zedmon_report_packet_t) <= 64, "unexpected size");
 
 typedef struct __attribute__((packed)) {
     uint8_t packet_type;
@@ -445,7 +445,7 @@
            (epr >> 15) & 0x1);
 }
 
-static int cmd_usb_dump(int argc, const cmd_args *argv) {
+static int cmd_usb_dump(int argc, const console_cmd_args *argv) {
     print_epr(0, USB->EP0R);
     print_epr(1, USB->EP1R);
     print_epr(2, USB->EP2R);
diff --git a/firmware/target/twinkie/init.c b/firmware/target/twinkie/init.c
index 7ea8645..fe15c4a 100644
--- a/firmware/target/twinkie/init.c
+++ b/firmware/target/twinkie/init.c
@@ -98,7 +98,7 @@
     }
 }
 
-static int cmd_led(int argc, const cmd_args *argv) {
+static int cmd_led(int argc, const console_cmd_args *argv) {
     if (argc != 4) {
         printf("usage: led <r> <g> <b>\n");
         return 1;
@@ -113,7 +113,7 @@
 
 #include <stm32f0xx.h>
 
-static int cmd_irqs(int argc, const cmd_args *argv) {
+static int cmd_irqs(int argc, const console_cmd_args *argv) {
     printf("%d\n", irqs);
     printf("state: %d\n", gpio_get(GPIO_VBUS_ALERT_L));
     printf("%08x:%08x\n", &SYSCFG->EXTICR[0], SYSCFG->EXTICR[0]);
diff --git a/firmware/target/zedmon/init.c b/firmware/target/zedmon/init.c
index 2c13057..43ef956 100644
--- a/firmware/target/zedmon/init.c
+++ b/firmware/target/zedmon/init.c
@@ -113,7 +113,7 @@
     }
 }
 
-static int cmd_led(int argc, const cmd_args *argv) {
+static int cmd_led(int argc, const console_cmd_args *argv) {
     if (argc != 4) {
         printf("usage: led <r> <g> <b>\n");
         return 1;
diff --git a/lk b/lk
index c629d76..3c4a0b9 160000
--- a/lk
+++ b/lk
@@ -1 +1 @@
-Subproject commit c629d762a3fee9e2509826bbd7b94a571794b3ed
+Subproject commit 3c4a0b96c161b97fadbe496fd94faaf30bf76fc6