USB: EHCI: Add registers support for SMSC hsic hub
Add SMSC hub registers that can be changed over I2C bus
for changing the default configuration.
Change-Id: Ib1cd158fdd3c3f58d7211428984ca424563c4f14
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
diff --git a/drivers/misc/smsc_hub.c b/drivers/misc/smsc_hub.c
index d3304eb..9232f67 100644
--- a/drivers/misc/smsc_hub.c
+++ b/drivers/misc/smsc_hub.c
@@ -110,6 +110,22 @@
I2C_FUNC_SMBUS_WORD_DATA))
return -EIO;
+ /* CONFIG_N bit in SP_ILOCK register has to be set before changing
+ * other registers to change default configuration of hsic hub.
+ */
+ hsic_hub_set_bits(client, SMSC3503_SP_ILOCK, CONFIG_N);
+
+ /* Can change default configuartion like VID,PID, strings etc
+ * by writing new values to hsic hub registers.
+ */
+ hsic_hub_write_word_data(client, SMSC3503_VENDORID, 0x05C6);
+
+ /* CONFIG_N bit in SP_ILOCK register has to be cleared for new
+ * values in registers to be effective after writing to
+ * other registers.
+ */
+ hsic_hub_clear_bits(client, SMSC3503_SP_ILOCK, CONFIG_N);
+
return 0;
}