public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Patches to add support for Rockchip dwc2 controller
@ 2014-07-31  4:29 Kever Yang
  2014-07-31  4:29 ` [PATCH v2 1/4] Documentation: dt-bindings: add dt binding info for Rockchip dwc2 Kever Yang
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Kever Yang @ 2014-07-31  4:29 UTC (permalink / raw)
  To: Paul Zimmerman
  Cc: dianders, heiko, olof, sonnyrao, addy.ke, cf, xjq, wulf, lyz, hj,
	huangtao, Kever Yang, devicetree, Randy Dunlap, Matt Porter,
	Paul Zimmerman, linux-doc, Kever Yang, linux-usb, Kumar Gala,
	Stephen Warren, linux-kernel, Ian Campbell,
	Kishon Vijay Abraham I, Rob Herring, Pawel Moll,
	Greg Kroah-Hartman, Mark Rutland, Russell King, linux-arm-kernel

From: Kever Yang <kever.yang@gmail.com>

These patches to add support for dwc2 controller found in
Rockchip processors rk3066, rk3188 and rk3288,
and enable dts for rk3288 evb.

Changes in v2:
- Split out dr_mode and rk3288 bindings.
- add compatible "snps,dwc2" bingding info
- set most parameters as driver auto-detect
- change the node name from 'dwc2' to 'usb'
- evb patch added in version 2

Kever Yang (4):
  Documentation: dt-bindings: add dt binding info for Rockchip dwc2
  usb: dwc2: add compatible data for rockchip soc
  ARM: dts: add rk3288 dwc2 controller support
  ARM: dts: Enable USB otg and host1(dwc) on rk3288-evb

 Documentation/devicetree/bindings/usb/dwc2.txt |    3 +++
 arch/arm/boot/dts/rk3288-evb.dtsi              |    6 +++++
 arch/arm/boot/dts/rk3288.dtsi                  |   20 ++++++++++++++++
 drivers/usb/dwc2/platform.c                    |   29 ++++++++++++++++++++++++
 4 files changed, 58 insertions(+)

-- 
1.7.9.5


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 1/4] Documentation: dt-bindings: add dt binding info for Rockchip dwc2
  2014-07-31  4:29 [PATCH v2 0/4] Patches to add support for Rockchip dwc2 controller Kever Yang
@ 2014-07-31  4:29 ` Kever Yang
  2014-07-31 17:39   ` Stephen Warren
  2014-07-31  4:29 ` [PATCH v2 2/4] usb: dwc2: add compatible data for rockchip soc Kever Yang
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Kever Yang @ 2014-07-31  4:29 UTC (permalink / raw)
  To: Paul Zimmerman
  Cc: dianders, heiko, olof, sonnyrao, addy.ke, cf, xjq, wulf, lyz, hj,
	huangtao, Kever Yang, Rob Herring, Pawel Moll, Mark Rutland,
	Ian Campbell, Kumar Gala, Randy Dunlap, Greg Kroah-Hartman,
	Matt Porter, Paul Zimmerman, Kishon Vijay Abraham I,
	Stephen Warren, devicetree, linux-doc, linux-kernel

This add necessary dwc2 binding documentation for Rockchip socs:
rk3066, rk3188 and rk3288

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
---

Changes in v2:
- Split out dr_mode and rk3288 bindings.
- add compatible "snps,dwc2" bingding info

 Documentation/devicetree/bindings/usb/dwc2.txt |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/dwc2.txt b/Documentation/devicetree/bindings/usb/dwc2.txt
