diff mbox

[6/6] usb: dwc3: core: add dt support for dwc3 core

Message ID 1348836795-4783-7-git-send-email-kishon@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Kishon Vijay Abraham I Sept. 28, 2012, 12:53 p.m. UTC
Added dwc3 support for dwc3 core and update the documentation with
device tree binding information.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
 Documentation/devicetree/bindings/usb/dwc3.txt |   24 ++++++++++++++++++++++++
 drivers/usb/dwc3/core.c                        |   14 ++++++++++++--
 2 files changed, 36 insertions(+), 2 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/dwc3.txt

Comments

Felipe Balbi Sept. 28, 2012, 1:02 p.m. UTC | #1
On Fri, Sep 28, 2012 at 06:23:15PM +0530, Kishon Vijay Abraham I wrote:
> Added dwc3 support for dwc3 core and update the documentation with
> device tree binding information.
> 
> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
> ---
>  Documentation/devicetree/bindings/usb/dwc3.txt |   24 ++++++++++++++++++++++++
>  drivers/usb/dwc3/core.c                        |   14 ++++++++++++--
>  2 files changed, 36 insertions(+), 2 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/usb/dwc3.txt
> 
> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
> new file mode 100644
> index 0000000..87d5eeb
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/dwc3.txt
> @@ -0,0 +1,24 @@
> +SYNOPSIS DWC3 CORE
> +
> +DWC3- USB3 CONTROLLER
> +
> +Required properties:
> + - compatible: Should be "synopsis,dwc3"

"synopsys" and I think:

- compatible: Must be "synopsys,dwc3" reads a bit better.

> + - reg : Address and length of the register set for the device
> + - interrupts: Interrupts used by the dwc3 controller.
> + - interrupt-parent: the phandle for the interrupt controller that
> +   services interrupts for this device.
> +
> +Optional properties:
> + - tx-fifo-resize: determines if the fifo spaces can be reallocated according
> + to use-cases.

actually, this should read: "determines if the FIFO *has* to be
reallocated.

On OMAP5 ES1 the default value is not good enough and we _must_
reallocate FIFO sizes.

> +This is usually a subnode to DWC3 glue to which it is connected.
> +
> +dwc3@4a030000 {
> +	compatible = "synopsis,dwc3";

"synopsys"

> +	reg = <0x4a030000 0xcfff>;
> +	interrupts = <0 92 4>
> +	interrupt-parent = <&gic>
> +	tx-fifo-resize;
> +};
> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> index 08a5738..0c17a7a 100644
> --- a/drivers/usb/dwc3/core.c
> +++ b/drivers/usb/dwc3/core.c
> @@ -484,8 +484,7 @@ static int __devinit dwc3_probe(struct platform_device *pdev)
>  	else
>  		dwc->maximum_speed = DWC3_DCFG_SUPERSPEED;
>  
> -	if (of_get_property(node, "tx-fifo-resize", NULL))
> -		dwc->needs_fifo_resize = true;
> +	dwc->needs_fifo_resize = of_property_read_bool(node, "tx-fifo-resize");
>  
>  	pm_runtime_enable(dev);
>  	pm_runtime_get_sync(dev);
> @@ -602,11 +601,22 @@ static int __devexit dwc3_remove(struct platform_device *pdev)
>  	return 0;
>  }
>  
> +#ifdef CONFIG_OF
> +static const struct of_device_id of_dwc3_matach[] = {
> +	{
> +		.compatible = "synopsis,dwc3"

"synopsys"

> +	},
> +	{ },
> +};
> +MODULE_DEVICE_TABLE(of, of_dwc3_matach);
> +#endif
> +
>  static struct platform_driver dwc3_driver = {
>  	.probe		= dwc3_probe,
>  	.remove		= __devexit_p(dwc3_remove),
>  	.driver		= {
>  		.name	= "dwc3",
> +		.of_match_table	= of_match_ptr(of_dwc3_matach),
>  	},
>  };
>  
> -- 
> 1.7.10.4
>
Kishon Vijay Abraham I Sept. 28, 2012, 1:32 p.m. UTC | #2
Hi,

On Fri, Sep 28, 2012 at 6:32 PM, Felipe Balbi <balbi@ti.com> wrote:
> On Fri, Sep 28, 2012 at 06:23:15PM +0530, Kishon Vijay Abraham I wrote:
>> Added dwc3 support for dwc3 core and update the documentation with
>> device tree binding information.
>>
>> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
>> ---
>>  Documentation/devicetree/bindings/usb/dwc3.txt |   24 ++++++++++++++++++++++++
>>  drivers/usb/dwc3/core.c                        |   14 ++++++++++++--
>>  2 files changed, 36 insertions(+), 2 deletions(-)
>>  create mode 100644 Documentation/devicetree/bindings/usb/dwc3.txt
>>
>> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
>> new file mode 100644
>> index 0000000..87d5eeb
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/usb/dwc3.txt
>> @@ -0,0 +1,24 @@
>> +SYNOPSIS DWC3 CORE
>> +
>> +DWC3- USB3 CONTROLLER
>> +
>> +Required properties:
>> + - compatible: Should be "synopsis,dwc3"
>
> "synopsys" and I think:
>
> - compatible: Must be "synopsys,dwc3" reads a bit better.

