forked from Minki/linux
mfd: omap-usb-tll: Add OMAP5 revision and HSIC support
The TLL module on OMAP5 has 3 channels. HSIC mode requires the TLL channel to be in Transparent UTMI mode. Signed-off-by: Roger Quadros <rogerq@ti.com> Reviewed-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
6675144668
commit
300c2f8ff4
@ -54,10 +54,13 @@
|
||||
|
||||
#define OMAP_TLL_CHANNEL_CONF(num) (0x040 + 0x004 * num)
|
||||
#define OMAP_TLL_CHANNEL_CONF_FSLSMODE_SHIFT 24
|
||||
#define OMAP_TLL_CHANNEL_CONF_DRVVBUS (1 << 16)
|
||||
#define OMAP_TLL_CHANNEL_CONF_CHRGVBUS (1 << 15)
|
||||
#define OMAP_TLL_CHANNEL_CONF_ULPINOBITSTUFF (1 << 11)
|
||||
#define OMAP_TLL_CHANNEL_CONF_ULPI_ULPIAUTOIDLE (1 << 10)
|
||||
#define OMAP_TLL_CHANNEL_CONF_UTMIAUTOIDLE (1 << 9)
|
||||
#define OMAP_TLL_CHANNEL_CONF_ULPIDDRMODE (1 << 8)
|
||||
#define OMAP_TLL_CHANNEL_CONF_MODE_TRANSPARENT_UTMI (2 << 1)
|
||||
#define OMAP_TLL_CHANNEL_CONF_CHANMODE_FSLS (1 << 1)
|
||||
#define OMAP_TLL_CHANNEL_CONF_CHANEN (1 << 0)
|
||||
|
||||
@ -92,6 +95,7 @@
|
||||
#define OMAP_USBTLL_REV1 0x00000015 /* OMAP3 */
|
||||
#define OMAP_USBTLL_REV2 0x00000018 /* OMAP 3630 */
|
||||
#define OMAP_USBTLL_REV3 0x00000004 /* OMAP4 */
|
||||
#define OMAP_USBTLL_REV4 0x00000006 /* OMAP5 */
|
||||
|
||||
#define is_ehci_tll_mode(x) (x == OMAP_EHCI_PORT_MODE_TLL)
|
||||
|
||||
@ -245,6 +249,7 @@ static int usbtll_omap_probe(struct platform_device *pdev)
|
||||
ver = usbtll_read(base, OMAP_USBTLL_REVISION);
|
||||
switch (ver) {
|
||||
case OMAP_USBTLL_REV1:
|
||||
case OMAP_USBTLL_REV4:
|
||||
tll->nch = OMAP_TLL_CHANNEL_COUNT;
|
||||
break;
|
||||
case OMAP_USBTLL_REV2:
|
||||
@ -310,6 +315,15 @@ static int usbtll_omap_probe(struct platform_device *pdev)
|
||||
reg &= ~(OMAP_TLL_CHANNEL_CONF_UTMIAUTOIDLE
|
||||
| OMAP_TLL_CHANNEL_CONF_ULPINOBITSTUFF
|
||||
| OMAP_TLL_CHANNEL_CONF_ULPIDDRMODE);
|
||||
} else if (pdata->port_mode[i] ==
|
||||
OMAP_EHCI_PORT_MODE_HSIC) {
|
||||
/*
|
||||
* HSIC Mode requires UTMI port configurations
|
||||
*/
|
||||
reg |= OMAP_TLL_CHANNEL_CONF_DRVVBUS
|
||||
| OMAP_TLL_CHANNEL_CONF_CHRGVBUS
|
||||
| OMAP_TLL_CHANNEL_CONF_MODE_TRANSPARENT_UTMI
|
||||
| OMAP_TLL_CHANNEL_CONF_ULPINOBITSTUFF;
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user