All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] usb: host: xhci: plat: add support for Renesas r8a7796 SoC
@ 2016-08-24  8:52 Yoshihiro Shimoda
  2016-08-24  8:52 ` [PATCH 1/4] usb: host: xhci: rcar: add a new firmware version for r8a7796 Yoshihiro Shimoda
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Yoshihiro Shimoda @ 2016-08-24  8:52 UTC (permalink / raw)
  To: mathias.nyman, gregkh, robh+dt, mark.rutland
  Cc: linux-usb, linux-renesas-soc, Yoshihiro Shimoda

This patch is based on the latest Greg's usb.git / usb-next branch.
(commit id = 1aaaa9acaea1dd2878d6c92b45e4c117ef425baf)

Yoshihiro Shimoda (4):
  usb: host: xhci: rcar: add a new firmware version for r8a7796
  usb: host: xhci: rcar: add a macro XHCI_PLAT_RENESAS_RCAR_PRIV
  usb: host: xhci: plat: use XHCI_PLAT_RENESAS_RCAR_PRIV macro for R-Car
  usb: host: xhci: plat: add support for Renesas r8a7796 SoC

 Documentation/devicetree/bindings/usb/usb-xhci.txt |  1 +
 drivers/usb/host/xhci-plat.c                       | 17 ++++++-----------
 drivers/usb/host/xhci-rcar.c                       | 18 +++++++++++++-----
 drivers/usb/host/xhci-rcar.h                       |  9 +++++++++
 4 files changed, 29 insertions(+), 16 deletions(-)

-- 
1.9.1

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

* [PATCH 1/4] usb: host: xhci: rcar: add a new firmware version for r8a7796
  2016-08-24  8:52 [PATCH 0/4] usb: host: xhci: plat: add support for Renesas r8a7796 SoC Yoshihiro Shimoda
@ 2016-08-24  8:52 ` Yoshihiro Shimoda
  2016-08-24  8:52 ` [PATCH 2/4] usb: host: xhci: rcar: add a macro XHCI_PLAT_RENESAS_RCAR_PRIV Yoshihiro Shimoda
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Yoshihiro Shimoda @ 2016-08-24  8:52 UTC (permalink / raw)
  To: mathias.nyman, gregkh, robh+dt, mark.rutland
  Cc: linux-usb, linux-renesas-soc, Yoshihiro Shimoda

This patch adds a new firmware version "V3" for r8a7796. This patch also
revises the explanation of each version's capability using a table.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 drivers/usb/host/xhci-rcar.c | 17 ++++++++++++-----
 drivers/usb/host/xhci-rcar.h |  1 +
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/host/xhci-rcar.c b/drivers/usb/host/xhci-rcar.c
index 0e4535e..723f575 100644
--- a/drivers/usb/host/xhci-rcar.c
+++ b/drivers/usb/host/xhci-rcar.c
@@ -19,13 +19,20 @@
 #include "xhci-rcar.h"
 
 /*
-* - The V2 firmware is possible to use on R-Car Gen2. However, the V2 causes
-*   performance degradation. So, this driver continues to use the V1 if R-Car
-*   Gen2.
-* - The V1 firmware is impossible to use on R-Car Gen3.
-*/
+ *	   |	Gen2	r8a7795	r8a7796
+ *	---+----------------------------
+ *	V3 |	note1	NG	OK
+ *	V2 |	note1	OK	note1
+ *	V1 |	OK	NG	NG
+ *
+ * Gen2: r8a7790, r8a7791 and r8a7793
+ * OK: This firmware version works correctly on such SoC(s)
+ * NG: This firmware version is impossible to use on such SoC(s)
+ * note1: This firmware version causes performance degradation.
+ */
 MODULE_FIRMWARE(XHCI_RCAR_FIRMWARE_NAME_V1);
 MODULE_FIRMWARE(XHCI_RCAR_FIRMWARE_NAME_V2);
+MODULE_FIRMWARE(XHCI_RCAR_FIRMWARE_NAME_V3);
 
 /*** Register Offset ***/
 #define RCAR_USB3_INT_ENA	0x224	/* Interrupt Enable */
diff --git a/drivers/usb/host/xhci-rcar.h b/drivers/usb/host/xhci-rcar.h
index 2941a25..d2ffe20 100644
--- a/drivers/usb/host/xhci-rcar.h
+++ b/drivers/usb/host/xhci-rcar.h
@@ -13,6 +13,7 @@
 
 #define XHCI_RCAR_FIRMWARE_NAME_V1	"r8a779x_usb3_v1.dlmem"
 #define XHCI_RCAR_FIRMWARE_NAME_V2	"r8a779x_usb3_v2.dlmem"
+#define XHCI_RCAR_FIRMWARE_NAME_V3	"r8a779x_usb3_v3.dlmem"
 
 #if IS_ENABLED(CONFIG_USB_XHCI_RCAR)
 void xhci_rcar_start(struct usb_hcd *hcd);
-- 
1.9.1

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

* [PATCH 2/4] usb: host: xhci: rcar: add a macro XHCI_PLAT_RENESAS_RCAR_PRIV
  2016-08-24  8:52 [PATCH 0/4] usb: host: xhci: plat: add support for Renesas r8a7796 SoC Yoshihiro Shimoda
  2016-08-24  8:52 ` [PATCH 1/4] usb: host: xhci: rcar: add a new firmware version for r8a7796 Yoshihiro Shimoda