index 801a284..6a87b27 100644
--- a/Documentation/devicetree/bindings/usb/dwc2.txt
+++ b/Documentation/devicetree/bindings/usb/dwc2.txt
@@ -4,6 +4,9 @@ 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.
+  - 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;
   - snps,dwc2: A generic DWC2 USB controller with default parameters.
 - reg : Should contain 1 register range (address and length)
 - interrupts : Should contain 1 interrupt
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 2/4] usb: dwc2: add compatible data for rockchip soc
  2014-07-31  4:29 [PATCH v2 0/4] Patches to add support for Rockchip dwc2 controller Kever Yang
  2014-07-31  4:29 ` [PATCH v2 1/4] Documentation: dt-bindings: add dt binding info for Rockchip dwc2 Kever Yang
@ 2014-07-31  4:29 ` Kever Yang
  2014-07-31 18:24   ` Paul Zimmerman
  2014-07-31  4:29 ` [PATCH v2 3/4] ARM: dts: add rk3288 dwc2 controller support Kever Yang
  2014-07-31  4:29 ` [PATCH v2 4/4] ARM: dts: Enable USB otg and host1(dwc) on rk3288-evb Kever Yang
  3 siblings, 1 reply; 7+ messages in thread
From: Kever Yang @ 2014-07-31  4:29 UTC (permalink / raw)
  To: Paul Zimmerman
  Cc: dianders, heiko, olof, sonnyrao, addy.ke, cf, xjq, wulf, lyz, hj,
	huangtao, Kever Yang, Greg Kroah-Hartman, linux-usb, linux-kernel

This patch add compatible data for dwc2 controller found on
rk3066, rk3188 and rk3288 processors from rockchip.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
---

Changes in v2:
- set most parameters as driver auto-detect

 drivers/usb/dwc2/platform.c |   29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c
index 5f0c4bb..5e610dd 100644
--- a/drivers/usb/dwc2/platform.c
+++ b/drivers/usb/dwc2/platform.c
@@ -77,6 +77,34 @@ static const struct dwc2_core_params params_bcm2835 = {
 	.uframe_sched			= 0,
 };
 
+static const struct dwc2_core_params params_rk3066 = {
+	.otg_cap			= 2,	/* non-HNP/non-SRP */
+	.otg_ver			= -1,
+	.dma_enable			= -1,
+	.dma_desc_enable		= 0,
+	.speed				= -1,
+	.enable_dynamic_fifo		= 1,
+	.en_multiple_tx_fifo		= -1,
+	.host_rx_fifo_size		= 520,	/* 520 DWORDs */
+	.host_nperio_tx_fifo_size	= 128,	/* 128 DWORDs */
+	.host_perio_tx_fifo_size	= 256,	/* 256 DWORDs */
+	.max_transfer_size		= -1,
+	.max_packet_count		= -1,
+	.host_channels			= -1,
+	.phy_type			= -1,
+	.phy_utmi_width			= -1,
+	.phy_ulpi_ddr			= -1,
+	.phy_ulpi_ext_vbus		= -1,
+	.i2c_enable			= -1,
+	.ulpi_fs_ls			= -1,
+	.host_support_fs_ls_low_power	= -1,
+	.host_ls_low_power_phy_clk	= -1,
+	.ts_dline			= -1,
+	.reload_ctl			= -1,
+	.ahbcfg				= 0x7, /* INCR16 */
+	.uframe_sched			= -1,
+};
+
 /**
  * dwc2_driver_remove() - Called when the DWC_otg core is unregistered with the
  * DWC_otg driver
@@ -99,6 +127,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 = "rockchip,rk3066-usb", .data = &params_rk3066 },
 	{ .compatible = "snps,dwc2", .data = NULL },
 	{},
 };
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 3/4] ARM: dts: add rk3288 dwc2 controller support
  2014-07-31  4:29 [PATCH v2 0/4] Patches to add support for Rockchip dwc2 controller Kever Yang
  2014-07-31  4:29 ` [PATCH v2 1/4] Documentation: dt-bindings: add dt binding info for Rockchip dwc2 Kever Yang
  2014-07-31  4:29 ` [PATCH v2 2/4] usb: dwc2: add compatible data for rockchip soc Kever Yang
@ 2014-07-31  4:29 ` Kever Yang
  2014-07-31  4:29 ` [PATCH v2 4/4] ARM: dts: Enable USB otg and host1(dwc) on rk3288-evb Kever Yang
  3 siblings, 0 replies; 7+ messages in thread
From: Kever Yang @ 2014-07-31  4:29 UTC (permalink / raw)
  To: Paul Zimmerman
  Cc: dianders, heiko, olof, sonnyrao, addy.ke, cf, xjq, wulf, lyz, hj,
	huangtao, Kever Yang, Rob Herring, Pawel Moll, Mark Rutland,
	Ian Campbell, Kumar Gala, Russell King, devicetree,
	linux-arm-kernel, linux-kernel

rk3288 has two kind of usb controller, this add the dwc2 controller
for otg and host1.

Controller can works with usb PHY default setting and Vbus on.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
---

Changes in v2:
- change the node name from 'dwc2' to 'usb'

 arch/arm/boot/dts/rk3288.dtsi |   20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
index abc51f5..9555857 100644
--- a/arch/arm/boot/dts/rk3288.dtsi
+++ b/arch/arm/boot/dts/rk3288.dtsi
@@ -646,5 +646,25 @@
 			clock-names = "baudclk", "apb_pclk";
 			status = "disabled";
 		};
+
+		usb_otg: usb@ff580000 {
+			compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
+					"snps,dwc2";
+			reg = <0xff580000 0x40000>;
+			interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cru HCLK_OTG0>;
+			clock-names = "otg";
+			status = "disabled";
+		};
+
+		usb_host1: usb@ff540000 {
+			compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
+					"snps,dwc2";
+			reg = <0xff540000 0x40000>;
+			interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cru HCLK_USBHOST1>;
+			clock-names = "otg";
+			status = "disabled";
+		};
 	};
 };
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 4/4] ARM: dts: Enable USB otg and host1(dwc) on rk3288-evb
  2014-07-31  4:29 [PATCH v2 0/4] Patches to add support for Rockchip dwc2 controller Kever Yang
                   ` (2 preceding siblings ...)
  2014-07-31  4:29 ` [PATCH v2 3/4] ARM: dts: add rk3288 dwc2 controller support Kever Yang
@ 2014-07-31  4:29 ` Kever Yang
  3 siblings, 0 replies; 7+ messages in thread
From: Kever Yang @ 2014-07-31  4:29 UTC (permalink / raw)
  To: Paul Zimmerman
  Cc: dianders, heiko, olof, sonnyrao, addy.ke, cf, xjq, wulf, lyz, hj,
	huangtao, Kever Yang, Rob Herring, Pawel Moll, Mark Rutland,
	Ian Campbell, Kumar Gala, Russell King, devicetree,
	linux-arm-kernel, linux-kernel

USB otg port is the usb3.0 b-port on the board.
USB host1 port is the host A port nearby the otg port.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
---

Changes in v2:
- evb patch added in version 2

 arch/arm/boot/dts/rk3288-evb.dtsi |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/boot/dts/rk3288-evb.dtsi b/arch/arm/boot/dts/rk3288-evb.dtsi
index da665f6..aa60a3d 100644
--- a/arch/arm/boot/dts/rk3288-evb.dtsi
+++ b/arch/arm/boot/dts/rk3288-evb.dtsi
@@ -83,5 +83,11 @@
 		uart4: serial@ff1c0000 {
 			status = "okay";
 		};*/
+		&usb_otg {
+			status = "okay";
+		}
+		&usb_host1 {
+			status = "okay";
+		};
 	};
 };
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 1/4] Documentation: dt-bindings: add dt binding info for Rockchip dwc2
  2014-07-31  4:29 ` [PATCH v2 1/4] Documentation: dt-bindings: add dt binding info for Rockchip dwc2 Kever Yang
@ 2014-07-31 17:39   ` Stephen Warren
  0 siblings, 0 replies; 7+ messages in thread
From: Stephen Warren @ 2014-07-31 17:39 UTC (permalink / raw)
  To: Kever Yang, Paul Zimmerman
  Cc: dianders, heiko, olof, sonnyrao, addy.ke, cf, xjq, wulf, lyz, hj,
	huangtao, Kever Yang, Rob Herring, Pawel Moll, Mark Rutland,
	Ian Campbell, Kumar Gala, Randy Dunlap, Greg Kroah-Hartman,
	Matt Porter, Paul Zimmerman, Kishon Vijay Abraham I, devicetree,
	linux-doc, linux-kernel

On 07/30/2014 10:29 PM, Kever Yang wrote:
> This add necessary dwc2 binding documentation for Rockchip socs:
> rk3066, rk3188 and rk3288

