prism: added diag command 'sff vcc'.

Reads and prints bytes 98 - 99 of SFF address A2h.

Change-Id: I8fe4e4af7b8843f28e2b6df62bbf369050a5ee8d
diff --git a/board/mv_feroceon/mv_kw2/prism_cmd.c b/board/mv_feroceon/mv_kw2/prism_cmd.c
index 8714f97..3b45c71 100644
--- a/board/mv_feroceon/mv_kw2/prism_cmd.c
+++ b/board/mv_feroceon/mv_kw2/prism_cmd.c
@@ -20,6 +20,8 @@
  *          |       |       ------- vei
  *          |       |       |
  *          |       |       ------- csum
+ *          |       |       |
+ *          |       |       ------- vcc
  *          |       |
  *          |       ------ leds
  *          |
@@ -151,11 +153,15 @@
 	       "ccd - verify CC_DMI at offset 95 of 0xA2 addr",
 	       "<checksum types - ccb cce ccd>\n");
 
+PRISM_CMD_LEAF(prism_diag_sff, vcc,
+	       "internally measured supply voltage in transceiver", NULL);
+
 static const struct prism_cmd_entry *prism_diag_sff_sub_cmds[] =
 {
 	&prism_diag_sff_vbi,
 	&prism_diag_sff_vei,
 	&prism_diag_sff_csum,
+	&prism_diag_sff_vcc,
 	NULL
 };
 
@@ -506,6 +512,18 @@
 	return(ret);
 }
 
+static int do_prism_diag_sff_vcc(int level, int argc, char *argv[])
+{
+	int ret;
+	u16 vcc;
+
+	ret = i2c_read(SFF_ADDR_A2, 98, 1, &vcc, sizeof(vcc));
+	if (!ret)
+		printf("%hu\n", __be16_to_cpu(vcc));
+
+	return ret;
+}
+
 static void config_led(MV_U8 gpio, MV_U8 polarity,
 			int mode /* 0 = off, 1 = on, 2 = blink */, int hz)
 {