diff options
author | Ajay Kumar <ajaykumar.rs@samsung.com> | 2012-07-21 10:32:04 +0000 |
---|---|---|
committer | Tushar Behera <tushar.behera@linaro.org> | 2013-05-24 08:36:21 +0530 |
commit | 10b9af9581b689b6815a9890929eb0da6f2e48a2 (patch) | |
tree | 3683f0966004c74d25228976b4a1e8eda112ab75 | |
parent | 6305d9cbe876cf4e285c993c1e60034cee9b5d9a (diff) |
ARM: EXYNOS5: Add OHCI device from device tree
This patch adds OHCI device from device tree for exynos5
and adds platform data.
Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
-rw-r--r-- | Documentation/devicetree/bindings/usb/exynos-usb.txt | 19 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5250.dtsi | 8 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-exynos5-dt.c | 15 |
3 files changed, 38 insertions, 4 deletions
diff --git a/Documentation/devicetree/bindings/usb/exynos-usb.txt b/Documentation/devicetree/bindings/usb/exynos-usb.txt new file mode 100644 index 000000000000..63b80b92c4fe --- /dev/null +++ b/Documentation/devicetree/bindings/usb/exynos-usb.txt @@ -0,0 +1,19 @@ +Samsung Exynos SoC USB controller + +The device node for USB controller for Samsung SOC have +following properties + +OHCI +Required properties: + - compatible: should be "samsung,exynos-ohci" for USB 2.0 + OHCI companion controller in host mode. + - reg: physical base address of the controller and length + of memory mapped. + - interrupts: interrupt number to the cpu. + +ohci { + compatible = "samsung,exynos-ohci"; + reg = <0x12120000 0x100>; + interrupts = <0 71 0>; +}; + diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi index 6b63be7fd084..a081a8c3ceba 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi @@ -91,7 +91,13 @@ reg = <0x12000000 0x10000>; interrupts = <0 72 0>; }; - + + ohci { + compatible = "samsung,exynos-ohci"; + reg = <0x12120000 0x100>; + interrupts = <0 71 0>; + }; + rtc { compatible = "samsung,s3c6410-rtc"; reg = <0x101E0000 0x100>; diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c index 752b16860c96..fcb0d87db727 100644 --- a/arch/arm/mach-exynos/mach-exynos5-dt.c +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c @@ -24,20 +24,27 @@ #include <plat/cpu.h> #include <plat/regs-serial.h> #include <plat/mfc.h> - -#include "common.h" +#include <linux/platform_data/samsung-usbphy.h> +#include <linux/platform_data/usb-exynos.h> #include <plat/regs-srom.h> #include <plat/devs.h> #include <plat/usb-phy.h> -#include <linux/platform_data/samsung-usbphy.h> +#include "common.h" + + static struct samsung_usbphy_data exynos5_usbphy_pdata = { .pmu_isolation = s5p_usb_phy_pmu_isolation, .phy_cfg_sel = s5p_usb_phy_cfg_sel, }; +static struct exynos4_ohci_platdata smdk5250_ohci_pdata = { + .phy_init = s5p_usb_phy_init, + .phy_exit = s5p_usb_phy_exit, +}; + /* * The following lookup table is used to override device names when devices * are registered from device tree. This is temporarily added to enable @@ -120,6 +127,8 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = { "s3c-usbphy", &exynos5_usbphy_pdata), OF_DEV_AUXDATA("samsung,exynos-dwc3", EXYNOS5_PA_DRD, "exynos-dwc3", NULL), + OF_DEV_AUXDATA("samsung,exynos-ohci", 0x12120000, + "exynos-ohci", &smdk5250_ohci_pdata), {}, }; |