summaryrefslogtreecommitdiff
path: root/driver/retimer/anx7483.c
diff options
context:
space:
mode:
authorFiras Sammoura <fsammoura@google.com>2022-06-17 16:41:11 +0000
committerFiras Sammoura <fsammoura@google.com>2022-06-17 16:41:11 +0000
commit6c1587ca70f558b4f96b3f0b18ad8b027d3ba99d (patch)
tree9a15b4a98d7987870a1805a33883d0cf9123fc05 /driver/retimer/anx7483.c
parent63a8a1366e390b757c37e167927102be0fc4fb63 (diff)
parenta46d3f3feaac0d69012f61b66f652bff991d05a7 (diff)
downloadchrome-ec-6c1587ca70f558b4f96b3f0b18ad8b027d3ba99d.tar.gz
Merge remote-tracking branch cros/main into firmware-fpmcu-dartmonkey-release
Generated by: ./util/update_release_branch.py --board dartmonkey --relevant_paths_file ./util/fingerprint-relevant-paths.txt firmware-fpmcu-dartmonkey-release Relevant changes: git log --oneline 63a8a1366e..a46d3f3fea -- board/nocturne_fp board/dartmonkey common/fpsensor docs/fingerprint driver/fingerprint util/getversion.sh 981fb88cf8 docs/fingerprint: Resolve contradictory FPMCU factory flashing instructions 60032a8828 docs/fingerprint: Clean up formatting in fingerprint-factory-quick-guide.md f49eb6f894 docs/fingerprint: Run mdformat 64aa5fc7bb docs/fingerprint: Add links to info on fuzz testing 8bd99cc434 fpsensor: Use correct return type 2b2d7a991d fpsensor: Use correct return type BRANCH=None BUG=b:234772776 b:234181908 TEST=`make -j buildall` Cq-Include-Trybots: chromeos/cq:cq-orchestrator Signed-off-by: Firas Sammoura <fsammoura@google.com> Change-Id: I1714a77d292aad81bdc71982c88b2b067cfdada7
Diffstat (limited to 'driver/retimer/anx7483.c')
-rw-r--r--driver/retimer/anx7483.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/driver/retimer/anx7483.c b/driver/retimer/anx7483.c
index 2add843611..6804fd3de8 100644
--- a/driver/retimer/anx7483.c
+++ b/driver/retimer/anx7483.c
@@ -6,6 +6,7 @@
*/
#include "anx7483.h"
+#include "retimer/anx7483_public.h"
#include "chipset.h"
#include "common.h"
#include "console.h"
@@ -315,6 +316,34 @@ enum ec_error_list anx7483_set_default_tuning(const struct usb_mux *me,
return EC_SUCCESS;
}
+enum ec_error_list anx7483_set_eq(const struct usb_mux *me,
+ enum anx7483_tune_pin pin,
+ enum anx7483_eq_setting eq)
+{
+ int reg, value;
+
+ if (pin == ANX7483_PIN_UTX1)
+ reg = ANX7483_UTX1_PORT_CFG0_REG;
+ else if (pin == ANX7483_PIN_UTX2)
+ reg = ANX7483_UTX2_PORT_CFG0_REG;
+ else if (pin == ANX7483_PIN_URX1)
+ reg = ANX7483_URX1_PORT_CFG0_REG;
+ else if (pin == ANX7483_PIN_URX2)
+ reg = ANX7483_URX2_PORT_CFG0_REG;
+ else if (pin == ANX7483_PIN_DRX1)
+ reg = ANX7483_DRX1_PORT_CFG0_REG;
+ else if (pin == ANX7483_PIN_DRX2)
+ reg = ANX7483_DRX2_PORT_CFG0_REG;
+ else
+ return EC_ERROR_INVAL;
+
+ RETURN_ERROR(anx7483_read(me, reg, &value));
+ value &= ~ANX7483_CFG0_EQ_MASK;
+ value |= eq << ANX7483_CFG0_EQ_SHIFT;
+
+ return anx7483_write(me, reg, value);
+}
+
const struct usb_mux_driver anx7483_usb_retimer_driver = {
.init = anx7483_init,
.set = anx7483_set,