summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominic Chen <ddchen@chromium.org>2014-06-11 15:12:20 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-06-13 03:12:45 +0000
commit5408b10490b753dc06ec47d37be5026cc762f2db (patch)
treeb12fa1d0cc0460817cb0e035758694972c7d695e
parent054d4772d00809db79b8f6b6e8fcba5d2da49512 (diff)
downloadchrome-ec-5408b10490b753dc06ec47d37be5026cc762f2db.tar.gz
tsu6721: add function to control output pins
BRANCH=none BUG=none TEST=check mux actually switches Change-Id: If157302329c2b570814d2a071078949bfe368356 Signed-off-by: Dominic Chen <ddchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/203492 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
-rw-r--r--driver/tsu6721.h7
-rw-r--r--driver/usb_switch_tsu6721.c5
2 files changed, 12 insertions, 0 deletions
diff --git a/driver/tsu6721.h b/driver/tsu6721.h
index e614be7e09..da9cbecbec 100644
--- a/driver/tsu6721.h
+++ b/driver/tsu6721.h
@@ -38,6 +38,10 @@ enum tsu6721_mux {
TSU6721_MUX_UART = 0x6C,
};
+#define TSU6721_PIN_MANUAL2_JIG (1 << 2)
+#define TSU6721_PIN_MANUAL2_BOOT (1 << 3)
+#define TSU6721_PIN_MANUAL2_ISET (1 << 4)
+
#define TSU6721_INT_ATTACH 0x0001
#define TSU6721_INT_DETACH 0x0002
#define TSU6721_INT_KP 0x0004
@@ -105,6 +109,9 @@ int tsu6721_get_device_type(void);
/* Control TSU6721 mux. */
int tsu6721_mux(enum tsu6721_mux sel);
+/* Set bits to enable pins in SW2 register */
+void tsu6721_set_pins(int mask);
+
/* Reset TSU6721. */
void tsu6721_reset(void);
diff --git a/driver/usb_switch_tsu6721.c b/driver/usb_switch_tsu6721.c
index 6f21fc7cb3..8e966b42f7 100644
--- a/driver/usb_switch_tsu6721.c
+++ b/driver/usb_switch_tsu6721.c
@@ -141,6 +141,11 @@ int tsu6721_mux(enum tsu6721_mux sel)
return EC_SUCCESS;
}
+void tsu6721_set_pins(int mask)
+{
+ tsu6721_write(TSU6721_REG_MANUAL2, mask);
+}
+
int tsu6721_init(void)
{
uint8_t settings;