lkml.org 
[lkml]   [2013]   [Jan]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v6 09/22] mfd: omap-usb-tll: Add OMAP5 revision and HSIC support
    Date
    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>
    ---
    drivers/mfd/omap-usb-tll.c | 14 ++++++++++++++
    1 files changed, 14 insertions(+), 0 deletions(-)

    diff --git a/drivers/mfd/omap-usb-tll.c b/drivers/mfd/omap-usb-tll.c
    index 031f4fd..c5ac8c2 100644
    --- a/drivers/mfd/omap-usb-tll.c
    +++ b/drivers/mfd/omap-usb-tll.c
    @@ -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:
    @@ -313,6 +318,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;
    }
    --
    1.7.4.1


    \
     
     \ /
      Last update: 2013-01-16 16:21    [W:2.542 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site