Add XHCI support to r8a7743
Subsystems (5)
cover Add XHCI support to r8a7743
Dear All,
this series adds XHCI support to r8a7743.
The only patch that hasn't been backported is:
"usb: host: xhci-plat: Add r8a7743 support"
The reason for the new commit is that the backporting of the generic compatible string for R-Car Gen2 would have brought along a few unnecessary bits and pieces, a new commit seemed to address the goal more reliably.
Thanks,
Fabrizio Castro (3):
usb: host: xhci-plat: Add r8a7743 support
dt-bindings: usb-xhci: Document r8a7743 support
ARM: dts: r8a7743: Add xhci support to SoC dtsi
Simon Horman (1):
ARM: shmobile: enable XHCI_RCAR in defconfig
Documentation/devicetree/bindings/usb/usb-xhci.txt | 4 ++-- arch/arm/boot/dts/r8a7743.dtsi | 18 ++++++++++++++++++ arch/arm/configs/shmobile_defconfig | 2 ++ drivers/usb/host/xhci-plat.c | 7 +++++-- 4 files changed, 27 insertions(+), 4 deletions(-)
Signature · 1 line
2.7.4
PATCH 1/4 usb: host: xhci-plat: Add r8a7743 support
This patch adds xhci r8a7743 driver support.
--- drivers/usb/host/xhci-plat.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
drivers/usb/host/xhci-plat.c +5 -2
@@ -53,7 +53,8 @@ static int xhci_plat_setup(struct usb_hcd *hcd)int ret;if (of_device_is_compatible (of_node,"renesas,xhci-r8a7790" ) || -of_device_is_compatible (of_node,"renesas,xhci-r8a7791" )) { +of_device_is_compatible (of_node,"renesas,xhci-r8a7791" ) || +of_device_is_compatible (of_node,"renesas,xhci-r8a7743" )) { ret =xhci_rcar_init_quirk (hcd);if (ret)return ret;
@@ -67,7 +68,8 @@ static int xhci_plat_start(struct usb_hcd *hcd)struct device_node *of_node = hcd->self.controller->of_node;if (of_device_is_compatible (of_node,"renesas,xhci-r8a7790" ) || -of_device_is_compatible (of_node,"renesas,xhci-r8a7791" )) +of_device_is_compatible (of_node,"renesas,xhci-r8a7791" ) || +of_device_is_compatible (of_node,"renesas,xhci-r8a7743" ))xhci_rcar_start (hcd);return xhci_run (hcd);
@@ -267,6 +269,7 @@ static const struct of_device_id usb_xhci_of_match[] = { { .compatible = "xhci-platform" }, { .compatible = "marvell,armada-375-xhci"}, { .compatible = "marvell,armada-380-xhci"}, + { .compatible = "renesas,xhci-r8a7743"}, { .compatible = "renesas,xhci-r8a7790"}, { .compatible = "renesas,xhci-r8a7791"}, { },
Signature · 1 line
2.7.4
PATCH 2/4 dt-bindings: usb-xhci: Document r8a7743 support
In reply to Fabrizio CastroDocument r8a7743 xhci support. The driver will use the fallback compatible string "renesas,rcar-gen2-xhci", therefore no driver change is needed.
(removed "renesas,rcar-gen2-xhci" fallback compatible string)
--- Documentation/devicetree/bindings/usb/usb-xhci.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/usb/usb-xhci.txt +2 -2
@@ -3,8 +3,8 @@ USB xHCI controllers Required properties: - compatible: should be one of "generic-xhci", "marvell,armada-375-xhci", "marvell,armada-380-xhci", - "renesas,xhci-r8a7790", "renesas,xhci-r8a7791" (deprecated: - "xhci-platform"). + "renesas,xhci-r8a7790", "renesas,xhci-r8a7791", "renesas,xhci-r8a7743" + (deprecated: "xhci-platform"). - reg: should contain address and length of the standard XHCI register set for the device. - interrupts: one XHCI interrupt should be described here.
Signature · 1 line
2.7.4
PATCH 3/4 ARM: dts: r8a7743: Add xhci support to SoC dtsi
In reply to Fabrizio CastroAdd node for xhci. Boards DT files will enable it if needed.
(modified clocks and power-domains properties, removed resets property)
--- arch/arm/boot/dts/r8a7743.dtsi | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
arch/arm/boot/dts/r8a7743.dtsi +18 -0
@@ -843,6 +843,24 @@ status = "disabled"; }; + /* + * pci1 and xhci share the same phy, therefore only one of them + * can be active at any one time. If both of them are enabled, + * a race condition will determine who'll control the phy. + * A firmware file is needed by the xhci driver in order for + * USB 3.0 to work properly. + */ + xhci: usb at ee000000 { + compatible = "renesas,xhci-r8a7743"; + reg = <0 0xee000000 0 0xc00>; + interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&mstp3_clks R8A7743_CLK_SSUSB>; + power-domains = <&cpg_clocks>; + phys = <&usb2 1>; + phy-names = "usb"; + status = "disabled"; + }; + clocks { #address-cells = <2>; #size-cells = <2>;
Signature · 1 line
2.7.4
PATCH 4/4 ARM: shmobile: enable XHCI_RCAR in defconfig
In reply to Fabrizio CastroFrom: Simon Horman <[email protected]>
--- arch/arm/configs/shmobile_defconfig | 2 ++ 1 file changed, 2 insertions(+)
arch/arm/configs/shmobile_defconfig +2 -0
@@ -162,6 +162,8 @@ CONFIG_SND_SOC_RSRC_CARD=y CONFIG_SND_SOC_AK4642=y CONFIG_SND_SOC_WM8978=y CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_RCAR=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_R8A66597_HCD=y
Signature · 1 line
2.7.4
cover Add XHCI support to r8a7743
In reply to Fabrizio CastroQuoted 10 lines · Fabrizio Castro
Dear All,
this series adds XHCI support to r8a7743.
The only patch that hasn't been backported is:
"usb: host: xhci-plat: Add r8a7743 support"The reason for the new commit is that the backporting of the generic compatible string for R-Car Gen2 would have brought along a few unnecessary bits and pieces, a new commit seemed to address the goal more reliably.
That seems reasonable. I've applied this series, thanks.
Ben.
Quoted 16 lines
Thanks,
Fabrizio Castro (3):
? usb: host: xhci-plat: Add r8a7743 support
? dt-bindings: usb-xhci: Document r8a7743 support
? ARM: dts: r8a7743: Add xhci support to SoC dtsiSimon Horman (1):
? ARM: shmobile: enableXHCI_RCARin defconfig?Documentation/devicetree/bindings/usb/usb-xhci.txt |??4 ++-- ?arch/arm/boot/dts/r8a7743.dtsi?????????????????????| 18 ++++++++++++++++++ ?arch/arm/configs/shmobile_defconfig????????????????|??2 ++ ?drivers/usb/host/xhci-plat.c???????????????????????|??7 +++++--?4 files changed, 27 insertions(+), 4 deletions(-)
Signature · 2 lines
Ben Hutchings Software Developer, Codethink Ltd.