ARM: shmobile: marzen: add USB OHCI driver support
This patch supports CN21/CN22 USB 1.x (port 0/1/2), and enable input event on defconfig Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms@verge.net.au>
This commit is contained in:
parent
94e1f7fbe0
commit
ac7c4ea037
3 changed files with 61 additions and 2 deletions
|
@ -61,9 +61,8 @@ CONFIG_SMSC911X=y
|
||||||
# CONFIG_NET_VENDOR_STMICRO is not set
|
# CONFIG_NET_VENDOR_STMICRO is not set
|
||||||
# CONFIG_WLAN is not set
|
# CONFIG_WLAN is not set
|
||||||
# CONFIG_INPUT_MOUSEDEV is not set
|
# CONFIG_INPUT_MOUSEDEV is not set
|
||||||
# CONFIG_INPUT_KEYBOARD is not set
|
CONFIG_INPUT_EVDEV=y
|
||||||
# CONFIG_INPUT_MOUSE is not set
|
# CONFIG_INPUT_MOUSE is not set
|
||||||
# CONFIG_SERIO is not set
|
|
||||||
# CONFIG_VT is not set
|
# CONFIG_VT is not set
|
||||||
# CONFIG_LEGACY_PTYS is not set
|
# CONFIG_LEGACY_PTYS is not set
|
||||||
# CONFIG_DEVKMEM is not set
|
# CONFIG_DEVKMEM is not set
|
||||||
|
@ -86,6 +85,8 @@ CONFIG_MMC=y
|
||||||
CONFIG_MMC_SDHI=y
|
CONFIG_MMC_SDHI=y
|
||||||
CONFIG_USB=y
|
CONFIG_USB=y
|
||||||
CONFIG_USB_EHCI_HCD=y
|
CONFIG_USB_EHCI_HCD=y
|
||||||
|
CONFIG_USB_OHCI_HCD=y
|
||||||
|
CONFIG_USB_OHCI_HCD_PLATFORM=y
|
||||||
CONFIG_USB_EHCI_HCD_PLATFORM=y
|
CONFIG_USB_EHCI_HCD_PLATFORM=y
|
||||||
CONFIG_USB_STORAGE=y
|
CONFIG_USB_STORAGE=y
|
||||||
CONFIG_UIO=y
|
CONFIG_UIO=y
|
||||||
|
|
|
@ -30,6 +30,7 @@ config ARCH_R8A7779
|
||||||
select CPU_V7
|
select CPU_V7
|
||||||
select SH_CLK_CPG
|
select SH_CLK_CPG
|
||||||
select USB_ARCH_HAS_EHCI
|
select USB_ARCH_HAS_EHCI
|
||||||
|
select USB_ARCH_HAS_OHCI
|
||||||
|
|
||||||
config ARCH_EMEV2
|
config ARCH_EMEV2
|
||||||
bool "Emma Mobile EV2"
|
bool "Emma Mobile EV2"
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
#include <linux/mfd/tmio.h>
|
#include <linux/mfd/tmio.h>
|
||||||
#include <linux/usb/otg.h>
|
#include <linux/usb/otg.h>
|
||||||
#include <linux/usb/ehci_pdriver.h>
|
#include <linux/usb/ehci_pdriver.h>
|
||||||
|
#include <linux/usb/ohci_pdriver.h>
|
||||||
#include <linux/pm_runtime.h>
|
#include <linux/pm_runtime.h>
|
||||||
#include <mach/hardware.h>
|
#include <mach/hardware.h>
|
||||||
#include <mach/r8a7779.h>
|
#include <mach/r8a7779.h>
|
||||||
|
@ -255,9 +256,65 @@ static struct platform_device ehci1_device = {
|
||||||
.resource = ehci1_resources,
|
.resource = ehci1_resources,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct usb_ohci_pdata ohcix_pdata = {
|
||||||
|
.power_on = usb_power_on,
|
||||||
|
.power_off = usb_power_off,
|
||||||
|
.power_suspend = usb_power_off,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct resource ohci0_resources[] = {
|
||||||
|
[0] = {
|
||||||
|
.start = 0xffe70400,
|
||||||
|
.end = 0xffe70800 - 1,
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
.start = gic_spi(44),
|
||||||
|
.flags = IORESOURCE_IRQ,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device ohci0_device = {
|
||||||
|
.name = "ohci-platform",
|
||||||
|
.id = 0,
|
||||||
|
.dev = {
|
||||||
|
.dma_mask = &ohci0_device.dev.coherent_dma_mask,
|
||||||
|
.coherent_dma_mask = 0xffffffff,
|
||||||
|
.platform_data = &ohcix_pdata,
|
||||||
|
},
|
||||||
|
.num_resources = ARRAY_SIZE(ohci0_resources),
|
||||||
|
.resource = ohci0_resources,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct resource ohci1_resources[] = {
|
||||||
|
[0] = {
|
||||||
|
.start = 0xfff70400,
|
||||||
|
.end = 0xfff70800 - 1,
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
.start = gic_spi(45),
|
||||||
|
.flags = IORESOURCE_IRQ,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device ohci1_device = {
|
||||||
|
.name = "ohci-platform",
|
||||||
|
.id = 1,
|
||||||
|
.dev = {
|
||||||
|
.dma_mask = &ohci1_device.dev.coherent_dma_mask,
|
||||||
|
.coherent_dma_mask = 0xffffffff,
|
||||||
|
.platform_data = &ohcix_pdata,
|
||||||
|
},
|
||||||
|
.num_resources = ARRAY_SIZE(ohci1_resources),
|
||||||
|
.resource = ohci1_resources,
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device *marzen_late_devices[] __initdata = {
|
static struct platform_device *marzen_late_devices[] __initdata = {
|
||||||
&ehci0_device,
|
&ehci0_device,
|
||||||
&ehci1_device,
|
&ehci1_device,
|
||||||
|
&ohci0_device,
|
||||||
|
&ohci1_device,
|
||||||
};
|
};
|
||||||
|
|
||||||
void __init marzen_init_late(void)
|
void __init marzen_init_late(void)
|
||||||
|
|
Loading…
Add table
Reference in a new issue