* [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.