* [PATCH v3] Enable USB peripheral on dm365 EVM
@ 2012-10-03 22:04 const at MakeLinux.com
2012-10-03 23:23 ` Greg KH
0 siblings, 1 reply; 2+ messages in thread
From: const at MakeLinux.com @ 2012-10-03 22:04 UTC (permalink / raw)
To: linux-arm-kernel
From: Constantine Shulyupin <const@MakeLinux.com>
From: Miguel Aguilar <miguel.aguilar@ridgerun.com>
Signed-off-by: Constantine Shulyupin <const@MakeLinux.com>
---
Tested with usb gadget g_zero.
This patch is based on code from Arago, Angstom, and RidgeRun projects.
Original patch is three years ago:
http://www.mail-archive.com/davinci-linux-open-source at linux.davincidsp.com/msg14741.html
---
arch/arm/mach-davinci/board-dm365-evm.c | 8 ++++++++
arch/arm/mach-davinci/usb.c | 2 ++
drivers/usb/musb/davinci.h | 1 +
drivers/usb/musb/musb_core.c | 20 ++++++++++++--------
4 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/arch/arm/mach-davinci/board-dm365-evm.c b/arch/arm/mach-davinci/board-dm365-evm.c
index 3a4743b..dfcb67f 100644
--- a/arch/arm/mach-davinci/board-dm365-evm.c
+++ b/arch/arm/mach-davinci/board-dm365-evm.c
@@ -38,6 +38,8 @@
#include <mach/mmc.h>
#include <mach/nand.h>
#include <mach/keyscan.h>
+#include <mach/usb.h>
+#include <mach/hardware.h>
#include <media/tvp514x.h>
@@ -92,6 +94,9 @@ static inline int have_tvp7002(void)
#define CPLD_CCD_DIR3 CPLD_OFFSET(0x3f,0)
#define CPLD_CCD_IO3 CPLD_OFFSET(0x3f,1)
+#define USBPHY_CTL_PADDR 0x01c40034
+#define USBPHY_CLKFREQ_24MHZ BIT(13)
+
static void __iomem *cpld;
@@ -613,6 +618,9 @@ static __init void dm365_evm_init(void)
dm365_init_spi0(BIT(0), dm365_evm_spi_info,
ARRAY_SIZE(dm365_evm_spi_info));
+ writel(readl(IO_ADDRESS(USBPHY_CTL_PADDR)) | USBPHY_CLKFREQ_24MHZ,
+ IO_ADDRESS(USBPHY_CTL_PADDR));
+ davinci_setup_usb(500, 8);
}
MACHINE_START(DAVINCI_DM365_EVM, "DaVinci DM365 EVM")
diff --git a/arch/arm/mach-davinci/usb.c b/arch/arm/mach-davinci/usb.c
index 23d2b6d..664c689 100644
--- a/arch/arm/mach-davinci/usb.c
+++ b/arch/arm/mach-davinci/usb.c
@@ -49,6 +49,8 @@ static struct musb_hdrc_platform_data usb_data = {
.mode = MUSB_PERIPHERAL,
#elif defined(CONFIG_USB_MUSB_HOST)
.mode = MUSB_HOST,
+#else
+ .mode = MUSB_OTG,
#endif
.clock = "usb",
.config = &musb_config,
diff --git a/drivers/usb/musb/davinci.h b/drivers/usb/musb/davinci.h
index 371baa0..e737d97 100644
--- a/drivers/usb/musb/davinci.h
+++ b/drivers/usb/musb/davinci.h
@@ -16,6 +16,7 @@
/* Integrated highspeed/otg PHY */
#define USBPHY_CTL_PADDR 0x01c40034
+#define USBPHY_CLKFREQ_24MHZ BIT(13)
#define USBPHY_DATAPOL BIT(11) /* (dm355) switch D+/D- */
#define USBPHY_PHYCLKGD BIT(8)
#define USBPHY_SESNDEN BIT(7) /* v(sess_end) comparator */
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index 26f1bef..277fe65 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -2051,9 +2051,17 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
dev_info(dev, "USB %s mode controller at %p using %s, IRQ %d\n",
({char *s;
switch (musb->board_mode) {
- case MUSB_HOST: s = "Host"; break;
- case MUSB_PERIPHERAL: s = "Peripheral"; break;
- default: s = "OTG"; break;
+ case MUSB_HOST:
+ s = "Host";
+ break;
+ case MUSB_PERIPHERAL:
+ s = "Peripheral";
+ break;
+ case MUSB_OTG:
+ s = "OTG";
+ break;
+ default:
+ s = "Undefined";
}; s; }),
ctrl,
(is_dma_capable() && musb->dma_controller)
@@ -2402,11 +2410,7 @@ static int __init musb_init(void)
if (usb_disabled())
return 0;
- pr_info("%s: version " MUSB_VERSION ", "
- "?dma?"
- ", "
- "otg (peripheral+host)",
- musb_driver_name);
+ pr_info("%s: version %s\n", MUSB_VERSION, musb_driver_name);
return platform_driver_register(&musb_driver);
}
module_init(musb_init);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 2+ messages in thread* [PATCH v3] Enable USB peripheral on dm365 EVM
2012-10-03 22:04 [PATCH v3] Enable USB peripheral on dm365 EVM const at MakeLinux.com
@ 2012-10-03 23:23 ` Greg KH
0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2012-10-03 23:23 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Oct 04, 2012 at 12:04:19AM +0200, const at MakeLinux.com wrote:
> From: Constantine Shulyupin <const@MakeLinux.com>
>
> From: Miguel Aguilar <miguel.aguilar@ridgerun.com>
> Signed-off-by: Constantine Shulyupin <const@MakeLinux.com>
> ---
> Tested with usb gadget g_zero.
> This patch is based on code from Arago, Angstom, and RidgeRun projects.
> Original patch is three years ago:
> http://www.mail-archive.com/davinci-linux-open-source at linux.davincidsp.com/msg14741.html
You can't have two "From:" lines.
And put the information above, in the changelog entry.
Also, it looks like you are modifying printk lines for no reason, why do
that in this patch? That shouldn't be needed, right?
greg k-h
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-10-03 23:23 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-03 22:04 [PATCH v3] Enable USB peripheral on dm365 EVM const at MakeLinux.com
2012-10-03 23:23 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox