diff mbox

[v3,1/2] ARM: Exynos5250: Enabling ehci-s5p driver

Message ID 1355416562-25539-2-git-send-email-gautam.vivek@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Vivek Gautam Dec. 13, 2012, 4:36 p.m. UTC
Adding EHCI device tree node for Exynos5250 along with
the device base adress and gpio line for vbus.

Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Acked-by: Jingoo Han <jg1.han@samsung.com>
---
 .../devicetree/bindings/usb/exynos-usb.txt         |   25 ++++++++++++++++++++
 arch/arm/boot/dts/exynos5250-smdk5250.dts          |    4 +++
 arch/arm/boot/dts/exynos5250.dtsi                  |    6 ++++
 arch/arm/mach-exynos/include/mach/map.h            |    1 +
 arch/arm/mach-exynos/mach-exynos5-dt.c             |    2 +
 5 files changed, 38 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/exynos-usb.txt

Comments

Grant Likely Dec. 15, 2012, 7:23 a.m. UTC | #1
On Thu, 13 Dec 2012 22:06:01 +0530, Vivek Gautam <gautam.vivek@samsung.com> wrote:
> Adding EHCI device tree node for Exynos5250 along with
> the device base adress and gpio line for vbus.
> 
> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
> Acked-by: Jingoo Han <jg1.han@samsung.com>
> ---
>  .../devicetree/bindings/usb/exynos-usb.txt         |   25 ++++++++++++++++++++
>  arch/arm/boot/dts/exynos5250-smdk5250.dts          |    4 +++
>  arch/arm/boot/dts/exynos5250.dtsi                  |    6 ++++
>  arch/arm/mach-exynos/include/mach/map.h            |    1 +
>  arch/arm/mach-exynos/mach-exynos5-dt.c             |    2 +
>  5 files changed, 38 insertions(+), 0 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/usb/exynos-usb.txt
> 
> diff --git a/Documentation/devicetree/bindings/usb/exynos-usb.txt b/Documentation/devicetree/bindings/usb/exynos-usb.txt
> new file mode 100644
> index 0000000..e8bbb47
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/exynos-usb.txt
> @@ -0,0 +1,25 @@
> +Samsung Exynos SoC USB controller
> +
> +The USB devices interface with USB controllers on Exynos SOCs.
> +The device node has following properties.
> +
> +EHCI
> +Required properties:
> + - compatible: should be "samsung,exynos4210-ehci" for USB 2.0
> +   EHCI controller in host mode.
> + - reg: physical base address of the controller and length of memory mapped
> +   region.
> + - interrupts: interrupt number to the cpu.
> +
> +Optional properties:
> + - samsung,vbus-gpio:  if present, specifies the GPIO that
> +   needs to be pulled up for the bus to be powered.
> +
> +Example:
> +
> +	usb@12110000 {
> +		compatible = "samsung,exynos4210-ehci";
> +		reg = <0x12110000 0x100>;
> +		interrupts = <0 71 0>;
> +		samsung,vbus-gpio = <&gpx2 6 1 3 3>;
> +	};
> diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
> index 711b55f..f990086 100644
> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
> @@ -218,4 +218,8 @@
>  	i2s_2: i2s@12D70000 {
>  		status = "disabled";
>  	};
> +
> +	usb@12110000 {
> +		samsung,vbus-gpio = <&gpx2 6 1 3 3>;
> +	};
>  };
> diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
> index 581e57a..584bb9a 100644
> --- a/arch/arm/boot/dts/exynos5250.dtsi
> +++ b/arch/arm/boot/dts/exynos5250.dtsi
> @@ -299,6 +299,12 @@
>  		rx-dma-channel = <&pdma0 11>; /* preliminary */
>  	};
>  
> +	usb@12110000 {
> +		compatible = "samsung,exynos4210-ehci";
> +		reg = <0x12110000 0x100>;
> +		interrupts = <0 71 0>;
> +	};
> +
>  	amba {
>  		#address-cells = <1>;
>  		#size-cells = <1>;
> diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h
> index cbb2852..b2c662f 100644
> --- a/arch/arm/mach-exynos/include/mach/map.h
> +++ b/arch/arm/mach-exynos/include/mach/map.h
> @@ -201,6 +201,7 @@
>  #define EXYNOS4_PA_EHCI			0x12580000
>  #define EXYNOS4_PA_OHCI			0x12590000
>  #define EXYNOS4_PA_HSPHY		0x125B0000
> +#define EXYNOS5_PA_EHCI			0x12110000
>  #define EXYNOS4_PA_MFC			0x13400000
>  
>  #define EXYNOS4_PA_UART			0x13800000
> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
> index 462e5ac..b3b9af1 100644
> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
> @@ -110,6 +110,8 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
>  				"samsung-i2s.1", NULL),
>  	OF_DEV_AUXDATA("samsung,samsung-i2s", 0x12D70000,
>  				"samsung-i2s.2", NULL),
> +	OF_DEV_AUXDATA("samsung,exynos4210-ehci", EXYNOS5_PA_EHCI,
> +				"s5p-ehci", NULL),

I'm assuming the above change is temporary. What is left to be done to
drop the auxdata in theses two patches?

Otherwise the patch looks fine.

Acked-by: Grant Likely <grant.likely@secretlab.ca>
Vivek Gautam Dec. 19, 2012, 1:50 p.m. UTC | #2
CC: Doug Anderson


On Sat, Dec 15, 2012 at 12:53 PM, Grant Likely
<grant.likely@secretlab.ca> wrote:
> On Thu, 13 Dec 2012 22:06:01 +0530, Vivek Gautam <gautam.vivek@samsung.com> wrote:
>> Adding EHCI device tree node for Exynos5250 along with
>> the device base adress and gpio line for vbus.
>>
>> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
>> Acked-by: Jingoo Han <jg1.han@samsung.com>
>> ---
>>  .../devicetree/bindings/usb/exynos-usb.txt         |   25 ++++++++++++++++++++
>>  arch/arm/boot/dts/exynos5250-smdk5250.dts          |    4 +++
>>  arch/arm/boot/dts/exynos5250.dtsi                  |    6 ++++
>>  arch/arm/mach-exynos/include/mach/map.h            |    1 +
>>  arch/arm/mach-exynos/mach-exynos5-dt.c             |    2 +
>>  5 files changed, 38 insertions(+), 0 deletions(-)
>>  create mode 100644 Documentation/devicetree/bindings/usb/exynos-usb.txt
>>
>> diff --git a/Documentation/devicetree/bindings/usb/exynos-usb.txt b/Documentation/devicetree/bindings/usb/exynos-usb.txt
>> new file mode 100644
>> index 0000000..e8bbb47
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/usb/exynos-usb.txt
>> @@ -0,0 +1,25 @@
>> +Samsung Exynos SoC USB controller
>> +
>> +The USB devices interface with USB controllers on Exynos SOCs.
>> +The device node has following properties.
>> +
>> +EHCI
>> +Required properties:
>> + - compatible: should be "samsung,exynos4210-ehci" for USB 2.0
>> +   EHCI controller in host mode.
>> + - reg: physical base address of the controller and length of memory mapped
>> +   region.
>> + - interrupts: interrupt number to the cpu.
>> +
>> +Optional properties:
>> + - samsung,vbus-gpio:  if present, specifies the GPIO that
>> +   needs to be pulled up for the bus to be powered.
>> +
>> +Example:
>> +
>> +     usb@12110000 {
>> +             compatible = "samsung,exynos4210-ehci";
>> +             reg = <0x12110000 0x100>;
>> +             interrupts = <0 71 0>;
>> +             samsung,vbus-gpio = <&gpx2 6 1 3 3>;
>> +     };
>> diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
>> index 711b55f..f990086 100644
>> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
>> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
>> @@ -218,4 +218,8 @@
>>       i2s_2: i2s@12D70000 {
>>               status = "disabled";
>>       };
>> +
>> +     usb@12110000 {
>> +             samsung,vbus-gpio = <&gpx2 6 1 3 3>;
>> +     };
>>  };
>> diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
>> index 581e57a..584bb9a 100644
>> --- a/arch/arm/boot/dts/exynos5250.dtsi
>> +++ b/arch/arm/boot/dts/exynos5250.dtsi
>> @@ -299,6 +299,12 @@
>>               rx-dma-channel = <&pdma0 11>; /* preliminary */
>>       };
>>
>> +     usb@12110000 {
>> +             compatible = "samsung,exynos4210-ehci";
>> +             reg = <0x12110000 0x100>;
>> +             interrupts = <0 71 0>;
>> +     };
>> +
>>       amba {
>>               #address-cells = <1>;
>>               #size-cells = <1>;
>> diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h
>> index cbb2852..b2c662f 100644
>> --- a/arch/arm/mach-exynos/include/mach/map.h
>> +++ b/arch/arm/mach-exynos/include/mach/map.h
>> @@ -201,6 +201,7 @@
>>  #define EXYNOS4_PA_EHCI                      0x12580000
>>  #define EXYNOS4_PA_OHCI                      0x12590000
>>  #define EXYNOS4_PA_HSPHY             0x125B0000
>> +#define EXYNOS5_PA_EHCI                      0x12110000
>>  #define EXYNOS4_PA_MFC                       0x13400000
>>
>>  #define EXYNOS4_PA_UART                      0x13800000
>> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
>> index 462e5ac..b3b9af1 100644
>> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
>> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
>> @@ -110,6 +110,8 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
>>                               "samsung-i2s.1", NULL),
>>       OF_DEV_AUXDATA("samsung,samsung-i2s", 0x12D70000,
>>                               "samsung-i2s.2", NULL),
>> +     OF_DEV_AUXDATA("samsung,exynos4210-ehci", EXYNOS5_PA_EHCI,
>> +                             "s5p-ehci", NULL),
>
> I'm assuming the above change is temporary. What is left to be done to
> drop the auxdata in theses two patches?
>
> Otherwise the patch looks fine.
>
> Acked-by: Grant Likely <grant.likely@secretlab.ca>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
Vivek Gautam Dec. 21, 2012, 8:16 a.m. UTC | #3
Hi all,


On Wed, Dec 19, 2012 at 7:20 PM, Vivek Gautam <gautamvivek1987@gmail.com> wrote:
> CC: Doug Anderson
>
>
> On Sat, Dec 15, 2012 at 12:53 PM, Grant Likely
> <grant.likely@secretlab.ca> wrote:
>> On Thu, 13 Dec 2012 22:06:01 +0530, Vivek Gautam <gautam.vivek@samsung.com> wrote:
>>> Adding EHCI device tree node for Exynos5250 along with
>>> the device base adress and gpio line for vbus.
>>>
>>> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
>>> Acked-by: Jingoo Han <jg1.han@samsung.com>
>>> ---
>>>  .../devicetree/bindings/usb/exynos-usb.txt         |   25 ++++++++++++++++++++
>>>  arch/arm/boot/dts/exynos5250-smdk5250.dts          |    4 +++
>>>  arch/arm/boot/dts/exynos5250.dtsi                  |    6 ++++
>>>  arch/arm/mach-exynos/include/mach/map.h            |    1 +
>>>  arch/arm/mach-exynos/mach-exynos5-dt.c             |    2 +
>>>  5 files changed, 38 insertions(+), 0 deletions(-)
>>>  create mode 100644 Documentation/devicetree/bindings/usb/exynos-usb.txt
>>>
>>> diff --git a/Documentation/devicetree/bindings/usb/exynos-usb.txt b/Documentation/devicetree/bindings/usb/exynos-usb.txt
>>> new file mode 100644
>>> index 0000000..e8bbb47
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/usb/exynos-usb.txt
>>> @@ -0,0 +1,25 @@
>>> +Samsung Exynos SoC USB controller
>>> +
>>> +The USB devices interface with USB controllers on Exynos SOCs.
>>> +The device node has following properties.
>>> +
>>> +EHCI
>>> +Required properties:
>>> + - compatible: should be "samsung,exynos4210-ehci" for USB 2.0
>>> +   EHCI controller in host mode.
>>> + - reg: physical base address of the controller and length of memory mapped
>>> +   region.
>>> + - interrupts: interrupt number to the cpu.
>>> +
>>> +Optional properties:
>>> + - samsung,vbus-gpio:  if present, specifies the GPIO that
>>> +   needs to be pulled up for the bus to be powered.
>>> +
>>> +Example:
>>> +
>>> +     usb@12110000 {
>>> +             compatible = "samsung,exynos4210-ehci";
>>> +             reg = <0x12110000 0x100>;
>>> +             interrupts = <0 71 0>;
>>> +             samsung,vbus-gpio = <&gpx2 6 1 3 3>;
>>> +     };
>>> diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
>>> index 711b55f..f990086 100644
>>> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
>>> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
>>> @@ -218,4 +218,8 @@
>>>       i2s_2: i2s@12D70000 {
>>>               status = "disabled";
>>>       };
>>> +
>>> +     usb@12110000 {
>>> +             samsung,vbus-gpio = <&gpx2 6 1 3 3>;
>>> +     };
>>>  };
>>> diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
>>> index 581e57a..584bb9a 100644
>>> --- a/arch/arm/boot/dts/exynos5250.dtsi
>>> +++ b/arch/arm/boot/dts/exynos5250.dtsi
>>> @@ -299,6 +299,12 @@
>>>               rx-dma-channel = <&pdma0 11>; /* preliminary */
>>>       };
>>>
>>> +     usb@12110000 {
>>> +             compatible = "samsung,exynos4210-ehci";
>>> +             reg = <0x12110000 0x100>;
>>> +             interrupts = <0 71 0>;
>>> +     };
>>> +
>>>       amba {
>>>               #address-cells = <1>;
>>>               #size-cells = <1>;
>>> diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h
>>> index cbb2852..b2c662f 100644
>>> --- a/arch/arm/mach-exynos/include/mach/map.h
>>> +++ b/arch/arm/mach-exynos/include/mach/map.h
>>> @@ -201,6 +201,7 @@
>>>  #define EXYNOS4_PA_EHCI                      0x12580000
>>>  #define EXYNOS4_PA_OHCI                      0x12590000
>>>  #define EXYNOS4_PA_HSPHY             0x125B0000
>>> +#define EXYNOS5_PA_EHCI                      0x12110000
>>>  #define EXYNOS4_PA_MFC                       0x13400000
>>>
>>>  #define EXYNOS4_PA_UART                      0x13800000
>>> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
>>> index 462e5ac..b3b9af1 100644
>>> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
>>> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
>>> @@ -110,6 +110,8 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
>>>                               "samsung-i2s.1", NULL),
>>>       OF_DEV_AUXDATA("samsung,samsung-i2s", 0x12D70000,
>>>                               "samsung-i2s.2", NULL),
>>> +     OF_DEV_AUXDATA("samsung,exynos4210-ehci", EXYNOS5_PA_EHCI,
>>> +                             "s5p-ehci", NULL),
>>
>> I'm assuming the above change is temporary. What is left to be done to
>> drop the auxdata in theses two patches?
>>
>> Otherwise the patch looks fine.
>>
>> Acked-by: Grant Likely <grant.likely@secretlab.ca>

Any more thought about this patch?
Or does this change seems fine?

>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at  http://www.tux.org/lkml/
>
>
>
> --
> Thanks & Regards
> Vivek
Doug Anderson Dec. 21, 2012, 6:13 p.m. UTC | #4
Vivek,


On Fri, Dec 21, 2012 at 12:16 AM, Vivek Gautam
<gautamvivek1987@gmail.com> wrote:
> Hi all,
>
>
> On Wed, Dec 19, 2012 at 7:20 PM, Vivek Gautam <gautamvivek1987@gmail.com> wrote:
>> CC: Doug Anderson
>>
>>
>> On Sat, Dec 15, 2012 at 12:53 PM, Grant Likely
>> <grant.likely@secretlab.ca> wrote:
>>> On Thu, 13 Dec 2012 22:06:01 +0530, Vivek Gautam <gautam.vivek@samsung.com> wrote:
>>>> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
>>>> index 462e5ac..b3b9af1 100644
>>>> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
>>>> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
>>>> @@ -110,6 +110,8 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
>>>>                               "samsung-i2s.1", NULL),
>>>>       OF_DEV_AUXDATA("samsung,samsung-i2s", 0x12D70000,
>>>>                               "samsung-i2s.2", NULL),
>>>> +     OF_DEV_AUXDATA("samsung,exynos4210-ehci", EXYNOS5_PA_EHCI,
>>>> +                             "s5p-ehci", NULL),
>>>
>>> I'm assuming the above change is temporary. What is left to be done to
>>> drop the auxdata in theses two patches?
>>>
>>> Otherwise the patch looks fine.
>>>
>>> Acked-by: Grant Likely <grant.likely@secretlab.ca>
>
> Any more thought about this patch?
> Or does this change seems fine?

I'm fairly certain we can just drop the OF_DEV_AUXDATA entry here.  I
haven't been following this as closely as I should, but I know that
the comment for this table says that the whole purpose is to override
device names and that it should be temporary.  We don't need to do any
overriding of device names here, do we?

When I drop this (and the ohci and phy) entries from my table I can
still boot and still can use USB.  The big difference is what shows up
in dmesg

[    1.605000] s5p-ehci s5p-ehci: S5P EHCI Host Controller

Becomes:

[    1.550000] s5p-ehci 12110000.usb: S5P EHCI Host Controller

...and some sysfs paths change.

-Doug
Grant Likely Feb. 8, 2013, 9:41 p.m. UTC | #5
On Fri, 21 Dec 2012 10:13:50 -0800, Doug Anderson <dianders@chromium.org> wrote:
> Vivek,
> 
> 
> On Fri, Dec 21, 2012 at 12:16 AM, Vivek Gautam
> <gautamvivek1987@gmail.com> wrote:
> > Hi all,
> >
> >
> > On Wed, Dec 19, 2012 at 7:20 PM, Vivek Gautam <gautamvivek1987@gmail.com> wrote:
> >> CC: Doug Anderson
> >>
> >>
> >> On Sat, Dec 15, 2012 at 12:53 PM, Grant Likely
> >> <grant.likely@secretlab.ca> wrote:
> >>> On Thu, 13 Dec 2012 22:06:01 +0530, Vivek Gautam <gautam.vivek@samsung.com> wrote:
> >>>> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
> >>>> index 462e5ac..b3b9af1 100644
> >>>> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
> >>>> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
> >>>> @@ -110,6 +110,8 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
> >>>>                               "samsung-i2s.1", NULL),
> >>>>       OF_DEV_AUXDATA("samsung,samsung-i2s", 0x12D70000,
> >>>>                               "samsung-i2s.2", NULL),
> >>>> +     OF_DEV_AUXDATA("samsung,exynos4210-ehci", EXYNOS5_PA_EHCI,
> >>>> +                             "s5p-ehci", NULL),
> >>>
> >>> I'm assuming the above change is temporary. What is left to be done to
> >>> drop the auxdata in theses two patches?
> >>>
> >>> Otherwise the patch looks fine.
> >>>
> >>> Acked-by: Grant Likely <grant.likely@secretlab.ca>
> >
> > Any more thought about this patch?
> > Or does this change seems fine?
> 
> I'm fairly certain we can just drop the OF_DEV_AUXDATA entry here.  I
> haven't been following this as closely as I should, but I know that
> the comment for this table says that the whole purpose is to override
> device names and that it should be temporary.  We don't need to do any
> overriding of device names here, do we?
> 
> When I drop this (and the ohci and phy) entries from my table I can
> still boot and still can use USB.  The big difference is what shows up
> in dmesg
> 
> [    1.605000] s5p-ehci s5p-ehci: S5P EHCI Host Controller
> 
> Becomes:
> 
> [    1.550000] s5p-ehci 12110000.usb: S5P EHCI Host Controller
> 
> ...and some sysfs paths change.

Right. Drop the AUXDATA then.  :-)

g.
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/usb/exynos-usb.txt b/Documentation/devicetree/bindings/usb/exynos-usb.txt
new file mode 100644
index 0000000..e8bbb47
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/exynos-usb.txt
@@ -0,0 +1,25 @@ 
+Samsung Exynos SoC USB controller
+
+The USB devices interface with USB controllers on Exynos SOCs.
+The device node has following properties.
+
+EHCI
+Required properties:
+ - compatible: should be "samsung,exynos4210-ehci" for USB 2.0
+   EHCI controller in host mode.
+ - reg: physical base address of the controller and length of memory mapped
+   region.
+ - interrupts: interrupt number to the cpu.
+
+Optional properties:
+ - samsung,vbus-gpio:  if present, specifies the GPIO that
+   needs to be pulled up for the bus to be powered.
+
+Example:
+
+	usb@12110000 {
+		compatible = "samsung,exynos4210-ehci";
+		reg = <0x12110000 0x100>;
+		interrupts = <0 71 0>;
+		samsung,vbus-gpio = <&gpx2 6 1 3 3>;
+	};
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index 711b55f..f990086 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -218,4 +218,8 @@ 
 	i2s_2: i2s@12D70000 {
 		status = "disabled";
 	};
+
+	usb@12110000 {
+		samsung,vbus-gpio = <&gpx2 6 1 3 3>;
+	};
 };
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 581e57a..584bb9a 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -299,6 +299,12 @@ 
 		rx-dma-channel = <&pdma0 11>; /* preliminary */
 	};
 
+	usb@12110000 {
+		compatible = "samsung,exynos4210-ehci";
+		reg = <0x12110000 0x100>;
+		interrupts = <0 71 0>;
+	};
+
 	amba {
 		#address-cells = <1>;
 		#size-cells = <1>;
diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h
index cbb2852..b2c662f 100644
--- a/arch/arm/mach-exynos/include/mach/map.h
+++ b/arch/arm/mach-exynos/include/mach/map.h
@@ -201,6 +201,7 @@ 
 #define EXYNOS4_PA_EHCI			0x12580000
 #define EXYNOS4_PA_OHCI			0x12590000
 #define EXYNOS4_PA_HSPHY		0x125B0000
+#define EXYNOS5_PA_EHCI			0x12110000
 #define EXYNOS4_PA_MFC			0x13400000
 
 #define EXYNOS4_PA_UART			0x13800000
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index 462e5ac..b3b9af1 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -110,6 +110,8 @@  static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
 				"samsung-i2s.1", NULL),
 	OF_DEV_AUXDATA("samsung,samsung-i2s", 0x12D70000,
 				"samsung-i2s.2", NULL),
+	OF_DEV_AUXDATA("samsung,exynos4210-ehci", EXYNOS5_PA_EHCI,
+				"s5p-ehci", NULL),
 	{},
 };