Will re-post this patch.

Thanks
Kishon
Sergei Shtylyov Sept. 30, 2012, 4:47 p.m. UTC | #3
Hello.

On 28-09-2012 14:53, Kishon Vijay Abraham I wrote:

> Added dwc3 support for dwc3 core and update the documentation with
> device tree binding information.
>
> Signed-off-by: Kishon Vijay Abraham I<kishon@ti.com>
[...]

> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> index 08a5738..0c17a7a 100644
> --- a/drivers/usb/dwc3/core.c
> +++ b/drivers/usb/dwc3/core.c
[...]
> @@ -602,11 +601,22 @@ static int __devexit dwc3_remove(struct platform_device *pdev)
>   	return 0;
>   }
>
> +#ifdef CONFIG_OF
> +static const struct of_device_id of_dwc3_matach[] = {

     I guess you meant 'of_dwc3_match' here and below?


> +	{
> +		.compatible = "synopsis,dwc3"
> +	},
> +	{ },
> +};
> +MODULE_DEVICE_TABLE(of, of_dwc3_matach);
> +#endif
> +
>   static struct platform_driver dwc3_driver = {
>   	.probe		= dwc3_probe,
>   	.remove		= __devexit_p(dwc3_remove),
>   	.driver		= {
>   		.name	= "dwc3",
> +		.of_match_table	= of_match_ptr(of_dwc3_matach),
>   	},
>   };
>   

WBR, Sergei
Kishon Vijay Abraham I Oct. 1, 2012, 5:10 a.m. UTC | #4
Hi,

On Sun, Sep 30, 2012 at 10:17 PM, Sergei Shtylyov <sshtylyov@mvista.com> wrote:
> Hello.
>
>
> On 28-09-2012 14:53, Kishon Vijay Abraham I wrote:
>
>> Added dwc3 support for dwc3 core and update the documentation with
>> device tree binding information.
>>
>> Signed-off-by: Kishon Vijay Abraham I<kishon@ti.com>
>
> [...]
>
>
>> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
>> index 08a5738..0c17a7a 100644
>> --- a/drivers/usb/dwc3/core.c
>> +++ b/drivers/usb/dwc3/core.c
>
> [...]
>
>> @@ -602,11 +601,22 @@ static int __devexit dwc3_remove(struct
>> platform_device *pdev)
>>         return 0;
>>   }
>>
>> +#ifdef CONFIG_OF
>> +static const struct of_device_id of_dwc3_matach[] = {
>
>
>     I guess you meant 'of_dwc3_match' here and below?

indeed.. will re-post the patch..

Thanks
Kishon
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
new file mode 100644
index 0000000..87d5eeb
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/dwc3.txt
@@ -0,0 +1,24 @@ 
+SYNOPSIS DWC3 CORE
+
+DWC3- USB3 CONTROLLER
+
+Required properties:
+ - compatible: Should be "synopsis,dwc3"
+ - reg : Address and length of the register set for the device
+ - interrupts: Interrupts used by the dwc3 controller.
+ - interrupt-parent: the phandle for the interrupt controller that
+   services interrupts for this device.
+
+Optional properties:
+ - tx-fifo-resize: determines if the fifo spaces can be reallocated according
+ to use-cases.
+
+This is usually a subnode to DWC3 glue to which it is connected.
+
+dwc3@4a030000 {
+	compatible = "synopsis,dwc3";
+	reg = <0x4a030000 0xcfff>;
+	interrupts = <0 92 4>
+	interrupt-parent = <&gic>
+	tx-fifo-resize;
+};
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 08a5738..0c17a7a 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -484,8 +484,7 @@  static int __devinit dwc3_probe(struct platform_device *pdev)
 	else
 		dwc->maximum_speed = DWC3_DCFG_SUPERSPEED;
 
-	if (of_get_property(node, "tx-fifo-resize", NULL))
-		dwc->needs_fifo_resize = true;
+	dwc->needs_fifo_resize = of_property_read_bool(node, "tx-fifo-resize");
 
 	pm_runtime_enable(dev);
 	pm_runtime_get_sync(dev);
@@ -602,11 +601,22 @@  static int __devexit dwc3_remove(struct platform_device *pdev)
 	return 0;
 }
 
+#ifdef CONFIG_OF
+static const struct of_device_id of_dwc3_matach[] = {
+	{
+		.compatible = "synopsis,dwc3"
+	},
+	{ },
+};
+MODULE_DEVICE_TABLE(of, of_dwc3_matach);
+#endif
+
 static struct platform_driver dwc3_driver = {
 	.probe		= dwc3_probe,
 	.remove		= __devexit_p(dwc3_remove),
 	.driver		= {
 		.name	= "dwc3",
+		.of_match_table	= of_match_ptr(of_dwc3_matach),
 	},
 };