mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-11-20 16:46:23 +08:00
ARM: S5P: Add usb ehci device
This patch adds usb ehci device definition for samsung s5p cpus. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
b750106baf
commit
3e11266212
@ -101,6 +101,8 @@
|
||||
|
||||
#define EXYNOS4_PA_SROMC 0x12570000
|
||||
|
||||
#define EXYNOS4_PA_EHCI 0x12580000
|
||||
|
||||
#define EXYNOS4_PA_UART 0x13800000
|
||||
|
||||
#define EXYNOS4_PA_IIC(x) (0x13860000 + ((x) * 0x10000))
|
||||
@ -143,6 +145,7 @@
|
||||
#define S5P_PA_SROMC EXYNOS4_PA_SROMC
|
||||
#define S5P_PA_SYSCON EXYNOS4_PA_SYSCON
|
||||
#define S5P_PA_TIMER EXYNOS4_PA_TIMER
|
||||
#define S5P_PA_EHCI EXYNOS4_PA_EHCI
|
||||
|
||||
#define SAMSUNG_PA_KEYPAD EXYNOS4_PA_KEYPAD
|
||||
|
||||
|
@ -85,6 +85,11 @@ config S5P_DEV_CSIS1
|
||||
help
|
||||
Compile in platform device definitions for MIPI-CSIS channel 1
|
||||
|
||||
config S5P_DEV_USB_EHCI
|
||||
bool
|
||||
help
|
||||
Compile in platform device definition for USB EHCI
|
||||
|
||||
config S5P_SETUP_MIPIPHY
|
||||
bool
|
||||
help
|
||||
|
@ -33,4 +33,5 @@ obj-$(CONFIG_S5P_DEV_FIMC3) += dev-fimc3.o
|
||||
obj-$(CONFIG_S5P_DEV_ONENAND) += dev-onenand.o
|
||||
obj-$(CONFIG_S5P_DEV_CSIS0) += dev-csis0.o
|
||||
obj-$(CONFIG_S5P_DEV_CSIS1) += dev-csis1.o
|
||||
obj-$(CONFIG_S5P_DEV_USB_EHCI) += dev-ehci.o
|
||||
obj-$(CONFIG_S5P_SETUP_MIPIPHY) += setup-mipiphy.o
|
||||
|
50
arch/arm/plat-s5p/dev-ehci.c
Normal file
50
arch/arm/plat-s5p/dev-ehci.c
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright (C) 2011 Samsung Electronics Co.Ltd
|
||||
* Author: Joonyoung Shim <jy0922.shim@samsung.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/platform_device.h>
|
||||
#include <mach/irqs.h>
|
||||
#include <mach/map.h>
|
||||
#include <plat/devs.h>
|
||||
#include <plat/ehci.h>
|
||||
#include <plat/usb-phy.h>
|
||||
|
||||
/* USB EHCI Host Controller registration */
|
||||
static struct resource s5p_ehci_resource[] = {
|
||||
[0] = {
|
||||
.start = S5P_PA_EHCI,
|
||||
.end = S5P_PA_EHCI + SZ_256 - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
[1] = {
|
||||
.start = IRQ_USB_HOST,
|
||||
.end = IRQ_USB_HOST,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
}
|
||||
};
|
||||
|
||||
static u64 s5p_device_ehci_dmamask = 0xffffffffUL;
|
||||
|
||||
struct platform_device s5p_device_ehci = {
|
||||
.name = "s5p-ehci",
|
||||
.id = -1,
|
||||
.num_resources = ARRAY_SIZE(s5p_ehci_resource),
|
||||
.resource = s5p_ehci_resource,
|
||||
.dev = {
|
||||
.dma_mask = &s5p_device_ehci_dmamask,
|
||||
.coherent_dma_mask = 0xffffffffUL
|
||||
}
|
||||
};
|
||||
|
||||
void __init s5p_ehci_set_platdata(struct s5p_ehci_platdata *pd)
|
||||
{
|
||||
s3c_set_platdata(pd, sizeof(struct s5p_ehci_platdata),
|
||||
&s5p_device_ehci);
|
||||
}
|
21
arch/arm/plat-s5p/include/plat/ehci.h
Normal file
21
arch/arm/plat-s5p/include/plat/ehci.h
Normal file
@ -0,0 +1,21 @@
|
||||
/*
|
||||
* Copyright (C) 2011 Samsung Electronics Co.Ltd
|
||||
* Author: Joonyoung Shim <jy0922.shim@samsung.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef __PLAT_S5P_EHCI_H
|
||||
#define __PLAT_S5P_EHCI_H
|
||||
|
||||
struct s5p_ehci_platdata {
|
||||
int (*phy_init)(struct platform_device *pdev, int type);
|
||||
int (*phy_exit)(struct platform_device *pdev, int type);
|
||||
};
|
||||
|
||||
extern void s5p_ehci_set_platdata(struct s5p_ehci_platdata *pd);
|
||||
|
||||
#endif /* __PLAT_S5P_EHCI_H */
|
@ -142,6 +142,8 @@ extern struct platform_device s5p_device_fimc3;
|
||||
extern struct platform_device s5p_device_mipi_csis0;
|
||||
extern struct platform_device s5p_device_mipi_csis1;
|
||||
|
||||
extern struct platform_device s5p_device_ehci;
|
||||
|
||||
extern struct platform_device exynos4_device_sysmmu;
|
||||
|
||||
/* s3c2440 specific devices */
|
||||
|
Loading…
Reference in New Issue
Block a user