@ 2016-08-24  8:52 ` Yoshihiro Shimoda
  2016-08-24  8:52 ` [PATCH 3/4] usb: host: xhci: plat: use XHCI_PLAT_RENESAS_RCAR_PRIV macro for R-Car Yoshihiro Shimoda
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Yoshihiro Shimoda @ 2016-08-24  8:52 UTC (permalink / raw)
  To: mathias.nyman, gregkh, robh+dt, mark.rutland
  Cc: linux-usb, linux-renesas-soc, Yoshihiro Shimoda

This patch adds a new macro "XHCI_PLAT_RENESAS_RCAR_PRIV" to make
struct xhci_plat_priv data for R-Car SoCs easily.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 drivers/usb/host/xhci-rcar.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/usb/host/xhci-rcar.h b/drivers/usb/host/xhci-rcar.h
index d2ffe20..78379e3 100644
--- a/drivers/usb/host/xhci-rcar.h
+++ b/drivers/usb/host/xhci-rcar.h
@@ -28,4 +28,12 @@ static inline int xhci_rcar_init_quirk(struct usb_hcd *hcd)
 	return 0;
 }
 #endif
+
+#define XHCI_PLAT_RENESAS_RCAR_PRIV(soc, firmware)	\
+static const struct xhci_plat_priv xhci_plat_renesas_rcar_##soc = {	\
+	.firmware_name = firmware,			\
+	.init_quirk = xhci_rcar_init_quirk,		\
+	.plat_start = xhci_rcar_start,			\
+}
+
 #endif /* _XHCI_RCAR_H */
-- 
1.9.1

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

* [PATCH 3/4] usb: host: xhci: plat: use XHCI_PLAT_RENESAS_RCAR_PRIV macro for R-Car
  2016-08-24  8:52 [PATCH 0/4] usb: host: xhci: plat: add support for Renesas r8a7796 SoC Yoshihiro Shimoda
  2016-08-24  8:52 ` [PATCH 1/4] usb: host: xhci: rcar: add a new firmware version for r8a7796 Yoshihiro Shimoda
  2016-08-24  8:52 ` [PATCH 2/4] usb: host: xhci: rcar: add a macro XHCI_PLAT_RENESAS_RCAR_PRIV Yoshihiro Shimoda
@ 2016-08-24  8:52 ` Yoshihiro Shimoda
  2016-08-24  8:52 ` [PATCH 4/4] usb: host: xhci: plat: add support for Renesas r8a7796 SoC Yoshihiro Shimoda
  2016-10-19  6:13 ` [PATCH 0/4] " Yoshihiro Shimoda
  4 siblings, 0 replies; 6+ messages in thread
From: Yoshihiro Shimoda @ 2016-08-24  8:52 UTC (permalink / raw)
  To: mathias.nyman, gregkh, robh+dt, mark.rutland
  Cc: linux-usb, linux-renesas-soc, Yoshihiro Shimoda

This patch uses XHCI_PLAT_RENESAS_RCAR_PRIV macro to make
the xhci_plat_priv data.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 drivers/usb/host/xhci-plat.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index ed56bf9..c1a6b5a 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -88,17 +88,8 @@ static const struct xhci_plat_priv xhci_plat_marvell_armada = {
 	.init_quirk = xhci_mvebu_mbus_init_quirk,
 };
 
-static const struct xhci_plat_priv xhci_plat_renesas_rcar_gen2 = {
-	.firmware_name = XHCI_RCAR_FIRMWARE_NAME_V1,
-	.init_quirk = xhci_rcar_init_quirk,
-	.plat_start = xhci_rcar_start,
-};
-
-static const struct xhci_plat_priv xhci_plat_renesas_rcar_gen3 = {
-	.firmware_name = XHCI_RCAR_FIRMWARE_NAME_V2,
-	.init_quirk = xhci_rcar_init_quirk,
-	.plat_start = xhci_rcar_start,
-};
+XHCI_PLAT_RENESAS_RCAR_PRIV(gen2, XHCI_RCAR_FIRMWARE_NAME_V1);
+XHCI_PLAT_RENESAS_RCAR_PRIV(gen3, XHCI_RCAR_FIRMWARE_NAME_V2);
 
 static const struct of_device_id usb_xhci_of_match[] = {
 	{
-- 
1.9.1

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

* [PATCH 4/4] usb: host: xhci: plat: add support for Renesas r8a7796 SoC
  2016-08-24  8:52 [PATCH 0/4] usb: host: xhci: plat: add support for Renesas r8a7796 SoC Yoshihiro Shimoda
                   ` (2 preceding siblings ...)
  2016-08-24  8:52 ` [PATCH 3/4] usb: host: xhci: plat: use XHCI_PLAT_RENESAS_RCAR_PRIV macro for R-Car Yoshihiro Shimoda
@ 2016-08-24  8:52 ` Yoshihiro Shimoda
  2016-10-19  6:13 ` [PATCH 0/4] " Yoshihiro Shimoda
  4 siblings, 0 replies; 6+ messages in thread
From: Yoshihiro Shimoda @ 2016-08-24  8:52 UTC (permalink / raw)
  To: mathias.nyman, gregkh, robh+dt, mark.rutland
  Cc: linux-usb, linux-renesas-soc, Yoshihiro Shimoda

This patch adds support for Renesas r8a7796 SoC. This SoC is not
compatible with r8a7795 because using firmware version differs.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 Documentation/devicetree/bindings/usb/usb-xhci.txt | 1 +
 drivers/usb/host/xhci-plat.c                       | 4 ++++
 drivers/usb/host/xhci-rcar.c                       | 1 +
 3 files changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.txt b/Documentation/devicetree/bindings/usb/usb-xhci.txt
index 966885c..0b7d857 100644
--- a/Documentation/devicetree/bindings/usb/usb-xhci.txt
+++ b/Documentation/devicetree/bindings/usb/usb-xhci.txt
@@ -11,6 +11,7 @@ Required properties:
     - "renesas,xhci-r8a7791" for r8a7791 SoC
     - "renesas,xhci-r8a7793" for r8a7793 SoC
     - "renesas,xhci-r8a7795" for r8a7795 SoC
+    - "renesas,xhci-r8a7796" for r8a7796 SoC
     - "renesas,rcar-gen2-xhci" for a generic R-Car Gen2 compatible device
     - "renesas,rcar-gen3-xhci" for a generic R-Car Gen3 compatible device
     - "xhci-platform" (deprecated)
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index c1a6b5a..3dc4bc4d 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -90,6 +90,7 @@ static const struct xhci_plat_priv xhci_plat_marvell_armada = {
 
 XHCI_PLAT_RENESAS_RCAR_PRIV(gen2, XHCI_RCAR_FIRMWARE_NAME_V1);
 XHCI_PLAT_RENESAS_RCAR_PRIV(gen3, XHCI_RCAR_FIRMWARE_NAME_V2);
+XHCI_PLAT_RENESAS_RCAR_PRIV(r8a7796, XHCI_RCAR_FIRMWARE_NAME_V3);
 
 static const struct of_device_id usb_xhci_of_match[] = {
 	{
@@ -115,6 +116,9 @@ static const struct of_device_id usb_xhci_of_match[] = {
 		.compatible = "renesas,xhci-r8a7795",
 		.data = &xhci_plat_renesas_rcar_gen3,
 	}, {
+		.compatible = "renesas,xhci-r8a7796",
+		.data = &xhci_plat_renesas_rcar_r8a7796,
+	}, {
 		.compatible = "renesas,rcar-gen2-xhci",
 		.data = &xhci_plat_renesas_rcar_gen2,
 	}, {
diff --git a/drivers/usb/host/xhci-rcar.c b/drivers/usb/host/xhci-rcar.c
index 723f575..49f7698 100644
--- a/drivers/usb/host/xhci-rcar.c
+++ b/drivers/usb/host/xhci-rcar.c
@@ -99,6 +99,7 @@ static int xhci_rcar_is_gen3(struct device *dev)
 	struct device_node *node = dev->of_node;
 
 	return of_device_is_compatible(node, "renesas,xhci-r8a7795") ||
+	       of_device_is_compatible(node, "renesas,xhci-r8a7796") ||
 		of_device_is_compatible(node, "renesas,rcar-gen3-xhci");
 }
 
-- 
1.9.1

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

* RE: [PATCH 0/4] usb: host: xhci: plat: add support for Renesas r8a7796 SoC
  2016-08-24  8:52 [PATCH 0/4] usb: host: xhci: plat: add support for Renesas r8a7796 SoC Yoshihiro Shimoda
                   ` (3 preceding siblings ...)
  2016-08-24  8:52 ` [PATCH 4/4] usb: host: xhci: plat: add support for Renesas r8a7796 SoC Yoshihiro Shimoda
@ 2016-10-19  6:13 ` Yoshihiro Shimoda
  4 siblings, 0 replies; 6+ messages in thread
