Re: [PATCH] OMAP: EHCI: Support new USB expansion board

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

* Pandita, Vikram <vikram.pandita@xxxxxx> [080502 03:04]:
> 
>  - Code changes for next revision of USB expansion board 750-2099-001(C)
>    with h/w bug fixes to support ISP1504 PHY in input clocking mode
> 
>  - Changes tested on SDP3430

Does this still work with older boards too?

Tony


> Signed-off-by: Vikram Pandita <vikram.pandita@xxxxxx>
> ---
>  drivers/usb/host/ehci-omap.c |   37 ++++++-------------------------------
>  1 file changed, 6 insertions(+), 31 deletions(-)
> 
> Index: linux-omap-2.6/drivers/usb/host/ehci-omap.c
> ===================================================================
> --- linux-omap-2.6.orig/drivers/usb/host/ehci-omap.c    2008-05-02 14:11:56.000000000 +0530
> +++ linux-omap-2.6/drivers/usb/host/ehci-omap.c 2008-05-02 15:05:40.000000000 +0530
> @@ -35,7 +35,7 @@
>  #ifdef CONFIG_OMAP_EHCI_PHY_MODE
>  /* EHCI connected to External PHY */
> 
> -/* External USB connectivity board: 750-2083-001
> +/* External USB connectivity board: 750-2099-001(C)
>   * Connected to OMAP3430 SDP
>   * The board has Port1 and Port2 connected to ISP1504 in 12-pin ULPI mode
>   */
> @@ -50,14 +50,7 @@
>  #define EXTERNAL_PHY_RESET
>  #define        EXT_PHY_RESET_GPIO_PORT1        (57)
>  #define        EXT_PHY_RESET_GPIO_PORT2        (61)
> -#define        EXT_PHY_RESET_DELAY             (10)
> -
> -/* ISSUE2:
> - * USBHOST supports External charge pump PHYs only
> - * Use the VBUS from Port1 to power VBUS of Port2 externally
> - * So use Port2 as the working ULPI port
> - */
> -#define VBUS_INTERNAL_CHARGEPUMP_HACK
> +#define        EXT_PHY_RESET_DELAY             (500)
> 
>  #endif /* CONFIG_OMAP_EHCI_PHY_MODE */
> 
> @@ -228,8 +221,8 @@ static int omap_start_ehc(struct platfor
>         omap_set_gpio_direction(EXT_PHY_RESET_GPIO_PORT1, 0);
>         omap_request_gpio(EXT_PHY_RESET_GPIO_PORT2);
>         omap_set_gpio_direction(EXT_PHY_RESET_GPIO_PORT2, 0);
> -       omap_set_gpio_dataout(EXT_PHY_RESET_GPIO_PORT1, 0);
> -       omap_set_gpio_dataout(EXT_PHY_RESET_GPIO_PORT2, 0);
> +       omap_set_gpio_dataout(EXT_PHY_RESET_GPIO_PORT1, 1);
> +       omap_set_gpio_dataout(EXT_PHY_RESET_GPIO_PORT2, 1);
>         /* Hold the PHY in RESET for enough time till DIR is high */
>         udelay(EXT_PHY_RESET_DELAY);
>  #endif
> @@ -305,26 +298,8 @@ static int omap_start_ehc(struct platfor
>          * Hold the PHY in RESET for enough time till PHY is settled and ready
>          */
>         udelay(EXT_PHY_RESET_DELAY);
> -       omap_set_gpio_dataout(EXT_PHY_RESET_GPIO_PORT1, 1);
> -       omap_set_gpio_dataout(EXT_PHY_RESET_GPIO_PORT2, 1);
> -#endif
> -
> -#ifdef VBUS_INTERNAL_CHARGEPUMP_HACK
> -       /* Refer ISSUE2: LINK assumes external charge pump */
> -
> -       /* use Port1 VBUS to charge externally Port2:
> -        *      So for PHY mode operation use Port2 only
> -        */
> -       omap_writel((0xA << EHCI_INSNREG05_ULPI_REGADD_SHIFT) |/* OTG ctrl reg*/
> -                       (2 << EHCI_INSNREG05_ULPI_OPSEL_SHIFT) |/*   Write */
> -                       (1 << EHCI_INSNREG05_ULPI_PORTSEL_SHIFT) |/* Port1 */
> -                       (1 << EHCI_INSNREG05_ULPI_CONTROL_SHIFT) |/* Start */
> -                       (0x26),
> -                       EHCI_INSNREG05_ULPI);
> -
> -       while (!(omap_readl(EHCI_INSNREG05_ULPI) &
> -               (1<<EHCI_INSNREG05_ULPI_CONTROL_SHIFT)));
> -
> +       omap_set_gpio_dataout(EXT_PHY_RESET_GPIO_PORT1, 0);
> +       omap_set_gpio_dataout(EXT_PHY_RESET_GPIO_PORT2, 0);
>  #endif
> 
>         return 0;
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux