diff mbox

usb: dwc2: add support of hi6220

Message ID 1447832387-27549-1-git-send-email-zhangfei.gao@linaro.org
State Accepted
Commit 37dd9d65cc41fcc7e77645a1cdf2659472809b96
Headers show

Commit Message

Zhangfei Gao Nov. 18, 2015, 7:39 a.m. UTC
Support hisilicon,hi6220-usb for HiKey board

Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>

---
 Documentation/devicetree/bindings/usb/dwc2.txt |  1 +
 drivers/usb/dwc2/platform.c                    | 32 ++++++++++++++++++++++++++
 2 files changed, 33 insertions(+)

-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Rob Herring Nov. 18, 2015, 11:03 p.m. UTC | #1
On Wed, Nov 18, 2015 at 03:39:47PM +0800, Zhangfei Gao wrote:
> Support hisilicon,hi6220-usb for HiKey board

> 

> Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>

> ---

>  Documentation/devicetree/bindings/usb/dwc2.txt |  1 +


For the binding:

Acked-by: Rob Herring <robh@kernel.org>


>  drivers/usb/dwc2/platform.c                    | 32 ++++++++++++++++++++++++++

>  2 files changed, 33 insertions(+)

> 

> diff --git a/Documentation/devicetree/bindings/usb/dwc2.txt b/Documentation/devicetree/bindings/usb/dwc2.txt

> index fd132cb..2213682 100644

> --- a/Documentation/devicetree/bindings/usb/dwc2.txt

> +++ b/Documentation/devicetree/bindings/usb/dwc2.txt

> @@ -4,6 +4,7 @@ Platform DesignWare HS OTG USB 2.0 controller

>  Required properties:

>  - compatible : One of:

>    - brcm,bcm2835-usb: The DWC2 USB controller instance in the BCM2835 SoC.

> +  - hisilicon,hi6220-usb: The DWC2 USB controller instance in the hi6220 SoC.

>    - rockchip,rk3066-usb: The DWC2 USB controller instance in the rk3066 Soc;

>    - "rockchip,rk3188-usb", "rockchip,rk3066-usb", "snps,dwc2": for rk3188 Soc;

>    - "rockchip,rk3288-usb", "rockchip,rk3066-usb", "snps,dwc2": for rk3288 Soc;

> diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c

> index 5859b0f..a5cb1bf 100644

> --- a/drivers/usb/dwc2/platform.c

> +++ b/drivers/usb/dwc2/platform.c

> @@ -54,6 +54,37 @@

>  

>  static const char dwc2_driver_name[] = "dwc2";

>  

> +static const struct dwc2_core_params params_hi6220 = {

> +	.otg_cap			= 2,	/* No HNP/SRP capable */

> +	.otg_ver			= 0,	/* 1.3 */

> +	.dma_enable			= 1,

> +	.dma_desc_enable		= 0,

> +	.speed				= 0,	/* High Speed */

> +	.enable_dynamic_fifo		= 1,

> +	.en_multiple_tx_fifo		= 1,

> +	.host_rx_fifo_size		= 512,

> +	.host_nperio_tx_fifo_size	= 512,

> +	.host_perio_tx_fifo_size	= 512,

> +	.max_transfer_size		= 65535,

> +	.max_packet_count		= 511,

> +	.host_channels			= 16,

> +	.phy_type			= 1,	/* UTMI */

> +	.phy_utmi_width			= 8,

> +	.phy_ulpi_ddr			= 0,	/* Single */

> +	.phy_ulpi_ext_vbus		= 0,

> +	.i2c_enable			= 0,

> +	.ulpi_fs_ls			= 0,

> +	.host_support_fs_ls_low_power	= 0,

> +	.host_ls_low_power_phy_clk	= 0,	/* 48 MHz */

> +	.ts_dline			= 0,

> +	.reload_ctl			= 0,

> +	.ahbcfg				= GAHBCFG_HBSTLEN_INCR16 <<

> +					  GAHBCFG_HBSTLEN_SHIFT,

> +	.uframe_sched			= 0,

> +	.external_id_pin_ctl		= -1,

> +	.hibernation			= -1,

> +};

> +

>  static const struct dwc2_core_params params_bcm2835 = {

>  	.otg_cap			= 0,	/* HNP/SRP capable */

>  	.otg_ver			= 0,	/* 1.3 */

> @@ -282,6 +313,7 @@ static int dwc2_driver_remove(struct platform_device *dev)

>  

>  static const struct of_device_id dwc2_of_match_table[] = {

>  	{ .compatible = "brcm,bcm2835-usb", .data = &params_bcm2835 },

> +	{ .compatible = "hisilicon,hi6220-usb", .data = &params_hi6220 },

>  	{ .compatible = "rockchip,rk3066-usb", .data = &params_rk3066 },

>  	{ .compatible = "snps,dwc2", .data = NULL },

>  	{ .compatible = "samsung,s3c6400-hsotg", .data = NULL},

> -- 

> 1.9.1

> 

> --

> To unsubscribe from this list: send the line "unsubscribe devicetree" in

> the body of a message to majordomo@vger.kernel.org

> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Felipe Balbi Nov. 19, 2015, 7:04 p.m. UTC | #2
Hi,

Zhangfei Gao <zhangfei.gao@linaro.org> writes:
> Support hisilicon,hi6220-usb for HiKey board

>

> Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>


doesn't apply:

Applying: usb: dwc2: add support of hi6220
error: drivers/usb/dwc2/platform.c: does not match index
Patch failed at 0001 usb: dwc2: add support of hi6220
The copy of the patch that failed is found in: workspace/linux/.git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

Care to rebase on my testing/next and also collect John's and Rob's ack ?

-- 
balbi
Felipe Balbi Nov. 20, 2015, 3:34 p.m. UTC | #3
Hi,

John Youn <John.Youn@synopsys.com> writes:
> On 11/19/2015 11:04 AM, Felipe Balbi wrote:

>> 

>> Hi,

>> 

>> Zhangfei Gao <zhangfei.gao@linaro.org> writes:

>>> Support hisilicon,hi6220-usb for HiKey board

>>>

>>> Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>

>> 

>> doesn't apply:

>> 

>> Applying: usb: dwc2: add support of hi6220

>> error: drivers/usb/dwc2/platform.c: does not match index

>> Patch failed at 0001 usb: dwc2: add support of hi6220

>> The copy of the patch that failed is found in: workspace/linux/.git/rebase-apply/patch

>> When you have resolved this problem, run "git am --continue".

>> If you prefer to skip this patch, run "git am --skip" instead.

>> To restore the original branch and stop patching, run "git am --abort".

>> 

>> Care to rebase on my testing/next and also collect John's and Rob's ack ?

>> 

>

>

> That's weird. I just sync'd to your testing/next and it seems to

> apply fine.

>

> Same with the series from Gregory Herrero.

>

> Any chance it's something to do with your local repo?


odd. Seems like it works if I apply manually with git am, but fails if I
pipe message from emacs to git am. Oh well, let me try again.

-- 
balbi
Felipe Balbi Nov. 20, 2015, 5:20 p.m. UTC | #4
"Herrero, Gregory" <gregory.herrero@intel.com> writes:

> Hi Felipe,

>

> I just realized this patch miss "dma_desc_fs_enable" property in

> params_hi6220. (drivers/usb/dwc2/platform.c:57)

>

> You need to apply this patch:

>

> diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c

> index d5102c4..2dfdae3 100644

> --- a/drivers/usb/dwc2/platform.c

> +++ b/drivers/usb/dwc2/platform.c

> @@ -59,6 +59,7 @@ static const struct dwc2_core_params params_hi6220 = {

>         .otg_ver                        = 0,    /* 1.3 */

>         .dma_enable                     = 1,

>         .dma_desc_enable                = 0,

> +       .dma_desc_fs_enable             = 0,

>         .speed                          = 0,    /* High Speed */

>         .enable_dynamic_fifo            = 1,

>         .en_multiple_tx_fifo            = 1,

>

>

> Note that it is needed due to below patch.

> "usb: dwc2: host: enable descriptor dma for fs devices"


done, thanks.

-- 
balbi
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/usb/dwc2.txt b/Documentation/devicetree/bindings/usb/dwc2.txt
index fd132cb..2213682 100644
--- a/Documentation/devicetree/bindings/usb/dwc2.txt
+++ b/Documentation/devicetree/bindings/usb/dwc2.txt
@@ -4,6 +4,7 @@  Platform DesignWare HS OTG USB 2.0 controller
 Required properties:
 - compatible : One of:
   - brcm,bcm2835-usb: The DWC2 USB controller instance in the BCM2835 SoC.
+  - hisilicon,hi6220-usb: The DWC2 USB controller instance in the hi6220 SoC.
   - rockchip,rk3066-usb: The DWC2 USB controller instance in the rk3066 Soc;
   - "rockchip,rk3188-usb", "rockchip,rk3066-usb", "snps,dwc2": for rk3188 Soc;
   - "rockchip,rk3288-usb", "rockchip,rk3066-usb", "snps,dwc2": for rk3288 Soc;
diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c
index 5859b0f..a5cb1bf 100644
--- a/drivers/usb/dwc2/platform.c
+++ b/drivers/usb/dwc2/platform.c
@@ -54,6 +54,37 @@ 
 
 static const char dwc2_driver_name[] = "dwc2";
 
+static const struct dwc2_core_params params_hi6220 = {
+	.otg_cap			= 2,	/* No HNP/SRP capable */
+	.otg_ver			= 0,	/* 1.3 */
+	.dma_enable			= 1,
+	.dma_desc_enable		= 0,
+	.speed				= 0,	/* High Speed */
+	.enable_dynamic_fifo		= 1,
+	.en_multiple_tx_fifo		= 1,
+	.host_rx_fifo_size		= 512,
+	.host_nperio_tx_fifo_size	= 512,
+	.host_perio_tx_fifo_size	= 512,
+	.max_transfer_size		= 65535,
+	.max_packet_count		= 511,
+	.host_channels			= 16,
+	.phy_type			= 1,	/* UTMI */
+	.phy_utmi_width			= 8,
+	.phy_ulpi_ddr			= 0,	/* Single */
+	.phy_ulpi_ext_vbus		= 0,
+	.i2c_enable			= 0,
+	.ulpi_fs_ls			= 0,
+	.host_support_fs_ls_low_power	= 0,
+	.host_ls_low_power_phy_clk	= 0,	/* 48 MHz */
+	.ts_dline			= 0,
+	.reload_ctl			= 0,
+	.ahbcfg				= GAHBCFG_HBSTLEN_INCR16 <<
+					  GAHBCFG_HBSTLEN_SHIFT,
+	.uframe_sched			= 0,
+	.external_id_pin_ctl		= -1,
+	.hibernation			= -1,
+};
+
 static const struct dwc2_core_params params_bcm2835 = {
 	.otg_cap			= 0,	/* HNP/SRP capable */
 	.otg_ver			= 0,	/* 1.3 */
@@ -282,6 +313,7 @@  static int dwc2_driver_remove(struct platform_device *dev)
 
 static const struct of_device_id dwc2_of_match_table[] = {
 	{ .compatible = "brcm,bcm2835-usb", .data = &params_bcm2835 },
+	{ .compatible = "hisilicon,hi6220-usb", .data = &params_hi6220 },
 	{ .compatible = "rockchip,rk3066-usb", .data = &params_rk3066 },
 	{ .compatible = "snps,dwc2", .data = NULL },
 	{ .compatible = "samsung,s3c6400-hsotg", .data = NULL},