diff options
| -rw-r--r-- | arch/arm/mach-exynos4/include/mach/map.h | 3 | ||||
| -rw-r--r-- | arch/arm/plat-s5p/Kconfig | 5 | ||||
| -rw-r--r-- | arch/arm/plat-s5p/Makefile | 1 | ||||
| -rw-r--r-- | arch/arm/plat-s5p/dev-ehci.c | 50 | ||||
| -rw-r--r-- | arch/arm/plat-s5p/include/plat/ehci.h | 21 | ||||
| -rw-r--r-- | arch/arm/plat-samsung/include/plat/devs.h | 2 |
6 files changed, 82 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos4/include/mach/map.h b/arch/arm/mach-exynos4/include/mach/map.h index 6330b73b9ea7..213c2a27d7ca 100644 --- a/arch/arm/mach-exynos4/include/mach/map.h +++ b/arch/arm/mach-exynos4/include/mach/map.h | |||
| @@ -101,6 +101,8 @@ | |||
| 101 | 101 | ||
| 102 | #define EXYNOS4_PA_SROMC 0x12570000 | 102 | #define EXYNOS4_PA_SROMC 0x12570000 |
| 103 | 103 | ||
| 104 | #define EXYNOS4_PA_EHCI 0x12580000 | ||
| 105 | |||
| 104 | #define EXYNOS4_PA_UART 0x13800000 | 106 | #define EXYNOS4_PA_UART 0x13800000 |
| 105 | 107 | ||
| 106 | #define EXYNOS4_PA_IIC(x) (0x13860000 + ((x) * 0x10000)) | 108 | #define EXYNOS4_PA_IIC(x) (0x13860000 + ((x) * 0x10000)) |
| @@ -143,6 +145,7 @@ | |||
| 143 | #define S5P_PA_SROMC EXYNOS4_PA_SROMC | 145 | #define S5P_PA_SROMC EXYNOS4_PA_SROMC |
| 144 | #define S5P_PA_SYSCON EXYNOS4_PA_SYSCON | 146 | #define S5P_PA_SYSCON EXYNOS4_PA_SYSCON |
| 145 | #define S5P_PA_TIMER EXYNOS4_PA_TIMER | 147 | #define S5P_PA_TIMER EXYNOS4_PA_TIMER |
| 148 | #define S5P_PA_EHCI EXYNOS4_PA_EHCI | ||
| 146 | 149 | ||
| 147 | #define SAMSUNG_PA_KEYPAD EXYNOS4_PA_KEYPAD | 150 | #define SAMSUNG_PA_KEYPAD EXYNOS4_PA_KEYPAD |
| 148 | 151 | ||
diff --git a/arch/arm/plat-s5p/Kconfig b/arch/arm/plat-s5p/Kconfig index 849229716586..6751bcf7b888 100644 --- a/arch/arm/plat-s5p/Kconfig +++ b/arch/arm/plat-s5p/Kconfig | |||
| @@ -85,6 +85,11 @@ config S5P_DEV_CSIS1 | |||
| 85 | help | 85 | help |
| 86 | Compile in platform device definitions for MIPI-CSIS channel 1 | 86 | Compile in platform device definitions for MIPI-CSIS channel 1 |
| 87 | 87 | ||
| 88 | config S5P_DEV_USB_EHCI | ||
| 89 | bool | ||
| 90 | help | ||
| 91 | Compile in platform device definition for USB EHCI | ||
| 92 | |||
| 88 | config S5P_SETUP_MIPIPHY | 93 | config S5P_SETUP_MIPIPHY |
| 89 | bool | 94 | bool |
| 90 | help | 95 | help |
diff --git a/arch/arm/plat-s5p/Makefile b/arch/arm/plat-s5p/Makefile index 42afff7f60be..e234cc4d49a0 100644 --- a/arch/arm/plat-s5p/Makefile +++ b/arch/arm/plat-s5p/Makefile | |||
| @@ -33,4 +33,5 @@ obj-$(CONFIG_S5P_DEV_FIMC3) += dev-fimc3.o | |||
| 33 | obj-$(CONFIG_S5P_DEV_ONENAND) += dev-onenand.o | 33 | obj-$(CONFIG_S5P_DEV_ONENAND) += dev-onenand.o |
| 34 | obj-$(CONFIG_S5P_DEV_CSIS0) += dev-csis0.o | 34 | obj-$(CONFIG_S5P_DEV_CSIS0) += dev-csis0.o |
| 35 | obj-$(CONFIG_S5P_DEV_CSIS1) += dev-csis1.o | 35 | obj-$(CONFIG_S5P_DEV_CSIS1) += dev-csis1.o |
| 36 | obj-$(CONFIG_S5P_DEV_USB_EHCI) += dev-ehci.o | ||
| 36 | obj-$(CONFIG_S5P_SETUP_MIPIPHY) += setup-mipiphy.o | 37 | obj-$(CONFIG_S5P_SETUP_MIPIPHY) += setup-mipiphy.o |
diff --git a/arch/arm/plat-s5p/dev-ehci.c b/arch/arm/plat-s5p/dev-ehci.c new file mode 100644 index 000000000000..a610e5c60964 --- /dev/null +++ b/arch/arm/plat-s5p/dev-ehci.c | |||
| @@ -0,0 +1,50 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2011 Samsung Electronics Co.Ltd | ||
| 3 | * Author: Joonyoung Shim <jy0922.shim@samsung.com> | ||
| 4 | * | ||
| 5 | * This program is free software; you can redistribute it and/or modify it | ||
| 6 | * under the terms of the GNU General Public License as published by the | ||
| 7 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 8 | * option) any later version. | ||
| 9 | * | ||
| 10 | */ | ||
| 11 | |||
| 12 | #include <linux/platform_device.h> | ||
| 13 | #include <mach/irqs.h> | ||
| 14 | #include <mach/map.h> | ||
| 15 | #include <plat/devs.h> | ||
| 16 | #include <plat/ehci.h> | ||
| 17 | #include <plat/usb-phy.h> | ||
| 18 | |||
| 19 | /* USB EHCI Host Controller registration */ | ||
| 20 | static struct resource s5p_ehci_resource[] = { | ||
| 21 | [0] = { | ||
| 22 | .start = S5P_PA_EHCI, | ||
| 23 | .end = S5P_PA_EHCI + SZ_256 - 1, | ||
| 24 | .flags = IORESOURCE_MEM, | ||
| 25 | }, | ||
| 26 | [1] = { | ||
| 27 | .start = IRQ_USB_HOST, | ||
| 28 | .end = IRQ_USB_HOST, | ||
| 29 | .flags = IORESOURCE_IRQ, | ||
| 30 | } | ||
| 31 | }; | ||
| 32 | |||
| 33 | static u64 s5p_device_ehci_dmamask = 0xffffffffUL; | ||
| 34 | |||
| 35 | struct platform_device s5p_device_ehci = { | ||
| 36 | .name = "s5p-ehci", | ||
| 37 | .id = -1, | ||
| 38 | .num_resources = ARRAY_SIZE(s5p_ehci_resource), | ||
| 39 | .resource = s5p_ehci_resource, | ||
| 40 | .dev = { | ||
| 41 | .dma_mask = &s5p_device_ehci_dmamask, | ||
| 42 | .coherent_dma_mask = 0xffffffffUL | ||
| 43 | } | ||
| 44 | }; | ||
| 45 | |||
| 46 | void __init s5p_ehci_set_platdata(struct s5p_ehci_platdata *pd) | ||
| 47 | { | ||
| 48 | s3c_set_platdata(pd, sizeof(struct s5p_ehci_platdata), | ||
| 49 | &s5p_device_ehci); | ||
| 50 | } | ||
diff --git a/arch/arm/plat-s5p/include/plat/ehci.h b/arch/arm/plat-s5p/include/plat/ehci.h new file mode 100644 index 000000000000..6ae6810c7569 --- /dev/null +++ b/arch/arm/plat-s5p/include/plat/ehci.h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2011 Samsung Electronics Co.Ltd | ||
| 3 | * Author: Joonyoung Shim <jy0922.shim@samsung.com> | ||
| 4 | * | ||
| 5 | * This program is free software; you can redistribute it and/or modify it | ||
| 6 | * under the terms of the GNU General Public License as published by the | ||
| 7 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 8 | * option) any later version. | ||
| 9 | */ | ||
| 10 | |||
| 11 | #ifndef __PLAT_S5P_EHCI_H | ||
| 12 | #define __PLAT_S5P_EHCI_H | ||
| 13 | |||
| 14 | struct s5p_ehci_platdata { | ||
| 15 | int (*phy_init)(struct platform_device *pdev, int type); | ||
| 16 | int (*phy_exit)(struct platform_device *pdev, int type); | ||
| 17 | }; | ||
| 18 | |||
| 19 | extern void s5p_ehci_set_platdata(struct s5p_ehci_platdata *pd); | ||
| 20 | |||
| 21 | #endif /* __PLAT_S5P_EHCI_H */ | ||
diff --git a/arch/arm/plat-samsung/include/plat/devs.h b/arch/arm/plat-samsung/include/plat/devs.h index f0da6b70fba4..3f38debbb108 100644 --- a/arch/arm/plat-samsung/include/plat/devs.h +++ b/arch/arm/plat-samsung/include/plat/devs.h | |||
| @@ -142,6 +142,8 @@ extern struct platform_device s5p_device_fimc3; | |||
| 142 | extern struct platform_device s5p_device_mipi_csis0; | 142 | extern struct platform_device s5p_device_mipi_csis0; |
| 143 | extern struct platform_device s5p_device_mipi_csis1; | 143 | extern struct platform_device s5p_device_mipi_csis1; |
| 144 | 144 | ||
| 145 | extern struct platform_device s5p_device_ehci; | ||
| 146 | |||
| 145 | extern struct platform_device exynos4_device_sysmmu; | 147 | extern struct platform_device exynos4_device_sysmmu; |
| 146 | 148 | ||
| 147 | /* s3c2440 specific devices */ | 149 | /* s3c2440 specific devices */ |