From: Yoshihiro Shimoda @ 2016-10-19  6:13 UTC (permalink / raw)
  To: mathias.nyman, gregkh, robh+dt, mark.rutland; +Cc: linux-usb, linux-renesas-soc

Hi,

> -----Original Message-----
> From: Yoshihiro Shimoda
> Sent: Wednesday, August 24, 2016 5:53 PM
> To: mathias.nyman@intel.com; gregkh@linuxfoundation.org; robh+dt@kernel.org; mark.rutland@arm.com
> Cc: linux-usb@vger.kernel.org; linux-renesas-soc@vger.kernel.org; Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> Subject: [PATCH 0/4] usb: host: xhci: plat: add support for Renesas r8a7796 SoC
> 
> This patch is based on the latest Greg's usb.git / usb-next branch.
> (commit id = 1aaaa9acaea1dd2878d6c92b45e4c117ef425baf)
> 
> Yoshihiro Shimoda (4):
>   usb: host: xhci: rcar: add a new firmware version for r8a7796
>   usb: host: xhci: rcar: add a macro XHCI_PLAT_RENESAS_RCAR_PRIV
>   usb: host: xhci: plat: use XHCI_PLAT_RENESAS_RCAR_PRIV macro for R-Car
>   usb: host: xhci: plat: add support for Renesas r8a7796 SoC
> 
>  Documentation/devicetree/bindings/usb/usb-xhci.txt |  1 +
>  drivers/usb/host/xhci-plat.c                       | 17 ++++++-----------
>  drivers/usb/host/xhci-rcar.c                       | 18 +++++++++++++-----
>  drivers/usb/host/xhci-rcar.h                       |  9 +++++++++
>  4 files changed, 29 insertions(+), 16 deletions(-)

I found a problem this patch set, so please ignore this.
I will modify this and submit v2 patch set later.

Best regards,
Yoshihiro Shimoda

> --
> 1.9.1

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

end of thread, other threads:[~2016-10-19  6:13 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-24  8:52 [PATCH 0/4] usb: host: xhci: plat: add support for Renesas r8a7796 SoC Yoshihiro Shimoda
2016-08-24  8:52 ` [PATCH 1/4] usb: host: xhci: rcar: add a new firmware version for r8a7796 Yoshihiro Shimoda
2016-08-24  8:52 ` [PATCH 2/4] usb: host: xhci: rcar: add a macro XHCI_PLAT_RENESAS_RCAR_PRIV Yoshihiro Shimoda
2016-08-24  8:52 ` [PATCH 3/4] usb: host: xhci: plat: use XHCI_PLAT_RENESAS_RCAR_PRIV macro for R-Car Yoshihiro Shimoda
2016-08-24  8:52 ` [PATCH 4/4] usb: host: xhci: plat: add support for Renesas r8a7796 SoC Yoshihiro Shimoda
2016-10-19  6:13 ` [PATCH 0/4] " Yoshihiro Shimoda

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.