linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/8] phy: renesas: rcar-gen3-usb2: re-design for all R-Car Gen3 SoCs
@ 2018-09-21 11:53 Yoshihiro Shimoda
  2018-09-21 11:53 ` [PATCH 1/8] dt-bindings: rcar-gen3-phy-usb2: add no-otg-pins property Yoshihiro Shimoda
                   ` (7 more replies)
  0 siblings, 8 replies; 18+ messages in thread
From: Yoshihiro Shimoda @ 2018-09-21 11:53 UTC (permalink / raw)
  To: kishon, robh+dt, mark.rutland
  Cc: linux-kernel, devicetree, linux-renesas-soc, Yoshihiro Shimoda

This patch set is based on the linux-phy / next branch (the commit id is
53706a1168631fa5bf2e6d47de4647ea7e69f270).

Since all R-Car Gen3 SoCs have dedicated otg pins in fact,
the previous code was not good to handle it. So, this patch set
changes the design for all R-Car Gen3 SoCs.


Yoshihiro Shimoda (8):
  dt-bindings: rcar-gen3-phy-usb2: add no-otg-pins property
  phy: renesas: rcar-gen3-usb2: fix vbus_ctrl for role sysfs
  phy: renesas: rcar-gen3-usb2: Rename has_otg_pins to uses_otg_pins
  phy: renesas: rcar-gen3-usb2: Check a property to use otg pins
  phy: renesas: rcar-gen3-usb2: unify OBINTEN handling
  phy: renesas: rcar-gen3-usb2: change a condition "dr_mode"
  phy: renesas: rcar-gen3-usb2: add conditions for uses_otg_pins ==
    false
  phy: renesas: rcar-gen3-usb2: add is_otg_channel to use "role" sysfs

 .../devicetree/bindings/phy/rcar-gen3-phy-usb2.txt |  2 +
 drivers/phy/renesas/phy-rcar-gen3-usb2.c           | 80 +++++++++++++---------
 2 files changed, 48 insertions(+), 34 deletions(-)

-- 
1.9.1


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

* [PATCH 1/8] dt-bindings: rcar-gen3-phy-usb2: add no-otg-pins property
  2018-09-21 11:53 [PATCH 0/8] phy: renesas: rcar-gen3-usb2: re-design for all R-Car Gen3 SoCs Yoshihiro Shimoda
@ 2018-09-21 11:53 ` Yoshihiro Shimoda
  2018-09-25  7:31   ` Simon Horman
  2018-10-15 14:49   ` Rob Herring
  2018-09-21 11:53 ` [PATCH 2/8] phy: renesas: rcar-gen3-usb2: fix vbus_ctrl for role sysfs Yoshihiro Shimoda
                   ` (6 subsequent siblings)
  7 siblings, 2 replies; 18+ messages in thread
From: Yoshihiro Shimoda @ 2018-09-21 11:53 UTC (permalink / raw)
  To: kishon, robh+dt, mark.rutland
  Cc: linux-kernel, devicetree, linux-renesas-soc, Yoshihiro Shimoda

This patch adds a new optional property "renesas,no-otg-pins" which
a board does not provide proper otg pins.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt b/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt
index fb4a204..b90d692 100644
--- a/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt
+++ b/Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt
@@ -31,6 +31,8 @@ channel as USB OTG:
 - interrupts: interrupt specifier for the PHY.
 - vbus-supply: Phandle to a regulator that provides power to the VBUS. This
 	       regulator will be managed during the PHY power on/off sequence.
+- renesas,no-otg-pins: boolean, specify when a board does not provide proper
+		       otg pins.
 
 Example (R-Car H3):
 
-- 
1.9.1


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

* [PATCH 2/8] phy: renesas: rcar-gen3-usb2: fix vbus_ctrl for role sysfs
  2018-09-21 11:53 [PATCH 0/8] phy: renesas: rcar-gen3-usb2: re-design for all R-Car Gen3 SoCs Yoshihiro Shimoda
  2018-09-21 11:53 ` [PATCH 1/8] dt-bindings: rcar-gen3-phy-usb2: add no-otg-pins property Yoshihiro Shimoda
@ 2018-09-21 11:53 ` Yoshihiro Shimoda
  2018-09-25  7:30   ` Simon Horman
  2018-09-21 11:53 ` [PATCH 3/8] phy: renesas: rcar-gen3-usb2: Rename has_otg_pins to uses_otg_pins Yoshihiro Shimoda
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Yoshihiro Shimoda @ 2018-09-21 11:53 UTC (permalink / raw)
  To: kishon, robh+dt, mark.rutland
  Cc: linux-kernel, devicetree, linux-renesas-soc, Yoshihiro Shimoda

This patch fixes and issue that the vbus_ctrl is disabled by
rcar_gen3_init_from_a_peri_to_a_host(), so a usb host cannot
supply the vbus.

Note that this condition will exit when the otg irq happens
even if we don't apply this patch.

Fixes: 9bb86777fb71 ("phy: rcar-gen3-usb2: add sysfs for usb role swap")
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 drivers/phy/renesas/phy-rcar-gen3-usb2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
index 3d57ea1..a6db25c 100644
--- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
+++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
@@ -195,7 +195,7 @@ static void rcar_gen3_init_from_a_peri_to_a_host(struct rcar_gen3_chan *ch)
 	val = readl(usb2_base + USB2_OBINTEN);
 	writel(val & ~USB2_OBINT_BITS, usb2_base + USB2_OBINTEN);
 
-	rcar_gen3_enable_vbus_ctrl(ch, 0);
+	rcar_gen3_enable_vbus_ctrl(ch, 1);
 	rcar_gen3_init_for_host(ch);
 
 	writel(val | USB2_OBINT_BITS, usb2_base + USB2_OBINTEN);
-- 
1.9.1


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

* [PATCH 3/8] phy: renesas: rcar-gen3-usb2: Rename has_otg_pins to uses_otg_pins
  2018-09-21 11:53 [PATCH 0/8] phy: renesas: rcar-gen3-usb2: re-design for all R-Car Gen3 SoCs Yoshihiro Shimoda
  2018-09-21 11:53 ` [PATCH 1/8] dt-bindings: rcar-gen3-phy-usb2: add no-otg-pins property Yoshihiro Shimoda
  2018-09-21 11:53 ` [PATCH 2/8] phy: renesas: rcar-gen3-usb2: fix vbus_ctrl for role sysfs Yoshihiro Shimoda
@ 2018-09-21 11:53 ` Yoshihiro Shimoda
  2018-09-25  7:31   ` Simon Horman
  2018-09-21 11:53 ` [PATCH 4/8] phy: renesas: rcar-gen3-usb2: Check a property to use otg pins Yoshihiro Shimoda
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Yoshihiro Shimoda @ 2018-09-21 11:53 UTC (permalink / raw)
  To: kishon, robh+dt, mark.rutland
  Cc: linux-kernel, devicetree, linux-renesas-soc, Yoshihiro Shimoda

Since R-Car E3 and D3 have dedicated otg pins actually, "has_otg_pins"
is possible to misread in the future. So, this patch renames
has_otg_pins to uses_otg_pins.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 drivers/phy/renesas/phy-rcar-gen3-usb2.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
index a6db25c..d69317e 100644
--- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
+++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
@@ -87,7 +87,7 @@ struct rcar_gen3_chan {
 	struct regulator *vbus;
 	struct work_struct work;
 	bool extcon_host;
-	bool has_otg_pins;
+	bool uses_otg_pins;
 };
 
 static void rcar_gen3_phy_usb2_work(struct work_struct *work)
@@ -234,7 +234,7 @@ static ssize_t role_store(struct device *dev, struct device_attribute *attr,
 	bool is_b_device;
 	enum phy_mode cur_mode, new_mode;
 
-	if (!ch->has_otg_pins || !ch->phy->init_count)
+	if (!ch->uses_otg_pins || !ch->phy->init_count)
 		return -EIO;
 
 	if (!strncmp(buf, "host", strlen("host")))
@@ -272,7 +272,7 @@ static ssize_t role_show(struct device *dev, struct device_attribute *attr,
 {
 	struct rcar_gen3_chan *ch = dev_get_drvdata(dev);
 
-	if (!ch->has_otg_pins || !ch->phy->init_count)
+	if (!ch->uses_otg_pins || !ch->phy->init_count)
 		return -EIO;
 
 	return sprintf(buf, "%s\n", rcar_gen3_is_host(ch) ? "host" :
@@ -311,7 +311,7 @@ static int rcar_gen3_phy_usb2_init(struct phy *p)
 	writel(USB2_OC_TIMSET_INIT, usb2_base + USB2_OC_TIMSET);
 
 	/* Initialize otg part */
-	if (channel->has_otg_pins)
+	if (channel->uses_otg_pins)
 		rcar_gen3_init_otg(channel);
 
 	return 0;
@@ -445,7 +445,7 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
 	if (of_usb_get_dr_mode_by_phy(dev->of_node, 0) == USB_DR_MODE_OTG) {
 		int ret;
 
-		channel->has_otg_pins = (uintptr_t)of_device_get_match_data(dev);
+		channel->uses_otg_pins = (uintptr_t)of_device_get_match_data(dev);
 		channel->extcon = devm_extcon_dev_allocate(dev,
 							rcar_gen3_phy_cable);
 		if (IS_ERR(channel->extcon))
@@ -487,7 +487,7 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
 		dev_err(dev, "Failed to register PHY provider\n");
 		ret = PTR_ERR(provider);
 		goto error;
-	} else if (channel->has_otg_pins) {
+	} else if (channel->uses_otg_pins) {
 		int ret;
 
 		ret = device_create_file(dev, &dev_attr_role);
@@ -507,7 +507,7 @@ static int rcar_gen3_phy_usb2_remove(struct platform_device *pdev)
 {
 	struct rcar_gen3_chan *channel = platform_get_drvdata(pdev);
 
-	if (channel->has_otg_pins)
+	if (channel->uses_otg_pins)
 		device_remove_file(&pdev->dev, &dev_attr_role);
 
 	pm_runtime_disable(&pdev->dev);
-- 
1.9.1


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

* [PATCH 4/8] phy: renesas: rcar-gen3-usb2: Check a property to use otg pins
  2018-09-21 11:53 [PATCH 0/8] phy: renesas: rcar-gen3-usb2: re-design for all R-Car Gen3 SoCs Yoshihiro Shimoda
                   ` (2 preceding siblings ...)
  2018-09-21 11:53 ` [PATCH 3/8] phy: renesas: rcar-gen3-usb2: Rename has_otg_pins to uses_otg_pins Yoshihiro Shimoda
@ 2018-09-21 11:53 ` Yoshihiro Shimoda
  2018-09-25  7:25   ` Simon Horman
  2018-09-21 11:53 ` [PATCH 5/8] phy: renesas: rcar-gen3-usb2: unify OBINTEN handling Yoshihiro Shimoda
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Yoshihiro Shimoda @ 2018-09-21 11:53 UTC (permalink / raw)
  To: kishon, robh+dt, mark.rutland
  Cc: linux-kernel, devicetree, linux-renesas-soc, Yoshihiro Shimoda

Since All R-Car Gen3 SoCs have dedicated otg pins actually but
some boards don't use the otg pins (e.g. R-Car D3 Draak and R-Car E3
Ebisu), the driver should not choose SoC model base by using
rcar_gen3_phy_usb2_match_table's data. So, this patch checks a
"renesas,no-otg-pins" property to set the "uses_otg_pins".

Note that since r8a77995-draak.dts and r8a77990-ebisu.dts don't have
'dr_mode = "otg";' for now, if we apply this patch, no behavior
changes (the value of "uses_otg_pins" is false).

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 drivers/phy/renesas/phy-rcar-gen3-usb2.c | 24 ++++++------------------
 1 file changed, 6 insertions(+), 18 deletions(-)

diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
index d69317e..856056e 100644
--- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
+++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
@@ -78,8 +78,6 @@
 #define USB2_ADPCTRL_IDPULLUP		BIT(5)	/* 1 = ID sampling is enabled */
 #define USB2_ADPCTRL_DRVVBUS		BIT(4)
 
-#define RCAR_GEN3_PHY_HAS_DEDICATED_PINS	1
-
 struct rcar_gen3_chan {
 	void __iomem *base;
 	struct extcon_dev *extcon;
@@ -385,21 +383,10 @@ 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",
-		.data = (void *)RCAR_GEN3_PHY_HAS_DEDICATED_PINS,
-	},
-	{
-		.compatible = "renesas,usb2-phy-r8a7796",
-		.data = (void *)RCAR_GEN3_PHY_HAS_DEDICATED_PINS,
-	},
-	{
-		.compatible = "renesas,usb2-phy-r8a77965",
-		.data = (void *)RCAR_GEN3_PHY_HAS_DEDICATED_PINS,
-	},
-	{
-		.compatible = "renesas,rcar-gen3-usb2-phy",
-	},
+	{ .compatible = "renesas,usb2-phy-r8a7795" },
+	{ .compatible = "renesas,usb2-phy-r8a7796" },
+	{ .compatible = "renesas,usb2-phy-r8a77965" },
+	{ .compatible = "renesas,rcar-gen3-usb2-phy" },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, rcar_gen3_phy_usb2_match_table);
@@ -445,7 +432,8 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
 	if (of_usb_get_dr_mode_by_phy(dev->of_node, 0) == USB_DR_MODE_OTG) {
 		int ret;
 
-		channel->uses_otg_pins = (uintptr_t)of_device_get_match_data(dev);
+		channel->uses_otg_pins = !of_property_read_bool(dev->of_node,
+							"renesas,no-otg-pins");
 		channel->extcon = devm_extcon_dev_allocate(dev,
 							rcar_gen3_phy_cable);
 		if (IS_ERR(channel->extcon))
-- 
1.9.1


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

* [PATCH 5/8] phy: renesas: rcar-gen3-usb2: unify OBINTEN handling
  2018-09-21 11:53 [PATCH 0/8] phy: renesas: rcar-gen3-usb2: re-design for all R-Car Gen3 SoCs Yoshihiro Shimoda
                   ` (3 preceding siblings ...)
  2018-09-21 11:53 ` [PATCH 4/8] phy: renesas: rcar-gen3-usb2: Check a property to use otg pins Yoshihiro Shimoda
@ 2018-09-21 11:53 ` Yoshihiro Shimoda
  2018-09-25  7:24   ` Simon Horman
  2018-09-21 11:53 ` [PATCH 6/8] phy: renesas: rcar-gen3-usb2: change a condition "dr_mode" Yoshihiro Shimoda
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Yoshihiro Shimoda @ 2018-09-21 11:53 UTC (permalink / raw)
  To: kishon, robh+dt, mark.rutland
  Cc: linux-kernel, devicetree, linux-renesas-soc, Yoshihiro Shimoda

This patch unifies the OBINTEN handling to clean-up the code.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 drivers/phy/renesas/phy-rcar-gen3-usb2.c | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
index 856056e..e7eaed9 100644
--- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
+++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
@@ -142,6 +142,18 @@ static void rcar_gen3_enable_vbus_ctrl(struct rcar_gen3_chan *ch, int vbus)
 	writel(val, usb2_base + USB2_ADPCTRL);
 }
 
+static void rcar_gen3_control_otg_irq(struct rcar_gen3_chan *ch, int enable)
+{
+	void __iomem *usb2_base = ch->base;
+	u32 val = readl(usb2_base + USB2_OBINTEN);
+
+	if (enable)
+		val |= USB2_OBINT_BITS;
+	else
+		val &= ~USB2_OBINT_BITS;
+	writel(val, usb2_base + USB2_OBINTEN);
+}
+
 static void rcar_gen3_init_for_host(struct rcar_gen3_chan *ch)
 {
 	rcar_gen3_set_linectrl(ch, 1, 1);
@@ -187,16 +199,12 @@ static void rcar_gen3_init_for_a_peri(struct rcar_gen3_chan *ch)
 
 static void rcar_gen3_init_from_a_peri_to_a_host(struct rcar_gen3_chan *ch)
 {
-	void __iomem *usb2_base = ch->base;
-	u32 val;
-
-	val = readl(usb2_base + USB2_OBINTEN);
-	writel(val & ~USB2_OBINT_BITS, usb2_base + USB2_OBINTEN);
+	rcar_gen3_control_otg_irq(ch, 0);
 
 	rcar_gen3_enable_vbus_ctrl(ch, 1);
 	rcar_gen3_init_for_host(ch);
 
-	writel(val | USB2_OBINT_BITS, usb2_base + USB2_OBINTEN);
+	rcar_gen3_control_otg_irq(ch, 1);
 }
 
 static bool rcar_gen3_check_id(struct rcar_gen3_chan *ch)
@@ -286,8 +294,7 @@ static void rcar_gen3_init_otg(struct rcar_gen3_chan *ch)
 	val = readl(usb2_base + USB2_VBCTRL);
 	writel(val | USB2_VBCTRL_DRVVBUSSEL, usb2_base + USB2_VBCTRL);
 	writel(USB2_OBINT_BITS, usb2_base + USB2_OBINTSTA);
-	val = readl(usb2_base + USB2_OBINTEN);
-	writel(val | USB2_OBINT_BITS, usb2_base + USB2_OBINTEN);
+	rcar_gen3_control_otg_irq(ch, 1);
 	val = readl(usb2_base + USB2_ADPCTRL);
 	writel(val | USB2_ADPCTRL_IDPULLUP, usb2_base + USB2_ADPCTRL);
 	val = readl(usb2_base + USB2_LINECTRL1);
-- 
1.9.1


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

* [PATCH 6/8] phy: renesas: rcar-gen3-usb2: change a condition "dr_mode"
  2018-09-21 11:53 [PATCH 0/8] phy: renesas: rcar-gen3-usb2: re-design for all R-Car Gen3 SoCs Yoshihiro Shimoda
                   ` (4 preceding siblings ...)
  2018-09-21 11:53 ` [PATCH 5/8] phy: renesas: rcar-gen3-usb2: unify OBINTEN handling Yoshihiro Shimoda
@ 2018-09-21 11:53 ` Yoshihiro Shimoda
  2018-09-25  7:31   ` Simon Horman
  2018-09-21 11:53 ` [PATCH 7/8] phy: renesas: rcar-gen3-usb2: add conditions for uses_otg_pins == false Yoshihiro Shimoda
  2018-09-21 11:53 ` [PATCH 8/8] phy: renesas: rcar-gen3-usb2: add is_otg_channel to use "role" sysfs Yoshihiro Shimoda
  7 siblings, 1 reply; 18+ messages in thread
From: Yoshihiro Shimoda @ 2018-09-21 11:53 UTC (permalink / raw)
  To: kishon, robh+dt, mark.rutland
  Cc: linux-kernel, devicetree, linux-renesas-soc, Yoshihiro Shimoda

This patch changes a condition about dr_mode. If a device node has
any dr_mode ("host", "peripheral" or "otg"), this driver allows to
set "is_otg_channel" to true. Also, this patch keeps the dr_mode
value for future use.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 drivers/phy/renesas/phy-rcar-gen3-usb2.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
index e7eaed9..93ab860 100644
--- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
+++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
@@ -84,6 +84,7 @@ struct rcar_gen3_chan {
 	struct phy *phy;
 	struct regulator *vbus;
 	struct work_struct work;
+	enum usb_dr_mode dr_mode;
 	bool extcon_host;
 	bool uses_otg_pins;
 };
@@ -436,7 +437,8 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
 			dev_err(dev, "No irq handler (%d)\n", irq);
 	}
 
-	if (of_usb_get_dr_mode_by_phy(dev->of_node, 0) == USB_DR_MODE_OTG) {
+	channel->dr_mode = of_usb_get_dr_mode_by_phy(dev->of_node, 0);
+	if (channel->dr_mode != USB_DR_MODE_UNKNOWN) {
 		int ret;
 
 		channel->uses_otg_pins = !of_property_read_bool(dev->of_node,
-- 
1.9.1


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

* [PATCH 7/8] phy: renesas: rcar-gen3-usb2: add conditions for uses_otg_pins == false
  2018-09-21 11:53 [PATCH 0/8] phy: renesas: rcar-gen3-usb2: re-design for all R-Car Gen3 SoCs Yoshihiro Shimoda
                   ` (5 preceding siblings ...)
  2018-09-21 11:53 ` [PATCH 6/8] phy: renesas: rcar-gen3-usb2: change a condition "dr_mode" Yoshihiro Shimoda
@ 2018-09-21 11:53 ` Yoshihiro Shimoda
  2018-09-25  7:30   ` Simon Horman
  2018-09-21 11:53 ` [PATCH 8/8] phy: renesas: rcar-gen3-usb2: add is_otg_channel to use "role" sysfs Yoshihiro Shimoda
  7 siblings, 1 reply; 18+ messages in thread
From: Yoshihiro Shimoda @ 2018-09-21 11:53 UTC (permalink / raw)
  To: kishon, robh+dt, mark.rutland
  Cc: linux-kernel, devicetree, linux-renesas-soc, Yoshihiro Shimoda

If uses_otg_pins is set to false, this driver 1) should disable otg
related interruptions, and 2) should not get ID pin signal, to avoid
unexpected behaviors. So, this patch adds conditions for it.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 drivers/phy/renesas/phy-rcar-gen3-usb2.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
index 93ab860..3f2efe5 100644
--- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
+++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
@@ -148,7 +148,7 @@ static void rcar_gen3_control_otg_irq(struct rcar_gen3_chan *ch, int enable)
 	void __iomem *usb2_base = ch->base;
 	u32 val = readl(usb2_base + USB2_OBINTEN);
 
-	if (enable)
+	if (ch->uses_otg_pins && enable)
 		val |= USB2_OBINT_BITS;
 	else
 		val &= ~USB2_OBINT_BITS;
@@ -210,6 +210,9 @@ static void rcar_gen3_init_from_a_peri_to_a_host(struct rcar_gen3_chan *ch)
 
 static bool rcar_gen3_check_id(struct rcar_gen3_chan *ch)
 {
+	if (!ch->uses_otg_pins)
+		return (ch->dr_mode == USB_DR_MODE_HOST) ? false : true;
+
 	return !!(readl(ch->base + USB2_ADPCTRL) & USB2_ADPCTRL_IDDIG);
 }
 
-- 
1.9.1


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

* [PATCH 8/8] phy: renesas: rcar-gen3-usb2: add is_otg_channel to use "role" sysfs
  2018-09-21 11:53 [PATCH 0/8] phy: renesas: rcar-gen3-usb2: re-design for all R-Car Gen3 SoCs Yoshihiro Shimoda
                   ` (6 preceding siblings ...)
  2018-09-21 11:53 ` [PATCH 7/8] phy: renesas: rcar-gen3-usb2: add conditions for uses_otg_pins == false Yoshihiro Shimoda
@ 2018-09-21 11:53 ` Yoshihiro Shimoda
  2018-09-25  7:31   ` Simon Horman
  7 siblings, 1 reply; 18+ messages in thread
From: Yoshihiro Shimoda @ 2018-09-21 11:53 UTC (permalink / raw)
  To: kishon, robh+dt, mark.rutland
  Cc: linux-kernel, devicetree, linux-renesas-soc, Yoshihiro Shimoda

Even if a board doesn't have otg pins connection, this hardware can
change the role by a register setting. So, this patch adds
"is_otg_channel" for it.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 drivers/phy/renesas/phy-rcar-gen3-usb2.c | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
index 3f2efe5..9903aef 100644
--- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
+++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
@@ -86,8 +86,19 @@ struct rcar_gen3_chan {
 	struct work_struct work;
 	enum usb_dr_mode dr_mode;
 	bool extcon_host;
+	bool is_otg_channel;
 	bool uses_otg_pins;
 };
+/*
+ * Combination about is_otg_channel and uses_otg_pins:
+ *
+ * Parameters				|| Behaviors
+ * is_otg_channel	| uses_otg_pins	|| irqs		| role sysfs
+ * ---------------------+---------------++--------------+------------
+ * true			| true		|| enabled	| enabled
+ * true                 | false		|| disabled	| enabled
+ * false                | any		|| disabled	| disabled
+ */
 
 static void rcar_gen3_phy_usb2_work(struct work_struct *work)
 {
@@ -244,7 +255,7 @@ static ssize_t role_store(struct device *dev, struct device_attribute *attr,
 	bool is_b_device;
 	enum phy_mode cur_mode, new_mode;
 
-	if (!ch->uses_otg_pins || !ch->phy->init_count)
+	if (!ch->is_otg_channel || !ch->phy->init_count)
 		return -EIO;
 
 	if (!strncmp(buf, "host", strlen("host")))
@@ -282,7 +293,7 @@ static ssize_t role_show(struct device *dev, struct device_attribute *attr,
 {
 	struct rcar_gen3_chan *ch = dev_get_drvdata(dev);
 
-	if (!ch->uses_otg_pins || !ch->phy->init_count)
+	if (!ch->is_otg_channel || !ch->phy->init_count)
 		return -EIO;
 
 	return sprintf(buf, "%s\n", rcar_gen3_is_host(ch) ? "host" :
@@ -320,7 +331,7 @@ static int rcar_gen3_phy_usb2_init(struct phy *p)
 	writel(USB2_OC_TIMSET_INIT, usb2_base + USB2_OC_TIMSET);
 
 	/* Initialize otg part */
-	if (channel->uses_otg_pins)
+	if (channel->is_otg_channel)
 		rcar_gen3_init_otg(channel);
 
 	return 0;
@@ -444,6 +455,7 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
 	if (channel->dr_mode != USB_DR_MODE_UNKNOWN) {
 		int ret;
 
+		channel->is_otg_channel = true;
 		channel->uses_otg_pins = !of_property_read_bool(dev->of_node,
 							"renesas,no-otg-pins");
 		channel->extcon = devm_extcon_dev_allocate(dev,
@@ -487,7 +499,7 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
 		dev_err(dev, "Failed to register PHY provider\n");
 		ret = PTR_ERR(provider);
 		goto error;
-	} else if (channel->uses_otg_pins) {
+	} else if (channel->is_otg_channel) {
 		int ret;
 
 		ret = device_create_file(dev, &dev_attr_role);
@@ -507,7 +519,7 @@ static int rcar_gen3_phy_usb2_remove(struct platform_device *pdev)
 {
 	struct rcar_gen3_chan *channel = platform_get_drvdata(pdev);
 
-	if (channel->uses_otg_pins)
+	if (channel->is_otg_channel)
 		device_remove_file(&pdev->dev, &dev_attr_role);
 
 	pm_runtime_disable(&pdev->dev);
-- 
1.9.1


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

* Re: [PATCH 5/8] phy: renesas: rcar-gen3-usb2: unify OBINTEN handling
  2018-09-21 11:53 ` [PATCH 5/8] phy: renesas: rcar-gen3-usb2: unify OBINTEN handling Yoshihiro Shimoda
@ 2018-09-25  7:24   ` Simon Horman
  0 siblings, 0 replies; 18+ messages in thread
From: Simon Horman @ 2018-09-25  7:24 UTC (permalink / raw)
  To: Yoshihiro Shimoda
  Cc: kishon, robh+dt, mark.rutland, linux-kernel, devicetree,
	linux-renesas-soc

On Fri, Sep 21, 2018 at 08:53:21PM +0900, Yoshihiro Shimoda wrote:
> This patch unifies the OBINTEN handling to clean-up the code.
> 
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

The nit below notwithstanding.

Reviewed-by: Simon Horman <horms+renesas@verge.net.au>

> ---
>  drivers/phy/renesas/phy-rcar-gen3-usb2.c | 23 +++++++++++++++--------
>  1 file changed, 15 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> index 856056e..e7eaed9 100644
> --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> @@ -142,6 +142,18 @@ static void rcar_gen3_enable_vbus_ctrl(struct rcar_gen3_chan *ch, int vbus)
>  	writel(val, usb2_base + USB2_ADPCTRL);
>  }
>  
> +static void rcar_gen3_control_otg_irq(struct rcar_gen3_chan *ch, int enable)
> +{

nit: Perhaps bool would be a better type for the enable parameter.

> +	void __iomem *usb2_base = ch->base;
> +	u32 val = readl(usb2_base + USB2_OBINTEN);
> +
> +	if (enable)
> +		val |= USB2_OBINT_BITS;
> +	else
> +		val &= ~USB2_OBINT_BITS;
> +	writel(val, usb2_base + USB2_OBINTEN);
> +}
> +
>  static void rcar_gen3_init_for_host(struct rcar_gen3_chan *ch)
>  {
>  	rcar_gen3_set_linectrl(ch, 1, 1);
> @@ -187,16 +199,12 @@ static void rcar_gen3_init_for_a_peri(struct rcar_gen3_chan *ch)
>  
>  static void rcar_gen3_init_from_a_peri_to_a_host(struct rcar_gen3_chan *ch)
>  {
> -	void __iomem *usb2_base = ch->base;
> -	u32 val;
> -
> -	val = readl(usb2_base + USB2_OBINTEN);
> -	writel(val & ~USB2_OBINT_BITS, usb2_base + USB2_OBINTEN);
> +	rcar_gen3_control_otg_irq(ch, 0);
>  
>  	rcar_gen3_enable_vbus_ctrl(ch, 1);
>  	rcar_gen3_init_for_host(ch);
>  
> -	writel(val | USB2_OBINT_BITS, usb2_base + USB2_OBINTEN);
> +	rcar_gen3_control_otg_irq(ch, 1);
>  }
>  
>  static bool rcar_gen3_check_id(struct rcar_gen3_chan *ch)
> @@ -286,8 +294,7 @@ static void rcar_gen3_init_otg(struct rcar_gen3_chan *ch)
>  	val = readl(usb2_base + USB2_VBCTRL);
>  	writel(val | USB2_VBCTRL_DRVVBUSSEL, usb2_base + USB2_VBCTRL);
>  	writel(USB2_OBINT_BITS, usb2_base + USB2_OBINTSTA);
> -	val = readl(usb2_base + USB2_OBINTEN);
> -	writel(val | USB2_OBINT_BITS, usb2_base + USB2_OBINTEN);
> +	rcar_gen3_control_otg_irq(ch, 1);
>  	val = readl(usb2_base + USB2_ADPCTRL);
>  	writel(val | USB2_ADPCTRL_IDPULLUP, usb2_base + USB2_ADPCTRL);
>  	val = readl(usb2_base + USB2_LINECTRL1);
> -- 
> 1.9.1
> 

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

* Re: [PATCH 4/8] phy: renesas: rcar-gen3-usb2: Check a property to use otg pins
  2018-09-21 11:53 ` [PATCH 4/8] phy: renesas: rcar-gen3-usb2: Check a property to use otg pins Yoshihiro Shimoda
@ 2018-09-25  7:25   ` Simon Horman
  0 siblings, 0 replies; 18+ messages in thread
From: Simon Horman @ 2018-09-25  7:25 UTC (permalink / raw)
  To: Yoshihiro Shimoda
  Cc: kishon, robh+dt, mark.rutland, linux-kernel, devicetree,
	linux-renesas-soc

On Fri, Sep 21, 2018 at 08:53:20PM +0900, Yoshihiro Shimoda wrote:
> Since All R-Car Gen3 SoCs have dedicated otg pins actually but
> some boards don't use the otg pins (e.g. R-Car D3 Draak and R-Car E3
> Ebisu), the driver should not choose SoC model base by using
> rcar_gen3_phy_usb2_match_table's data. So, this patch checks a
> "renesas,no-otg-pins" property to set the "uses_otg_pins".
> 
> Note that since r8a77995-draak.dts and r8a77990-ebisu.dts don't have
> 'dr_mode = "otg";' for now, if we apply this patch, no behavior
> changes (the value of "uses_otg_pins" is false).
> 
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

Reviewed-by: Simon Horman <horms+renesas@verge.net.au>

> ---
>  drivers/phy/renesas/phy-rcar-gen3-usb2.c | 24 ++++++------------------
>  1 file changed, 6 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> index d69317e..856056e 100644
> --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> @@ -78,8 +78,6 @@
>  #define USB2_ADPCTRL_IDPULLUP		BIT(5)	/* 1 = ID sampling is enabled */
>  #define USB2_ADPCTRL_DRVVBUS		BIT(4)
>  
> -#define RCAR_GEN3_PHY_HAS_DEDICATED_PINS	1
> -
>  struct rcar_gen3_chan {
>  	void __iomem *base;
>  	struct extcon_dev *extcon;
> @@ -385,21 +383,10 @@ 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",
> -		.data = (void *)RCAR_GEN3_PHY_HAS_DEDICATED_PINS,
> -	},
> -	{
> -		.compatible = "renesas,usb2-phy-r8a7796",
> -		.data = (void *)RCAR_GEN3_PHY_HAS_DEDICATED_PINS,
> -	},
> -	{
> -		.compatible = "renesas,usb2-phy-r8a77965",
> -		.data = (void *)RCAR_GEN3_PHY_HAS_DEDICATED_PINS,
> -	},
> -	{
> -		.compatible = "renesas,rcar-gen3-usb2-phy",
> -	},
> +	{ .compatible = "renesas,usb2-phy-r8a7795" },
> +	{ .compatible = "renesas,usb2-phy-r8a7796" },
> +	{ .compatible = "renesas,usb2-phy-r8a77965" },
> +	{ .compatible = "renesas,rcar-gen3-usb2-phy" },
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(of, rcar_gen3_phy_usb2_match_table);
> @@ -445,7 +432,8 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev)
>  	if (of_usb_get_dr_mode_by_phy(dev->of_node, 0) == USB_DR_MODE_OTG) {
>  		int ret;
>  
> -		channel->uses_otg_pins = (uintptr_t)of_device_get_match_data(dev);
> +		channel->uses_otg_pins = !of_property_read_bool(dev->of_node,
> +							"renesas,no-otg-pins");
>  		channel->extcon = devm_extcon_dev_allocate(dev,
>  							rcar_gen3_phy_cable);
>  		if (IS_ERR(channel->extcon))
> -- 
> 1.9.1
> 

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

* Re: [PATCH 2/8] phy: renesas: rcar-gen3-usb2: fix vbus_ctrl for role sysfs
  2018-09-21 11:53 ` [PATCH 2/8] phy: renesas: rcar-gen3-usb2: fix vbus_ctrl for role sysfs Yoshihiro Shimoda
@ 2018-09-25  7:30   ` Simon Horman
  0 siblings, 0 replies; 18+ messages in thread
From: Simon Horman @ 2018-09-25  7:30 UTC (permalink / raw)
  To: Yoshihiro Shimoda
  Cc: kishon, robh+dt, mark.rutland, linux-kernel, devicetree,
	linux-renesas-soc

On Fri, Sep 21, 2018 at 08:53:18PM +0900, Yoshihiro Shimoda wrote:
> This patch fixes and issue that the vbus_ctrl is disabled by
> rcar_gen3_init_from_a_peri_to_a_host(), so a usb host cannot
> supply the vbus.
> 
> Note that this condition will exit when the otg irq happens
> even if we don't apply this patch.
> 
> Fixes: 9bb86777fb71 ("phy: rcar-gen3-usb2: add sysfs for usb role swap")
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

Reviewed-by: Simon Horman <horms+renesas@verge.net.au>


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

* Re: [PATCH 7/8] phy: renesas: rcar-gen3-usb2: add conditions for uses_otg_pins == false
  2018-09-21 11:53 ` [PATCH 7/8] phy: renesas: rcar-gen3-usb2: add conditions for uses_otg_pins == false Yoshihiro Shimoda
@ 2018-09-25  7:30   ` Simon Horman
  0 siblings, 0 replies; 18+ messages in thread
From: Simon Horman @ 2018-09-25  7:30 UTC (permalink / raw)
  To: Yoshihiro Shimoda
  Cc: kishon, robh+dt, mark.rutland, linux-kernel, devicetree,
	linux-renesas-soc

On Fri, Sep 21, 2018 at 08:53:23PM +0900, Yoshihiro Shimoda wrote:
> If uses_otg_pins is set to false, this driver 1) should disable otg
> related interruptions, and 2) should not get ID pin signal, to avoid
> unexpected behaviors. So, this patch adds conditions for it.
> 
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

Reviewed-by: Simon Horman <horms+renesas@verge.net.au>


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

* Re: [PATCH 8/8] phy: renesas: rcar-gen3-usb2: add is_otg_channel to use "role" sysfs
  2018-09-21 11:53 ` [PATCH 8/8] phy: renesas: rcar-gen3-usb2: add is_otg_channel to use "role" sysfs Yoshihiro Shimoda
@ 2018-09-25  7:31   ` Simon Horman
  0 siblings, 0 replies; 18+ messages in thread
From: Simon Horman @ 2018-09-25  7:31 UTC (permalink / raw)
  To: Yoshihiro Shimoda
  Cc: kishon, robh+dt, mark.rutland, linux-kernel, devicetree,
	linux-renesas-soc

On Fri, Sep 21, 2018 at 08:53:24PM +0900, Yoshihiro Shimoda wrote:
> Even if a board doesn't have otg pins connection, this hardware can
> change the role by a register setting. So, this patch adds
> "is_otg_channel" for it.
> 
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

Reviewed-by: Simon Horman <horms+renesas@verge.net.au>


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

* Re: [PATCH 6/8] phy: renesas: rcar-gen3-usb2: change a condition "dr_mode"
  2018-09-21 11:53 ` [PATCH 6/8] phy: renesas: rcar-gen3-usb2: change a condition "dr_mode" Yoshihiro Shimoda
@ 2018-09-25  7:31   ` Simon Horman
  0 siblings, 0 replies; 18+ messages in thread
From: Simon Horman @ 2018-09-25  7:31 UTC (permalink / raw)
  To: Yoshihiro Shimoda
  Cc: kishon, robh+dt, mark.rutland, linux-kernel, devicetree,
	linux-renesas-soc

On Fri, Sep 21, 2018 at 08:53:22PM +0900, Yoshihiro Shimoda wrote:
> This patch changes a condition about dr_mode. If a device node has
> any dr_mode ("host", "peripheral" or "otg"), this driver allows to
> set "is_otg_channel" to true. Also, this patch keeps the dr_mode
> value for future use.
> 
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

Reviewed-by: Simon Horman <horms+renesas@verge.net.au>


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

* Re: [PATCH 3/8] phy: renesas: rcar-gen3-usb2: Rename has_otg_pins to uses_otg_pins
  2018-09-21 11:53 ` [PATCH 3/8] phy: renesas: rcar-gen3-usb2: Rename has_otg_pins to uses_otg_pins Yoshihiro Shimoda
@ 2018-09-25  7:31   ` Simon Horman
  0 siblings, 0 replies; 18+ messages in thread
From: Simon Horman @ 2018-09-25  7:31 UTC (permalink / raw)
  To: Yoshihiro Shimoda
  Cc: kishon, robh+dt, mark.rutland, linux-kernel, devicetree,
	linux-renesas-soc

On Fri, Sep 21, 2018 at 08:53:19PM +0900, Yoshihiro Shimoda wrote:
> Since R-Car E3 and D3 have dedicated otg pins actually, "has_otg_pins"
> is possible to misread in the future. So, this patch renames
> has_otg_pins to uses_otg_pins.
> 
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

Reviewed-by: Simon Horman <horms+renesas@verge.net.au>


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

* Re: [PATCH 1/8] dt-bindings: rcar-gen3-phy-usb2: add no-otg-pins property
  2018-09-21 11:53 ` [PATCH 1/8] dt-bindings: rcar-gen3-phy-usb2: add no-otg-pins property Yoshihiro Shimoda
@ 2018-09-25  7:31   ` Simon Horman
  2018-10-15 14:49   ` Rob Herring
  1 sibling, 0 replies; 18+ messages in thread
From: Simon Horman @ 2018-09-25  7:31 UTC (permalink / raw)
  To: Yoshihiro Shimoda
  Cc: kishon, robh+dt, mark.rutland, linux-kernel, devicetree,
	linux-renesas-soc

On Fri, Sep 21, 2018 at 08:53:17PM +0900, Yoshihiro Shimoda wrote:
> This patch adds a new optional property "renesas,no-otg-pins" which
> a board does not provide proper otg pins.
> 
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

Reviewed-by: Simon Horman <horms+renesas@verge.net.au>


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

* Re: [PATCH 1/8] dt-bindings: rcar-gen3-phy-usb2: add no-otg-pins property
  2018-09-21 11:53 ` [PATCH 1/8] dt-bindings: rcar-gen3-phy-usb2: add no-otg-pins property Yoshihiro Shimoda
  2018-09-25  7:31   ` Simon Horman
@ 2018-10-15 14:49   ` Rob Herring
  1 sibling, 0 replies; 18+ messages in thread
From: Rob Herring @ 2018-10-15 14:49 UTC (permalink / raw)
  To: Yoshihiro Shimoda
  Cc: kishon, robh+dt, mark.rutland, linux-kernel, devicetree,
	linux-renesas-soc, Yoshihiro Shimoda

On Fri, 21 Sep 2018 20:53:17 +0900, Yoshihiro Shimoda wrote:
> This patch adds a new optional property "renesas,no-otg-pins" which
> a board does not provide proper otg pins.
> 
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> ---
>  Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt | 2 ++
>  1 file changed, 2 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

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

end of thread, other threads:[~2018-10-15 14:49 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-21 11:53 [PATCH 0/8] phy: renesas: rcar-gen3-usb2: re-design for all R-Car Gen3 SoCs Yoshihiro Shimoda
2018-09-21 11:53 ` [PATCH 1/8] dt-bindings: rcar-gen3-phy-usb2: add no-otg-pins property Yoshihiro Shimoda
2018-09-25  7:31   ` Simon Horman
2018-10-15 14:49   ` Rob Herring
2018-09-21 11:53 ` [PATCH 2/8] phy: renesas: rcar-gen3-usb2: fix vbus_ctrl for role sysfs Yoshihiro Shimoda
2018-09-25  7:30   ` Simon Horman
2018-09-21 11:53 ` [PATCH 3/8] phy: renesas: rcar-gen3-usb2: Rename has_otg_pins to uses_otg_pins Yoshihiro Shimoda
2018-09-25  7:31   ` Simon Horman
2018-09-21 11:53 ` [PATCH 4/8] phy: renesas: rcar-gen3-usb2: Check a property to use otg pins Yoshihiro Shimoda
2018-09-25  7:25   ` Simon Horman
2018-09-21 11:53 ` [PATCH 5/8] phy: renesas: rcar-gen3-usb2: unify OBINTEN handling Yoshihiro Shimoda
2018-09-25  7:24   ` Simon Horman
2018-09-21 11:53 ` [PATCH 6/8] phy: renesas: rcar-gen3-usb2: change a condition "dr_mode" Yoshihiro Shimoda
2018-09-25  7:31   ` Simon Horman
2018-09-21 11:53 ` [PATCH 7/8] phy: renesas: rcar-gen3-usb2: add conditions for uses_otg_pins == false Yoshihiro Shimoda
2018-09-25  7:30   ` Simon Horman
2018-09-21 11:53 ` [PATCH 8/8] phy: renesas: rcar-gen3-usb2: add is_otg_channel to use "role" sysfs Yoshihiro Shimoda
2018-09-25  7:31   ` Simon Horman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).