From 026a2528057a71f0914403ce21f800bf4ea6da31 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
Date: Wed, 7 Sep 2022 11:31:37 +0300
Subject: [PATCH] tools/intel_vbt_decode: Decode the i2c speed
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Decode the i2c speed, just for kicks.

Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tools/intel_vbt_decode.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/tools/intel_vbt_decode.c b/tools/intel_vbt_decode.c
index ee3b5effe..7e3bad358 100644
--- a/tools/intel_vbt_decode.c
+++ b/tools/intel_vbt_decode.c
@@ -918,6 +918,17 @@ static const char *hdmi_frl_rate(u8 frl_rate)
 	}
 }
 
+static const char *i2c_speed(u8 i2c_speed)
+{
+	switch (i2c_speed) {
+	case 0: return "100 kHz";
+	case 1: return "50 kHz";
+	case 2: return "400 kHz";
+	case 3: return "1 MHz";
+	default: return "<unknown>";
+	}
+}
+
 static void dump_child_device(struct context *context,
 			      const struct child_device_config *child)
 {
@@ -934,7 +945,8 @@ static void dump_child_device(struct context *context,
 	if (context->bdb->version < 152) {
 		printf("\t\tSignature: %.*s\n", (int)sizeof(child->device_id), child->device_id);
 	} else {
-		printf("\t\tI2C speed: 0x%02x\n", child->i2c_speed);
+		printf("\t\tI2C speed: %s (0x%02x)\n",
+		       i2c_speed(child->i2c_speed), child->i2c_speed);
 		printf("\t\tDP onboard redriver:\n");
 		printf("\t\t\tpresent: %s\n",
 		       YESNO((child->dp_onboard_redriver_present)));
-- 
GitLab