tweak musb_hdrc SOC init code
Subsystems (4)
PATCH 1/1 tweak musb_hdrc SOC init code
From: David Brownell <[email protected]>
Minor cleanups to omap 2430/34xx/35x musb_hdrc init:
- num_eps is 16; here, each one is bidirectional
- use DMA_32BIT_MASK to prevent confusion/errors
- initialize root port power to reflect 100 mA limit
This still hard-wires some board-specific data, since there are no hooks through which different boards can provide the right data to the init code.
arch/arm/mach-omap2/usb-musb.c +13 -4
@@ -21,12 +21,15 @@#include <linux/delay.h> #include <linux/platform_device.h> #include <linux/clk.h> +#include <linux/dma-mapping.h> +#include <asm/io.h> -#include <mach/mux.h> +#include <linux/usb/musb.h> #include <mach/hardware.h> #include <mach/pm.h> +#include <mach/mux.h> #include <mach/usb.h> #ifdef CONFIG_USB_MUSB_SOC
@@ -109,7 +112,7 @@ static struct musb_hdrc_config musb_config = { .dyn_fifo = 1, .soft_con = 1, .dma = 1, - .num_eps = 32, + .num_eps = 16, .dma_channels = 7, .dma_req_chan = (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3), .ram_bits = 12,
@@ -129,16 +132,22 @@ static struct musb_hdrc_platform_data musb_plat = { : "usbhs_ick", .set_clock = musb_set_clock, .config = &musb_config, + +/* REVISIT charge pump on TWL4030 can supply up to +* 100 mA ... but this value is board-specific, like +* "mode", and should be passed to usb_musb_init(). +*/ + .power = 50, /* up to 100 mA */ }; -static u64 musb_dmamask = ~(u32 )0 ; +static u64 musb_dmamask =DMA_32BIT_MASK ;static struct platform_device musb_device = { .name ="musb_hdrc" , .id =-1 , .dev = { .dma_mask = &musb_dmamask, - .coherent_dma_mask =0xffffffff , + .coherent_dma_mask =DMA_32BIT_MASK , .platform_data = &musb_plat, }, .num_resources =ARRAY_SIZE (musb_resources),
Quoted 8 lines · David Brownell
From: David Brownell <[email protected]>
Minor cleanups to omap 2430/34xx/35x
musb_hdrcinit:-
num_epsis 16; here, each one is bidirectional
- useDMA_32BIT_MASKto prevent confusion/errors
- initialize root port power to reflect 100 mA limit
Quoted 5 lines
This still hard-wires some board-specific data, since there are no hooks through which different boards can provide the right data to the init code.
Signed-off-by David Brownell <[email protected]>
arch/arm/mach-omap2/usb-musb.c static struct musb_hdrc_platform_data musb_plat = { · line 140
Quoted 6 lines
arch/arm/mach-omap2/usb-musb.c +6
-0+ +/* REVISIT charge pump on TWL4030 can supply up to +* 100 mA ... but this value is board-specific, like +* "mode", and should be passed to usb_musb_init(). +*/ + .power = 50, /* up to 100 mA */
We can add some parameters to usb_musb_init();
Something similar should be done to hsmmc_init(), as of now it only registers one slot and some boards have more than one.
Signature · 1 line
balbi
Quoted 12 lines · Felipe Balbi
Quoted 2 lines
Signed-off-by David Brownell <[email protected]>Acked-by Felipe Balbi <[email protected]>Quoted 6 lines
+
+ /* REVISIT charge pump on TWL4030 can supply up to + * 100 mA ... but this value is board-specific, like + * "mode", and should be passed tousb_musb_init(). + */
+ .power = 50, /* up to 100 mA */
Quoted 3 lines
We can add some parameters to
usb_musb_init();
Something similar should be done tohsmmc_init(), as of now it only registers one slot and some boards have more than one.
Let's wait till the twl4030 usb init gets some board-specific parameterization. The MUSB init code should be called after the TWL4030 is initialized, so it can use TWL facilities right away.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Tony Lindgren
maintainerQuoted 13 lines · David Brownell
Quoted 12 lines · Felipe Balbi
Quoted 2 lines
Signed-off-by David Brownell <[email protected]>Acked-by Felipe Balbi <[email protected]>Quoted 6 lines
+
+ /* REVISIT charge pump on TWL4030 can supply up to + * 100 mA ... but this value is board-specific, like + * "mode", and should be passed tousb_musb_init(). + */
+ .power = 50, /* up to 100 mA */
Quoted 8 lines
Quoted 3 lines
We can add some parameters to
usb_musb_init();
Something similar should be done tohsmmc_init(), as of now it only registers one slot and some boards have more than one.Let's wait till the twl4030 usb init gets some board-specific parameterization. The MUSB init code should be called after the TWL4030 is initialized, so it can use TWL facilities right away.
Pushing this to l-o tree today.
Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html