-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: davinci: da8xx: move usb code to new file
We will be adding more da8xx-specific code for phy and clocks, so it will be better to have this in a separate file. This way we don't have a bunch of #ifdefs for all of the da8xx stuff. While at it, fix some checkpatch warnings coming from existing code. Signed-off-by: David Lechner <david@lechnology.com> [nsekhar@ti.com: typo and checkpatch fixes] Signed-off-by: Sekhar Nori <nsekhar@ti.com>
- Loading branch information
David Lechner
authored and
Sekhar Nori
committed
Apr 14, 2016
1 parent
9a7f2fc
commit 86cad16
Showing
3 changed files
with
109 additions
and
75 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
/* | ||
* DA8xx USB | ||
*/ | ||
#include <linux/dma-mapping.h> | ||
#include <linux/init.h> | ||
#include <linux/platform_data/usb-davinci.h> | ||
#include <linux/platform_device.h> | ||
#include <linux/usb/musb.h> | ||
|
||
#include <mach/common.h> | ||
#include <mach/cputype.h> | ||
#include <mach/da8xx.h> | ||
#include <mach/irqs.h> | ||
|
||
#define DA8XX_USB0_BASE 0x01e00000 | ||
#define DA8XX_USB1_BASE 0x01e25000 | ||
|
||
#if IS_ENABLED(CONFIG_USB_MUSB_HDRC) | ||
|
||
static struct musb_hdrc_config musb_config = { | ||
.multipoint = true, | ||
.num_eps = 5, | ||
.ram_bits = 10, | ||
}; | ||
|
||
static struct musb_hdrc_platform_data usb_data = { | ||
/* OTG requires a Mini-AB connector */ | ||
.mode = MUSB_OTG, | ||
.clock = "usb20", | ||
.config = &musb_config, | ||
}; | ||
|
||
static struct resource da8xx_usb20_resources[] = { | ||
{ | ||
.start = DA8XX_USB0_BASE, | ||
.end = DA8XX_USB0_BASE + SZ_64K - 1, | ||
.flags = IORESOURCE_MEM, | ||
}, | ||
{ | ||
.start = IRQ_DA8XX_USB_INT, | ||
.flags = IORESOURCE_IRQ, | ||
.name = "mc", | ||
}, | ||
}; | ||
|
||
static u64 usb_dmamask = DMA_BIT_MASK(32); | ||
|
||
static struct platform_device usb_dev = { | ||
.name = "musb-da8xx", | ||
.id = -1, | ||
.dev = { | ||
.platform_data = &usb_data, | ||
.dma_mask = &usb_dmamask, | ||
.coherent_dma_mask = DMA_BIT_MASK(32), | ||
}, | ||
.resource = da8xx_usb20_resources, | ||
.num_resources = ARRAY_SIZE(da8xx_usb20_resources), | ||
}; | ||
|
||
int __init da8xx_register_usb20(unsigned int mA, unsigned int potpgt) | ||
{ | ||
usb_data.power = mA > 510 ? 255 : mA / 2; | ||
usb_data.potpgt = (potpgt + 1) / 2; | ||
|
||
return platform_device_register(&usb_dev); | ||
} | ||
|
||
#else | ||
|
||
int __init da8xx_register_usb20(unsigned int mA, unsigned int potpgt) | ||
{ | ||
return 0; | ||
} | ||
|
||
#endif /* CONFIG_USB_MUSB_HDRC */ | ||
|
||
static struct resource da8xx_usb11_resources[] = { | ||
[0] = { | ||
.start = DA8XX_USB1_BASE, | ||
.end = DA8XX_USB1_BASE + SZ_4K - 1, | ||
.flags = IORESOURCE_MEM, | ||
}, | ||
[1] = { | ||
.start = IRQ_DA8XX_IRQN, | ||
.end = IRQ_DA8XX_IRQN, | ||
.flags = IORESOURCE_IRQ, | ||
}, | ||
}; | ||
|
||
static u64 da8xx_usb11_dma_mask = DMA_BIT_MASK(32); | ||
|
||
static struct platform_device da8xx_usb11_device = { | ||
.name = "ohci", | ||
.id = 0, | ||
.dev = { | ||
.dma_mask = &da8xx_usb11_dma_mask, | ||
.coherent_dma_mask = DMA_BIT_MASK(32), | ||
}, | ||
.num_resources = ARRAY_SIZE(da8xx_usb11_resources), | ||
.resource = da8xx_usb11_resources, | ||
}; | ||
|
||
int __init da8xx_register_usb11(struct da8xx_ohci_root_hub *pdata) | ||
{ | ||
da8xx_usb11_device.dev.platform_data = pdata; | ||
return platform_device_register(&da8xx_usb11_device); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters