All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V5 00/13] Add USB2.0 support
@ 2019-04-10 14:48 Biju Das
  2019-04-10 14:48 ` [PATCH V5 01/13] dt-bindings: phy: rcar-gen2: Add r8a77470 support Biju Das
                   ` (13 more replies)
  0 siblings, 14 replies; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland, Alan Stern, Greg Kroah-Hartman,
	Yoshihiro Shimoda
  Cc: Biju Das, Kishon Vijay Abraham I, devicetree, Simon Horman,
	Geert Uytterhoeven, Chris Paterson, Fabrizio Castro,
	linux-renesas-soc

This series adds USB 2.0 support for the RZ/G1C SoC. RZ/G1C
SoC is similar to R-Car Gen2 SoC, but there are some differences

- It has a shared pll reset register for hsusb0/hsusb1 and this register 
  reside in hsusb0 block.

- Each USB host needs to deassert the pll reset of hsusb block apart from
  initializing interrupt enable,OVC detection timer and suspend/resume timer
  register.

To address the above scenarios, created a ehci-r8a77470 host controller
driver.

This patchset is based on linux_next next-20190410 branch.
V4-->V5
   * Incoporated Shimoda-san's review comment
     (https://patchwork.kernel.org/patch/10879893/)
V3-->V4
  * Incoporated Kishon and Shimoda-san's review comment
    (https://patchwork.kernel.org/patch/10883265/)
  * Added missing rcar-gen3-phy-usb2 phy in ohci1 node.

V2-->V3
 * Incorporated Alan's review comment for dropping ehci-r8a77470 host driver
 * Incorporated shimoda-san's comments.
   Ref: https://patchwork.kernel.org/patch/10879899/

V1-->V2
 * Incorporated Rob's review comment
   Ref: https://patchwork.kernel.org/patch/10655853/
 * Incorporated Shimoda-San's review comment
   Ref: https://patchwork.kernel.org/patch/10655855/
 * Created ehci-r8a77470 host driver.

Biju Das (13):
  dt-bindings: phy: rcar-gen2: Add r8a77470 support
  phy: renesas: phy-rcar-gen2: Add support for r8a77470
  dt-bindings: rcar-gen3-phy-usb2: Add r8a77470 support
  phy: rcar-gen3-usb2: Add support for r8a77470
  ARM: shmobile: Enable PHY_RCAR_GEN3_USB2 in shmobile_defconfig
  dt-bindings: usb: renesas_usbhs: Add support for r8a77470
  ARM: shmobile: Enable USB [EO]HCI HCD PLATFORM support in
    shmobile_defconfig
  ARM: dts: r8a77470: Add USB PHY DT support
  ARM: dts: iwg23s-sbc: Enable USB Phy[01]
  ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device
  ARM: dts: iwg23s-sbc: Enable USB USB2.0 Host
  ARM: dts: r8a77470: Add HSUSB device nodes
  ARM: dts: iwg23s-sbc: Enable HS-USB

 .../devicetree/bindings/phy/rcar-gen2-phy.txt      |  57 ++++++++-
 .../devicetree/bindings/phy/rcar-gen3-phy-usb2.txt |   6 +-
 .../devicetree/bindings/usb/renesas_usbhs.txt      |   1 +
 arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts          |  44 +++++++
 arch/arm/boot/dts/r8a77470.dtsi                    | 141 +++++++++++++++++++++
 arch/arm/configs/shmobile_defconfig                |   3 +
 drivers/phy/renesas/Kconfig                        |   2 +-
 drivers/phy/renesas/phy-rcar-gen2.c                | 130 +++++++++++++++++--
 drivers/phy/renesas/phy-rcar-gen3-usb2.c           |  39 +++++-
 9 files changed, 398 insertions(+), 25 deletions(-)

-- 
2.7.4

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

* [PATCH V5 01/13] dt-bindings: phy: rcar-gen2: Add r8a77470 support
  2019-04-10 14:48 [PATCH V5 00/13] Add USB2.0 support Biju Das
@ 2019-04-10 14:48 ` Biju Das
  2019-04-10 14:48 ` [PATCH V5 02/13] phy: renesas: phy-rcar-gen2: Add support for r8a77470 Biju Das
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Kishon Vijay Abraham I, devicetree, Simon Horman,
	Geert Uytterhoeven, Yoshihiro Shimoda, Chris Paterson,
	Fabrizio Castro, linux-renesas-soc

Add USB PHY support for r8a77470 SoC. Renesas RZ/G1C (R8A77470)
USB PHY is similar to the R-Car Gen2 family, but has the below
feature compared to other RZ/G1 and R-Car Gen2/3 SoCs

It has a shared pll reset for usbphy0/usbphy1 and this register
reside in usbphy0 block.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
V4-->V5
  * No Change
V3-->V4
  * No Change
V2-->V3
  * No Change
V1-->V2
  * Incorporated Rob's review comment
    https://patchwork.kernel.org/patch/10655853/
---
 .../devicetree/bindings/phy/rcar-gen2-phy.txt      | 57 ++++++++++++++++++++--
 1 file changed, 53 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt b/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
index 4f0879a..ac96d64 100644
--- a/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
+++ b/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
@@ -7,6 +7,7 @@ Required properties:
 - compatible: "renesas,usb-phy-r8a7743" if the device is a part of R8A7743 SoC.
 	      "renesas,usb-phy-r8a7744" if the device is a part of R8A7744 SoC.
 	      "renesas,usb-phy-r8a7745" if the device is a part of R8A7745 SoC.
+	      "renesas,usb-phy-r8a77470" if the device is a part of R8A77470 SoC.
 	      "renesas,usb-phy-r8a7790" if the device is a part of R8A7790 SoC.
 	      "renesas,usb-phy-r8a7791" if the device is a part of R8A7791 SoC.
 	      "renesas,usb-phy-r8a7794" if the device is a part of R8A7794 SoC.
@@ -30,7 +31,7 @@ channels. These subnodes must contain the following properties:
 - #phy-cells: see phy-bindings.txt in the same directory, must be <1>.
 
 The phandle's argument in the PHY specifier is the USB controller selector for
-the USB channel; see the selector meanings below:
+the USB channel other than r8a77470 SoC; see the selector meanings below:
 
 +-----------+---------------+---------------+
 |\ Selector |               |               |
@@ -41,6 +42,16 @@ the USB channel; see the selector meanings below:
 | 2         | PCI EHCI/OHCI | xHCI          |
 +-----------+---------------+---------------+
 
+For r8a77470 SoC;see the selector meaning below:
+
++-----------+---------------+---------------+
+|\ Selector |               |               |
++ --------- +       0       |       1       |
+| Channel  \|               |               |
++-----------+---------------+---------------+
+| 0         | EHCI/OHCI     | HS-USB        |
++-----------+---------------+---------------+
+
 Example (Lager board):
 
 	usb-phy@e6590100 {
@@ -48,15 +59,53 @@ Example (Lager board):
 		reg = <0 0xe6590100 0 0x100>;
 		#address-cells = <1>;
 		#size-cells = <0>;
-		clocks = <&mstp7_clks R8A7790_CLK_HSUSB>;
+		clocks = <&cpg CPG_MOD 704>;
 		clock-names = "usbhs";
+		power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+		resets = <&cpg 704>;
 
-		usb-channel@0 {
+		usb0: usb-channel@0 {
 			reg = <0>;
 			#phy-cells = <1>;
 		};
-		usb-channel@2 {
+		usb2: usb-channel@2 {
 			reg = <2>;
 			#phy-cells = <1>;
 		};
 	};
+
+Example (iWave RZ/G1C sbc):
+
+	usbphy0: usb-phy0@e6590100 {
+		compatible = "renesas,usb-phy-r8a77470",
+			     "renesas,rcar-gen2-usb-phy";
+		reg = <0 0xe6590100 0 0x100>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		clocks = <&cpg CPG_MOD 704>;
+		clock-names = "usbhs";
+		power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+		resets = <&cpg 704>;
+
+		usb0: usb-channel@0 {
+			reg = <0>;
+			#phy-cells = <1>;
+		};
+	};
+
+	usbphy1: usb-phy@e6598100 {
+		compatible = "renesas,usb-phy-r8a77470",
+			     "renesas,rcar-gen2-usb-phy";
+		reg = <0 0xe6598100 0 0x100>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		clocks = <&cpg CPG_MOD 706>;
+		clock-names = "usbhs";
+		power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+		resets = <&cpg 706>;
+
+		usb1: usb-channel@0 {
+			reg = <0>;
+			#phy-cells = <1>;
+		};
+	};
-- 
2.7.4

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

* [PATCH V5 02/13] phy: renesas: phy-rcar-gen2: Add support for r8a77470
  2019-04-10 14:48 [PATCH V5 00/13] Add USB2.0 support Biju Das
  2019-04-10 14:48 ` [PATCH V5 01/13] dt-bindings: phy: rcar-gen2: Add r8a77470 support Biju Das
@ 2019-04-10 14:48 ` Biju Das
  2019-04-11  5:08   ` Yoshihiro Shimoda
  2019-04-10 14:48 ` [PATCH V5 03/13] dt-bindings: rcar-gen3-phy-usb2: Add r8a77470 support Biju Das
                   ` (11 subsequent siblings)
  13 siblings, 1 reply; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Kishon Vijay Abraham I, Yoshihiro Shimoda
  Cc: Biju Das, Simon Horman, Wolfram Sang, Simon Horman,
	Geert Uytterhoeven, Chris Paterson, Fabrizio Castro,
	linux-renesas-soc

This patch adds support for RZ/G1C (r8a77470) SoC. RZ/G1C SoC has a
PLL register shared between hsusb0 and hsusb1. Compared to other RZ/G1
and R-Car Gen2/3, USB Host needs to deassert the pll reset.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
---
V4-->V5
  * Incorporated shimoda-san's review comment
    https://patchwork.kernel.org/patch/10893383/
V3-->V4
  * No Change
V2-->V3
 * No change
V1-->V2
 * Incorporated shimoda-san's review comment
 Ref: https://patchwork.kernel.org/patch/10655855/
---
 drivers/phy/renesas/phy-rcar-gen2.c | 130 ++++++++++++++++++++++++++++++++----
 1 file changed, 118 insertions(+), 12 deletions(-)

diff --git a/drivers/phy/renesas/phy-rcar-gen2.c b/drivers/phy/renesas/phy-rcar-gen2.c
index 72eeb06..8dc5710 100644
--- a/drivers/phy/renesas/phy-rcar-gen2.c
+++ b/drivers/phy/renesas/phy-rcar-gen2.c
@@ -4,6 +4,7 @@
  *
  * Copyright (C) 2014 Renesas Solutions Corp.
  * Copyright (C) 2014 Cogent Embedded, Inc.
+ * Copyright (C) 2019 Renesas Electronics Corp.
  */
 
 #include <linux/clk.h>
@@ -15,6 +16,7 @@
 #include <linux/platform_device.h>
 #include <linux/spinlock.h>
 #include <linux/atomic.h>
+#include <linux/of_device.h>
 
 #define USBHS_LPSTS			0x02
 #define USBHS_UGCTRL			0x80
@@ -35,6 +37,8 @@
 #define USBHS_UGCTRL2_USB0SEL		0x00000030
 #define USBHS_UGCTRL2_USB0SEL_PCI	0x00000010
 #define USBHS_UGCTRL2_USB0SEL_HS_USB	0x00000030
+#define USBHS_UGCTRL2_USB0SEL_USB20	0x00000010
+#define USBHS_UGCTRL2_USB0SEL_HS_USB20	0x00000020
 
 /* USB General status register (UGSTS) */
 #define USBHS_UGSTS_LOCK		0x00000100 /* From technical update */
@@ -64,6 +68,11 @@ struct rcar_gen2_phy_driver {
 	struct rcar_gen2_channel *channels;
 };
 
+struct rcar_gen2_phy_data {
+	const struct phy_ops *gen2_phy_ops;
+	const u32 (*select_value)[PHYS_PER_CHANNEL];
+};
+
 static int rcar_gen2_phy_init(struct phy *p)
 {
 	struct rcar_gen2_phy *phy = phy_get_drvdata(p);
@@ -180,6 +189,60 @@ static int rcar_gen2_phy_power_off(struct phy *p)
 	return 0;
 }
 
+static int rz_g1c_phy_power_on(struct phy *p)
+{
+	struct rcar_gen2_phy *phy = phy_get_drvdata(p);
+	struct rcar_gen2_phy_driver *drv = phy->channel->drv;
+	void __iomem *base = drv->base;
+	unsigned long flags;
+	u32 value;
+
+	spin_lock_irqsave(&drv->lock, flags);
+
+	/* Power on USBHS PHY */
+	value = readl(base + USBHS_UGCTRL);
+	value &= ~USBHS_UGCTRL_PLLRESET;
+	writel(value, base + USBHS_UGCTRL);
+
+	/* As per the data sheet wait 340 micro sec for power stable */
+	udelay(340);
+
+	if (phy->select_value == USBHS_UGCTRL2_USB0SEL_HS_USB20) {
+		value = readw(base + USBHS_LPSTS);
+		value |= USBHS_LPSTS_SUSPM;
+		writew(value, base + USBHS_LPSTS);
+	}
+
+	spin_unlock_irqrestore(&drv->lock, flags);
+
+	return 0;
+}
+
+static int rz_g1c_phy_power_off(struct phy *p)
+{
+	struct rcar_gen2_phy *phy = phy_get_drvdata(p);
+	struct rcar_gen2_phy_driver *drv = phy->channel->drv;
+	void __iomem *base = drv->base;
+	unsigned long flags;
+	u32 value;
+
+	spin_lock_irqsave(&drv->lock, flags);
+	/* Power off USBHS PHY */
+	if (phy->select_value == USBHS_UGCTRL2_USB0SEL_HS_USB20) {
+		value = readw(base + USBHS_LPSTS);
+		value &= ~USBHS_LPSTS_SUSPM;
+		writew(value, base + USBHS_LPSTS);
+	}
+
+	value = readl(base + USBHS_UGCTRL);
+	value |= USBHS_UGCTRL_PLLRESET;
+	writel(value, base + USBHS_UGCTRL);
+
+	spin_unlock_irqrestore(&drv->lock, flags);
+
+	return 0;
+}
+
 static const struct phy_ops rcar_gen2_phy_ops = {
 	.init		= rcar_gen2_phy_init,
 	.exit		= rcar_gen2_phy_exit,
@@ -188,12 +251,55 @@ static const struct phy_ops rcar_gen2_phy_ops = {
 	.owner		= THIS_MODULE,
 };
 
+static const struct phy_ops rz_g1c_phy_ops = {
+	.init		= rcar_gen2_phy_init,
+	.exit		= rcar_gen2_phy_exit,
+	.power_on	= rz_g1c_phy_power_on,
+	.power_off	= rz_g1c_phy_power_off,
+	.owner		= THIS_MODULE,
+};
+
+static const u32 pci_select_value[][PHYS_PER_CHANNEL] = {
+	[0]	= { USBHS_UGCTRL2_USB0SEL_PCI, USBHS_UGCTRL2_USB0SEL_HS_USB },
+	[2]	= { USBHS_UGCTRL2_USB2SEL_PCI, USBHS_UGCTRL2_USB2SEL_USB30 },
+};
+
+static const u32 usb20_select_value[][PHYS_PER_CHANNEL] = {
+	{ USBHS_UGCTRL2_USB0SEL_USB20, USBHS_UGCTRL2_USB0SEL_HS_USB20 },
+};
+
+static const struct rcar_gen2_phy_data rcar_gen2_usb_phy_data = {
+	.gen2_phy_ops = &rcar_gen2_phy_ops,
+	.select_value = pci_select_value,
+};
+
+static const struct rcar_gen2_phy_data rz_g1c_usb_phy_data = {
+	.gen2_phy_ops = &rz_g1c_phy_ops,
+	.select_value = usb20_select_value,
+};
+
 static const struct of_device_id rcar_gen2_phy_match_table[] = {
-	{ .compatible = "renesas,usb-phy-r8a7790" },
-	{ .compatible = "renesas,usb-phy-r8a7791" },
-	{ .compatible = "renesas,usb-phy-r8a7794" },
-	{ .compatible = "renesas,rcar-gen2-usb-phy" },
-	{ }
+	{
+		.compatible = "renesas,usb-phy-r8a77470",
+		.data = &rz_g1c_usb_phy_data,
+	},
+	{
+		.compatible = "renesas,usb-phy-r8a7790",
+		.data = &rcar_gen2_usb_phy_data,
+	},
+	{
+		.compatible = "renesas,usb-phy-r8a7791",
+		.data = &rcar_gen2_usb_phy_data,
+	},
+	{
+		.compatible = "renesas,usb-phy-r8a7794",
+		.data = &rcar_gen2_usb_phy_data,
+	},
+	{
+		.compatible = "renesas,rcar-gen2-usb-phy",
+		.data = &rcar_gen2_usb_phy_data,
+	},
+	{ /* sentinel */ },
 };
 MODULE_DEVICE_TABLE(of, rcar_gen2_phy_match_table);
 
@@ -224,11 +330,6 @@ static const u32 select_mask[] = {
 	[2]	= USBHS_UGCTRL2_USB2SEL,
 };
 
-static const u32 select_value[][PHYS_PER_CHANNEL] = {
-	[0]	= { USBHS_UGCTRL2_USB0SEL_PCI, USBHS_UGCTRL2_USB0SEL_HS_USB },
-	[2]	= { USBHS_UGCTRL2_USB2SEL_PCI, USBHS_UGCTRL2_USB2SEL_USB30 },
-};
-
 static int rcar_gen2_phy_probe(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
@@ -238,6 +339,7 @@ static int rcar_gen2_phy_probe(struct platform_device *pdev)
 	struct resource *res;
 	void __iomem *base;
 	struct clk *clk;
+	const struct rcar_gen2_phy_data *data;
 	int i = 0;
 
 	if (!dev->of_node) {
@@ -266,6 +368,10 @@ static int rcar_gen2_phy_probe(struct platform_device *pdev)
 	drv->clk = clk;
 	drv->base = base;
 
+	data = of_device_get_match_data(dev);
+	if (!data)
+		return -EINVAL;
+
 	drv->num_channels = of_get_child_count(dev->of_node);
 	drv->channels = devm_kcalloc(dev, drv->num_channels,
 				     sizeof(struct rcar_gen2_channel),
@@ -294,10 +400,10 @@ static int rcar_gen2_phy_probe(struct platform_device *pdev)
 
 			phy->channel = channel;
 			phy->number = n;
-			phy->select_value = select_value[channel_num][n];
+			phy->select_value = data->select_value[channel_num][n];
 
 			phy->phy = devm_phy_create(dev, NULL,
-						   &rcar_gen2_phy_ops);
+						   data->gen2_phy_ops);
 			if (IS_ERR(phy->phy)) {
 				dev_err(dev, "Failed to create PHY\n");
 				return PTR_ERR(phy->phy);
-- 
2.7.4


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

* [PATCH V5 03/13] dt-bindings: rcar-gen3-phy-usb2: Add r8a77470 support
  2019-04-10 14:48 [PATCH V5 00/13] Add USB2.0 support Biju Das
  2019-04-10 14:48 ` [PATCH V5 01/13] dt-bindings: phy: rcar-gen2: Add r8a77470 support Biju Das
  2019-04-10 14:48 ` [PATCH V5 02/13] phy: renesas: phy-rcar-gen2: Add support for r8a77470 Biju Das
@ 2019-04-10 14:48 ` Biju Das
  2019-04-10 14:48 ` [PATCH V5 04/13] phy: rcar-gen3-usb2: Add support for r8a77470 Biju Das
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Kishon Vijay Abraham I, devicetree, Simon Horman,
	Geert Uytterhoeven, Yoshihiro Shimoda, Chris Paterson,
	Fabrizio Castro, linux-renesas-soc

Document RZ/G1C (R8A77470) SoC bindings.

For RZ/G1C, this driver is used to enable interrupt generation and
initializing timing registers which is part of phy_init code.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
V4-->V5
  * No Change
V3-->V4
  * No Change
V2-->V3
  * New patch
    https://patchwork.kernel.org/patch/10879899/
---
 Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt b/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt
index ad9c290..23894db 100644
--- a/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt
+++ b/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt
@@ -1,10 +1,12 @@
 * Renesas R-Car generation 3 USB 2.0 PHY
 
 This file provides information on what the device node for the R-Car generation
-3 and RZ/G2 USB 2.0 PHY contain.
+3, RZ/G1C and RZ/G2 USB 2.0 PHY contain.
 
 Required properties:
-- compatible: "renesas,usb2-phy-r8a774a1" if the device is a part of an R8A774A1
+- compatible: "renesas,usb2-phy-r8a77470" if the device is a part of an R8A77470
+	      SoC.
+	      "renesas,usb2-phy-r8a774a1" if the device is a part of an R8A774A1
 	      SoC.
 	      "renesas,usb2-phy-r8a774c0" if the device is a part of an R8A774C0
 	      SoC.
-- 
2.7.4

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

* [PATCH V5 04/13] phy: rcar-gen3-usb2: Add support for r8a77470
  2019-04-10 14:48 [PATCH V5 00/13] Add USB2.0 support Biju Das
                   ` (2 preceding siblings ...)
  2019-04-10 14:48 ` [PATCH V5 03/13] dt-bindings: rcar-gen3-phy-usb2: Add r8a77470 support Biju Das
@ 2019-04-10 14:48 ` Biju Das
  2019-04-11  5:10   ` Yoshihiro Shimoda
  2019-04-10 14:48   ` Biju Das
                   ` (9 subsequent siblings)
  13 siblings, 1 reply; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Kishon Vijay Abraham I, Alan Stern, Yoshihiro Shimoda
  Cc: Biju Das, Simon Horman, Wolfram Sang, Simon Horman,
	Geert Uytterhoeven, Kuninori Morimoto, Chris Paterson,
	Fabrizio Castro, linux-renesas-soc

This patch adds support for r8a77470 (RZ/G1C). We can reuse this driver for
initializing timing/interrupt generation registers.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
V4-->V5
 * Incorporated Kishan and Shimoda-san's review comment
  https://patchwork.kernel.org/patch/10893387/
V3-->V4
 * Incorporated Kishan and Shimoda-san's review comment
  https://patchwork.kernel.org/patch/10883265/
V2-->V3
 * Incorporated shimoda-san's review comment
 Ref: https://patchwork.kernel.org/patch/10655855/
---
 drivers/phy/renesas/Kconfig              |  2 +-
 drivers/phy/renesas/phy-rcar-gen3-usb2.c | 39 +++++++++++++++++++++++++++-----
 2 files changed, 34 insertions(+), 7 deletions(-)

diff --git a/drivers/phy/renesas/Kconfig b/drivers/phy/renesas/Kconfig
index e340a92..111bdca 100644
--- a/drivers/phy/renesas/Kconfig
+++ b/drivers/phy/renesas/Kconfig
@@ -19,7 +19,7 @@ config PHY_RCAR_GEN3_PCIE
 config PHY_RCAR_GEN3_USB2
 	tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
 	depends on ARCH_RENESAS
-	depends on EXTCON
+	depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
 	depends on USB_SUPPORT
 	select GENERIC_PHY
 	select USB_COMMON
diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
index 0a34782..e3a88b9 100644
--- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
+++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
@@ -393,6 +393,12 @@ static const struct phy_ops rcar_gen3_phy_usb2_ops = {
 	.owner		= THIS_MODULE,
 };
 
+static const struct phy_ops rz_g1c_phy_usb2_ops = {
+	.init		= rcar_gen3_phy_usb2_init,
+	.exit		= rcar_gen3_phy_usb2_exit,
+	.owner		= THIS_MODULE,
+};
+
 static irqreturn_t rcar_gen3_phy_usb2_irq(int irq, void *_ch)
 {
 	struct rcar_gen3_chan *ch = _ch;
@@ -411,11 +417,27 @@ static irqreturn_t rcar_gen3_phy_usb2_irq(int irq, void *_ch)
 }
 
 static const struct of_device_id rcar_gen3_phy_usb2_match_table[] = {
-	{ .compatible = "renesas,usb2-phy-r8a7795" },
-	{ .compatible = "renesas,usb2-phy-r8a7796" },
-	{ .compatible = "renesas,usb2-phy-r8a77965" },
-	{ .compatible = "renesas,rcar-gen3-usb2-phy" },
-	{ }
+	{
+		.compatible = "renesas,usb2-phy-r8a77470",
+		.data = &rz_g1c_phy_usb2_ops,
+	},
+	{
+		.compatible = "renesas,usb2-phy-r8a7795",
+		.data = &rcar_gen3_phy_usb2_ops,
+	},
+	{
+		.compatible = "renesas,usb2-phy-r8a7796",
+		.data = &rcar_gen3_phy_usb2_ops,
+	},
+	{
+		.compatible = "renesas,usb2-phy-r8a77965",
+		.data = &rcar_gen3_phy_usb2_ops,
+	},
+	{
+		.compatible = "renesas,rcar-gen3-usb2-phy",
+		.data = &rcar_gen3_phy_usb2_ops,
+	},
+	{ /* sentinel */ },
 };
 MODULE_DEVICE_TABLE(of, rcar_gen3_phy_usb2_match_table);
 
@@ -431,6 +453,7 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
 	struct rcar_gen3_chan *channel;
 	struct phy_provider *provider;
 	struct resource *res;
+	const struct phy_ops *phy_usb2_ops;
 	int irq, ret = 0;
 
 	if (!dev->of_node) {
@@ -481,7 +504,11 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
 	 * And then, phy-core will manage runtime pm for this device.
 	 */
 	pm_runtime_enable(dev);
-	channel->phy = devm_phy_create(dev, NULL, &rcar_gen3_phy_usb2_ops);
+	phy_usb2_ops = of_device_get_match_data(dev);
+	if (!phy_usb2_ops)
+		return -EINVAL;
+
+	channel->phy = devm_phy_create(dev, NULL, phy_usb2_ops);
 	if (IS_ERR(channel->phy)) {
 		dev_err(dev, "Failed to create USB2 PHY\n");
 		ret = PTR_ERR(channel->phy);
-- 
2.7.4


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

* [PATCH V5 05/13] ARM: shmobile: Enable PHY_RCAR_GEN3_USB2 in shmobile_defconfig
  2019-04-10 14:48 [PATCH V5 00/13] Add USB2.0 support Biju Das
@ 2019-04-10 14:48   ` Biju Das
  2019-04-10 14:48 ` [PATCH V5 02/13] phy: renesas: phy-rcar-gen2: Add support for r8a77470 Biju Das
                     ` (12 subsequent siblings)
  13 siblings, 0 replies; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Simon Horman
  Cc: Biju Das, Magnus Damm, Russell King, linux-renesas-soc,
	linux-arm-kernel, Geert Uytterhoeven, Chris Paterson,
	Fabrizio Castro

Enable PHY_RCAR_GEN3_USB2 in shmobile_defconfig so that boards
based on RZ/G1C SoC design can use the corresponding driver.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
---
V4-->V5
 * No change
V3-->V4
 * No change
V2-->V3
 * New patch
   https://patchwork.kernel.org/patch/10879899/
---
 arch/arm/configs/shmobile_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/shmobile_defconfig b/arch/arm/configs/shmobile_defconfig
index 9b0efac..ff9348d 100644
--- a/arch/arm/configs/shmobile_defconfig
+++ b/arch/arm/configs/shmobile_defconfig
@@ -197,6 +197,7 @@ CONFIG_PWM_RENESAS_TPU=y
 CONFIG_RESET_CONTROLLER=y
 CONFIG_GENERIC_PHY=y
 CONFIG_PHY_RCAR_GEN2=y
+CONFIG_PHY_RCAR_GEN3_USB2=y
 # CONFIG_DNOTIFY is not set
 CONFIG_MSDOS_FS=y
 CONFIG_VFAT_FS=y
-- 
2.7.4


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

* [PATCH V5 05/13] ARM: shmobile: Enable PHY_RCAR_GEN3_USB2 in shmobile_defconfig
@ 2019-04-10 14:48   ` Biju Das
  0 siblings, 0 replies; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Simon Horman
  Cc: Fabrizio Castro, Chris Paterson, Geert Uytterhoeven, Magnus Damm,
	Russell King, Biju Das, linux-renesas-soc, linux-arm-kernel

Enable PHY_RCAR_GEN3_USB2 in shmobile_defconfig so that boards
based on RZ/G1C SoC design can use the corresponding driver.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
---
V4-->V5
 * No change
V3-->V4
 * No change
V2-->V3
 * New patch
   https://patchwork.kernel.org/patch/10879899/
---
 arch/arm/configs/shmobile_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/shmobile_defconfig b/arch/arm/configs/shmobile_defconfig
index 9b0efac..ff9348d 100644
--- a/arch/arm/configs/shmobile_defconfig
+++ b/arch/arm/configs/shmobile_defconfig
@@ -197,6 +197,7 @@ CONFIG_PWM_RENESAS_TPU=y
 CONFIG_RESET_CONTROLLER=y
 CONFIG_GENERIC_PHY=y
 CONFIG_PHY_RCAR_GEN2=y
+CONFIG_PHY_RCAR_GEN3_USB2=y
 # CONFIG_DNOTIFY is not set
 CONFIG_MSDOS_FS=y
 CONFIG_VFAT_FS=y
-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH V5 06/13] dt-bindings: usb: renesas_usbhs: Add support for r8a77470
  2019-04-10 14:48 [PATCH V5 00/13] Add USB2.0 support Biju Das
                   ` (4 preceding siblings ...)
  2019-04-10 14:48   ` Biju Das
@ 2019-04-10 14:48 ` Biju Das
  2019-04-29  9:16     ` Biju Das
  2019-04-10 14:48   ` Biju Das
                   ` (7 subsequent siblings)
  13 siblings, 1 reply; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Simon Horman, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson, Fabrizio Castro

Document support for RZ/G1C (R8A77470) SoC.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
v4-->v5
  * No change
v3-->v4
  * No change
V2-->V3
  * No change
V1-->V2
  * New patch
---
 Documentation/devicetree/bindings/usb/renesas_usbhs.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/usb/renesas_usbhs.txt b/Documentation/devicetree/bindings/usb/renesas_usbhs.txt
index d93b6a1..b8acc2a 100644
--- a/Documentation/devicetree/bindings/usb/renesas_usbhs.txt
+++ b/Documentation/devicetree/bindings/usb/renesas_usbhs.txt
@@ -6,6 +6,7 @@ Required properties:
 	- "renesas,usbhs-r8a7743" for r8a7743 (RZ/G1M) compatible device
 	- "renesas,usbhs-r8a7744" for r8a7744 (RZ/G1N) compatible device
 	- "renesas,usbhs-r8a7745" for r8a7745 (RZ/G1E) compatible device
+	- "renesas,usbhs-r8a77470" for r8a77470 (RZ/G1C) compatible device
 	- "renesas,usbhs-r8a774a1" for r8a774a1 (RZ/G2M) compatible device
 	- "renesas,usbhs-r8a774c0" for r8a774c0 (RZ/G2E) compatible device
 	- "renesas,usbhs-r8a7790" for r8a7790 (R-Car H2) compatible device
-- 
2.7.4

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

* [PATCH V5 07/13] ARM: shmobile: Enable USB [EO]HCI HCD PLATFORM support in shmobile_defconfig
  2019-04-10 14:48 [PATCH V5 00/13] Add USB2.0 support Biju Das
@ 2019-04-10 14:48   ` Biju Das
  2019-04-10 14:48 ` [PATCH V5 02/13] phy: renesas: phy-rcar-gen2: Add support for r8a77470 Biju Das
                     ` (12 subsequent siblings)
  13 siblings, 0 replies; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Simon Horman
  Cc: Biju Das, Magnus Damm, Russell King, linux-renesas-soc,
	linux-arm-kernel, Geert Uytterhoeven, Chris Paterson,
	Fabrizio Castro

The USB [EO]HCI controller on RZ/G1C SoC doesn't have PCI bridge like
other R-Car Gen2 devices. So enable generic USB [EO]HCI HCD PLATFORM
support in shmobile_defconfig.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
---
V4-->V5
 * No change
V3-->V4
 * No change
V2-->V3
 * New patch
---
 arch/arm/configs/shmobile_defconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/configs/shmobile_defconfig b/arch/arm/configs/shmobile_defconfig
index ff9348d..78425dd 100644
--- a/arch/arm/configs/shmobile_defconfig
+++ b/arch/arm/configs/shmobile_defconfig
@@ -146,7 +146,9 @@ CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_PLATFORM=y
 CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
 CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
 CONFIG_USB_R8A66597_HCD=y
 CONFIG_USB_RENESAS_USBHS=y
 CONFIG_USB_GADGET=y
-- 
2.7.4


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

* [PATCH V5 07/13] ARM: shmobile: Enable USB [EO]HCI HCD PLATFORM support in shmobile_defconfig
@ 2019-04-10 14:48   ` Biju Das
  0 siblings, 0 replies; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Simon Horman
  Cc: Fabrizio Castro, Chris Paterson, Geert Uytterhoeven, Magnus Damm,
	Russell King, Biju Das, linux-renesas-soc, linux-arm-kernel

The USB [EO]HCI controller on RZ/G1C SoC doesn't have PCI bridge like
other R-Car Gen2 devices. So enable generic USB [EO]HCI HCD PLATFORM
support in shmobile_defconfig.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
---
V4-->V5
 * No change
V3-->V4
 * No change
V2-->V3
 * New patch
---
 arch/arm/configs/shmobile_defconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/configs/shmobile_defconfig b/arch/arm/configs/shmobile_defconfig
index ff9348d..78425dd 100644
--- a/arch/arm/configs/shmobile_defconfig
+++ b/arch/arm/configs/shmobile_defconfig
@@ -146,7 +146,9 @@ CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_PLATFORM=y
 CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
 CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
 CONFIG_USB_R8A66597_HCD=y
 CONFIG_USB_RENESAS_USBHS=y
 CONFIG_USB_GADGET=y
-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH V5 08/13] ARM: dts: r8a77470: Add USB PHY DT support
  2019-04-10 14:48 [PATCH V5 00/13] Add USB2.0 support Biju Das
                   ` (6 preceding siblings ...)
  2019-04-10 14:48   ` Biju Das
@ 2019-04-10 14:48 ` Biju Das
  2019-04-12 12:18   ` Simon Horman
  2019-04-30 13:00     ` Geert Uytterhoeven
  2019-04-10 14:48 ` [PATCH V5 09/13] ARM: dts: iwg23s-sbc: Enable USB Phy[01] Biju Das
                   ` (5 subsequent siblings)
  13 siblings, 2 replies; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Simon Horman, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson, Fabrizio Castro

Define the r8a77470 generic part of the USB PHY device node.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
---
V4-->V5
  * No change
V3-->V4
  * No change
V2-->V3
  * Added gen3 usb2 phy nodes
V1-->V2
 * New patch
---
 arch/arm/boot/dts/r8a77470.dtsi | 56 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/arch/arm/boot/dts/r8a77470.dtsi b/arch/arm/boot/dts/r8a77470.dtsi
index 493cf2b..dcd2975 100644
--- a/arch/arm/boot/dts/r8a77470.dtsi
+++ b/arch/arm/boot/dts/r8a77470.dtsi
@@ -325,6 +325,42 @@
 			status = "disabled";
 		};
 
+		usbphy0: usb-phy@e6590100 {
+			compatible = "renesas,usb-phy-r8a77470",
+				     "renesas,rcar-gen2-usb-phy";
+			reg = <0 0xe6590100 0 0x100>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			clocks = <&cpg CPG_MOD 704>;
+			clock-names = "usbhs";
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+			resets = <&cpg 704>;
+			status = "disabled";
+
+			usb0: usb-channel@0 {
+				reg = <0>;
+				#phy-cells = <1>;
+			};
+		};
+
+		usbphy1: usb-phy@e6598100 {
+			compatible = "renesas,usb-phy-r8a77470",
+				     "renesas,rcar-gen2-usb-phy";
+			reg = <0 0xe6598100 0 0x100>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			clocks = <&cpg CPG_MOD 706>;
+			clock-names = "usbhs";
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+			resets = <&cpg 706>;
+			status = "disabled";
+
+			usb1: usb-channel@0 {
+				reg = <0>;
+				#phy-cells = <1>;
+			};
+		};
+
 		usb_dmac00: dma-controller@e65a0000 {
 			compatible = "renesas,r8a77470-usb-dmac",
 				     "renesas,usb-dmac";
@@ -588,6 +624,26 @@
 			status = "disabled";
 		};
 
+		usb2_phy0: usb-phy@ee080200 {
+			compatible = "renesas,usb2-phy-r8a77470";
+			reg = <0 0xee080200 0 0x700>;
+			clocks = <&cpg CPG_MOD 703>;
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+			resets = <&cpg 703>;
+			#phy-cells = <0>;
+			status = "disabled";
+		};
+
+		usb2_phy1: usb-phy@ee0c0200 {
+			compatible = "renesas,usb2-phy-r8a77470";
+			reg = <0 0xee0c0200 0 0x700>;
+			clocks = <&cpg CPG_MOD 705>;
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+			resets = <&cpg 705>;
+			#phy-cells = <0>;
+			status = "disabled";
+		};
+
 		sdhi0: sd@ee100000 {
 			compatible = "renesas,sdhi-r8a77470",
 				     "renesas,rcar-gen2-sdhi";
-- 
2.7.4

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

* [PATCH V5 09/13] ARM: dts: iwg23s-sbc: Enable USB Phy[01]
  2019-04-10 14:48 [PATCH V5 00/13] Add USB2.0 support Biju Das
                   ` (7 preceding siblings ...)
  2019-04-10 14:48 ` [PATCH V5 08/13] ARM: dts: r8a77470: Add USB PHY DT support Biju Das
@ 2019-04-10 14:48 ` Biju Das
  2019-04-12 12:21   ` Simon Horman
  2019-04-10 14:48 ` [PATCH V5 10/13] ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device Biju Das
                   ` (4 subsequent siblings)
  13 siblings, 1 reply; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Simon Horman, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson, Fabrizio Castro

Enable USB phy[01] on iWave iwg23s sbc based on RZ/G1C SoC.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
---
V4-->V5
 * No change
V3-->V4
 * No change
V2-->V3
 * Added gen3 usb2 phy nodes
V1-->V2
 * No change
---
 arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts | 32 +++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts b/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
index 9f9eb15..7ae7ee1 100644
--- a/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
+++ b/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
@@ -214,6 +214,16 @@
 		function = "sdhi2";
 		power-source = <1800>;
 	};
+
+	usb0_pins: usb0 {
+		groups = "usb0";
+		function = "usb0";
+	};
+
+	usb1_pins: usb1 {
+		groups = "usb1";
+		function = "usb1";
+	};
 };
 
 &qspi0 {
@@ -274,3 +284,25 @@
 	sd-uhs-sdr50;
 	status = "okay";
 };
+
+&usb2_phy0 {
+	status = "okay";
+};
+
+&usb2_phy1 {
+	status = "okay";
+};
+
+&usbphy0 {
+	pinctrl-0 = <&usb0_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
+
+&usbphy1 {
+	pinctrl-0 = <&usb1_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
-- 
2.7.4

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

* [PATCH V5 10/13] ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device
  2019-04-10 14:48 [PATCH V5 00/13] Add USB2.0 support Biju Das
                   ` (8 preceding siblings ...)
  2019-04-10 14:48 ` [PATCH V5 09/13] ARM: dts: iwg23s-sbc: Enable USB Phy[01] Biju Das
@ 2019-04-10 14:48 ` Biju Das
  2019-04-12 12:22   ` Simon Horman
  2019-04-10 14:48 ` [PATCH V5 11/13] ARM: dts: iwg23s-sbc: Enable USB USB2.0 Host Biju Das
                   ` (3 subsequent siblings)
  13 siblings, 1 reply; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Simon Horman, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson, Fabrizio Castro

Define the r8a77470 generic part of the USB2.0 Host Controller device
nodes (ehci[01]/ohci[01]).

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
---
V4-->V5
 * No change
V3-->V4
 * Added missing usb2_phy1 in ohci1 node.
V2-->V3
 * Updated phys property on host nodes. using generic-ehci compatible for ehci nodes.
V1-->V2
 * New patch
---
 arch/arm/boot/dts/r8a77470.dtsi | 50 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/arch/arm/boot/dts/r8a77470.dtsi b/arch/arm/boot/dts/r8a77470.dtsi
index dcd2975..e7a2234 100644
--- a/arch/arm/boot/dts/r8a77470.dtsi
+++ b/arch/arm/boot/dts/r8a77470.dtsi
@@ -624,6 +624,31 @@
 			status = "disabled";
 		};
 
+		ohci0: usb@ee080000 {
+			compatible = "generic-ohci";
+			reg = <0 0xee080000 0 0x100>;
+			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 703>;
+			phys = <&usb0 0>, <&usb2_phy0>;
+			phy-names = "usb";
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+			resets = <&cpg 703>;
+			status = "disabled";
+		};
+
+		ehci0: usb@ee080100 {
+			compatible = "generic-ehci";
+			reg = <0 0xee080100 0 0x100>;
+			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 703>;
+			phys = <&usb0 0>, <&usb2_phy0>;
+			phy-names = "usb";
+			companion = <&ohci0>;
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+			resets = <&cpg 703>;
+			status = "disabled";
+		};
+
 		usb2_phy0: usb-phy@ee080200 {
 			compatible = "renesas,usb2-phy-r8a77470";
 			reg = <0 0xee080200 0 0x700>;
@@ -634,6 +659,31 @@
 			status = "disabled";
 		};
 
+		ohci1: usb@ee0c0000 {
+			compatible = "generic-ohci";
+			reg = <0 0xee0c0000 0 0x100>;
+			interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 705>;
+			phys = <&usb0 1>, <&usb2_phy1>, <&usb1 0>;
+			phy-names = "usb";
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+			resets = <&cpg 705>;
+			status = "disabled";
+		};
+
+		ehci1: usb@ee0c0100 {
+			compatible = "generic-ehci";
+			reg = <0 0xee0c0100 0 0x100>;
+			interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 705>;
+			phys = <&usb0 1>, <&usb2_phy1>, <&usb1 0>;
+			phy-names = "usb";
+			companion = <&ohci1>;
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+			resets = <&cpg 705>;
+			status = "disabled";
+		};
+
 		usb2_phy1: usb-phy@ee0c0200 {
 			compatible = "renesas,usb2-phy-r8a77470";
 			reg = <0 0xee0c0200 0 0x700>;
-- 
2.7.4

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

* [PATCH V5 11/13] ARM: dts: iwg23s-sbc: Enable USB USB2.0 Host
  2019-04-10 14:48 [PATCH V5 00/13] Add USB2.0 support Biju Das
                   ` (9 preceding siblings ...)
  2019-04-10 14:48 ` [PATCH V5 10/13] ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device Biju Das
@ 2019-04-10 14:48 ` Biju Das
  2019-04-10 14:48 ` [PATCH V5 12/13] ARM: dts: r8a77470: Add HSUSB device nodes Biju Das
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Simon Horman, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson, Fabrizio Castro

Enable USB2.0 host on the iwg23s sbc.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
---
V4-->V5
 * No change
V3-->V4
 * No change
V2-->V3
 * No change
V1-->V2
 * No change
---
 arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts b/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
index 7ae7ee1..366832c 100644
--- a/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
+++ b/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
@@ -106,6 +106,10 @@
 	};
 };
 
+&ehci1 {
+	status = "okay";
+};
+
 &extal_clk {
 	clock-frequency = <20000000>;
 };
@@ -166,6 +170,10 @@
 	};
 };
 
+&ohci1 {
+	status = "okay";
+};
+
 &pfc {
 	avb_pins: avb {
 		groups = "avb_mdio", "avb_gmii_tx_rx";
-- 
2.7.4

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

* [PATCH V5 12/13] ARM: dts: r8a77470: Add HSUSB device nodes
  2019-04-10 14:48 [PATCH V5 00/13] Add USB2.0 support Biju Das
                   ` (10 preceding siblings ...)
  2019-04-10 14:48 ` [PATCH V5 11/13] ARM: dts: iwg23s-sbc: Enable USB USB2.0 Host Biju Das
@ 2019-04-10 14:48 ` Biju Das
  2019-04-12 12:25   ` Simon Horman
  2019-04-30 12:58     ` Geert Uytterhoeven
  2019-04-10 14:48 ` [PATCH V5 13/13] ARM: dts: iwg23s-sbc: Enable HS-USB Biju Das
  2019-04-17  6:07   ` Kishon Vijay Abraham I
  13 siblings, 2 replies; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Simon Horman, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson, Fabrizio Castro

Define the r8a77470 generic part of the HSUSB0/1 device nodes.

Currently the renesas_usbhs driver doesn't handle multiple phys and we
don't have a proper hardware to validate such driver changes.

So for hsusb1 it is assumed that usbphy0 will be enabled by either
channel0 host or device.

In future, if any boards support hsusb1, we will need to add multiple phy
support in the renesas_usbhs driver and override the board dts to enable
the same.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
---
V4-->V5
 * NO change
V3-->V4
 * NO change
V2-->V3
 * No Change
V1-->V2
 * New patch
---
 arch/arm/boot/dts/r8a77470.dtsi | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/arch/arm/boot/dts/r8a77470.dtsi b/arch/arm/boot/dts/r8a77470.dtsi
index e7a2234..c930606 100644
--- a/arch/arm/boot/dts/r8a77470.dtsi
+++ b/arch/arm/boot/dts/r8a77470.dtsi
@@ -325,6 +325,23 @@
 			status = "disabled";
 		};
 
+		hsusb0: hsusb@e6590000 {
+			compatible = "renesas,usbhs-r8a77470",
+				     "renesas,rcar-gen2-usbhs";
+			reg = <0 0xe6590000 0 0x100>;
+			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 704>;
+			dmas = <&usb_dmac00 0>, <&usb_dmac00 1>,
+			       <&usb_dmac10 0>, <&usb_dmac10 1>;
+			dma-names = "ch0", "ch1", "ch2", "ch3";
+			renesas,buswait = <4>;
+			phys = <&usb0 1>;
+			phy-names = "usb";
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+			resets = <&cpg 704>;
+			status = "disabled";
+		};
+
 		usbphy0: usb-phy@e6590100 {
 			compatible = "renesas,usb-phy-r8a77470",
 				     "renesas,rcar-gen2-usb-phy";
@@ -343,6 +360,24 @@
 			};
 		};
 
+		hsusb1: hsusb@e6598000 {
+			compatible = "renesas,usbhs-r8a77470",
+				     "renesas,rcar-gen2-usbhs";
+			reg = <0 0xe6598000 0 0x100>;
+			interrupts = <GIC_SPI 291 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 706>;
+			dmas = <&usb_dmac01 0>, <&usb_dmac01 1>,
+			       <&usb_dmac11 0>, <&usb_dmac11 1>;
+			dma-names = "ch0", "ch1", "ch2", "ch3";
+			renesas,buswait = <4>;
+			/* We need to turn on usbphy0 to make usbphy1 to work */
+			phys = <&usb1 1>;
+			phy-names = "usb";
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+			resets = <&cpg 706>;
+			status = "disabled";
+		};
+
 		usbphy1: usb-phy@e6598100 {
 			compatible = "renesas,usb-phy-r8a77470",
 				     "renesas,rcar-gen2-usb-phy";
-- 
2.7.4

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

* [PATCH V5 13/13] ARM: dts: iwg23s-sbc: Enable HS-USB
  2019-04-10 14:48 [PATCH V5 00/13] Add USB2.0 support Biju Das
                   ` (11 preceding siblings ...)
  2019-04-10 14:48 ` [PATCH V5 12/13] ARM: dts: r8a77470: Add HSUSB device nodes Biju Das
@ 2019-04-10 14:48 ` Biju Das
  2019-04-12 12:26   ` Simon Horman
  2019-04-17  6:07   ` Kishon Vijay Abraham I
  13 siblings, 1 reply; 39+ messages in thread
From: Biju Das @ 2019-04-10 14:48 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Simon Horman, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson, Fabrizio Castro

Enable HS-USB device for the iWave SBC based on RZ/G1C.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
---
V4-->V5
 * No change
V3-->V4
 * No change
V2-->V3
 * No change
V1-->V2
 * New patch
---
 arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts b/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
index 366832c..2840eb0 100644
--- a/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
+++ b/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
@@ -123,6 +123,10 @@
 	};
 };
 
+&hsusb0 {
+	status = "okay";
+};
+
 &i2c3 {
 	pinctrl-0 = <&i2c3_pins>;
 	pinctrl-names = "default";
-- 
2.7.4

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

* RE: [PATCH V5 02/13] phy: renesas: phy-rcar-gen2: Add support for r8a77470
  2019-04-10 14:48 ` [PATCH V5 02/13] phy: renesas: phy-rcar-gen2: Add support for r8a77470 Biju Das
@ 2019-04-11  5:08   ` Yoshihiro Shimoda
  0 siblings, 0 replies; 39+ messages in thread
From: Yoshihiro Shimoda @ 2019-04-11  5:08 UTC (permalink / raw)
  To: Biju Das, Kishon Vijay Abraham I
  Cc: Biju Das, Simon Horman, Wolfram Sang, Simon Horman,
	Geert Uytterhoeven, Chris Paterson, Fabrizio Castro,
	linux-renesas-soc

Hi Biju-san,

> From: Biju Das, Sent: Wednesday, April 10, 2019 11:49 PM
> 
> This patch adds support for RZ/G1C (r8a77470) SoC. RZ/G1C SoC has a
> PLL register shared between hsusb0 and hsusb1. Compared to other RZ/G1
> and R-Car Gen2/3, USB Host needs to deassert the pll reset.
> 
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> ---

Thank you for the patch!

Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

Also, I tested this patch on r8a7790-lager and I didn't find any regressions.
So,

Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

Best regards,
Yoshihiro Shimoda


> V4-->V5
>   * Incorporated shimoda-san's review comment
>     https://patchwork.kernel.org/patch/10893383/
> V3-->V4
>   * No Change
> V2-->V3
>  * No change
> V1-->V2
>  * Incorporated shimoda-san's review comment
>  Ref: https://patchwork.kernel.org/patch/10655855/
> ---
>  drivers/phy/renesas/phy-rcar-gen2.c | 130 ++++++++++++++++++++++++++++++++----
>  1 file changed, 118 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/phy/renesas/phy-rcar-gen2.c b/drivers/phy/renesas/phy-rcar-gen2.c
> index 72eeb06..8dc5710 100644
> --- a/drivers/phy/renesas/phy-rcar-gen2.c
> +++ b/drivers/phy/renesas/phy-rcar-gen2.c
> @@ -4,6 +4,7 @@
>   *
>   * Copyright (C) 2014 Renesas Solutions Corp.
>   * Copyright (C) 2014 Cogent Embedded, Inc.
> + * Copyright (C) 2019 Renesas Electronics Corp.
>   */
> 
>  #include <linux/clk.h>
> @@ -15,6 +16,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/spinlock.h>
>  #include <linux/atomic.h>
> +#include <linux/of_device.h>
> 
>  #define USBHS_LPSTS			0x02
>  #define USBHS_UGCTRL			0x80
> @@ -35,6 +37,8 @@
>  #define USBHS_UGCTRL2_USB0SEL		0x00000030
>  #define USBHS_UGCTRL2_USB0SEL_PCI	0x00000010
>  #define USBHS_UGCTRL2_USB0SEL_HS_USB	0x00000030
> +#define USBHS_UGCTRL2_USB0SEL_USB20	0x00000010
> +#define USBHS_UGCTRL2_USB0SEL_HS_USB20	0x00000020
> 
>  /* USB General status register (UGSTS) */
>  #define USBHS_UGSTS_LOCK		0x00000100 /* From technical update */
> @@ -64,6 +68,11 @@ struct rcar_gen2_phy_driver {
>  	struct rcar_gen2_channel *channels;
>  };
> 
> +struct rcar_gen2_phy_data {
> +	const struct phy_ops *gen2_phy_ops;
> +	const u32 (*select_value)[PHYS_PER_CHANNEL];
> +};
> +
>  static int rcar_gen2_phy_init(struct phy *p)
>  {
>  	struct rcar_gen2_phy *phy = phy_get_drvdata(p);
> @@ -180,6 +189,60 @@ static int rcar_gen2_phy_power_off(struct phy *p)
>  	return 0;
>  }
> 
> +static int rz_g1c_phy_power_on(struct phy *p)
> +{
> +	struct rcar_gen2_phy *phy = phy_get_drvdata(p);
> +	struct rcar_gen2_phy_driver *drv = phy->channel->drv;
> +	void __iomem *base = drv->base;
> +	unsigned long flags;
> +	u32 value;
> +
> +	spin_lock_irqsave(&drv->lock, flags);
> +
> +	/* Power on USBHS PHY */
> +	value = readl(base + USBHS_UGCTRL);
> +	value &= ~USBHS_UGCTRL_PLLRESET;
> +	writel(value, base + USBHS_UGCTRL);
> +
> +	/* As per the data sheet wait 340 micro sec for power stable */
> +	udelay(340);
> +
> +	if (phy->select_value == USBHS_UGCTRL2_USB0SEL_HS_USB20) {
> +		value = readw(base + USBHS_LPSTS);
> +		value |= USBHS_LPSTS_SUSPM;
> +		writew(value, base + USBHS_LPSTS);
> +	}
> +
> +	spin_unlock_irqrestore(&drv->lock, flags);
> +
> +	return 0;
> +}
> +
> +static int rz_g1c_phy_power_off(struct phy *p)
> +{
> +	struct rcar_gen2_phy *phy = phy_get_drvdata(p);
> +	struct rcar_gen2_phy_driver *drv = phy->channel->drv;
> +	void __iomem *base = drv->base;
> +	unsigned long flags;
> +	u32 value;
> +
> +	spin_lock_irqsave(&drv->lock, flags);
> +	/* Power off USBHS PHY */
> +	if (phy->select_value == USBHS_UGCTRL2_USB0SEL_HS_USB20) {
> +		value = readw(base + USBHS_LPSTS);
> +		value &= ~USBHS_LPSTS_SUSPM;
> +		writew(value, base + USBHS_LPSTS);
> +	}
> +
> +	value = readl(base + USBHS_UGCTRL);
> +	value |= USBHS_UGCTRL_PLLRESET;
> +	writel(value, base + USBHS_UGCTRL);
> +
> +	spin_unlock_irqrestore(&drv->lock, flags);
> +
> +	return 0;
> +}
> +
>  static const struct phy_ops rcar_gen2_phy_ops = {
>  	.init		= rcar_gen2_phy_init,
>  	.exit		= rcar_gen2_phy_exit,
> @@ -188,12 +251,55 @@ static const struct phy_ops rcar_gen2_phy_ops = {
>  	.owner		= THIS_MODULE,
>  };
> 
> +static const struct phy_ops rz_g1c_phy_ops = {
> +	.init		= rcar_gen2_phy_init,
> +	.exit		= rcar_gen2_phy_exit,
> +	.power_on	= rz_g1c_phy_power_on,
> +	.power_off	= rz_g1c_phy_power_off,
> +	.owner		= THIS_MODULE,
> +};
> +
> +static const u32 pci_select_value[][PHYS_PER_CHANNEL] = {
> +	[0]	= { USBHS_UGCTRL2_USB0SEL_PCI, USBHS_UGCTRL2_USB0SEL_HS_USB },
> +	[2]	= { USBHS_UGCTRL2_USB2SEL_PCI, USBHS_UGCTRL2_USB2SEL_USB30 },
> +};
> +
> +static const u32 usb20_select_value[][PHYS_PER_CHANNEL] = {
> +	{ USBHS_UGCTRL2_USB0SEL_USB20, USBHS_UGCTRL2_USB0SEL_HS_USB20 },
> +};
> +
> +static const struct rcar_gen2_phy_data rcar_gen2_usb_phy_data = {
> +	.gen2_phy_ops = &rcar_gen2_phy_ops,
> +	.select_value = pci_select_value,
> +};
> +
> +static const struct rcar_gen2_phy_data rz_g1c_usb_phy_data = {
> +	.gen2_phy_ops = &rz_g1c_phy_ops,
> +	.select_value = usb20_select_value,
> +};
> +
>  static const struct of_device_id rcar_gen2_phy_match_table[] = {
> -	{ .compatible = "renesas,usb-phy-r8a7790" },
> -	{ .compatible = "renesas,usb-phy-r8a7791" },
> -	{ .compatible = "renesas,usb-phy-r8a7794" },
> -	{ .compatible = "renesas,rcar-gen2-usb-phy" },
> -	{ }
> +	{
> +		.compatible = "renesas,usb-phy-r8a77470",
> +		.data = &rz_g1c_usb_phy_data,
> +	},
> +	{
> +		.compatible = "renesas,usb-phy-r8a7790",
> +		.data = &rcar_gen2_usb_phy_data,
> +	},
> +	{
> +		.compatible = "renesas,usb-phy-r8a7791",
> +		.data = &rcar_gen2_usb_phy_data,
> +	},
> +	{
> +		.compatible = "renesas,usb-phy-r8a7794",
> +		.data = &rcar_gen2_usb_phy_data,
> +	},
> +	{
> +		.compatible = "renesas,rcar-gen2-usb-phy",
> +		.data = &rcar_gen2_usb_phy_data,
> +	},
> +	{ /* sentinel */ },
>  };
>  MODULE_DEVICE_TABLE(of, rcar_gen2_phy_match_table);
> 
> @@ -224,11 +330,6 @@ static const u32 select_mask[] = {
>  	[2]	= USBHS_UGCTRL2_USB2SEL,
>  };
> 
> -static const u32 select_value[][PHYS_PER_CHANNEL] = {
> -	[0]	= { USBHS_UGCTRL2_USB0SEL_PCI, USBHS_UGCTRL2_USB0SEL_HS_USB },
> -	[2]	= { USBHS_UGCTRL2_USB2SEL_PCI, USBHS_UGCTRL2_USB2SEL_USB30 },
> -};
> -
>  static int rcar_gen2_phy_probe(struct platform_device *pdev)
>  {
>  	struct device *dev = &pdev->dev;
> @@ -238,6 +339,7 @@ static int rcar_gen2_phy_probe(struct platform_device *pdev)
>  	struct resource *res;
>  	void __iomem *base;
>  	struct clk *clk;
> +	const struct rcar_gen2_phy_data *data;
>  	int i = 0;
> 
>  	if (!dev->of_node) {
> @@ -266,6 +368,10 @@ static int rcar_gen2_phy_probe(struct platform_device *pdev)
>  	drv->clk = clk;
>  	drv->base = base;
> 
> +	data = of_device_get_match_data(dev);
> +	if (!data)
> +		return -EINVAL;
> +
>  	drv->num_channels = of_get_child_count(dev->of_node);
>  	drv->channels = devm_kcalloc(dev, drv->num_channels,
>  				     sizeof(struct rcar_gen2_channel),
> @@ -294,10 +400,10 @@ static int rcar_gen2_phy_probe(struct platform_device *pdev)
> 
>  			phy->channel = channel;
>  			phy->number = n;
> -			phy->select_value = select_value[channel_num][n];
> +			phy->select_value = data->select_value[channel_num][n];
> 
>  			phy->phy = devm_phy_create(dev, NULL,
> -						   &rcar_gen2_phy_ops);
> +						   data->gen2_phy_ops);
>  			if (IS_ERR(phy->phy)) {
>  				dev_err(dev, "Failed to create PHY\n");
>  				return PTR_ERR(phy->phy);
> --
> 2.7.4


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

* RE: [PATCH V5 04/13] phy: rcar-gen3-usb2: Add support for r8a77470
  2019-04-10 14:48 ` [PATCH V5 04/13] phy: rcar-gen3-usb2: Add support for r8a77470 Biju Das
@ 2019-04-11  5:10   ` Yoshihiro Shimoda
  0 siblings, 0 replies; 39+ messages in thread
From: Yoshihiro Shimoda @ 2019-04-11  5:10 UTC (permalink / raw)
  To: Biju Das, Kishon Vijay Abraham I, Alan Stern
  Cc: Biju Das, Simon Horman, Wolfram Sang, Simon Horman,
	Geert Uytterhoeven, Kuninori Morimoto, Chris Paterson,
	Fabrizio Castro, linux-renesas-soc

Hi Biju-san,

> From: Biju Das, Sent: Wednesday, April 10, 2019 11:49 PM
> 
> This patch adds support for r8a77470 (RZ/G1C). We can reuse this driver for
> initializing timing/interrupt generation registers.
> 
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> ---

Thank you for the patch! I tested this patch on r8a77965-salvator-xs
and I didn't find any regressions. So,

Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

Best regards,
Yoshihiro Shimoda

> V4-->V5
>  * Incorporated Kishan and Shimoda-san's review comment
>   https://patchwork.kernel.org/patch/10893387/
> V3-->V4
>  * Incorporated Kishan and Shimoda-san's review comment
>   https://patchwork.kernel.org/patch/10883265/
> V2-->V3
>  * Incorporated shimoda-san's review comment
>  Ref: https://patchwork.kernel.org/patch/10655855/
> ---
>  drivers/phy/renesas/Kconfig              |  2 +-
>  drivers/phy/renesas/phy-rcar-gen3-usb2.c | 39 +++++++++++++++++++++++++++-----
>  2 files changed, 34 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/phy/renesas/Kconfig b/drivers/phy/renesas/Kconfig
> index e340a92..111bdca 100644
> --- a/drivers/phy/renesas/Kconfig
> +++ b/drivers/phy/renesas/Kconfig
> @@ -19,7 +19,7 @@ config PHY_RCAR_GEN3_PCIE
>  config PHY_RCAR_GEN3_USB2
>  	tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
>  	depends on ARCH_RENESAS
> -	depends on EXTCON
> +	depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
>  	depends on USB_SUPPORT
>  	select GENERIC_PHY
>  	select USB_COMMON
> diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> index 0a34782..e3a88b9 100644
> --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> @@ -393,6 +393,12 @@ static const struct phy_ops rcar_gen3_phy_usb2_ops = {
>  	.owner		= THIS_MODULE,
>  };
> 
> +static const struct phy_ops rz_g1c_phy_usb2_ops = {
> +	.init		= rcar_gen3_phy_usb2_init,
> +	.exit		= rcar_gen3_phy_usb2_exit,
> +	.owner		= THIS_MODULE,
> +};
> +
>  static irqreturn_t rcar_gen3_phy_usb2_irq(int irq, void *_ch)
>  {
>  	struct rcar_gen3_chan *ch = _ch;
> @@ -411,11 +417,27 @@ static irqreturn_t rcar_gen3_phy_usb2_irq(int irq, void *_ch)
>  }
> 
>  static const struct of_device_id rcar_gen3_phy_usb2_match_table[] = {
> -	{ .compatible = "renesas,usb2-phy-r8a7795" },
> -	{ .compatible = "renesas,usb2-phy-r8a7796" },
> -	{ .compatible = "renesas,usb2-phy-r8a77965" },
> -	{ .compatible = "renesas,rcar-gen3-usb2-phy" },
> -	{ }
> +	{
> +		.compatible = "renesas,usb2-phy-r8a77470",
> +		.data = &rz_g1c_phy_usb2_ops,
> +	},
> +	{
> +		.compatible = "renesas,usb2-phy-r8a7795",
> +		.data = &rcar_gen3_phy_usb2_ops,
> +	},
> +	{
> +		.compatible = "renesas,usb2-phy-r8a7796",
> +		.data = &rcar_gen3_phy_usb2_ops,
> +	},
> +	{
> +		.compatible = "renesas,usb2-phy-r8a77965",
> +		.data = &rcar_gen3_phy_usb2_ops,
> +	},
> +	{
> +		.compatible = "renesas,rcar-gen3-usb2-phy",
> +		.data = &rcar_gen3_phy_usb2_ops,
> +	},
> +	{ /* sentinel */ },
>  };
>  MODULE_DEVICE_TABLE(of, rcar_gen3_phy_usb2_match_table);
> 
> @@ -431,6 +453,7 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
>  	struct rcar_gen3_chan *channel;
>  	struct phy_provider *provider;
>  	struct resource *res;
> +	const struct phy_ops *phy_usb2_ops;
>  	int irq, ret = 0;
> 
>  	if (!dev->of_node) {
> @@ -481,7 +504,11 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
>  	 * And then, phy-core will manage runtime pm for this device.
>  	 */
>  	pm_runtime_enable(dev);
> -	channel->phy = devm_phy_create(dev, NULL, &rcar_gen3_phy_usb2_ops);
> +	phy_usb2_ops = of_device_get_match_data(dev);
> +	if (!phy_usb2_ops)
> +		return -EINVAL;
> +
> +	channel->phy = devm_phy_create(dev, NULL, phy_usb2_ops);
>  	if (IS_ERR(channel->phy)) {
>  		dev_err(dev, "Failed to create USB2 PHY\n");
>  		ret = PTR_ERR(channel->phy);
> --
> 2.7.4


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

* Re: [PATCH V5 05/13] ARM: shmobile: Enable PHY_RCAR_GEN3_USB2 in shmobile_defconfig
  2019-04-10 14:48   ` Biju Das
@ 2019-04-12 12:15     ` Simon Horman
  -1 siblings, 0 replies; 39+ messages in thread
From: Simon Horman @ 2019-04-12 12:15 UTC (permalink / raw)
  To: Biju Das
  Cc: Magnus Damm, Russell King, linux-renesas-soc, linux-arm-kernel,
	Geert Uytterhoeven, Chris Paterson, Fabrizio Castro

On Wed, Apr 10, 2019 at 03:48:42PM +0100, Biju Das wrote:
> Enable PHY_RCAR_GEN3_USB2 in shmobile_defconfig so that boards
> based on RZ/G1C SoC design can use the corresponding driver.
> 
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>

Thanks Biju,

applied for v5.2.

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

* Re: [PATCH V5 05/13] ARM: shmobile: Enable PHY_RCAR_GEN3_USB2 in shmobile_defconfig
@ 2019-04-12 12:15     ` Simon Horman
  0 siblings, 0 replies; 39+ messages in thread
From: Simon Horman @ 2019-04-12 12:15 UTC (permalink / raw)
  To: Biju Das
  Cc: Fabrizio Castro, Chris Paterson, Geert Uytterhoeven, Magnus Damm,
	Russell King, linux-renesas-soc, linux-arm-kernel

On Wed, Apr 10, 2019 at 03:48:42PM +0100, Biju Das wrote:
> Enable PHY_RCAR_GEN3_USB2 in shmobile_defconfig so that boards
> based on RZ/G1C SoC design can use the corresponding driver.
> 
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>

Thanks Biju,

applied for v5.2.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH V5 07/13] ARM: shmobile: Enable USB [EO]HCI HCD PLATFORM support in shmobile_defconfig
  2019-04-10 14:48   ` Biju Das
@ 2019-04-12 12:16     ` Simon Horman
  -1 siblings, 0 replies; 39+ messages in thread
From: Simon Horman @ 2019-04-12 12:16 UTC (permalink / raw)
  To: Biju Das
  Cc: Magnus Damm, Russell King, linux-renesas-soc, linux-arm-kernel,
	Geert Uytterhoeven, Chris Paterson, Fabrizio Castro

On Wed, Apr 10, 2019 at 03:48:44PM +0100, Biju Das wrote:
> The USB [EO]HCI controller on RZ/G1C SoC doesn't have PCI bridge like
> other R-Car Gen2 devices. So enable generic USB [EO]HCI HCD PLATFORM
> support in shmobile_defconfig.
> 
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>

Thanks, applied for inclusion in v5.2.

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

* Re: [PATCH V5 07/13] ARM: shmobile: Enable USB [EO]HCI HCD PLATFORM support in shmobile_defconfig
@ 2019-04-12 12:16     ` Simon Horman
  0 siblings, 0 replies; 39+ messages in thread
From: Simon Horman @ 2019-04-12 12:16 UTC (permalink / raw)
  To: Biju Das
  Cc: Fabrizio Castro, Chris Paterson, Geert Uytterhoeven, Magnus Damm,
	Russell King, linux-renesas-soc, linux-arm-kernel

On Wed, Apr 10, 2019 at 03:48:44PM +0100, Biju Das wrote:
> The USB [EO]HCI controller on RZ/G1C SoC doesn't have PCI bridge like
> other R-Car Gen2 devices. So enable generic USB [EO]HCI HCD PLATFORM
> support in shmobile_defconfig.
> 
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>

Thanks, applied for inclusion in v5.2.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH V5 08/13] ARM: dts: r8a77470: Add USB PHY DT support
  2019-04-10 14:48 ` [PATCH V5 08/13] ARM: dts: r8a77470: Add USB PHY DT support Biju Das
@ 2019-04-12 12:18   ` Simon Horman
  2019-04-30 13:00     ` Geert Uytterhoeven
  1 sibling, 0 replies; 39+ messages in thread
From: Simon Horman @ 2019-04-12 12:18 UTC (permalink / raw)
  To: Biju Das
  Cc: Rob Herring, Mark Rutland, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson, Fabrizio Castro

On Wed, Apr 10, 2019 at 03:48:45PM +0100, Biju Das wrote:
> Define the r8a77470 generic part of the USB PHY device node.
> 
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>

Thanks, applied for v5.2.

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

* Re: [PATCH V5 09/13] ARM: dts: iwg23s-sbc: Enable USB Phy[01]
  2019-04-10 14:48 ` [PATCH V5 09/13] ARM: dts: iwg23s-sbc: Enable USB Phy[01] Biju Das
@ 2019-04-12 12:21   ` Simon Horman
  0 siblings, 0 replies; 39+ messages in thread
From: Simon Horman @ 2019-04-12 12:21 UTC (permalink / raw)
  To: Biju Das
  Cc: Rob Herring, Mark Rutland, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson, Fabrizio Castro

On Wed, Apr 10, 2019 at 03:48:46PM +0100, Biju Das wrote:
> Enable USB phy[01] on iWave iwg23s sbc based on RZ/G1C SoC.
> 
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>

Thanks Biju,

applied for v5.2.

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

* Re: [PATCH V5 10/13] ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device
  2019-04-10 14:48 ` [PATCH V5 10/13] ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device Biju Das
@ 2019-04-12 12:22   ` Simon Horman
  0 siblings, 0 replies; 39+ messages in thread
From: Simon Horman @ 2019-04-12 12:22 UTC (permalink / raw)
  To: Biju Das
  Cc: Rob Herring, Mark Rutland, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson, Fabrizio Castro

On Wed, Apr 10, 2019 at 03:48:47PM +0100, Biju Das wrote:
> Define the r8a77470 generic part of the USB2.0 Host Controller device
> nodes (ehci[01]/ohci[01]).
> 
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>

Thanks Biju,

applied for v5.2.

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

* Re: [PATCH V5 12/13] ARM: dts: r8a77470: Add HSUSB device nodes
  2019-04-10 14:48 ` [PATCH V5 12/13] ARM: dts: r8a77470: Add HSUSB device nodes Biju Das
@ 2019-04-12 12:25   ` Simon Horman
  2019-04-30 12:58     ` Geert Uytterhoeven
  1 sibling, 0 replies; 39+ messages in thread
From: Simon Horman @ 2019-04-12 12:25 UTC (permalink / raw)
  To: Biju Das
  Cc: Rob Herring, Mark Rutland, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson, Fabrizio Castro

On Wed, Apr 10, 2019 at 03:48:49PM +0100, Biju Das wrote:
> Define the r8a77470 generic part of the HSUSB0/1 device nodes.
> 
> Currently the renesas_usbhs driver doesn't handle multiple phys and we
> don't have a proper hardware to validate such driver changes.
> 
> So for hsusb1 it is assumed that usbphy0 will be enabled by either
> channel0 host or device.
> 
> In future, if any boards support hsusb1, we will need to add multiple phy
> support in the renesas_usbhs driver and override the board dts to enable
> the same.
> 
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>

Thanks Biju,

applied for v5.2.

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

* Re: [PATCH V5 13/13] ARM: dts: iwg23s-sbc: Enable HS-USB
  2019-04-10 14:48 ` [PATCH V5 13/13] ARM: dts: iwg23s-sbc: Enable HS-USB Biju Das
@ 2019-04-12 12:26   ` Simon Horman
  0 siblings, 0 replies; 39+ messages in thread
From: Simon Horman @ 2019-04-12 12:26 UTC (permalink / raw)
  To: Biju Das
  Cc: Rob Herring, Mark Rutland, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson, Fabrizio Castro

On Wed, Apr 10, 2019 at 03:48:50PM +0100, Biju Das wrote:
> Enable HS-USB device for the iWave SBC based on RZ/G1C.
> 
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>

Thanks Biju,

applied for v5.2.

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

* Re: [PATCH V5 00/13] Add USB2.0 support
  2019-04-10 14:48 [PATCH V5 00/13] Add USB2.0 support Biju Das
@ 2019-04-17  6:07   ` Kishon Vijay Abraham I
  2019-04-10 14:48 ` [PATCH V5 02/13] phy: renesas: phy-rcar-gen2: Add support for r8a77470 Biju Das
                     ` (12 subsequent siblings)
  13 siblings, 0 replies; 39+ messages in thread
From: Kishon Vijay Abraham I @ 2019-04-17  6:07 UTC (permalink / raw)
  To: Biju Das, Rob Herring, Mark Rutland, Alan Stern,
	Greg Kroah-Hartman, Yoshihiro Shimoda
  Cc: devicetree, Simon Horman, Geert Uytterhoeven, Chris Paterson,
	Fabrizio Castro, linux-renesas-soc



On 10/04/19 8:18 PM, Biju Das wrote:
> This series adds USB 2.0 support for the RZ/G1C SoC. RZ/G1C
> SoC is similar to R-Car Gen2 SoC, but there are some differences
> 
> - It has a shared pll reset register for hsusb0/hsusb1 and this register 
>   reside in hsusb0 block.
> 
> - Each USB host needs to deassert the pll reset of hsusb block apart from
>   initializing interrupt enable,OVC detection timer and suspend/resume timer
>   register.
> 
> To address the above scenarios, created a ehci-r8a77470 host controller
> driver.
> 
> This patchset is based on linux_next next-20190410 branch.
> V4-->V5
>    * Incoporated Shimoda-san's review comment
>      (https://patchwork.kernel.org/patch/10879893/)
> V3-->V4
>   * Incoporated Kishon and Shimoda-san's review comment
>     (https://patchwork.kernel.org/patch/10883265/)
>   * Added missing rcar-gen3-phy-usb2 phy in ohci1 node.
> 
> V2-->V3
>  * Incorporated Alan's review comment for dropping ehci-r8a77470 host driver
>  * Incorporated shimoda-san's comments.
>    Ref: https://patchwork.kernel.org/patch/10879899/
> 
> V1-->V2
>  * Incorporated Rob's review comment
>    Ref: https://patchwork.kernel.org/patch/10655853/
>  * Incorporated Shimoda-San's review comment
>    Ref: https://patchwork.kernel.org/patch/10655855/
>  * Created ehci-r8a77470 host driver.
> 
> Biju Das (13):
>   dt-bindings: phy: rcar-gen2: Add r8a77470 support
>   phy: renesas: phy-rcar-gen2: Add support for r8a77470
>   dt-bindings: rcar-gen3-phy-usb2: Add r8a77470 support
>   phy: rcar-gen3-usb2: Add support for r8a77470

merged the PHY patches, thanks.

-Kishon

>   ARM: shmobile: Enable PHY_RCAR_GEN3_USB2 in shmobile_defconfig
>   dt-bindings: usb: renesas_usbhs: Add support for r8a77470
>   ARM: shmobile: Enable USB [EO]HCI HCD PLATFORM support in
>     shmobile_defconfig
>   ARM: dts: r8a77470: Add USB PHY DT support
>   ARM: dts: iwg23s-sbc: Enable USB Phy[01]
>   ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device
>   ARM: dts: iwg23s-sbc: Enable USB USB2.0 Host
>   ARM: dts: r8a77470: Add HSUSB device nodes
>   ARM: dts: iwg23s-sbc: Enable HS-USB
> 
>  .../devicetree/bindings/phy/rcar-gen2-phy.txt      |  57 ++++++++-
>  .../devicetree/bindings/phy/rcar-gen3-phy-usb2.txt |   6 +-
>  .../devicetree/bindings/usb/renesas_usbhs.txt      |   1 +
>  arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts          |  44 +++++++
>  arch/arm/boot/dts/r8a77470.dtsi                    | 141 +++++++++++++++++++++
>  arch/arm/configs/shmobile_defconfig                |   3 +
>  drivers/phy/renesas/Kconfig                        |   2 +-
>  drivers/phy/renesas/phy-rcar-gen2.c                | 130 +++++++++++++++++--
>  drivers/phy/renesas/phy-rcar-gen3-usb2.c           |  39 +++++-
>  9 files changed, 398 insertions(+), 25 deletions(-)
> 

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

* Re: [PATCH V5 00/13] Add USB2.0 support
@ 2019-04-17  6:07   ` Kishon Vijay Abraham I
  0 siblings, 0 replies; 39+ messages in thread
From: Kishon Vijay Abraham I @ 2019-04-17  6:07 UTC (permalink / raw)
  To: Biju Das, Rob Herring, Mark Rutland, Alan Stern,
	Greg Kroah-Hartman, Yoshihiro Shimoda
  Cc: devicetree, Simon Horman, Geert Uytterhoeven, Chris Paterson,
	Fabrizio Castro, linux-renesas-soc



On 10/04/19 8:18 PM, Biju Das wrote:
> This series adds USB 2.0 support for the RZ/G1C SoC. RZ/G1C
> SoC is similar to R-Car Gen2 SoC, but there are some differences
> 
> - It has a shared pll reset register for hsusb0/hsusb1 and this register 
>   reside in hsusb0 block.
> 
> - Each USB host needs to deassert the pll reset of hsusb block apart from
>   initializing interrupt enable,OVC detection timer and suspend/resume timer
>   register.
> 
> To address the above scenarios, created a ehci-r8a77470 host controller
> driver.
> 
> This patchset is based on linux_next next-20190410 branch.
> V4-->V5
>    * Incoporated Shimoda-san's review comment
>      (https://patchwork.kernel.org/patch/10879893/)
> V3-->V4
>   * Incoporated Kishon and Shimoda-san's review comment
>     (https://patchwork.kernel.org/patch/10883265/)
>   * Added missing rcar-gen3-phy-usb2 phy in ohci1 node.
> 
> V2-->V3
>  * Incorporated Alan's review comment for dropping ehci-r8a77470 host driver
>  * Incorporated shimoda-san's comments.
>    Ref: https://patchwork.kernel.org/patch/10879899/
> 
> V1-->V2
>  * Incorporated Rob's review comment
>    Ref: https://patchwork.kernel.org/patch/10655853/
>  * Incorporated Shimoda-San's review comment
>    Ref: https://patchwork.kernel.org/patch/10655855/
>  * Created ehci-r8a77470 host driver.
> 
> Biju Das (13):
>   dt-bindings: phy: rcar-gen2: Add r8a77470 support
>   phy: renesas: phy-rcar-gen2: Add support for r8a77470
>   dt-bindings: rcar-gen3-phy-usb2: Add r8a77470 support
>   phy: rcar-gen3-usb2: Add support for r8a77470

merged the PHY patches, thanks.

-Kishon

>   ARM: shmobile: Enable PHY_RCAR_GEN3_USB2 in shmobile_defconfig
>   dt-bindings: usb: renesas_usbhs: Add support for r8a77470
>   ARM: shmobile: Enable USB [EO]HCI HCD PLATFORM support in
>     shmobile_defconfig
>   ARM: dts: r8a77470: Add USB PHY DT support
>   ARM: dts: iwg23s-sbc: Enable USB Phy[01]
>   ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device
>   ARM: dts: iwg23s-sbc: Enable USB USB2.0 Host
>   ARM: dts: r8a77470: Add HSUSB device nodes
>   ARM: dts: iwg23s-sbc: Enable HS-USB
> 
>  .../devicetree/bindings/phy/rcar-gen2-phy.txt      |  57 ++++++++-
>  .../devicetree/bindings/phy/rcar-gen3-phy-usb2.txt |   6 +-
>  .../devicetree/bindings/usb/renesas_usbhs.txt      |   1 +
>  arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts          |  44 +++++++
>  arch/arm/boot/dts/r8a77470.dtsi                    | 141 +++++++++++++++++++++
>  arch/arm/configs/shmobile_defconfig                |   3 +
>  drivers/phy/renesas/Kconfig                        |   2 +-
>  drivers/phy/renesas/phy-rcar-gen2.c                | 130 +++++++++++++++++--
>  drivers/phy/renesas/phy-rcar-gen3-usb2.c           |  39 +++++-
>  9 files changed, 398 insertions(+), 25 deletions(-)
> 

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

* RE: [PATCH V5 06/13] dt-bindings: usb: renesas_usbhs: Add support for r8a77470
  2019-04-10 14:48 ` [PATCH V5 06/13] dt-bindings: usb: renesas_usbhs: Add support for r8a77470 Biju Das
@ 2019-04-29  9:16     ` Biju Das
  0 siblings, 0 replies; 39+ messages in thread
From: Biju Das @ 2019-04-29  9:16 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland, Greg Kroah-Hartman, Felipe Balbi
  Cc: Simon Horman, Magnus Damm, linux-renesas-soc, devicetree,
	Geert Uytterhoeven, Yoshihiro Shimoda, Chris Paterson,
	Fabrizio Castro, linux-usb

Hi Greg,

Does this patch looks ok to you? 

Regards,
Biju

> -----Original Message-----
> From: Biju Das <biju.das@bp.renesas.com>
> Sent: 10 April 2019 15:49
> To: Rob Herring <robh+dt@kernel.org>; Mark Rutland
> <mark.rutland@arm.com>
> Cc: Biju Das <biju.das@bp.renesas.com>; Simon Horman
> <horms@verge.net.au>; Magnus Damm <magnus.damm@gmail.com>;
> linux-renesas-soc@vger.kernel.org; devicetree@vger.kernel.org; Geert
> Uytterhoeven <geert+renesas@glider.be>; Yoshihiro Shimoda
> <yoshihiro.shimoda.uh@renesas.com>; Chris Paterson
> <Chris.Paterson2@renesas.com>; Fabrizio Castro
> <fabrizio.castro@bp.renesas.com>
> Subject: [PATCH V5 06/13] dt-bindings: usb: renesas_usbhs: Add support for
> r8a77470
> 
> Document support for RZ/G1C (R8A77470) SoC.
> 
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> ---
> v4-->v5
>   * No change
> v3-->v4
>   * No change
> V2-->V3
>   * No change
> V1-->V2
>   * New patch
> ---
>  Documentation/devicetree/bindings/usb/renesas_usbhs.txt | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/usb/renesas_usbhs.txt
> b/Documentation/devicetree/bindings/usb/renesas_usbhs.txt
> index d93b6a1..b8acc2a 100644
> --- a/Documentation/devicetree/bindings/usb/renesas_usbhs.txt
> +++ b/Documentation/devicetree/bindings/usb/renesas_usbhs.txt
> @@ -6,6 +6,7 @@ Required properties:
>  	- "renesas,usbhs-r8a7743" for r8a7743 (RZ/G1M) compatible device
>  	- "renesas,usbhs-r8a7744" for r8a7744 (RZ/G1N) compatible device
>  	- "renesas,usbhs-r8a7745" for r8a7745 (RZ/G1E) compatible device
> +	- "renesas,usbhs-r8a77470" for r8a77470 (RZ/G1C) compatible device
>  	- "renesas,usbhs-r8a774a1" for r8a774a1 (RZ/G2M) compatible
> device
>  	- "renesas,usbhs-r8a774c0" for r8a774c0 (RZ/G2E) compatible device
>  	- "renesas,usbhs-r8a7790" for r8a7790 (R-Car H2) compatible device
> --
> 2.7.4

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

* RE: [PATCH V5 06/13] dt-bindings: usb: renesas_usbhs: Add support for r8a77470
@ 2019-04-29  9:16     ` Biju Das
  0 siblings, 0 replies; 39+ messages in thread
From: Biju Das @ 2019-04-29  9:16 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland, Greg Kroah-Hartman, Felipe Balbi
  Cc: Simon Horman, Magnus Damm, linux-renesas-soc, devicetree,
	Geert Uytterhoeven, Yoshihiro Shimoda, Chris Paterson,
	Fabrizio Castro, linux-usb

Hi Greg,

Does this patch looks ok to you? 

Regards,
Biju

> -----Original Message-----
> From: Biju Das <biju.das@bp.renesas.com>
> Sent: 10 April 2019 15:49
> To: Rob Herring <robh+dt@kernel.org>; Mark Rutland
> <mark.rutland@arm.com>
> Cc: Biju Das <biju.das@bp.renesas.com>; Simon Horman
> <horms@verge.net.au>; Magnus Damm <magnus.damm@gmail.com>;
> linux-renesas-soc@vger.kernel.org; devicetree@vger.kernel.org; Geert
> Uytterhoeven <geert+renesas@glider.be>; Yoshihiro Shimoda
> <yoshihiro.shimoda.uh@renesas.com>; Chris Paterson
> <Chris.Paterson2@renesas.com>; Fabrizio Castro
> <fabrizio.castro@bp.renesas.com>
> Subject: [PATCH V5 06/13] dt-bindings: usb: renesas_usbhs: Add support for
> r8a77470
> 
> Document support for RZ/G1C (R8A77470) SoC.
> 
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> ---
> v4-->v5
>   * No change
> v3-->v4
>   * No change
> V2-->V3
>   * No change
> V1-->V2
>   * New patch
> ---
>  Documentation/devicetree/bindings/usb/renesas_usbhs.txt | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/usb/renesas_usbhs.txt
> b/Documentation/devicetree/bindings/usb/renesas_usbhs.txt
> index d93b6a1..b8acc2a 100644
> --- a/Documentation/devicetree/bindings/usb/renesas_usbhs.txt
> +++ b/Documentation/devicetree/bindings/usb/renesas_usbhs.txt
> @@ -6,6 +6,7 @@ Required properties:
>  	- "renesas,usbhs-r8a7743" for r8a7743 (RZ/G1M) compatible device
>  	- "renesas,usbhs-r8a7744" for r8a7744 (RZ/G1N) compatible device
>  	- "renesas,usbhs-r8a7745" for r8a7745 (RZ/G1E) compatible device
> +	- "renesas,usbhs-r8a77470" for r8a77470 (RZ/G1C) compatible device
>  	- "renesas,usbhs-r8a774a1" for r8a774a1 (RZ/G2M) compatible
> device
>  	- "renesas,usbhs-r8a774c0" for r8a774c0 (RZ/G2E) compatible device
>  	- "renesas,usbhs-r8a7790" for r8a7790 (R-Car H2) compatible device
> --
> 2.7.4


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

* Re: [PATCH V5 06/13] dt-bindings: usb: renesas_usbhs: Add support for r8a77470
  2019-04-29  9:16     ` Biju Das
@ 2019-04-29  9:30       ` Greg Kroah-Hartman
  -1 siblings, 0 replies; 39+ messages in thread
From: Greg Kroah-Hartman @ 2019-04-29  9:30 UTC (permalink / raw)
  To: Biju Das
  Cc: Rob Herring, Mark Rutland, Felipe Balbi, Simon Horman,
	Magnus Damm, linux-renesas-soc, devicetree, Geert Uytterhoeven,
	Yoshihiro Shimoda, Chris Paterson, Fabrizio Castro, linux-usb

On Mon, Apr 29, 2019 at 09:16:01AM +0000, Biju Das wrote:
> Hi Greg,
> 
> Does this patch looks ok to you? 

Sure, but as it was never sent to me, why would you ask me?  :)

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

* Re: [PATCH V5 06/13] dt-bindings: usb: renesas_usbhs: Add support for r8a77470
@ 2019-04-29  9:30       ` Greg Kroah-Hartman
  0 siblings, 0 replies; 39+ messages in thread
From: Greg Kroah-Hartman @ 2019-04-29  9:30 UTC (permalink / raw)
  To: Biju Das
  Cc: Rob Herring, Mark Rutland, Felipe Balbi, Simon Horman,
	Magnus Damm, linux-renesas-soc, devicetree, Geert Uytterhoeven,
	Yoshihiro Shimoda, Chris Paterson, Fabrizio Castro, linux-usb

On Mon, Apr 29, 2019 at 09:16:01AM +0000, Biju Das wrote:
> Hi Greg,
> 
> Does this patch looks ok to you? 

Sure, but as it was never sent to me, why would you ask me?  :)


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

* RE: [PATCH V5 06/13] dt-bindings: usb: renesas_usbhs: Add support for r8a77470
  2019-04-29  9:30       ` Greg Kroah-Hartman
@ 2019-04-29  9:46         ` Biju Das
  -1 siblings, 0 replies; 39+ messages in thread
From: Biju Das @ 2019-04-29  9:46 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Rob Herring, Mark Rutland, Felipe Balbi, Simon Horman,
	Magnus Damm, linux-renesas-soc, devicetree, Geert Uytterhoeven,
	Yoshihiro Shimoda, Chris Paterson, Fabrizio Castro, linux-usb

Hi Greg,

Thanks for the feedback.

> Subject: Re: [PATCH V5 06/13] dt-bindings: usb: renesas_usbhs: Add support
> for r8a77470
> 
> On Mon, Apr 29, 2019 at 09:16:01AM +0000, Biju Das wrote:
> > Hi Greg,
> >
> > Does this patch looks ok to you?
> 
> Sure, but as it was never sent to me, why would you ask me?  :)

It was my script's problem. I used a script to get maintainer's name. somehow it didn't pick up your name.
Now I manually ran and found that I need to send this patch to you as well.

Regards,
Biju

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

* RE: [PATCH V5 06/13] dt-bindings: usb: renesas_usbhs: Add support for r8a77470
@ 2019-04-29  9:46         ` Biju Das
  0 siblings, 0 replies; 39+ messages in thread
From: Biju Das @ 2019-04-29  9:46 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Rob Herring, Mark Rutland, Felipe Balbi, Simon Horman,
	Magnus Damm, linux-renesas-soc, devicetree, Geert Uytterhoeven,
	Yoshihiro Shimoda, Chris Paterson, Fabrizio Castro, linux-usb

Hi Greg,

Thanks for the feedback.

> Subject: Re: [PATCH V5 06/13] dt-bindings: usb: renesas_usbhs: Add support
> for r8a77470
> 
> On Mon, Apr 29, 2019 at 09:16:01AM +0000, Biju Das wrote:
> > Hi Greg,
> >
> > Does this patch looks ok to you?
> 
> Sure, but as it was never sent to me, why would you ask me?  :)

It was my script's problem. I used a script to get maintainer's name. somehow it didn't pick up your name.
Now I manually ran and found that I need to send this patch to you as well.

Regards,
Biju


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

* Re: [PATCH V5 12/13] ARM: dts: r8a77470: Add HSUSB device nodes
  2019-04-10 14:48 ` [PATCH V5 12/13] ARM: dts: r8a77470: Add HSUSB device nodes Biju Das
@ 2019-04-30 12:58     ` Geert Uytterhoeven
  2019-04-30 12:58     ` Geert Uytterhoeven
  1 sibling, 0 replies; 39+ messages in thread
From: Geert Uytterhoeven @ 2019-04-30 12:58 UTC (permalink / raw)
  To: Biju Das
  Cc: Rob Herring, Mark Rutland, Simon Horman, Magnus Damm,
	Linux-Renesas,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Geert Uytterhoeven, Yoshihiro Shimoda, Chris Paterson,
	Fabrizio Castro

On Wed, Apr 10, 2019 at 4:56 PM Biju Das <biju.das@bp.renesas.com> wrote:
> Define the r8a77470 generic part of the HSUSB0/1 device nodes.
>
> Currently the renesas_usbhs driver doesn't handle multiple phys and we
> don't have a proper hardware to validate such driver changes.
>
> So for hsusb1 it is assumed that usbphy0 will be enabled by either
> channel0 host or device.
>
> In future, if any boards support hsusb1, we will need to add multiple phy
> support in the renesas_usbhs driver and override the board dts to enable
> the same.
>
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> Reviewed-by: Simon Horman <horms+renesas@verge.net.au>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [PATCH V5 12/13] ARM: dts: r8a77470: Add HSUSB device nodes
@ 2019-04-30 12:58     ` Geert Uytterhoeven
  0 siblings, 0 replies; 39+ messages in thread
From: Geert Uytterhoeven @ 2019-04-30 12:58 UTC (permalink / raw)
  To: Biju Das
  Cc: Rob Herring, Mark Rutland, Simon Horman, Magnus Damm,
	Linux-Renesas,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Geert Uytterhoeven, Yoshihiro Shimoda, Chris Paterson,
	Fabrizio Castro

On Wed, Apr 10, 2019 at 4:56 PM Biju Das <biju.das@bp.renesas.com> wrote:
> Define the r8a77470 generic part of the HSUSB0/1 device nodes.
>
> Currently the renesas_usbhs driver doesn't handle multiple phys and we
> don't have a proper hardware to validate such driver changes.
>
> So for hsusb1 it is assumed that usbphy0 will be enabled by either
> channel0 host or device.
>
> In future, if any boards support hsusb1, we will need to add multiple phy
> support in the renesas_usbhs driver and override the board dts to enable
> the same.
>
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> Reviewed-by: Simon Horman <horms+renesas@verge.net.au>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [PATCH V5 08/13] ARM: dts: r8a77470: Add USB PHY DT support
  2019-04-10 14:48 ` [PATCH V5 08/13] ARM: dts: r8a77470: Add USB PHY DT support Biju Das
@ 2019-04-30 13:00     ` Geert Uytterhoeven
  2019-04-30 13:00     ` Geert Uytterhoeven
  1 sibling, 0 replies; 39+ messages in thread
From: Geert Uytterhoeven @ 2019-04-30 13:00 UTC (permalink / raw)
  To: Biju Das
  Cc: Rob Herring, Mark Rutland, Simon Horman, Magnus Damm,
	Linux-Renesas,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Geert Uytterhoeven, Yoshihiro Shimoda, Chris Paterson,
	Fabrizio Castro

On Wed, Apr 10, 2019 at 4:55 PM Biju Das <biju.das@bp.renesas.com> wrote:
> Define the r8a77470 generic part of the USB PHY device node.
>
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> Reviewed-by: Simon Horman <horms+renesas@verge.net.au>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [PATCH V5 08/13] ARM: dts: r8a77470: Add USB PHY DT support
@ 2019-04-30 13:00     ` Geert Uytterhoeven
  0 siblings, 0 replies; 39+ messages in thread
From: Geert Uytterhoeven @ 2019-04-30 13:00 UTC (permalink / raw)
  To: Biju Das
  Cc: Rob Herring, Mark Rutland, Simon Horman, Magnus Damm,
	Linux-Renesas,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Geert Uytterhoeven, Yoshihiro Shimoda, Chris Paterson,
	Fabrizio Castro

On Wed, Apr 10, 2019 at 4:55 PM Biju Das <biju.das@bp.renesas.com> wrote:
> Define the r8a77470 generic part of the USB PHY device node.
>
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> Reviewed-by: Simon Horman <horms+renesas@verge.net.au>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

end of thread, other threads:[~2019-04-30 13:00 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-10 14:48 [PATCH V5 00/13] Add USB2.0 support Biju Das
2019-04-10 14:48 ` [PATCH V5 01/13] dt-bindings: phy: rcar-gen2: Add r8a77470 support Biju Das
2019-04-10 14:48 ` [PATCH V5 02/13] phy: renesas: phy-rcar-gen2: Add support for r8a77470 Biju Das
2019-04-11  5:08   ` Yoshihiro Shimoda
2019-04-10 14:48 ` [PATCH V5 03/13] dt-bindings: rcar-gen3-phy-usb2: Add r8a77470 support Biju Das
2019-04-10 14:48 ` [PATCH V5 04/13] phy: rcar-gen3-usb2: Add support for r8a77470 Biju Das
2019-04-11  5:10   ` Yoshihiro Shimoda
2019-04-10 14:48 ` [PATCH V5 05/13] ARM: shmobile: Enable PHY_RCAR_GEN3_USB2 in shmobile_defconfig Biju Das
2019-04-10 14:48   ` Biju Das
2019-04-12 12:15   ` Simon Horman
2019-04-12 12:15     ` Simon Horman
2019-04-10 14:48 ` [PATCH V5 06/13] dt-bindings: usb: renesas_usbhs: Add support for r8a77470 Biju Das
2019-04-29  9:16   ` Biju Das
2019-04-29  9:16     ` Biju Das
2019-04-29  9:30     ` Greg Kroah-Hartman
2019-04-29  9:30       ` Greg Kroah-Hartman
2019-04-29  9:46       ` Biju Das
2019-04-29  9:46         ` Biju Das
2019-04-10 14:48 ` [PATCH V5 07/13] ARM: shmobile: Enable USB [EO]HCI HCD PLATFORM support in shmobile_defconfig Biju Das
2019-04-10 14:48   ` Biju Das
2019-04-12 12:16   ` Simon Horman
2019-04-12 12:16     ` Simon Horman
2019-04-10 14:48 ` [PATCH V5 08/13] ARM: dts: r8a77470: Add USB PHY DT support Biju Das
2019-04-12 12:18   ` Simon Horman
2019-04-30 13:00   ` Geert Uytterhoeven
2019-04-30 13:00     ` Geert Uytterhoeven
2019-04-10 14:48 ` [PATCH V5 09/13] ARM: dts: iwg23s-sbc: Enable USB Phy[01] Biju Das
2019-04-12 12:21   ` Simon Horman
2019-04-10 14:48 ` [PATCH V5 10/13] ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device Biju Das
2019-04-12 12:22   ` Simon Horman
2019-04-10 14:48 ` [PATCH V5 11/13] ARM: dts: iwg23s-sbc: Enable USB USB2.0 Host Biju Das
2019-04-10 14:48 ` [PATCH V5 12/13] ARM: dts: r8a77470: Add HSUSB device nodes Biju Das
2019-04-12 12:25   ` Simon Horman
2019-04-30 12:58   ` Geert Uytterhoeven
2019-04-30 12:58     ` Geert Uytterhoeven
2019-04-10 14:48 ` [PATCH V5 13/13] ARM: dts: iwg23s-sbc: Enable HS-USB Biju Das
2019-04-12 12:26   ` Simon Horman
2019-04-17  6:07 ` [PATCH V5 00/13] Add USB2.0 support Kishon Vijay Abraham I
2019-04-17  6:07   ` Kishon Vijay Abraham I

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.