Commit 3f1dae6b authored by Yoshihiro Shimoda's avatar Yoshihiro Shimoda Committed by Greg Kroah-Hartman

usb: host: xhci: plat: add support for Renesas r8a7796 SoC

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

Since the "V2" firmware can be used on both r8a7795 (es1.x) and r8a7796,
the "renesas,rcar-gen3-xhci" keeps to use the "V2" for now.
Signed-off-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 125f0c0c
...@@ -11,6 +11,7 @@ Required properties: ...@@ -11,6 +11,7 @@ Required properties:
- "renesas,xhci-r8a7791" for r8a7791 SoC - "renesas,xhci-r8a7791" for r8a7791 SoC
- "renesas,xhci-r8a7793" for r8a7793 SoC - "renesas,xhci-r8a7793" for r8a7793 SoC
- "renesas,xhci-r8a7795" for r8a7795 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-gen2-xhci" for a generic R-Car Gen2 compatible device
- "renesas,rcar-gen3-xhci" for a generic R-Car Gen3 compatible device - "renesas,rcar-gen3-xhci" for a generic R-Car Gen3 compatible device
- "xhci-platform" (deprecated) - "xhci-platform" (deprecated)
......
...@@ -100,6 +100,12 @@ static const struct xhci_plat_priv xhci_plat_renesas_rcar_gen3 = { ...@@ -100,6 +100,12 @@ static const struct xhci_plat_priv xhci_plat_renesas_rcar_gen3 = {
.plat_start = xhci_rcar_start, .plat_start = xhci_rcar_start,
}; };
static const struct xhci_plat_priv xhci_plat_renesas_rcar_r8a7796 = {
.firmware_name = XHCI_RCAR_FIRMWARE_NAME_V3,
.init_quirk = xhci_rcar_init_quirk,
.plat_start = xhci_rcar_start,
};
static const struct of_device_id usb_xhci_of_match[] = { static const struct of_device_id usb_xhci_of_match[] = {
{ {
.compatible = "generic-xhci", .compatible = "generic-xhci",
...@@ -123,6 +129,9 @@ static const struct of_device_id usb_xhci_of_match[] = { ...@@ -123,6 +129,9 @@ static const struct of_device_id usb_xhci_of_match[] = {
}, { }, {
.compatible = "renesas,xhci-r8a7795", .compatible = "renesas,xhci-r8a7795",
.data = &xhci_plat_renesas_rcar_gen3, .data = &xhci_plat_renesas_rcar_gen3,
}, {
.compatible = "renesas,xhci-r8a7796",
.data = &xhci_plat_renesas_rcar_r8a7796,
}, { }, {
.compatible = "renesas,rcar-gen2-xhci", .compatible = "renesas,rcar-gen2-xhci",
.data = &xhci_plat_renesas_rcar_gen2, .data = &xhci_plat_renesas_rcar_gen2,
......
...@@ -95,6 +95,7 @@ static int xhci_rcar_is_gen3(struct device *dev) ...@@ -95,6 +95,7 @@ static int xhci_rcar_is_gen3(struct device *dev)
struct device_node *node = dev->of_node; struct device_node *node = dev->of_node;
return of_device_is_compatible(node, "renesas,xhci-r8a7795") || 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"); of_device_is_compatible(node, "renesas,rcar-gen3-xhci");
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment