* [PATCH v4 0/4] Enable ehci, ohci and dwc3 devices on exynos5250 @ 2013-01-15 13:38 Vivek Gautam 2013-01-15 13:38 ` [PATCH v4 1/4] ARM: Exynos5250: Enabling ehci-s5p driver Vivek Gautam ` (3 more replies) 0 siblings, 4 replies; 20+ messages in thread From: Vivek Gautam @ 2013-01-15 13:38 UTC (permalink / raw) To: linux-samsung-soc Cc: devicetree-discuss, linux-kernel, linux-usb, kgene.kim, grant.likely, dianders, jg1.han Changes from v3: - Clubbed together arch enable patches for ehci/ohci and dwc3: [PATCH v3 0/2] Enable ehci and ohci devices for exynos5250, and [PATCH v3] ARM: Exynos5250: Enabling dwc3-exynos driver - Dropped OF_DEV_AUXDATA entry in mach-exysno5-dt since we don't need it. - Splitted the patch "ARM: Exynos5250: Enabling dwc3-exynos drive" into clock patch and device enabling patch. - Rebased on top of 'for-next' of linux-samsung tree. Vivek Gautam (4): ARM: Exynos5250: Enabling ehci-s5p driver ARM: Exynos5250: Enabling ohci-exynos driver ARM: Exynos5250: Add clock information for dwc3-exynos ARM: Exynos5250: Enabling dwc3-exynos driver .../devicetree/bindings/usb/exynos-usb.txt | 54 ++++++++++++++++++++ arch/arm/boot/dts/exynos5250-smdk5250.dts | 4 ++ arch/arm/boot/dts/exynos5250.dtsi | 18 +++++++ arch/arm/mach-exynos/Kconfig | 1 + arch/arm/mach-exynos/clock-exynos5.c | 24 +++++++++ 5 files changed, 101 insertions(+), 0 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/exynos-usb.txt -- 1.7.6.5 ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v4 1/4] ARM: Exynos5250: Enabling ehci-s5p driver 2013-01-15 13:38 [PATCH v4 0/4] Enable ehci, ohci and dwc3 devices on exynos5250 Vivek Gautam @ 2013-01-15 13:38 ` Vivek Gautam 2013-01-16 5:21 ` Vivek Gautam 2013-01-15 13:38 ` [PATCH v4 2/4] ARM: Exynos5250: Enabling ohci-exynos driver Vivek Gautam ` (2 subsequent siblings) 3 siblings, 1 reply; 20+ messages in thread From: Vivek Gautam @ 2013-01-15 13:38 UTC (permalink / raw) To: linux-samsung-soc Cc: devicetree-discuss, linux-kernel, linux-usb, kgene.kim, grant.likely, dianders, jg1.han 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> Acked-by: Grant Likely <grant.likely@secretlab.ca> --- .../devicetree/bindings/usb/exynos-usb.txt | 25 ++++++++++++++++++++ arch/arm/boot/dts/exynos5250-smdk5250.dts | 4 +++ arch/arm/boot/dts/exynos5250.dtsi | 6 ++++ 3 files changed, 35 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 942d576..7363e14 100644 --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts @@ -204,4 +204,8 @@ samsung,mfc-r = <0x43000000 0x800000>; samsung,mfc-l = <0x51000000 0x800000>; }; + + 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 30485de..2cbe53e 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi @@ -275,6 +275,12 @@ #size-cells = <0>; }; + usb@12110000 { + compatible = "samsung,exynos4210-ehci"; + reg = <0x12110000 0x100>; + interrupts = <0 71 0>; + }; + amba { #address-cells = <1>; #size-cells = <1>; -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH v4 1/4] ARM: Exynos5250: Enabling ehci-s5p driver 2013-01-15 13:38 ` [PATCH v4 1/4] ARM: Exynos5250: Enabling ehci-s5p driver Vivek Gautam @ 2013-01-16 5:21 ` Vivek Gautam 2013-01-16 5:45 ` [PATCH v5 " Vivek Gautam 0 siblings, 1 reply; 20+ messages in thread From: Vivek Gautam @ 2013-01-16 5:21 UTC (permalink / raw) To: Vivek Gautam Cc: linux-samsung-soc, jg1.han, kgene.kim, devicetree-discuss, linux-usb, linux-kernel On Tue, Jan 15, 2013 at 7:08 PM, 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> > Acked-by: Grant Likely <grant.likely@secretlab.ca> > --- > .../devicetree/bindings/usb/exynos-usb.txt | 25 ++++++++++++++++++++ > arch/arm/boot/dts/exynos5250-smdk5250.dts | 4 +++ > arch/arm/boot/dts/exynos5250.dtsi | 6 ++++ > 3 files changed, 35 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 942d576..7363e14 100644 > --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts > +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts > @@ -204,4 +204,8 @@ > samsung,mfc-r = <0x43000000 0x800000>; > samsung,mfc-l = <0x51000000 0x800000>; > }; > + > + usb@12110000 { > + samsung,vbus-gpio = <&gpx2 6 1 3 3>; > + }; Add required vbus gpio for snow board also here. > }; -- Thanks & Regards Vivek ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v5 1/4] ARM: Exynos5250: Enabling ehci-s5p driver 2013-01-16 5:21 ` Vivek Gautam @ 2013-01-16 5:45 ` Vivek Gautam 2013-01-16 7:51 ` Tomasz Figa 2013-02-08 22:35 ` Kukjin Kim 0 siblings, 2 replies; 20+ messages in thread From: Vivek Gautam @ 2013-01-16 5:45 UTC (permalink / raw) To: linux-samsung-soc Cc: devicetree-discuss, linux-kernel, linux-usb, kgene.kim, grant.likely, dianders, jg1.han 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> Acked-by: Grant Likely <grant.likely@secretlab.ca> --- Changes from v4: - Added gpio line for VBUS of USB2.0 on snow board. .../devicetree/bindings/usb/exynos-usb.txt | 25 ++++++++++++++++++++ arch/arm/boot/dts/exynos5250-smdk5250.dts | 4 +++ arch/arm/boot/dts/exynos5250-snow.dts | 4 +++ arch/arm/boot/dts/exynos5250.dtsi | 6 ++++ 4 files changed, 39 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 942d576..7363e14 100644 --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts @@ -204,4 +204,8 @@ samsung,mfc-r = <0x43000000 0x800000>; samsung,mfc-l = <0x51000000 0x800000>; }; + + usb@12110000 { + samsung,vbus-gpio = <&gpx2 6 1 3 3>; + }; }; diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts index 17dd951..47b6b84 100644 --- a/arch/arm/boot/dts/exynos5250-snow.dts +++ b/arch/arm/boot/dts/exynos5250-snow.dts @@ -40,4 +40,8 @@ <&gpc4 5 2 3 0>, <&gpc4 6 2 3 0>; }; }; + + usb@12110000 { + samsung,vbus-gpio = <&gpx1 1 1 3 3>; + }; }; diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi index 30485de..2cbe53e 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi @@ -275,6 +275,12 @@ #size-cells = <0>; }; + usb@12110000 { + compatible = "samsung,exynos4210-ehci"; + reg = <0x12110000 0x100>; + interrupts = <0 71 0>; + }; + amba { #address-cells = <1>; #size-cells = <1>; -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH v5 1/4] ARM: Exynos5250: Enabling ehci-s5p driver 2013-01-16 5:45 ` [PATCH v5 " Vivek Gautam @ 2013-01-16 7:51 ` Tomasz Figa 2013-02-08 22:35 ` Kukjin Kim 1 sibling, 0 replies; 20+ messages in thread From: Tomasz Figa @ 2013-01-16 7:51 UTC (permalink / raw) To: Vivek Gautam Cc: linux-samsung-soc, devicetree-discuss, linux-kernel, linux-usb, kgene.kim, grant.likely, dianders, jg1.han Hi Vivek, Same comment as for patch 2. Best regards, Tomasz On Wednesday 16 of January 2013 11:15:43 Vivek Gautam 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> > Acked-by: Grant Likely <grant.likely@secretlab.ca> > --- > > Changes from v4: > - Added gpio line for VBUS of USB2.0 on snow board. > > .../devicetree/bindings/usb/exynos-usb.txt | 25 > ++++++++++++++++++++ arch/arm/boot/dts/exynos5250-smdk5250.dts > | 4 +++ arch/arm/boot/dts/exynos5250-snow.dts | 4 > +++ arch/arm/boot/dts/exynos5250.dtsi | 6 ++++ 4 > files changed, 39 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 942d576..7363e14 > 100644 > --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts > +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts > @@ -204,4 +204,8 @@ > samsung,mfc-r = <0x43000000 0x800000>; > samsung,mfc-l = <0x51000000 0x800000>; > }; > + > + usb@12110000 { > + samsung,vbus-gpio = <&gpx2 6 1 3 3>; > + }; > }; > diff --git a/arch/arm/boot/dts/exynos5250-snow.dts > b/arch/arm/boot/dts/exynos5250-snow.dts index 17dd951..47b6b84 100644 > --- a/arch/arm/boot/dts/exynos5250-snow.dts > +++ b/arch/arm/boot/dts/exynos5250-snow.dts > @@ -40,4 +40,8 @@ > <&gpc4 5 2 3 0>, <&gpc4 6 2 3 0>; > }; > }; > + > + usb@12110000 { > + samsung,vbus-gpio = <&gpx1 1 1 3 3>; > + }; > }; > diff --git a/arch/arm/boot/dts/exynos5250.dtsi > b/arch/arm/boot/dts/exynos5250.dtsi index 30485de..2cbe53e 100644 > --- a/arch/arm/boot/dts/exynos5250.dtsi > +++ b/arch/arm/boot/dts/exynos5250.dtsi > @@ -275,6 +275,12 @@ > #size-cells = <0>; > }; > > + usb@12110000 { > + compatible = "samsung,exynos4210-ehci"; > + reg = <0x12110000 0x100>; > + interrupts = <0 71 0>; > + }; > + > amba { > #address-cells = <1>; > #size-cells = <1>; ^ permalink raw reply [flat|nested] 20+ messages in thread
* RE: [PATCH v5 1/4] ARM: Exynos5250: Enabling ehci-s5p driver 2013-01-16 5:45 ` [PATCH v5 " Vivek Gautam 2013-01-16 7:51 ` Tomasz Figa @ 2013-02-08 22:35 ` Kukjin Kim 2013-02-15 5:09 ` Vivek Gautam 1 sibling, 1 reply; 20+ messages in thread From: Kukjin Kim @ 2013-02-08 22:35 UTC (permalink / raw) To: 'Vivek Gautam', linux-samsung-soc Cc: devicetree-discuss, linux-kernel, linux-usb, grant.likely, dianders, jg1.han, Thomas Abraham Vivek Gautam 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> > Acked-by: Grant Likely <grant.likely@secretlab.ca> > --- > > Changes from v4: > - Added gpio line for VBUS of USB2.0 on snow board. > > .../devicetree/bindings/usb/exynos-usb.txt | 25 > ++++++++++++++++++++ > arch/arm/boot/dts/exynos5250-smdk5250.dts | 4 +++ > arch/arm/boot/dts/exynos5250-snow.dts | 4 +++ > arch/arm/boot/dts/exynos5250.dtsi | 6 ++++ > 4 files changed, 39 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 942d576..7363e14 100644 > --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts > +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts > @@ -204,4 +204,8 @@ > samsung,mfc-r = <0x43000000 0x800000>; > samsung,mfc-l = <0x51000000 0x800000>; > }; > + > + usb@12110000 { > + samsung,vbus-gpio = <&gpx2 6 1 3 3>; > + }; > }; > diff --git a/arch/arm/boot/dts/exynos5250-snow.dts > b/arch/arm/boot/dts/exynos5250-snow.dts > index 17dd951..47b6b84 100644 > --- a/arch/arm/boot/dts/exynos5250-snow.dts > +++ b/arch/arm/boot/dts/exynos5250-snow.dts > @@ -40,4 +40,8 @@ > <&gpc4 5 2 3 0>, <&gpc4 6 2 3 0>; > }; > }; > + > + usb@12110000 { > + samsung,vbus-gpio = <&gpx1 1 1 3 3>; > + }; > }; > diff --git a/arch/arm/boot/dts/exynos5250.dtsi > b/arch/arm/boot/dts/exynos5250.dtsi > index 30485de..2cbe53e 100644 > --- a/arch/arm/boot/dts/exynos5250.dtsi > +++ b/arch/arm/boot/dts/exynos5250.dtsi > @@ -275,6 +275,12 @@ > #size-cells = <0>; > }; > > + usb@12110000 { > + compatible = "samsung,exynos4210-ehci"; > + reg = <0x12110000 0x100>; > + interrupts = <0 71 0>; > + }; > + > amba { > #address-cells = <1>; > #size-cells = <1>; > -- > 1.7.6.5 Looks good to me and applied this and "[PATCH v3 2/4] ARM: Exynos5250: Enabling ohci-exynos driver" in Samsung tree. Note, I think, you need to implement to use pinctrl for this instead of old gpio bindings next time, probably after release v3.9-rc1. Ah, one more, please use subject lines appropriate like others, "ARM: dts: ....". Thanks. - Kukjin ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v5 1/4] ARM: Exynos5250: Enabling ehci-s5p driver 2013-02-08 22:35 ` Kukjin Kim @ 2013-02-15 5:09 ` Vivek Gautam 0 siblings, 0 replies; 20+ messages in thread From: Vivek Gautam @ 2013-02-15 5:09 UTC (permalink / raw) To: Kukjin Kim Cc: Vivek Gautam, linux-samsung-soc, devicetree-discuss, linux-kernel, linux-usb, grant.likely, dianders, jg1.han, Thomas Abraham On Sat, Feb 9, 2013 at 4:05 AM, Kukjin Kim <kgene.kim@samsung.com> wrote: > Vivek Gautam 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> >> Acked-by: Grant Likely <grant.likely@secretlab.ca> >> --- >> >> Changes from v4: >> - Added gpio line for VBUS of USB2.0 on snow board. >> >> .../devicetree/bindings/usb/exynos-usb.txt | 25 >> ++++++++++++++++++++ >> arch/arm/boot/dts/exynos5250-smdk5250.dts | 4 +++ >> arch/arm/boot/dts/exynos5250-snow.dts | 4 +++ >> arch/arm/boot/dts/exynos5250.dtsi | 6 ++++ >> 4 files changed, 39 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 942d576..7363e14 100644 >> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts >> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts >> @@ -204,4 +204,8 @@ >> samsung,mfc-r = <0x43000000 0x800000>; >> samsung,mfc-l = <0x51000000 0x800000>; >> }; >> + >> + usb@12110000 { >> + samsung,vbus-gpio = <&gpx2 6 1 3 3>; >> + }; >> }; >> diff --git a/arch/arm/boot/dts/exynos5250-snow.dts >> b/arch/arm/boot/dts/exynos5250-snow.dts >> index 17dd951..47b6b84 100644 >> --- a/arch/arm/boot/dts/exynos5250-snow.dts >> +++ b/arch/arm/boot/dts/exynos5250-snow.dts >> @@ -40,4 +40,8 @@ >> <&gpc4 5 2 3 0>, <&gpc4 6 2 3 0>; >> }; >> }; >> + >> + usb@12110000 { >> + samsung,vbus-gpio = <&gpx1 1 1 3 3>; >> + }; >> }; >> diff --git a/arch/arm/boot/dts/exynos5250.dtsi >> b/arch/arm/boot/dts/exynos5250.dtsi >> index 30485de..2cbe53e 100644 >> --- a/arch/arm/boot/dts/exynos5250.dtsi >> +++ b/arch/arm/boot/dts/exynos5250.dtsi >> @@ -275,6 +275,12 @@ >> #size-cells = <0>; >> }; >> >> + usb@12110000 { >> + compatible = "samsung,exynos4210-ehci"; >> + reg = <0x12110000 0x100>; >> + interrupts = <0 71 0>; >> + }; >> + >> amba { >> #address-cells = <1>; >> #size-cells = <1>; >> -- >> 1.7.6.5 > > Looks good to me and applied this and "[PATCH v3 2/4] ARM: Exynos5250: > Enabling ohci-exynos driver" in Samsung tree. > > Note, I think, you need to implement to use pinctrl for this instead of old > gpio bindings next time, probably after release v3.9-rc1. > Sure, will add the necessary pinctrl support replacing the old gpio bindings, and post the same asap. :-) > Ah, one more, please use subject lines appropriate like others, "ARM: dts: > ....". > Sorry, for misleading subject line, will keep commit titles aligned-with in future, > Thanks. > > - Kukjin > -- Thanks & Regards Vivek ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v4 2/4] ARM: Exynos5250: Enabling ohci-exynos driver 2013-01-15 13:38 [PATCH v4 0/4] Enable ehci, ohci and dwc3 devices on exynos5250 Vivek Gautam 2013-01-15 13:38 ` [PATCH v4 1/4] ARM: Exynos5250: Enabling ehci-s5p driver Vivek Gautam @ 2013-01-15 13:38 ` Vivek Gautam 2013-01-16 7:44 ` Tomasz Figa 2013-01-15 13:38 ` [PATCH v4 3/4] ARM: Exynos5250: Add clock information for dwc3-exynos Vivek Gautam 2013-01-15 13:38 ` [PATCH v4 4/4] ARM: Exynos5250: Enabling dwc3-exynos driver Vivek Gautam 3 siblings, 1 reply; 20+ messages in thread From: Vivek Gautam @ 2013-01-15 13:38 UTC (permalink / raw) To: linux-samsung-soc Cc: devicetree-discuss, linux-kernel, linux-usb, kgene.kim, grant.likely, dianders, jg1.han Adding OHCI device tree node for Exynos5250 along with the device base address. Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com> Acked-by: Jingoo Han <jg1.han@samsung.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> --- .../devicetree/bindings/usb/exynos-usb.txt | 15 +++++++++++++++ arch/arm/boot/dts/exynos5250.dtsi | 6 ++++++ 2 files changed, 21 insertions(+), 0 deletions(-) diff --git a/Documentation/devicetree/bindings/usb/exynos-usb.txt b/Documentation/devicetree/bindings/usb/exynos-usb.txt index e8bbb47..f66fcdd 100644 --- a/Documentation/devicetree/bindings/usb/exynos-usb.txt +++ b/Documentation/devicetree/bindings/usb/exynos-usb.txt @@ -23,3 +23,18 @@ Example: interrupts = <0 71 0>; samsung,vbus-gpio = <&gpx2 6 1 3 3>; }; + +OHCI +Required properties: + - compatible: should be "samsung,exynos4210-ohci" for USB 2.0 + OHCI companion controller in host mode. + - reg: physical base address of the controller and length of memory mapped + region. + - interrupts: interrupt number to the cpu. + +Example: + usb@12120000 { + compatible = "samsung,exynos4210-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 2cbe53e..ebb0907 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi @@ -281,6 +281,12 @@ interrupts = <0 71 0>; }; + usb@12120000 { + compatible = "samsung,exynos4210-ohci"; + reg = <0x12120000 0x100>; + interrupts = <0 71 0>; + }; + amba { #address-cells = <1>; #size-cells = <1>; -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH v4 2/4] ARM: Exynos5250: Enabling ohci-exynos driver 2013-01-15 13:38 ` [PATCH v4 2/4] ARM: Exynos5250: Enabling ohci-exynos driver Vivek Gautam @ 2013-01-16 7:44 ` Tomasz Figa 2013-01-16 15:09 ` Vivek Gautam 2013-01-31 22:26 ` Kukjin Kim 0 siblings, 2 replies; 20+ messages in thread From: Tomasz Figa @ 2013-01-16 7:44 UTC (permalink / raw) To: Vivek Gautam Cc: linux-samsung-soc, devicetree-discuss, linux-kernel, linux-usb, kgene.kim, grant.likely, dianders, jg1.han Hi Vivek, On Tuesday 15 of January 2013 19:08:30 Vivek Gautam wrote: > Adding OHCI device tree node for Exynos5250 along with > the device base address. > > Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com> > Acked-by: Jingoo Han <jg1.han@samsung.com> > Acked-by: Grant Likely <grant.likely@secretlab.ca> > --- > .../devicetree/bindings/usb/exynos-usb.txt | 15 > +++++++++++++++ arch/arm/boot/dts/exynos5250.dtsi | > 6 ++++++ 2 files changed, 21 insertions(+), 0 deletions(-) > > diff --git a/Documentation/devicetree/bindings/usb/exynos-usb.txt > b/Documentation/devicetree/bindings/usb/exynos-usb.txt index > e8bbb47..f66fcdd 100644 > --- a/Documentation/devicetree/bindings/usb/exynos-usb.txt > +++ b/Documentation/devicetree/bindings/usb/exynos-usb.txt > @@ -23,3 +23,18 @@ Example: > interrupts = <0 71 0>; > samsung,vbus-gpio = <&gpx2 6 1 3 3>; > }; > + > +OHCI > +Required properties: > + - compatible: should be "samsung,exynos4210-ohci" for USB 2.0 > + OHCI companion controller in host mode. > + - reg: physical base address of the controller and length of memory > mapped + region. > + - interrupts: interrupt number to the cpu. > + > +Example: > + usb@12120000 { > + compatible = "samsung,exynos4210-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 2cbe53e..ebb0907 100644 > --- a/arch/arm/boot/dts/exynos5250.dtsi > +++ b/arch/arm/boot/dts/exynos5250.dtsi > @@ -281,6 +281,12 @@ > interrupts = <0 71 0>; > }; > > + usb@12120000 { > + compatible = "samsung,exynos4210-ohci"; > + reg = <0x12120000 0x100>; > + interrupts = <0 71 0>; For Samsung platforms we decided per board enabling of nodes and so this node should also contain: status = "disabled"; while in dts file of board using ohci there would be an overriding entry: usb@12120000 { status = "okay"; }; I know that Exynos5250 has not been yet converted into this convention, but using it when adding new devices will simplify the process. Best regards, Tomasz ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v4 2/4] ARM: Exynos5250: Enabling ohci-exynos driver 2013-01-16 7:44 ` Tomasz Figa @ 2013-01-16 15:09 ` Vivek Gautam 2013-01-31 22:26 ` Kukjin Kim 1 sibling, 0 replies; 20+ messages in thread From: Vivek Gautam @ 2013-01-16 15:09 UTC (permalink / raw) To: Tomasz Figa Cc: Vivek Gautam, jg1.han, kgene.kim, devicetree-discuss, linux-usb, linux-kernel, linux-samsung-soc Hi Tomasz, On Wed, Jan 16, 2013 at 1:14 PM, Tomasz Figa <tomasz.figa@gmail.com> wrote: > Hi Vivek, > > On Tuesday 15 of January 2013 19:08:30 Vivek Gautam wrote: >> Adding OHCI device tree node for Exynos5250 along with >> the device base address. >> >> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com> >> Acked-by: Jingoo Han <jg1.han@samsung.com> >> Acked-by: Grant Likely <grant.likely@secretlab.ca> >> --- >> .../devicetree/bindings/usb/exynos-usb.txt | 15 >> +++++++++++++++ arch/arm/boot/dts/exynos5250.dtsi | >> 6 ++++++ 2 files changed, 21 insertions(+), 0 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/usb/exynos-usb.txt >> b/Documentation/devicetree/bindings/usb/exynos-usb.txt index >> e8bbb47..f66fcdd 100644 >> --- a/Documentation/devicetree/bindings/usb/exynos-usb.txt >> +++ b/Documentation/devicetree/bindings/usb/exynos-usb.txt >> @@ -23,3 +23,18 @@ Example: >> interrupts = <0 71 0>; >> samsung,vbus-gpio = <&gpx2 6 1 3 3>; >> }; >> + >> +OHCI >> +Required properties: >> + - compatible: should be "samsung,exynos4210-ohci" for USB 2.0 >> + OHCI companion controller in host mode. >> + - reg: physical base address of the controller and length of memory >> mapped + region. >> + - interrupts: interrupt number to the cpu. >> + >> +Example: >> + usb@12120000 { >> + compatible = "samsung,exynos4210-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 2cbe53e..ebb0907 100644 >> --- a/arch/arm/boot/dts/exynos5250.dtsi >> +++ b/arch/arm/boot/dts/exynos5250.dtsi >> @@ -281,6 +281,12 @@ >> interrupts = <0 71 0>; >> }; >> >> + usb@12120000 { >> + compatible = "samsung,exynos4210-ohci"; >> + reg = <0x12120000 0x100>; >> + interrupts = <0 71 0>; > > For Samsung platforms we decided per board enabling of nodes and so this > node should also contain: > > status = "disabled"; > > while in dts file of board using ohci there would be an overriding entry: > > usb@12120000 { > status = "okay"; > }; > Yes, i could see that for exynos4x dt. > I know that Exynos5250 has not been yet converted into this convention, > but using it when adding new devices will simplify the process. > Sure, will change this and other patches for usb as suggested. Thanks for the review. :-) -- Thanks & Regards Vivek ^ permalink raw reply [flat|nested] 20+ messages in thread
* RE: [PATCH v4 2/4] ARM: Exynos5250: Enabling ohci-exynos driver 2013-01-16 7:44 ` Tomasz Figa 2013-01-16 15:09 ` Vivek Gautam @ 2013-01-31 22:26 ` Kukjin Kim 2013-02-04 11:15 ` Vivek Gautam 1 sibling, 1 reply; 20+ messages in thread From: Kukjin Kim @ 2013-01-31 22:26 UTC (permalink / raw) To: 'Tomasz Figa', 'Vivek Gautam' Cc: linux-samsung-soc, devicetree-discuss, linux-kernel, linux-usb, grant.likely, dianders, jg1.han Tomasz Figa wrote: > > Hi Vivek, [...] > > + usb@12120000 { > > + compatible = "samsung,exynos4210-ohci"; > > + reg = <0x12120000 0x100>; > > + interrupts = <0 71 0>; > > For Samsung platforms we decided per board enabling of nodes and so this > node should also contain: > > status = "disabled"; > > while in dts file of board using ohci there would be an overriding entry: > > usb@12120000 { > status = "okay"; > }; > > I know that Exynos5250 has not been yet converted into this convention, > but using it when adding new devices will simplify the process. > Well, I have another opinion on this... Let's see, yeah, we are using following method in EXYNOS4 DT... - disabling IPs in SoC DT source and enabling IPs in board DT source But as I said, in EXYNOS5440 DT, I want to use following, because most of them should be enabled/used. - enabling IPs in SoC DT source and no need enabling in board DT source. I mean, it depends on each SoC's situation. Thanks. - Kukjin ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v4 2/4] ARM: Exynos5250: Enabling ohci-exynos driver 2013-01-31 22:26 ` Kukjin Kim @ 2013-02-04 11:15 ` Vivek Gautam 0 siblings, 0 replies; 20+ messages in thread From: Vivek Gautam @ 2013-02-04 11:15 UTC (permalink / raw) To: Kukjin Kim Cc: Tomasz Figa, Vivek Gautam, jg1.han, linux-samsung-soc, devicetree-discuss, linux-usb, linux-kernel Hi Kukjin, On Fri, Feb 1, 2013 at 3:56 AM, Kukjin Kim <kgene.kim@samsung.com> wrote: > Tomasz Figa wrote: >> >> Hi Vivek, > > [...] > >> > + usb@12120000 { >> > + compatible = "samsung,exynos4210-ohci"; >> > + reg = <0x12120000 0x100>; >> > + interrupts = <0 71 0>; >> >> For Samsung platforms we decided per board enabling of nodes and so this >> node should also contain: >> >> status = "disabled"; >> >> while in dts file of board using ohci there would be an overriding entry: >> >> usb@12120000 { >> status = "okay"; >> }; >> >> I know that Exynos5250 has not been yet converted into this convention, >> but using it when adding new devices will simplify the process. >> > Well, I have another opinion on this... > > Let's see, yeah, we are using following method in EXYNOS4 DT... > - disabling IPs in SoC DT source and enabling IPs in board DT source > > But as I said, in EXYNOS5440 DT, I want to use following, because most of > them should be enabled/used. > - enabling IPs in SoC DT source and no need enabling in board DT source. > > I mean, it depends on each SoC's situation. > So, since USB 2.0 (EHCI/OHCI) shall be always enabled on almost all the boards, so we shall keep it enabled in SOC DT source. In that case following patches can be picked for a merge: [PATCH v5 1/4] ARM: Exynos5250: Enabling ehci-s5p driver http://www.mail-archive.com/linux-usb@vger.kernel.org/msg12330.html [PATCH v4 2/4] ARM: Exynos5250: Enabling ohci-exynos driver http://www.mail-archive.com/linux-usb@vger.kernel.org/msg12266.html These will enable EHCI and OHCI support on exynos5250. Please let me know if you want me to resend them. ;-) -- Thanks & Regards Vivek ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v4 3/4] ARM: Exynos5250: Add clock information for dwc3-exynos 2013-01-15 13:38 [PATCH v4 0/4] Enable ehci, ohci and dwc3 devices on exynos5250 Vivek Gautam 2013-01-15 13:38 ` [PATCH v4 1/4] ARM: Exynos5250: Enabling ehci-s5p driver Vivek Gautam 2013-01-15 13:38 ` [PATCH v4 2/4] ARM: Exynos5250: Enabling ohci-exynos driver Vivek Gautam @ 2013-01-15 13:38 ` Vivek Gautam 2013-01-16 7:49 ` Tomasz Figa 2013-01-15 13:38 ` [PATCH v4 4/4] ARM: Exynos5250: Enabling dwc3-exynos driver Vivek Gautam 3 siblings, 1 reply; 20+ messages in thread From: Vivek Gautam @ 2013-01-15 13:38 UTC (permalink / raw) To: linux-samsung-soc Cc: devicetree-discuss, linux-kernel, linux-usb, kgene.kim, grant.likely, dianders, jg1.han Adding necessary device clock to exynos5 needed for the DWC3 controller. Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com> --- arch/arm/mach-exynos/clock-exynos5.c | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c index 0208c3a..13af020 100644 --- a/arch/arm/mach-exynos/clock-exynos5.c +++ b/arch/arm/mach-exynos/clock-exynos5.c @@ -757,6 +757,11 @@ static struct clk exynos5_init_clocks_off[] = { .enable = exynos5_clk_ip_fsys_ctrl , .ctrlbit = (1 << 18), }, { + .name = "usbdrd30", + .parent = &exynos5_clk_aclk_200.clk, + .enable = exynos5_clk_ip_fsys_ctrl, + .ctrlbit = (1 << 19), + }, { .name = "usbotg", .enable = exynos5_clk_ip_fsys_ctrl, .ctrlbit = (1 << 7), @@ -1035,6 +1040,16 @@ static struct clksrc_sources exynos5_clkset_group = { .nr_sources = ARRAY_SIZE(exynos5_clkset_group_list), }; +struct clk *exynos5_clkset_usbdrd30_list[] = { + [0] = &exynos5_clk_mout_mpll.clk, + [1] = &exynos5_clk_mout_cpll.clk, +}; + +struct clksrc_sources exynos5_clkset_usbdrd30 = { + .sources = exynos5_clkset_usbdrd30_list, + .nr_sources = ARRAY_SIZE(exynos5_clkset_usbdrd30_list), +}; + /* Possible clock sources for aclk_266_gscl_sub Mux */ static struct clk *clk_src_gscl_266_list[] = { [0] = &clk_ext_xtal_mux, @@ -1329,6 +1344,15 @@ static struct clksrc_clk exynos5_clksrcs[] = { .parent = &exynos5_clk_mout_cpll.clk, }, .reg_div = { .reg = EXYNOS5_CLKDIV_GEN, .shift = 4, .size = 3 }, + }, { + .clk = { + .name = "sclk_usbdrd30", + .enable = exynos5_clksrc_mask_fsys_ctrl, + .ctrlbit = (1 << 28), + }, + .sources = &exynos5_clkset_usbdrd30, + .reg_src = { .reg = EXYNOS5_CLKSRC_FSYS, .shift = 28, .size = 1 }, + .reg_div = { .reg = EXYNOS5_CLKDIV_FSYS0, .shift = 24, .size = 4 }, }, }; -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH v4 3/4] ARM: Exynos5250: Add clock information for dwc3-exynos 2013-01-15 13:38 ` [PATCH v4 3/4] ARM: Exynos5250: Add clock information for dwc3-exynos Vivek Gautam @ 2013-01-16 7:49 ` Tomasz Figa 2013-01-16 15:05 ` Vivek Gautam 0 siblings, 1 reply; 20+ messages in thread From: Tomasz Figa @ 2013-01-16 7:49 UTC (permalink / raw) To: Vivek Gautam Cc: linux-samsung-soc, devicetree-discuss, linux-kernel, linux-usb, kgene.kim, grant.likely, dianders, jg1.han Hi Vivek, Don't you need also some clkdev lookup entry to make the clock available in the driver? Best regards, Tomasz On Tuesday 15 of January 2013 19:08:31 Vivek Gautam wrote: > Adding necessary device clock to exynos5 needed for > the DWC3 controller. > > Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com> > --- > arch/arm/mach-exynos/clock-exynos5.c | 24 ++++++++++++++++++++++++ > 1 files changed, 24 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/mach-exynos/clock-exynos5.c > b/arch/arm/mach-exynos/clock-exynos5.c index 0208c3a..13af020 100644 > --- a/arch/arm/mach-exynos/clock-exynos5.c > +++ b/arch/arm/mach-exynos/clock-exynos5.c > @@ -757,6 +757,11 @@ static struct clk exynos5_init_clocks_off[] = { > .enable = exynos5_clk_ip_fsys_ctrl , > .ctrlbit = (1 << 18), > }, { > + .name = "usbdrd30", > + .parent = &exynos5_clk_aclk_200.clk, > + .enable = exynos5_clk_ip_fsys_ctrl, > + .ctrlbit = (1 << 19), > + }, { > .name = "usbotg", > .enable = exynos5_clk_ip_fsys_ctrl, > .ctrlbit = (1 << 7), > @@ -1035,6 +1040,16 @@ static struct clksrc_sources exynos5_clkset_group > = { .nr_sources = ARRAY_SIZE(exynos5_clkset_group_list), > }; > > +struct clk *exynos5_clkset_usbdrd30_list[] = { > + [0] = &exynos5_clk_mout_mpll.clk, > + [1] = &exynos5_clk_mout_cpll.clk, > +}; > + > +struct clksrc_sources exynos5_clkset_usbdrd30 = { > + .sources = exynos5_clkset_usbdrd30_list, > + .nr_sources = ARRAY_SIZE(exynos5_clkset_usbdrd30_list), > +}; > + > /* Possible clock sources for aclk_266_gscl_sub Mux */ > static struct clk *clk_src_gscl_266_list[] = { > [0] = &clk_ext_xtal_mux, > @@ -1329,6 +1344,15 @@ static struct clksrc_clk exynos5_clksrcs[] = { > .parent = &exynos5_clk_mout_cpll.clk, > }, > .reg_div = { .reg = EXYNOS5_CLKDIV_GEN, .shift = 4, .size = 3 }, > + }, { > + .clk = { > + .name = "sclk_usbdrd30", > + .enable = exynos5_clksrc_mask_fsys_ctrl, > + .ctrlbit = (1 << 28), > + }, > + .sources = &exynos5_clkset_usbdrd30, > + .reg_src = { .reg = EXYNOS5_CLKSRC_FSYS, .shift = 28, .size = 1 }, > + .reg_div = { .reg = EXYNOS5_CLKDIV_FSYS0, .shift = 24, .size = 4 }, > }, > }; ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v4 3/4] ARM: Exynos5250: Add clock information for dwc3-exynos 2013-01-16 7:49 ` Tomasz Figa @ 2013-01-16 15:05 ` Vivek Gautam 2013-01-23 13:15 ` Vivek Gautam 2013-01-29 7:07 ` Vivek Gautam 0 siblings, 2 replies; 20+ messages in thread From: Vivek Gautam @ 2013-01-16 15:05 UTC (permalink / raw) To: Tomasz Figa Cc: Vivek Gautam, jg1.han, kgene.kim, devicetree-discuss, linux-usb, linux-kernel, linux-samsung-soc Hi Tomasz, On Wed, Jan 16, 2013 at 1:19 PM, Tomasz Figa <tomasz.figa@gmail.com> wrote: > Hi Vivek, > > Don't you need also some clkdev lookup entry to make the clock available > in the driver? > This clock source we added with a motive of completion, however it's not being used as of now. As far as i could see the lookup structure contains clocks for devices having multiple instances. Do you feel that i should be adding an entry in clk_lookup structure ? May be i am missing here something. Can you please elaborate on the use-case of clk_lookup entries. > > On Tuesday 15 of January 2013 19:08:31 Vivek Gautam wrote: >> Adding necessary device clock to exynos5 needed for >> the DWC3 controller. >> >> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com> >> --- >> arch/arm/mach-exynos/clock-exynos5.c | 24 ++++++++++++++++++++++++ >> 1 files changed, 24 insertions(+), 0 deletions(-) >> >> diff --git a/arch/arm/mach-exynos/clock-exynos5.c >> b/arch/arm/mach-exynos/clock-exynos5.c index 0208c3a..13af020 100644 >> --- a/arch/arm/mach-exynos/clock-exynos5.c >> +++ b/arch/arm/mach-exynos/clock-exynos5.c >> @@ -757,6 +757,11 @@ static struct clk exynos5_init_clocks_off[] = { >> .enable = exynos5_clk_ip_fsys_ctrl , >> .ctrlbit = (1 << 18), >> }, { >> + .name = "usbdrd30", >> + .parent = &exynos5_clk_aclk_200.clk, >> + .enable = exynos5_clk_ip_fsys_ctrl, >> + .ctrlbit = (1 << 19), >> + }, { >> .name = "usbotg", >> .enable = exynos5_clk_ip_fsys_ctrl, >> .ctrlbit = (1 << 7), >> @@ -1035,6 +1040,16 @@ static struct clksrc_sources exynos5_clkset_group >> = { .nr_sources = ARRAY_SIZE(exynos5_clkset_group_list), >> }; >> >> +struct clk *exynos5_clkset_usbdrd30_list[] = { >> + [0] = &exynos5_clk_mout_mpll.clk, >> + [1] = &exynos5_clk_mout_cpll.clk, >> +}; >> + >> +struct clksrc_sources exynos5_clkset_usbdrd30 = { >> + .sources = exynos5_clkset_usbdrd30_list, >> + .nr_sources = ARRAY_SIZE(exynos5_clkset_usbdrd30_list), >> +}; >> + >> /* Possible clock sources for aclk_266_gscl_sub Mux */ >> static struct clk *clk_src_gscl_266_list[] = { >> [0] = &clk_ext_xtal_mux, >> @@ -1329,6 +1344,15 @@ static struct clksrc_clk exynos5_clksrcs[] = { >> .parent = &exynos5_clk_mout_cpll.clk, >> }, >> .reg_div = { .reg = EXYNOS5_CLKDIV_GEN, .shift = 4, .size = 3 > }, >> + }, { >> + .clk = { >> + .name = "sclk_usbdrd30", >> + .enable = exynos5_clksrc_mask_fsys_ctrl, >> + .ctrlbit = (1 << 28), >> + }, >> + .sources = &exynos5_clkset_usbdrd30, >> + .reg_src = { .reg = EXYNOS5_CLKSRC_FSYS, .shift = 28, .size = > 1 }, >> + .reg_div = { .reg = EXYNOS5_CLKDIV_FSYS0, .shift = 24, .size = > 4 }, >> }, >> }; -- Thanks & Regards Vivek ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v4 3/4] ARM: Exynos5250: Add clock information for dwc3-exynos 2013-01-16 15:05 ` Vivek Gautam @ 2013-01-23 13:15 ` Vivek Gautam 2013-01-30 6:54 ` Kukjin Kim 2013-01-29 7:07 ` Vivek Gautam 1 sibling, 1 reply; 20+ messages in thread From: Vivek Gautam @ 2013-01-23 13:15 UTC (permalink / raw) To: Tomasz Figa Cc: Vivek Gautam, jg1.han, kgene.kim, devicetree-discuss, linux-usb, linux-kernel, linux-samsung-soc Hi Tomasz, On Wed, Jan 16, 2013 at 8:35 PM, Vivek Gautam <gautamvivek1987@gmail.com> wrote: > Hi Tomasz, > > > On Wed, Jan 16, 2013 at 1:19 PM, Tomasz Figa <tomasz.figa@gmail.com> wrote: >> Hi Vivek, >> >> Don't you need also some clkdev lookup entry to make the clock available >> in the driver? >> > > This clock source we added with a motive of completion, however it's > not being used as of now. > As far as i could see the lookup structure contains clocks for devices > having multiple instances. > Do you feel that i should be adding an entry in clk_lookup structure ? > May be i am missing here something. Can you please elaborate on the > use-case of clk_lookup > entries. > Any suggestions on this please ? >> >> On Tuesday 15 of January 2013 19:08:31 Vivek Gautam wrote: >>> Adding necessary device clock to exynos5 needed for >>> the DWC3 controller. >>> >>> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com> >>> --- >>> arch/arm/mach-exynos/clock-exynos5.c | 24 ++++++++++++++++++++++++ >>> 1 files changed, 24 insertions(+), 0 deletions(-) >>> >>> diff --git a/arch/arm/mach-exynos/clock-exynos5.c >>> b/arch/arm/mach-exynos/clock-exynos5.c index 0208c3a..13af020 100644 >>> --- a/arch/arm/mach-exynos/clock-exynos5.c >>> +++ b/arch/arm/mach-exynos/clock-exynos5.c >>> @@ -757,6 +757,11 @@ static struct clk exynos5_init_clocks_off[] = { >>> .enable = exynos5_clk_ip_fsys_ctrl , >>> .ctrlbit = (1 << 18), >>> }, { >>> + .name = "usbdrd30", >>> + .parent = &exynos5_clk_aclk_200.clk, >>> + .enable = exynos5_clk_ip_fsys_ctrl, >>> + .ctrlbit = (1 << 19), >>> + }, { >>> .name = "usbotg", >>> .enable = exynos5_clk_ip_fsys_ctrl, >>> .ctrlbit = (1 << 7), >>> @@ -1035,6 +1040,16 @@ static struct clksrc_sources exynos5_clkset_group >>> = { .nr_sources = ARRAY_SIZE(exynos5_clkset_group_list), >>> }; >>> >>> +struct clk *exynos5_clkset_usbdrd30_list[] = { >>> + [0] = &exynos5_clk_mout_mpll.clk, >>> + [1] = &exynos5_clk_mout_cpll.clk, >>> +}; >>> + >>> +struct clksrc_sources exynos5_clkset_usbdrd30 = { >>> + .sources = exynos5_clkset_usbdrd30_list, >>> + .nr_sources = ARRAY_SIZE(exynos5_clkset_usbdrd30_list), >>> +}; >>> + >>> /* Possible clock sources for aclk_266_gscl_sub Mux */ >>> static struct clk *clk_src_gscl_266_list[] = { >>> [0] = &clk_ext_xtal_mux, >>> @@ -1329,6 +1344,15 @@ static struct clksrc_clk exynos5_clksrcs[] = { >>> .parent = &exynos5_clk_mout_cpll.clk, >>> }, >>> .reg_div = { .reg = EXYNOS5_CLKDIV_GEN, .shift = 4, .size = 3 >> }, >>> + }, { >>> + .clk = { >>> + .name = "sclk_usbdrd30", >>> + .enable = exynos5_clksrc_mask_fsys_ctrl, >>> + .ctrlbit = (1 << 28), >>> + }, >>> + .sources = &exynos5_clkset_usbdrd30, >>> + .reg_src = { .reg = EXYNOS5_CLKSRC_FSYS, .shift = 28, .size = >> 1 }, >>> + .reg_div = { .reg = EXYNOS5_CLKDIV_FSYS0, .shift = 24, .size = >> 4 }, >>> }, >>> }; > > -- Thanks & Regards Vivek ^ permalink raw reply [flat|nested] 20+ messages in thread
* RE: [PATCH v4 3/4] ARM: Exynos5250: Add clock information for dwc3-exynos 2013-01-23 13:15 ` Vivek Gautam @ 2013-01-30 6:54 ` Kukjin Kim 0 siblings, 0 replies; 20+ messages in thread From: Kukjin Kim @ 2013-01-30 6:54 UTC (permalink / raw) To: 'Vivek Gautam', 'Tomasz Figa' Cc: 'Vivek Gautam', jg1.han, devicetree-discuss, linux-usb, linux-kernel, linux-samsung-soc Vivek Gautam wrote: > > Hi Tomasz, > > > On Wed, Jan 16, 2013 at 8:35 PM, Vivek Gautam > <gautamvivek1987@gmail.com> wrote: > > Hi Tomasz, > > > > > > On Wed, Jan 16, 2013 at 1:19 PM, Tomasz Figa <tomasz.figa@gmail.com> > wrote: > >> Hi Vivek, > >> > >> Don't you need also some clkdev lookup entry to make the clock available > >> in the driver? > >> > > > > This clock source we added with a motive of completion, however it's > > not being used as of now. > > As far as i could see the lookup structure contains clocks for devices > > having multiple instances. > > Do you feel that i should be adding an entry in clk_lookup structure ? > > May be i am missing here something. Can you please elaborate on the > > use-case of clk_lookup > > entries. > > > > Any suggestions on this please ? > Just note, I think you can do it based on Samsung common clock is for all of exynos stuff which will be done in a couple of days. Sorry for late it, because there were some problems. Thanks. - Kukjin ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v4 3/4] ARM: Exynos5250: Add clock information for dwc3-exynos 2013-01-16 15:05 ` Vivek Gautam 2013-01-23 13:15 ` Vivek Gautam @ 2013-01-29 7:07 ` Vivek Gautam 1 sibling, 0 replies; 20+ messages in thread From: Vivek Gautam @ 2013-01-29 7:07 UTC (permalink / raw) To: Tomasz Figa Cc: Vivek Gautam, jg1.han, kgene.kim, devicetree-discuss, linux-usb, linux-kernel, linux-samsung-soc Hi Tomasz, On Wed, Jan 16, 2013 at 8:35 PM, Vivek Gautam <gautamvivek1987@gmail.com> wrote: > Hi Tomasz, > > > On Wed, Jan 16, 2013 at 1:19 PM, Tomasz Figa <tomasz.figa@gmail.com> wrote: >> Hi Vivek, >> >> Don't you need also some clkdev lookup entry to make the clock available >> in the driver? >> > > This clock source we added with a motive of completion, however it's > not being used as of now. > As far as i could see the lookup structure contains clocks for devices > having multiple instances. > Do you feel that i should be adding an entry in clk_lookup structure ? > May be i am missing here something. Can you please elaborate on the > use-case of clk_lookup > entries. > As indicated above "sclk_usbdrd30" is added with a motive of completion, however it's not being used as of now. And "usbdrd30" is the actual device clock used, where 'drd30' is just an indicative of 'dual role device and usb 3.0'. So the clock name 'usbdrd30' is the usb 3.0 clock for drd. Am i missing something that you wanted to convey here ? >> >> On Tuesday 15 of January 2013 19:08:31 Vivek Gautam wrote: >>> Adding necessary device clock to exynos5 needed for >>> the DWC3 controller. >>> >>> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com> >>> --- >>> arch/arm/mach-exynos/clock-exynos5.c | 24 ++++++++++++++++++++++++ >>> 1 files changed, 24 insertions(+), 0 deletions(-) >>> >>> diff --git a/arch/arm/mach-exynos/clock-exynos5.c >>> b/arch/arm/mach-exynos/clock-exynos5.c index 0208c3a..13af020 100644 >>> --- a/arch/arm/mach-exynos/clock-exynos5.c >>> +++ b/arch/arm/mach-exynos/clock-exynos5.c >>> @@ -757,6 +757,11 @@ static struct clk exynos5_init_clocks_off[] = { >>> .enable = exynos5_clk_ip_fsys_ctrl , >>> .ctrlbit = (1 << 18), >>> }, { >>> + .name = "usbdrd30", >>> + .parent = &exynos5_clk_aclk_200.clk, >>> + .enable = exynos5_clk_ip_fsys_ctrl, >>> + .ctrlbit = (1 << 19), >>> + }, { >>> .name = "usbotg", >>> .enable = exynos5_clk_ip_fsys_ctrl, >>> .ctrlbit = (1 << 7), >>> @@ -1035,6 +1040,16 @@ static struct clksrc_sources exynos5_clkset_group >>> = { .nr_sources = ARRAY_SIZE(exynos5_clkset_group_list), >>> }; >>> >>> +struct clk *exynos5_clkset_usbdrd30_list[] = { >>> + [0] = &exynos5_clk_mout_mpll.clk, >>> + [1] = &exynos5_clk_mout_cpll.clk, >>> +}; >>> + >>> +struct clksrc_sources exynos5_clkset_usbdrd30 = { >>> + .sources = exynos5_clkset_usbdrd30_list, >>> + .nr_sources = ARRAY_SIZE(exynos5_clkset_usbdrd30_list), >>> +}; >>> + >>> /* Possible clock sources for aclk_266_gscl_sub Mux */ >>> static struct clk *clk_src_gscl_266_list[] = { >>> [0] = &clk_ext_xtal_mux, >>> @@ -1329,6 +1344,15 @@ static struct clksrc_clk exynos5_clksrcs[] = { >>> .parent = &exynos5_clk_mout_cpll.clk, >>> }, >>> .reg_div = { .reg = EXYNOS5_CLKDIV_GEN, .shift = 4, .size = 3 >> }, >>> + }, { >>> + .clk = { >>> + .name = "sclk_usbdrd30", >>> + .enable = exynos5_clksrc_mask_fsys_ctrl, >>> + .ctrlbit = (1 << 28), >>> + }, >>> + .sources = &exynos5_clkset_usbdrd30, >>> + .reg_src = { .reg = EXYNOS5_CLKSRC_FSYS, .shift = 28, .size = >> 1 }, >>> + .reg_div = { .reg = EXYNOS5_CLKDIV_FSYS0, .shift = 24, .size = >> 4 }, >>> }, >>> }; > > -- Thanks & Regards Vivek ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v4 4/4] ARM: Exynos5250: Enabling dwc3-exynos driver 2013-01-15 13:38 [PATCH v4 0/4] Enable ehci, ohci and dwc3 devices on exynos5250 Vivek Gautam ` (2 preceding siblings ...) 2013-01-15 13:38 ` [PATCH v4 3/4] ARM: Exynos5250: Add clock information for dwc3-exynos Vivek Gautam @ 2013-01-15 13:38 ` Vivek Gautam 2013-01-16 7:51 ` Tomasz Figa 3 siblings, 1 reply; 20+ messages in thread From: Vivek Gautam @ 2013-01-15 13:38 UTC (permalink / raw) To: linux-samsung-soc Cc: devicetree-discuss, linux-kernel, linux-usb, kgene.kim, grant.likely, dianders, jg1.han Adding DWC3 device tree node for Exynos5250 needed to parse device tree data. Also enabling XHCI support on exynos5250. Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com> --- .../devicetree/bindings/usb/exynos-usb.txt | 14 ++++++++++++++ arch/arm/boot/dts/exynos5250.dtsi | 6 ++++++ arch/arm/mach-exynos/Kconfig | 1 + 3 files changed, 21 insertions(+), 0 deletions(-) diff --git a/Documentation/devicetree/bindings/usb/exynos-usb.txt b/Documentation/devicetree/bindings/usb/exynos-usb.txt index f66fcdd..d660410 100644 --- a/Documentation/devicetree/bindings/usb/exynos-usb.txt +++ b/Documentation/devicetree/bindings/usb/exynos-usb.txt @@ -38,3 +38,17 @@ Example: reg = <0x12120000 0x100>; interrupts = <0 71 0>; }; + +DWC3 +Required properties: + - compatible: should be "samsung,exynos5250-dwc3" for USB 3.0 DWC3 controller. + - reg: physical base address of the controller and length of memory mapped + region. + - interrupts: interrupt number to the cpu. + +Example: + usb@12000000 { + compatible = "samsung,exynos5250-dwc3"; + reg = <0x12000000 0x10000>; + interrupts = <0 72 0>; + }; diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi index ebb0907..a747524 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi @@ -275,6 +275,12 @@ #size-cells = <0>; }; + usb@12000000 { + compatible = "samsung,exynos5250-dwc3"; + reg = <0x12000000 0x10000>; + interrupts = <0 72 0>; + }; + usb@12110000 { compatible = "samsung,exynos4210-ehci"; reg = <0x12110000 0x100>; diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig index d26c9f9..e62fd20 100644 --- a/arch/arm/mach-exynos/Kconfig +++ b/arch/arm/mach-exynos/Kconfig @@ -428,6 +428,7 @@ config MACH_EXYNOS5_DT depends on ARCH_EXYNOS5 select ARM_AMBA select USE_OF + select USB_ARCH_HAS_XHCI help Machine support for Samsung EXYNOS5 machine with device tree enabled. Select this if a fdt blob is available for the EXYNOS5 SoC based board. -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH v4 4/4] ARM: Exynos5250: Enabling dwc3-exynos driver 2013-01-15 13:38 ` [PATCH v4 4/4] ARM: Exynos5250: Enabling dwc3-exynos driver Vivek Gautam @ 2013-01-16 7:51 ` Tomasz Figa 0 siblings, 0 replies; 20+ messages in thread From: Tomasz Figa @ 2013-01-16 7:51 UTC (permalink / raw) To: Vivek Gautam Cc: linux-samsung-soc, devicetree-discuss, linux-kernel, linux-usb, kgene.kim, grant.likely, dianders, jg1.han Hi Vivek, Same comment as for patch 2. Best regards, Tomasz On Tuesday 15 of January 2013 19:08:32 Vivek Gautam wrote: > Adding DWC3 device tree node for Exynos5250 needed to > parse device tree data. > Also enabling XHCI support on exynos5250. > > Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com> > --- > .../devicetree/bindings/usb/exynos-usb.txt | 14 > ++++++++++++++ arch/arm/boot/dts/exynos5250.dtsi | > 6 ++++++ arch/arm/mach-exynos/Kconfig | 1 + > 3 files changed, 21 insertions(+), 0 deletions(-) > > diff --git a/Documentation/devicetree/bindings/usb/exynos-usb.txt > b/Documentation/devicetree/bindings/usb/exynos-usb.txt index > f66fcdd..d660410 100644 > --- a/Documentation/devicetree/bindings/usb/exynos-usb.txt > +++ b/Documentation/devicetree/bindings/usb/exynos-usb.txt > @@ -38,3 +38,17 @@ Example: > reg = <0x12120000 0x100>; > interrupts = <0 71 0>; > }; > + > +DWC3 > +Required properties: > + - compatible: should be "samsung,exynos5250-dwc3" for USB 3.0 DWC3 > controller. + - reg: physical base address of the controller and length > of memory mapped + region. > + - interrupts: interrupt number to the cpu. > + > +Example: > + usb@12000000 { > + compatible = "samsung,exynos5250-dwc3"; > + reg = <0x12000000 0x10000>; > + interrupts = <0 72 0>; > + }; > diff --git a/arch/arm/boot/dts/exynos5250.dtsi > b/arch/arm/boot/dts/exynos5250.dtsi index ebb0907..a747524 100644 > --- a/arch/arm/boot/dts/exynos5250.dtsi > +++ b/arch/arm/boot/dts/exynos5250.dtsi > @@ -275,6 +275,12 @@ > #size-cells = <0>; > }; > > + usb@12000000 { > + compatible = "samsung,exynos5250-dwc3"; > + reg = <0x12000000 0x10000>; > + interrupts = <0 72 0>; > + }; > + > usb@12110000 { > compatible = "samsung,exynos4210-ehci"; > reg = <0x12110000 0x100>; > diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig > index d26c9f9..e62fd20 100644 > --- a/arch/arm/mach-exynos/Kconfig > +++ b/arch/arm/mach-exynos/Kconfig > @@ -428,6 +428,7 @@ config MACH_EXYNOS5_DT > depends on ARCH_EXYNOS5 > select ARM_AMBA > select USE_OF > + select USB_ARCH_HAS_XHCI > help > Machine support for Samsung EXYNOS5 machine with device tree > enabled. Select this if a fdt blob is available for the EXYNOS5 SoC > based board. ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2013-02-15 5:09 UTC | newest] Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-01-15 13:38 [PATCH v4 0/4] Enable ehci, ohci and dwc3 devices on exynos5250 Vivek Gautam 2013-01-15 13:38 ` [PATCH v4 1/4] ARM: Exynos5250: Enabling ehci-s5p driver Vivek Gautam 2013-01-16 5:21 ` Vivek Gautam 2013-01-16 5:45 ` [PATCH v5 " Vivek Gautam 2013-01-16 7:51 ` Tomasz Figa 2013-02-08 22:35 ` Kukjin Kim 2013-02-15 5:09 ` Vivek Gautam 2013-01-15 13:38 ` [PATCH v4 2/4] ARM: Exynos5250: Enabling ohci-exynos driver Vivek Gautam 2013-01-16 7:44 ` Tomasz Figa 2013-01-16 15:09 ` Vivek Gautam 2013-01-31 22:26 ` Kukjin Kim 2013-02-04 11:15 ` Vivek Gautam 2013-01-15 13:38 ` [PATCH v4 3/4] ARM: Exynos5250: Add clock information for dwc3-exynos Vivek Gautam 2013-01-16 7:49 ` Tomasz Figa 2013-01-16 15:05 ` Vivek Gautam 2013-01-23 13:15 ` Vivek Gautam 2013-01-30 6:54 ` Kukjin Kim 2013-01-29 7:07 ` Vivek Gautam 2013-01-15 13:38 ` [PATCH v4 4/4] ARM: Exynos5250: Enabling dwc3-exynos driver Vivek Gautam 2013-01-16 7:51 ` Tomasz Figa
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).