* [PATCH 1/4] usb: gadget: s3c-hsotg: Allow driver instantiation using device tree
2013-06-25 15:38 [PATCH 0/4] Add support for Samsung HSOTG on DT-enabled platforms Tomasz Figa
@ 2013-06-25 15:38 ` Tomasz Figa
2013-06-25 20:46 ` Felipe Balbi
2013-07-08 7:41 ` Felipe Balbi
2013-06-25 15:38 ` [PATCH 2/4] ARM: dts: exynos4: Add node for hsotg Tomasz Figa
` (2 subsequent siblings)
3 siblings, 2 replies; 12+ messages in thread
From: Tomasz Figa @ 2013-06-25 15:38 UTC (permalink / raw)
To: linux-arm-kernel
This patch adds OF match table to the driver to allow instantiating it
using device tree.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
.../devicetree/bindings/usb/samsung-hsotg.txt | 40 ++++++++++++++++++++++
drivers/usb/gadget/s3c-hsotg.c | 10 ++++++
2 files changed, 50 insertions(+)
create mode 100644 Documentation/devicetree/bindings/usb/samsung-hsotg.txt
diff --git a/Documentation/devicetree/bindings/usb/samsung-hsotg.txt b/Documentation/devicetree/bindings/usb/samsung-hsotg.txt
new file mode 100644
index 0000000..b83d428
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/samsung-hsotg.txt
@@ -0,0 +1,40 @@
+Samsung High Speed USB OTG controller
+-----------------------------
+
+The Samsung HSOTG IP can be found on Samsung SoCs, from S3C6400 onwards.
+It gives functionality of OTG-compliant USB 2.0 host and device with
+support for USB 2.0 high-speed (480Mbps) and full-speed (12 Mbps)
+operation.
+
+Currently only device mode is supported.
+
+Binding details
+-----
+
+Required properties:
+- compatible: "samsung,s3c6400-hsotg" should be used for all currently
+ supported SoC,
+- interrupt-parent: phandle for the interrupt controller to which the
+ interrupt signal of the HSOTG block is routed,
+- interrupts: specifier of interrupt signal of interrupt controller,
+ according to bindings of interrupt controller,
+- clocks: contains an array of clock specifiers:
+ - first entry: OTG clock
+- clock-names: contains array of clock names:
+ - first entry: must be "otg"
+- vusb_d-supply: phandle to voltage regulator of digital section,
+- vusb_a-supply: phandle to voltage regulator of analog section.
+
+Example
+-----
+
+ hsotg at 12480000 {
+ compatible = "samsung,s3c6400-hsotg";
+ reg = <0x12480000 0x20000>;
+ interrupts = <0 71 0>;
+ clocks = <&clock 305>;
+ clock-names = "otg";
+ vusb_d-supply = <&vusb_reg>;
+ vusb_a-supply = <&vusbdac_reg>;
+ };
+
diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c
index af22f24..616ed51 100644
--- a/drivers/usb/gadget/s3c-hsotg.c
+++ b/drivers/usb/gadget/s3c-hsotg.c
@@ -29,6 +29,7 @@
#include <linux/slab.h>
#include <linux/clk.h>
#include <linux/regulator/consumer.h>
+#include <linux/of_platform.h>
#include <linux/usb/ch9.h>
#include <linux/usb/gadget.h>
@@ -3648,10 +3649,19 @@ static int s3c_hsotg_remove(struct platform_device *pdev)
#define s3c_hsotg_resume NULL
#endif
+#ifdef CONFIG_OF
+static const struct of_device_id s3c_hsotg_of_ids[] = {
+ { .compatible = "samsung,s3c6400-hsotg", },
+ { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, s3c_hsotg_of_ids);
+#endif
+
static struct platform_driver s3c_hsotg_driver = {
.driver = {
.name = "s3c-hsotg",
.owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(s3c_hsotg_of_ids),
},
.probe = s3c_hsotg_probe,
.remove = s3c_hsotg_remove,
--
1.8.2.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 1/4] usb: gadget: s3c-hsotg: Allow driver instantiation using device tree
2013-06-25 15:38 ` [PATCH 1/4] usb: gadget: s3c-hsotg: Allow driver instantiation using device tree Tomasz Figa
@ 2013-06-25 20:46 ` Felipe Balbi
2013-06-25 20:57 ` Tomasz Figa
2013-07-08 7:41 ` Felipe Balbi
1 sibling, 1 reply; 12+ messages in thread
From: Felipe Balbi @ 2013-06-25 20:46 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Jun 25, 2013 at 05:38:23PM +0200, Tomasz Figa wrote:
> This patch adds OF match table to the driver to allow instantiating it
> using device tree.
>
> Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
when will this driver get merged into dwc2 ?
--
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130625/79b37f7f/attachment-0001.sig>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/4] usb: gadget: s3c-hsotg: Allow driver instantiation using device tree
2013-06-25 20:46 ` Felipe Balbi
@ 2013-06-25 20:57 ` Tomasz Figa
2013-06-25 21:00 ` Felipe Balbi
0 siblings, 1 reply; 12+ messages in thread
From: Tomasz Figa @ 2013-06-25 20:57 UTC (permalink / raw)
To: linux-arm-kernel
On Tuesday 25 of June 2013 23:46:32 Felipe Balbi wrote:
> On Tue, Jun 25, 2013 at 05:38:23PM +0200, Tomasz Figa wrote:
> > This patch adds OF match table to the driver to allow instantiating it
> > using device tree.
> >
> > Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>
> when will this driver get merged into dwc2 ?
What's dwc2? I can only see dwc3 in mainline kernel tree and it doesn't
seem to be compatible with s3c-hsotg.
Best regards,
Tomasz
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/4] usb: gadget: s3c-hsotg: Allow driver instantiation using device tree
2013-06-25 20:57 ` Tomasz Figa
@ 2013-06-25 21:00 ` Felipe Balbi
2013-06-25 21:05 ` Tomasz Figa
0 siblings, 1 reply; 12+ messages in thread
From: Felipe Balbi @ 2013-06-25 21:00 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Jun 25, 2013 at 10:57:06PM +0200, Tomasz Figa wrote:
> On Tuesday 25 of June 2013 23:46:32 Felipe Balbi wrote:
> > On Tue, Jun 25, 2013 at 05:38:23PM +0200, Tomasz Figa wrote:
> > > This patch adds OF match table to the driver to allow instantiating it
> > > using device tree.
> > >
> > > Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> >
> > when will this driver get merged into dwc2 ?
>
> What's dwc2? I can only see dwc3 in mainline kernel tree and it doesn't
> seem to be compatible with s3c-hsotg.
drivers/staging/dwc2/
That's the same IP you're using Paul Zimmerman (now in Cc) is working
towards getting that out of staging. It currently has only host mode, so
plugging your code in there shouldn't be too difficult.
OTOH, it might be better to make your code a device-only version of dwc2
(drivers/usb/dwc2) and have Paul move his host side to that instead.
--
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130626/9dd2db2c/attachment-0001.sig>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/4] usb: gadget: s3c-hsotg: Allow driver instantiation using device tree
2013-06-25 21:00 ` Felipe Balbi
@ 2013-06-25 21:05 ` Tomasz Figa
0 siblings, 0 replies; 12+ messages in thread
From: Tomasz Figa @ 2013-06-25 21:05 UTC (permalink / raw)
To: linux-arm-kernel
On Wednesday 26 of June 2013 00:00:44 Felipe Balbi wrote:
> On Tue, Jun 25, 2013 at 10:57:06PM +0200, Tomasz Figa wrote:
> > On Tuesday 25 of June 2013 23:46:32 Felipe Balbi wrote:
> > > On Tue, Jun 25, 2013 at 05:38:23PM +0200, Tomasz Figa wrote:
> > > > This patch adds OF match table to the driver to allow
> > > > instantiating it
> > > > using device tree.
> > > >
> > > > Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> > > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> > >
> > > when will this driver get merged into dwc2 ?
> >
> > What's dwc2? I can only see dwc3 in mainline kernel tree and it
> > doesn't
> > seem to be compatible with s3c-hsotg.
>
> drivers/staging/dwc2/
Oh right, staging, I forgot to check there.
> That's the same IP you're using Paul Zimmerman (now in Cc) is working
> towards getting that out of staging. It currently has only host mode, so
> plugging your code in there shouldn't be too difficult.
>
> OTOH, it might be better to make your code a device-only version of dwc2
> (drivers/usb/dwc2) and have Paul move his host side to that instead.
Hmm, I believe Lukasz Majewski and Marek Szyprowski (both on CC) should be
able to say something more on this topic as I'm not really into USB
drivers and just doing Device Tree enablement here.
Best regards,
Tomasz
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/4] usb: gadget: s3c-hsotg: Allow driver instantiation using device tree
2013-06-25 15:38 ` [PATCH 1/4] usb: gadget: s3c-hsotg: Allow driver instantiation using device tree Tomasz Figa
2013-06-25 20:46 ` Felipe Balbi
@ 2013-07-08 7:41 ` Felipe Balbi
1 sibling, 0 replies; 12+ messages in thread
From: Felipe Balbi @ 2013-07-08 7:41 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On Tue, Jun 25, 2013 at 05:38:23PM +0200, Tomasz Figa wrote:
> This patch adds OF match table to the driver to allow instantiating it
> using device tree.
>
> Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
I will take this one only, the others have no dependency on this.
cheers
--
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130708/d89b23b8/attachment.sig>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/4] ARM: dts: exynos4: Add node for hsotg
2013-06-25 15:38 [PATCH 0/4] Add support for Samsung HSOTG on DT-enabled platforms Tomasz Figa
2013-06-25 15:38 ` [PATCH 1/4] usb: gadget: s3c-hsotg: Allow driver instantiation using device tree Tomasz Figa
@ 2013-06-25 15:38 ` Tomasz Figa
2013-06-26 7:26 ` Jingoo Han
2013-06-25 15:38 ` [PATCH 3/4] ARM: dts: exynos4: Add nodes for USB PHY block Tomasz Figa
2013-06-25 15:38 ` [PATCH 4/4] ARM: dts: exynos4210-trats: Enable USB gadget functionality Tomasz Figa
3 siblings, 1 reply; 12+ messages in thread
From: Tomasz Figa @ 2013-06-25 15:38 UTC (permalink / raw)
To: linux-arm-kernel
This patch adds device tree node for USB HSOTG controller present on
Exynos4 SoCs.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/boot/dts/exynos4.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi
index 359694c..d53b9da 100644
--- a/arch/arm/boot/dts/exynos4.dtsi
+++ b/arch/arm/boot/dts/exynos4.dtsi
@@ -119,6 +119,15 @@
status = "disabled";
};
+ hsotg at 12480000 {
+ compatible = "samsung,s3c6400-hsotg";
+ reg = <0x12480000 0x20000>;
+ interrupts = <0 71 0>;
+ clocks = <&clock 305>;
+ clock-names = "otg";
+ status = "disabled";
+ };
+
sdhci at 12510000 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x12510000 0x100>;
--
1.8.2.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/4] ARM: dts: exynos4: Add node for hsotg
2013-06-25 15:38 ` [PATCH 2/4] ARM: dts: exynos4: Add node for hsotg Tomasz Figa
@ 2013-06-26 7:26 ` Jingoo Han
0 siblings, 0 replies; 12+ messages in thread
From: Jingoo Han @ 2013-06-26 7:26 UTC (permalink / raw)
To: linux-arm-kernel
On Wednesday, June 26, 2013 12:38 AM, Tomasz Figa wrote:
>
> This patch adds device tree node for USB HSOTG controller present on
> Exynos4 SoCs.
>
> Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
It looks good.
Reviewed-by: Jingoo Han <jg1.han@samsung.com>
Best regards,
Jingoo Han
> ---
> arch/arm/boot/dts/exynos4.dtsi | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi
> index 359694c..d53b9da 100644
> --- a/arch/arm/boot/dts/exynos4.dtsi
> +++ b/arch/arm/boot/dts/exynos4.dtsi
> @@ -119,6 +119,15 @@
> status = "disabled";
> };
>
> + hsotg at 12480000 {
> + compatible = "samsung,s3c6400-hsotg";
> + reg = <0x12480000 0x20000>;
> + interrupts = <0 71 0>;
> + clocks = <&clock 305>;
> + clock-names = "otg";
> + status = "disabled";
> + };
> +
> sdhci at 12510000 {
> compatible = "samsung,exynos4210-sdhci";
> reg = <0x12510000 0x100>;
> --
> 1.8.2.1
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 3/4] ARM: dts: exynos4: Add nodes for USB PHY block
2013-06-25 15:38 [PATCH 0/4] Add support for Samsung HSOTG on DT-enabled platforms Tomasz Figa
2013-06-25 15:38 ` [PATCH 1/4] usb: gadget: s3c-hsotg: Allow driver instantiation using device tree Tomasz Figa
2013-06-25 15:38 ` [PATCH 2/4] ARM: dts: exynos4: Add node for hsotg Tomasz Figa
@ 2013-06-25 15:38 ` Tomasz Figa
2013-06-26 7:29 ` Jingoo Han
2013-06-25 15:38 ` [PATCH 4/4] ARM: dts: exynos4210-trats: Enable USB gadget functionality Tomasz Figa
3 siblings, 1 reply; 12+ messages in thread
From: Tomasz Figa @ 2013-06-25 15:38 UTC (permalink / raw)
To: linux-arm-kernel
This patch adds device tree nodes for USB OTG PHYs of Exynos4210 and
Exynos4x12 SoCs.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/boot/dts/exynos4210.dtsi | 15 +++++++++++++++
arch/arm/boot/dts/exynos4x12.dtsi | 15 +++++++++++++++
2 files changed, 30 insertions(+)
diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi
index 54710de..3c71ea5 100644
--- a/arch/arm/boot/dts/exynos4210.dtsi
+++ b/arch/arm/boot/dts/exynos4210.dtsi
@@ -114,6 +114,21 @@
interrupts = <2 4>;
};
+ usbphy at 125B0000 {
+ compatible = "samsung,exynos4210-usb2phy";
+ reg = <0x125B0000 0x100>;
+ clocks = <&clock 305>;
+ clock-names = "otg";
+ status = "disabled";
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ usbphy-sys {
+ reg = <0x10020704 0x8>;
+ };
+ };
+
g2d at 12800000 {
compatible = "samsung,s5pv210-g2d";
reg = <0x12800000 0x1000>;
diff --git a/arch/arm/boot/dts/exynos4x12.dtsi b/arch/arm/boot/dts/exynos4x12.dtsi
index e3380a7..267ed95 100644
--- a/arch/arm/boot/dts/exynos4x12.dtsi
+++ b/arch/arm/boot/dts/exynos4x12.dtsi
@@ -79,4 +79,19 @@
interrupts = <0 89 0>;
status = "disabled";
};
+
+ usbphy at 125B0000 {
+ compatible = "samsung,exynos4x12-usb2phy";
+ reg = <0x125B0000 0x100>;
+ clocks = <&clock 305>;
+ clock-names = "otg";
+ status = "disabled";
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ usbphy-sys {
+ reg = <0x10020704 0x8>;
+ };
+ };
};
--
1.8.2.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 3/4] ARM: dts: exynos4: Add nodes for USB PHY block
2013-06-25 15:38 ` [PATCH 3/4] ARM: dts: exynos4: Add nodes for USB PHY block Tomasz Figa
@ 2013-06-26 7:29 ` Jingoo Han
0 siblings, 0 replies; 12+ messages in thread
From: Jingoo Han @ 2013-06-26 7:29 UTC (permalink / raw)
To: linux-arm-kernel
On Wednesday, June 26, 2013 12:38 AM, Tomasz Figa wrote:
>
> This patch adds device tree nodes for USB OTG PHYs of Exynos4210 and
> Exynos4x12 SoCs.
>
> Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
It looks good.
Reviewed-by: Jingoo Han <jg1.han@samsung.com>
Best regards,
Jingoo Han
> ---
> arch/arm/boot/dts/exynos4210.dtsi | 15 +++++++++++++++
> arch/arm/boot/dts/exynos4x12.dtsi | 15 +++++++++++++++
> 2 files changed, 30 insertions(+)
>
> diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi
> index 54710de..3c71ea5 100644
> --- a/arch/arm/boot/dts/exynos4210.dtsi
> +++ b/arch/arm/boot/dts/exynos4210.dtsi
> @@ -114,6 +114,21 @@
> interrupts = <2 4>;
> };
>
> + usbphy at 125B0000 {
> + compatible = "samsung,exynos4210-usb2phy";
> + reg = <0x125B0000 0x100>;
> + clocks = <&clock 305>;
> + clock-names = "otg";
> + status = "disabled";
> + ranges;
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + usbphy-sys {
> + reg = <0x10020704 0x8>;
> + };
> + };
> +
> g2d at 12800000 {
> compatible = "samsung,s5pv210-g2d";
> reg = <0x12800000 0x1000>;
> diff --git a/arch/arm/boot/dts/exynos4x12.dtsi b/arch/arm/boot/dts/exynos4x12.dtsi
> index e3380a7..267ed95 100644
> --- a/arch/arm/boot/dts/exynos4x12.dtsi
> +++ b/arch/arm/boot/dts/exynos4x12.dtsi
> @@ -79,4 +79,19 @@
> interrupts = <0 89 0>;
> status = "disabled";
> };
> +
> + usbphy at 125B0000 {
> + compatible = "samsung,exynos4x12-usb2phy";
> + reg = <0x125B0000 0x100>;
> + clocks = <&clock 305>;
> + clock-names = "otg";
> + status = "disabled";
> + ranges;
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + usbphy-sys {
> + reg = <0x10020704 0x8>;
> + };
> + };
> };
> --
> 1.8.2.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 4/4] ARM: dts: exynos4210-trats: Enable USB gadget functionality
2013-06-25 15:38 [PATCH 0/4] Add support for Samsung HSOTG on DT-enabled platforms Tomasz Figa
` (2 preceding siblings ...)
2013-06-25 15:38 ` [PATCH 3/4] ARM: dts: exynos4: Add nodes for USB PHY block Tomasz Figa
@ 2013-06-25 15:38 ` Tomasz Figa
3 siblings, 0 replies; 12+ messages in thread
From: Tomasz Figa @ 2013-06-25 15:38 UTC (permalink / raw)
To: linux-arm-kernel
This patch adds device tree nodes necessary to enable USB gadget
functionality on Exynos4210-based Trats board.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/boot/dts/exynos4210-trats.dts | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm/boot/dts/exynos4210-trats.dts b/arch/arm/boot/dts/exynos4210-trats.dts
index 9a14484..d2ce1cf 100644
--- a/arch/arm/boot/dts/exynos4210-trats.dts
+++ b/arch/arm/boot/dts/exynos4210-trats.dts
@@ -39,6 +39,12 @@
enable-active-high;
};
+ hsotg at 12480000 {
+ vusb_d-supply = <&vusb_reg>;
+ vusb_a-supply = <&vusbdac_reg>;
+ status = "okay";
+ };
+
sdhci_emmc: sdhci at 12510000 {
bus-width = <8>;
non-removable;
@@ -48,6 +54,10 @@
status = "okay";
};
+ usbphy at 125B0000 {
+ status = "okay";
+ };
+
serial at 13800000 {
status = "okay";
};
--
1.8.2.1
^ permalink raw reply related [flat|nested] 12+ messages in thread