forked from Minki/linux
[ARM] S3C: Add USB high-speed/OtG device definitions
Add platform device definitions for the high-speed and OtG capable device block on the newer Samsung parts. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
This commit is contained in:
parent
496a3f0927
commit
f0e1fa7600
@ -39,6 +39,7 @@
|
||||
#define S3C_VA_UART3 S3C_VA_UARTx(3)
|
||||
|
||||
#define S3C64XX_PA_FB (0x77100000)
|
||||
#define S3C64XX_PA_USB_HSOTG (0x7C000000)
|
||||
#define S3C64XX_PA_SYSCON (0x7E00F000)
|
||||
#define S3C64XX_PA_TIMER (0x7F006000)
|
||||
#define S3C64XX_PA_IIC0 (0x7F004000)
|
||||
@ -70,5 +71,6 @@
|
||||
#define S3C_PA_IIC1 S3C64XX_PA_IIC1
|
||||
#define S3C_PA_FB S3C64XX_PA_FB
|
||||
#define S3C_PA_USBHOST S3C64XX_PA_USBHOST
|
||||
#define S3C_PA_USB_HSOTG S3C64XX_PA_USB_HSOTG
|
||||
|
||||
#endif /* __ASM_ARCH_6400_MAP_H */
|
||||
|
@ -186,4 +186,9 @@ config S3C_DEV_USB_HOST
|
||||
help
|
||||
Compile in platform device definition for USB host.
|
||||
|
||||
config S3C_DEV_USB_HSOTG
|
||||
bool
|
||||
help
|
||||
Compile in platform device definition for USB high-speed OtG
|
||||
|
||||
endif
|
||||
|
@ -32,3 +32,4 @@ obj-y += dev-i2c0.o
|
||||
obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o
|
||||
obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o
|
||||
obj-$(CONFIG_S3C_DEV_USB_HOST) += dev-usb.o
|
||||
obj-$(CONFIG_S3C_DEV_USB_HSOTG) += dev-usb-hsotg.o
|
||||
|
41
arch/arm/plat-s3c/dev-usb-hsotg.c
Normal file
41
arch/arm/plat-s3c/dev-usb-hsotg.c
Normal file
@ -0,0 +1,41 @@
|
||||
/* linux/arch/arm/plat-s3c/dev-usb-hsotg.c
|
||||
*
|
||||
* Copyright 2008 Simtec Electronics
|
||||
* Ben Dooks <ben@simtec.co.uk>
|
||||
* http://armlinux.simtec.co.uk/
|
||||
*
|
||||
* S3C series device definition for USB high-speed UDC/OtG block
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#include <mach/irqs.h>
|
||||
#include <mach/map.h>
|
||||
|
||||
#include <plat/devs.h>
|
||||
|
||||
static struct resource s3c_usb_hsotg_resources[] = {
|
||||
[0] = {
|
||||
.start = S3C_PA_USB_HSOTG,
|
||||
.end = S3C_PA_USB_HSOTG + 0x10000 - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
[1] = {
|
||||
.start = IRQ_OTG,
|
||||
.end = IRQ_OTG,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
struct platform_device s3c_device_usb_hsotg = {
|
||||
.name = "s3c-hsotg",
|
||||
.id = -1,
|
||||
.num_resources = ARRAY_SIZE(s3c_usb_hsotg_resources),
|
||||
.resource = s3c_usb_hsotg_resources,
|
||||
};
|
@ -45,6 +45,7 @@ extern struct platform_device s3c_device_spi1;
|
||||
extern struct platform_device s3c_device_nand;
|
||||
|
||||
extern struct platform_device s3c_device_usbgadget;
|
||||
extern struct platform_device s3c_device_usb_hsotg;
|
||||
|
||||
/* s3c2440 specific devices */
|
||||
|
||||
|
29
arch/arm/plat-s3c/include/plat/udc-hs.h
Normal file
29
arch/arm/plat-s3c/include/plat/udc-hs.h
Normal file
@ -0,0 +1,29 @@
|
||||
/* arch/arm/plat-s3c/include/plat/udc-hs.h
|
||||
*
|
||||
* Copyright 2008 Openmoko, Inc.
|
||||
* Copyright 2008 Simtec Electronics
|
||||
* Ben Dooks <ben@simtec.co.uk>
|
||||
* http://armlinux.simtec.co.uk/
|
||||
*
|
||||
* S3C USB2.0 High-speed / OtG platform information
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
enum s3c_hostg_dmamode {
|
||||
S3C_HSOTG_DMA_NONE, /* do not use DMA at-all */
|
||||
S3C_HSOTG_DMA_ONLY, /* always use DMA */
|
||||
S3C_HSOTG_DMA_DRV, /* DMA is chosen by driver */
|
||||
};
|
||||
|
||||
/**
|
||||
* struct s3c_hsotg_plat - platform data for high-speed otg/udc
|
||||
* @dma: Whether to use DMA or not.
|
||||
* @is_osc: The clock source is an oscillator, not a crystal
|
||||
*/
|
||||
struct s3c_hsotg_plat {
|
||||
enum s3c_hostg_dmamode dma;
|
||||
unsigned int is_osc : 1;
|
||||
};
|
Loading…
Reference in New Issue
Block a user