From: Chris Brandt <chris.brandt@renesas.com> To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Simon Horman <horms@verge.net.au>, Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Chris Brandt <chris.brandt@renesas.com> Subject: [PATCH 03/10] phy: renesas: rcar-gen3-usb2: Check dr_mode when not using OTG Date: Mon, 6 May 2019 18:46:24 -0500 [thread overview] Message-ID: <20190506234631.113226-4-chris.brandt@renesas.com> (raw) In-Reply-To: <20190506234631.113226-1-chris.brandt@renesas.com> When not using OTG, the PHY will need to know if it should function as host or peripheral by checking dr_mode in the PHY node (not the parent controller node). Signed-off-by: Chris Brandt <chris.brandt@renesas.com> --- drivers/phy/renesas/phy-rcar-gen3-usb2.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c index 218b32e458cb..4eaa228ebd30 100644 --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c @@ -408,7 +408,12 @@ static int rcar_gen3_phy_usb2_init(struct phy *p) if (rcar_gen3_needs_init_otg(channel)) rcar_gen3_init_otg(channel); rphy->otg_initialized = true; - } + } else + /* Not OTG, so dr_mode should be set in PHY node */ + if (usb_get_dr_mode(channel->dev) == USB_DR_MODE_PERIPHERAL) + writel(0x80000000, usb2_base + USB2_COMMCTRL); + else + writel(0x00000000, usb2_base + USB2_COMMCTRL); rphy->initialized = true; @@ -638,6 +643,7 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev) if (of_property_read_bool(dev->of_node, "renesas,uses_usb_x1")) channel->uses_usb_x1 = true; + /* * devm_phy_create() will call pm_runtime_enable(&phy->dev); * And then, phy-core will manage runtime pm for this device. -- 2.16.1
WARNING: multiple messages have this Message-ID (diff)
From: Chris Brandt <chris.brandt@renesas.com> To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Simon Horman <horms@verge.net.au>, Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Cc: <linux-usb@vger.kernel.org>, <devicetree@vger.kernel.org>, <linux-renesas-soc@vger.kernel.org>, Chris Brandt <chris.brandt@renesas.com> Subject: [PATCH 03/10] phy: renesas: rcar-gen3-usb2: Check dr_mode when not using OTG Date: Mon, 6 May 2019 18:46:24 -0500 [thread overview] Message-ID: <20190506234631.113226-4-chris.brandt@renesas.com> (raw) In-Reply-To: <20190506234631.113226-1-chris.brandt@renesas.com> When not using OTG, the PHY will need to know if it should function as host or peripheral by checking dr_mode in the PHY node (not the parent controller node). Signed-off-by: Chris Brandt <chris.brandt@renesas.com> --- drivers/phy/renesas/phy-rcar-gen3-usb2.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c index 218b32e458cb..4eaa228ebd30 100644 --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c @@ -408,7 +408,12 @@ static int rcar_gen3_phy_usb2_init(struct phy *p) if (rcar_gen3_needs_init_otg(channel)) rcar_gen3_init_otg(channel); rphy->otg_initialized = true; - } + } else + /* Not OTG, so dr_mode should be set in PHY node */ + if (usb_get_dr_mode(channel->dev) == USB_DR_MODE_PERIPHERAL) + writel(0x80000000, usb2_base + USB2_COMMCTRL); + else + writel(0x00000000, usb2_base + USB2_COMMCTRL); rphy->initialized = true; @@ -638,6 +643,7 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev) if (of_property_read_bool(dev->of_node, "renesas,uses_usb_x1")) channel->uses_usb_x1 = true; + /* * devm_phy_create() will call pm_runtime_enable(&phy->dev); * And then, phy-core will manage runtime pm for this device. -- 2.16.1
next prev parent reply other threads:[~2019-05-06 23:46 UTC|newest] Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-05-06 23:46 [PATCH 00/10] usb: Add host and device support for RZ/A2 Chris Brandt 2019-05-06 23:46 ` Chris Brandt 2019-05-06 23:46 ` [PATCH 01/10] phy: renesas: rcar-gen3-usb2: Add uses_usb_x1 option Chris Brandt 2019-05-06 23:46 ` Chris Brandt 2019-05-07 8:01 ` Geert Uytterhoeven 2019-05-07 8:01 ` Geert Uytterhoeven 2019-05-07 11:00 ` Chris Brandt 2019-05-07 11:26 ` Geert Uytterhoeven 2019-05-07 11:26 ` Geert Uytterhoeven 2019-05-07 15:43 ` Chris Brandt 2019-05-07 16:32 ` Geert Uytterhoeven 2019-05-07 16:32 ` Geert Uytterhoeven 2019-05-07 20:27 ` Chris Brandt 2019-05-08 6:59 ` Geert Uytterhoeven 2019-05-08 6:59 ` Geert Uytterhoeven 2019-05-06 23:46 ` [PATCH 02/10] dt-bindings: rcar-gen3-phy-usb2: Document uses_usb_x1 Chris Brandt 2019-05-06 23:46 ` Chris Brandt 2019-05-07 1:05 ` Rob Herring 2019-05-07 1:05 ` Rob Herring 2019-05-07 1:17 ` Chris Brandt 2019-05-07 1:17 ` Chris Brandt 2019-05-07 8:37 ` Sergei Shtylyov 2019-05-06 23:46 ` Chris Brandt [this message] 2019-05-06 23:46 ` [PATCH 03/10] phy: renesas: rcar-gen3-usb2: Check dr_mode when not using OTG Chris Brandt 2019-05-07 8:40 ` Sergei Shtylyov 2019-05-07 11:26 ` Sergei Shtylyov 2019-05-07 11:45 ` Chris Brandt 2019-05-07 11:45 ` Chris Brandt 2019-05-07 14:28 ` Sergei Shtylyov 2019-05-07 14:28 ` Sergei Shtylyov 2019-05-07 14:43 ` Chris Brandt 2019-05-07 14:43 ` Chris Brandt 2019-05-09 7:14 ` Yoshihiro Shimoda 2019-05-09 7:14 ` Yoshihiro Shimoda 2019-05-06 23:46 ` [PATCH 04/10] dt-bindings: rcar-gen3-phy-usb2: Document dr_mode Chris Brandt 2019-05-06 23:46 ` Chris Brandt 2019-05-06 23:46 ` [PATCH 05/10] dt-bindings: rcar-gen3-phy-usb2: Add r7s9210 support Chris Brandt 2019-05-06 23:46 ` Chris Brandt 2019-05-06 23:46 ` [PATCH 06/10] usb: renesas_usbhs: Add support for RZ/A2 Chris Brandt 2019-05-06 23:46 ` Chris Brandt 2019-05-09 7:04 ` Yoshihiro Shimoda 2019-05-09 7:04 ` Yoshihiro Shimoda 2019-05-09 14:42 ` Chris Brandt 2019-05-09 14:42 ` Chris Brandt 2019-05-06 23:46 ` [PATCH 07/10] dt-bindings: usb: renesas_usbhs: Add support for r7s9210 Chris Brandt 2019-05-06 23:46 ` Chris Brandt 2019-05-06 23:46 ` [PATCH 08/10] ARM: dts: r7s9210: Add USB Host support Chris Brandt 2019-05-06 23:46 ` Chris Brandt 2019-05-08 9:44 ` Simon Horman 2019-05-06 23:46 ` [PATCH 09/10] ARM: dts: r7s9210: Add USB Device support Chris Brandt 2019-05-06 23:46 ` Chris Brandt 2019-05-07 8:44 ` Sergei Shtylyov 2019-05-07 11:05 ` Chris Brandt 2019-05-07 11:05 ` Chris Brandt 2019-05-08 9:43 ` Simon Horman 2019-05-08 9:45 ` Simon Horman 2019-05-06 23:46 ` [PATCH 10/10] ARM: dts: r7s9210-rza2mevb: Add USB host support Chris Brandt 2019-05-06 23:46 ` Chris Brandt 2019-05-08 9:42 ` Simon Horman 2019-05-08 12:48 ` Chris Brandt 2019-05-08 12:48 ` Chris Brandt 2019-05-07 9:17 ` [PATCH 00/10] usb: Add host and device support for RZ/A2 Yoshihiro Shimoda 2019-05-07 9:17 ` Yoshihiro Shimoda 2019-05-08 18:07 ` Chris Brandt 2019-05-08 18:07 ` Chris Brandt 2019-05-09 6:23 ` Yoshihiro Shimoda 2019-05-09 6:23 ` Yoshihiro Shimoda
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190506234631.113226-4-chris.brandt@renesas.com \ --to=chris.brandt@renesas.com \ --cc=devicetree@vger.kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=horms@verge.net.au \ --cc=linux-renesas-soc@vger.kernel.org \ --cc=linux-usb@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=robh+dt@kernel.org \ --cc=yoshihiro.shimoda.uh@renesas.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.