Sergei Shtylyov <[email protected]> writes:

> Rename setup_usb() into davinci_setup_usb().  While at it:
>
> - move its declaration from <mach/common.h> to more fitting <mach/usb.h>;
> - teach it to handle values of the 'mA' parameter greater than 510 and thus
>   pass 1000 instead of 500 for the power switches capable of sourcing over 1 
> A;
> - teach it to handle odd values of the 'potpgt_ms' parameter...
>
> Signed-off-by: Sergei Shtylyov <[email protected]>

Thanks, applying to davinci-next.

Kevin

> ---
> The patch is against the recent DaVinci tree...
>
>  arch/arm/mach-davinci/board-dm355-evm.c     |    4 ++--
>  arch/arm/mach-davinci/board-dm355-leopard.c |    4 ++--
>  arch/arm/mach-davinci/board-dm644x-evm.c    |    3 ++-
>  arch/arm/mach-davinci/board-sffsdr.c        |    3 ++-
>  arch/arm/mach-davinci/include/mach/common.h |    6 ------
>  arch/arm/mach-davinci/include/mach/usb.h    |    2 ++
>  arch/arm/mach-davinci/usb.c                 |    8 ++++----
>  7 files changed, 14 insertions(+), 16 deletions(-)
>
> Index: linux-davinci/arch/arm/mach-davinci/board-dm355-evm.c
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/board-dm355-evm.c
> +++ linux-davinci/arch/arm/mach-davinci/board-dm355-evm.c
> @@ -27,11 +27,11 @@
>  #include <asm/mach/arch.h>
>  
>  #include <mach/dm355.h>
> -#include <mach/common.h>
>  #include <mach/i2c.h>
>  #include <mach/serial.h>
>  #include <mach/nand.h>
>  #include <mach/mmc.h>
> +#include <mach/usb.h>
>  
>  #define DAVINCI_ASYNC_EMIF_CONTROL_BASE              0x01e10000
>  #define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE     0x02000000
> @@ -338,7 +338,7 @@ static __init void dm355_evm_init(void)
>       gpio_request(2, "usb_id_toggle");
>       gpio_direction_output(2, USB_ID_VALUE);
>       /* irlml6401 switches over 1A in under 8 msec */
> -     setup_usb(500, 8);
> +     davinci_setup_usb(1000, 8);
>  
>       davinci_setup_mmc(0, &dm355evm_mmc_config);
>       davinci_setup_mmc(1, &dm355evm_mmc_config);
> Index: linux-davinci/arch/arm/mach-davinci/board-dm355-leopard.c
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/board-dm355-leopard.c
> +++ linux-davinci/arch/arm/mach-davinci/board-dm355-leopard.c
> @@ -24,11 +24,11 @@
>  #include <asm/mach/arch.h>
>  
>  #include <mach/dm355.h>
> -#include <mach/common.h>
>  #include <mach/i2c.h>
>  #include <mach/serial.h>
>  #include <mach/nand.h>
>  #include <mach/mmc.h>
> +#include <mach/usb.h>
>  
>  #define DAVINCI_ASYNC_EMIF_CONTROL_BASE              0x01e10000
>  #define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE     0x02000000
> @@ -263,7 +263,7 @@ static __init void dm355_leopard_init(vo
>       gpio_request(2, "usb_id_toggle");
>       gpio_direction_output(2, USB_ID_VALUE);
>       /* irlml6401 switches over 1A in under 8 msec */
> -     setup_usb(500, 8);
> +     davinci_setup_usb(1000, 8);
>  
>       davinci_setup_mmc(0, &dm355leopard_mmc_config);
>       davinci_setup_mmc(1, &dm355leopard_mmc_config);
> Index: linux-davinci/arch/arm/mach-davinci/board-dm644x-evm.c
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/board-dm644x-evm.c
> +++ linux-davinci/arch/arm/mach-davinci/board-dm644x-evm.c
> @@ -36,6 +36,7 @@
>  #include <mach/mux.h>
>  #include <mach/nand.h>
>  #include <mach/mmc.h>
> +#include <mach/usb.h>
>  
>  #define DM644X_EVM_PHY_MASK          (0x2)
>  #define DM644X_EVM_MDIO_FREQUENCY    (2200000) /* PHY bus frequency */
> @@ -465,7 +466,7 @@ evm_u35_setup(struct i2c_client *client,
>       /* irlml6401 switches over 1A, in under 8 msec;
>        * now it can be managed by nDRV_VBUS ...
>        */
> -     setup_usb(500, 8);
> +     davinci_setup_usb(1000, 8);
>  
>       return 0;
>  }
> Index: linux-davinci/arch/arm/mach-davinci/board-sffsdr.c
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/board-sffsdr.c
> +++ linux-davinci/arch/arm/mach-davinci/board-sffsdr.c
> @@ -40,6 +40,7 @@
>  #include <mach/i2c.h>
>  #include <mach/serial.h>
>  #include <mach/mux.h>
> +#include <mach/usb.h>
>  
>  #define SFFSDR_PHY_MASK              (0x2)
>  #define SFFSDR_MDIO_FREQUENCY        (2200000) /* PHY bus frequency */
> @@ -152,7 +153,7 @@ static __init void davinci_sffsdr_init(v
>       davinci_serial_init(&uart_config);
>       soc_info->emac_pdata->phy_mask = SFFSDR_PHY_MASK;
>       soc_info->emac_pdata->mdio_max_freq = SFFSDR_MDIO_FREQUENCY;
> -     setup_usb(0, 0); /* We support only peripheral mode. */
> +     davinci_setup_usb(0, 0); /* We support only peripheral mode. */
>  
>       /* mux VLYNQ pins */
>       davinci_cfg_reg(DM644X_VLYNQEN);
> Index: linux-davinci/arch/arm/mach-davinci/include/mach/common.h
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/include/mach/common.h
> +++ linux-davinci/arch/arm/mach-davinci/include/mach/common.h
> @@ -20,12 +20,6 @@ extern void davinci_irq_init(void);
>  extern void __iomem *davinci_intc_base;
>  extern int davinci_intc_type;
>  
> -/* parameters describe VBUS sourcing for host mode */
> -extern void setup_usb(unsigned mA, unsigned potpgt_msec);
> -
> -/* parameters describe VBUS sourcing for host mode */
> -extern void setup_usb(unsigned mA, unsigned potpgt_msec);
> -
>  struct davinci_timer_instance {
>       void __iomem    *base;
>       u32             bottom_irq;
> Index: linux-davinci/arch/arm/mach-davinci/include/mach/usb.h
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/include/mach/usb.h
> +++ linux-davinci/arch/arm/mach-davinci/include/mach/usb.h
> @@ -54,4 +54,6 @@ struct      da8xx_ohci_root_hub {
>       u8      potpgt;
>  };
>  
> +void davinci_setup_usb(unsigned mA, unsigned potpgt_ms);
> +
>  #endif       /* ifndef __ASM_ARCH_USB_H */
> Index: linux-davinci/arch/arm/mach-davinci/usb.c
> ===================================================================
> --- linux-davinci.orig/arch/arm/mach-davinci/usb.c
> +++ linux-davinci/arch/arm/mach-davinci/usb.c
> @@ -83,10 +83,10 @@ static struct platform_device usb_dev = 
>       .num_resources  = ARRAY_SIZE(usb_resources),
>  };
>  
> -void __init setup_usb(unsigned mA, unsigned potpgt_msec)
> +void __init davinci_setup_usb(unsigned mA, unsigned potpgt_ms)
>  {
> -     usb_data.power = mA / 2;
> -     usb_data.potpgt = potpgt_msec / 2;
> +     usb_data.power = mA > 510 ? 255 : mA / 2;
> +     usb_data.potpgt = (potpgt_ms + 1) / 2;
>  
>       if (cpu_is_davinci_dm646x()) {
>               /* Override the defaults as DM6467 uses different IRQs. */
> @@ -100,7 +100,7 @@ void __init setup_usb(unsigned mA, unsig
>  
>  #else
>  
> -void __init setup_usb(unsigned mA, unsigned potpgt_msec)
> +void __init davinci_setup_usb(unsigned mA, unsigned potpgt_ms)
>  {
>  }
>  
>
>
> _______________________________________________
> Davinci-linux-open-source mailing list
> [email protected]
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to