Skip to content

Commit

Permalink
ARM: S5P: Add usb ehci device
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Joonyoung Shim authored and Greg Kroah-Hartman committed Apr 13, 2011
1 parent b750106 commit 3e11266
Show file tree
Hide file tree
Showing 6 changed files with 82 additions and 0 deletions.
3 changes: 3 additions & 0 deletions arch/arm/mach-exynos4/include/mach/map.h
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down Expand Up @@ -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

Expand Down
5 changes: 5 additions & 0 deletions arch/arm/plat-s5p/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/arm/plat-s5p/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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 changes: 50 additions & 0 deletions arch/arm/plat-s5p/dev-ehci.c
Original file line number Diff line number Diff line change
@@ -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 changes: 21 additions & 0 deletions arch/arm/plat-s5p/include/plat/ehci.h
Original file line number Diff line number Diff line change
@@ -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 */
2 changes: 2 additions & 0 deletions arch/arm/plat-samsung/include/plat/devs.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down

0 comments on commit 3e11266

Please sign in to comment.