Acked-by: Stephen Warren <swarren@nvidia.com>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH v2 2/4] usb: dwc2: add compatible data for rockchip soc
  2014-07-31  4:29 ` [PATCH v2 2/4] usb: dwc2: add compatible data for rockchip soc Kever Yang
@ 2014-07-31 18:24   ` Paul Zimmerman
  0 siblings, 0 replies; 7+ messages in thread
From: Paul Zimmerman @ 2014-07-31 18:24 UTC (permalink / raw)
  To: Kever Yang
  Cc: dianders@chromium.org, heiko@sntech.de, olof@lixom.net,
	sonnyrao@chromium.org, addy.ke@rock-chips.com, cf@rock-chips.com,
	xjq@rock-chips.com, wulf@rock-chips.com, lyz@rock-chips.com,
	hj@rock-chips.com, huangtao@rock-chips.com, Kever Yang,
	Greg Kroah-Hartman, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org

> From: Kever Yang [mailto:kever.yang@gmail.com]
> Sent: Wednesday, July 30, 2014 9:30 PM
> 
> This patch add compatible data for dwc2 controller found on
> rk3066, rk3188 and rk3288 processors from rockchip.
> 
> Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
> ---
> 
> Changes in v2:
> - set most parameters as driver auto-detect
> 
>  drivers/usb/dwc2/platform.c |   29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
> 
> diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c
> index 5f0c4bb..5e610dd 100644
> --- a/drivers/usb/dwc2/platform.c
> +++ b/drivers/usb/dwc2/platform.c
> @@ -77,6 +77,34 @@ static const struct dwc2_core_params params_bcm2835 = {
>  	.uframe_sched			= 0,
>  };
> 
> +static const struct dwc2_core_params params_rk3066 = {
> +	.otg_cap			= 2,	/* non-HNP/non-SRP */
> +	.otg_ver			= -1,
> +	.dma_enable			= -1,
> +	.dma_desc_enable		= 0,
> +	.speed				= -1,
> +	.enable_dynamic_fifo		= 1,
> +	.en_multiple_tx_fifo		= -1,
> +	.host_rx_fifo_size		= 520,	/* 520 DWORDs */
> +	.host_nperio_tx_fifo_size	= 128,	/* 128 DWORDs */
> +	.host_perio_tx_fifo_size	= 256,	/* 256 DWORDs */
> +	.max_transfer_size		= -1,
> +	.max_packet_count		= -1,
> +	.host_channels			= -1,
> +	.phy_type			= -1,
> +	.phy_utmi_width			= -1,
> +	.phy_ulpi_ddr			= -1,
> +	.phy_ulpi_ext_vbus		= -1,
> +	.i2c_enable			= -1,
> +	.ulpi_fs_ls			= -1,
> +	.host_support_fs_ls_low_power	= -1,
> +	.host_ls_low_power_phy_clk	= -1,
> +	.ts_dline			= -1,
> +	.reload_ctl			= -1,
> +	.ahbcfg				= 0x7, /* INCR16 */
> +	.uframe_sched			= -1,
> +};
> +
>  /**
>   * dwc2_driver_remove() - Called when the DWC_otg core is unregistered with the
>   * DWC_otg driver
> @@ -99,6 +127,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 = "rockchip,rk3066-usb", .data = &params_rk3066 },
>  	{ .compatible = "snps,dwc2", .data = NULL },
>  	{},
>  };
> --

Acked-by: Paul Zimmerman <paulz@synopsys.com>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-07-31 18:27 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-31  4:29 [PATCH v2 0/4] Patches to add support for Rockchip dwc2 controller Kever Yang
2014-07-31  4:29 ` [PATCH v2 1/4] Documentation: dt-bindings: add dt binding info for Rockchip dwc2 Kever Yang
2014-07-31 17:39   ` Stephen Warren
2014-07-31  4:29 ` [PATCH v2 2/4] usb: dwc2: add compatible data for rockchip soc Kever Yang
2014-07-31 18:24   ` Paul Zimmerman
2014-07-31  4:29 ` [PATCH v2 3/4] ARM: dts: add rk3288 dwc2 controller support Kever Yang
2014-07-31  4:29 ` [PATCH v2 4/4] ARM: dts: Enable USB otg and host1(dwc) on rk3288-evb Kever Yang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox