devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Icenowy Zheng <icenowy-h8G6r0blFSE@public.gmane.org>
To: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Maxime Ripard
	<maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org>,
	Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>,
	Kishon Vijay Abraham I <kishon-l0cyMroinI0@public.gmane.org>
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
	Icenowy Zheng <icenowy-h8G6r0blFSE@public.gmane.org>
Subject: [PATCH v2 1/9] phy: sun4i-usb: add support for missing USB PHY index
Date: Fri,  6 Jul 2018 23:37:57 +0800	[thread overview]
Message-ID: <20180706153805.25842-2-icenowy@aosc.io> (raw)
In-Reply-To: <20180706153805.25842-1-icenowy-h8G6r0blFSE@public.gmane.org>

The new Allwinner H6 SoC's USB2 PHY has two holes -- USB1 (which is a
3.0 port with dedicated PHY) and USB2 (which doesn't exist at all).

Add support for this kind of missing USB PHY index.

Signed-off-by: Icenowy Zheng <icenowy-h8G6r0blFSE@public.gmane.org>
---
 drivers/phy/allwinner/phy-sun4i-usb.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c
index d4dcd39b8d76..881078ff73f6 100644
--- a/drivers/phy/allwinner/phy-sun4i-usb.c
+++ b/drivers/phy/allwinner/phy-sun4i-usb.c
@@ -126,6 +126,7 @@ struct sun4i_usb_phy_cfg {
 	bool dedicated_clocks;
 	bool enable_pmu_unk1;
 	bool phy0_dual_route;
+	int missing_phys;
 };
 
 struct sun4i_usb_phy_data {
@@ -646,6 +647,9 @@ static struct phy *sun4i_usb_phy_xlate(struct device *dev,
 	if (args->args[0] >= data->cfg->num_phys)
 		return ERR_PTR(-ENODEV);
 
+	if (data->cfg->missing_phys & BIT(args->args[0]))
+		return ERR_PTR(-ENODEV);
+
 	return data->phys[args->args[0]].phy;
 }
 
@@ -741,6 +745,9 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
 		struct sun4i_usb_phy *phy = data->phys + i;
 		char name[16];
 
+		if (data->cfg->missing_phys & BIT(i))
+			continue;
+
 		snprintf(name, sizeof(name), "usb%d_vbus", i);
 		phy->vbus = devm_regulator_get_optional(dev, name);
 		if (IS_ERR(phy->vbus)) {
-- 
2.17.1

  parent reply	other threads:[~2018-07-06 15:37 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-06 15:37 [PATCH v2 0/9] Allwinner H6 USB support Icenowy Zheng
     [not found] ` <20180706153805.25842-1-icenowy-h8G6r0blFSE@public.gmane.org>
2018-07-06 15:37   ` Icenowy Zheng [this message]
2018-07-06 15:37   ` [PATCH v2 2/9] phy: sun4i-usb: add support for H6 USB2 PHY Icenowy Zheng
2018-07-06 15:37   ` [PATCH v2 3/9] arm64: allwinner: dts: h6: add USB2-related device nodes Icenowy Zheng
     [not found]     ` <20180706153805.25842-4-icenowy-h8G6r0blFSE@public.gmane.org>
2018-07-07  3:31       ` Chen-Yu Tsai
     [not found]         ` <CAGb2v663fgFQTHGCMmKwuf4RyW59YSbhtyr5nLBRRxakkEfRzw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-07-07  3:33           ` Icenowy Zheng
2018-07-06 15:38   ` [PATCH v2 4/9] arm64: allwinner: dts: h6: add USB Vbus regulator Icenowy Zheng
2018-07-06 15:38   ` [PATCH v2 5/9] arm64: allwinner: dts: h6: enable USB2 on Pine H64 Icenowy Zheng
     [not found]     ` <20180706153805.25842-6-icenowy-h8G6r0blFSE@public.gmane.org>
2018-07-07  3:38       ` Chen-Yu Tsai
2018-07-06 15:38   ` [PATCH v2 6/9] dt-bindings: phy: add binding for Allwinner USB3 PHY Icenowy Zheng
     [not found]     ` <20180706153805.25842-7-icenowy-h8G6r0blFSE@public.gmane.org>
2018-07-11 16:13       ` Rob Herring
2018-07-11 16:19         ` Icenowy Zheng
     [not found]           ` <C01136F1-594C-4459-B9C6-6E0434855234-h8G6r0blFSE@public.gmane.org>
2018-07-11 17:39             ` Rob Herring
2018-07-06 15:38   ` [PATCH v2 7/9] phy: allwinner: add phy driver for USB3 PHY on Allwinner H6 SoC Icenowy Zheng
     [not found]     ` <20180706153805.25842-8-icenowy-h8G6r0blFSE@public.gmane.org>
2018-07-09  4:31       ` 'Kishon Vijay Abraham I' via linux-sunxi
     [not found]         ` <438f1123-a619-61d0-36cd-d65c1430435a-l0cyMroinI0@public.gmane.org>
2018-07-09  4:36           ` Chen-Yu Tsai
2018-07-09  4:40           ` Icenowy Zheng
2018-07-06 15:38   ` [PATCH v2 8/9] arm64: allwinner: dts: h6: add USB3 device nodes Icenowy Zheng
     [not found]     ` <20180706153805.25842-9-icenowy-h8G6r0blFSE@public.gmane.org>
2018-07-07  3:35       ` Chen-Yu Tsai
     [not found]         ` <CAGb2v67=FeGJ6PJLsru5ScXdTyLdCczQ7BNRmOnh-+4g7iCFqg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-07-07  3:37           ` Icenowy Zheng
2018-07-06 15:38   ` [PATCH v2 9/9] arm64: allwinner: dts: h6: enable USB3 port on Pine H64 Icenowy Zheng
2018-07-09  2:52   ` [PATCH v2 0/9] Allwinner H6 USB support Chen-Yu Tsai

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=20180706153805.25842-2-icenowy@aosc.io \
    --to=icenowy-h8g6r0blfse@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=kishon-l0cyMroinI0@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
    --cc=maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=wens-jdAy2FN1RRM@public.gmane.org \
    /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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).