All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Rob Herring (Arm)" <robh@kernel.org>
Cc: mfd@lists.linux.dev, devicetree@vger.kernel.org,
	conor+dt@kernel.org, lee@kernel.org
Subject: Re: [PATCH 3/9] arm64: dts: marvell: Drop unused USB connector PHY supplies
Date: Thu, 12 Nov 2026 00:19:58 +0000	[thread overview]
Message-ID: <sashiko-outbox-209900@kernel.org> (raw)
In-Reply-To: <20261111-dtbs-marvell-v1-3-938788aff3ae@kernel.org>

Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [High] arm64: dts: marvell: broken USB VBUS power after dropping
  phy-supply
--

commit 79bdb6a1206b7da32a160f289517e10fea0f4702
Author: Rob Herring (Arm) <robh@kernel.org>

arm64: dts: marvell: Drop unused USB connector PHY supplies

This commit removes the phy-supply properties from the usb-a-connector child
nodes of the Marvell COMPHY lane nodes across six Armada 3720, 7040, and 8040
device trees.

> diff --git a/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts b/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
> index bd00e7df87c67..1ef4689d5f18e 100644
> --- a/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
> +++ b/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
> @@ -284,7 +284,6 @@ &usb2 {
>  &comphy2 {
>  	connector {
>  		compatible = "usb-a-connector";
> -		phy-supply = <&exp_usb3_vbus>;
>  	};
>  };
>  
> diff --git a/arch/arm64/boot/dts/marvell/armada-7040-db.dts b/arch/arm64/boot/dts/marvell/armada-7040-db.dts
> index 3add6506ff20e..f5a53fad66e67 100644
> --- a/arch/arm64/boot/dts/marvell/armada-7040-db.dts
> +++ b/arch/arm64/boot/dts/marvell/armada-7040-db.dts
> @@ -224,7 +224,6 @@ &cp0_utmi {
>  &cp0_comphy1 {
>  	cp0_usbh0_con: connector {
>  		compatible = "usb-a-connector";
> -		phy-supply = <&cp0_reg_usb3_0_vbus>;
>  	};
>  };
>  
> @@ -238,7 +237,6 @@ &cp0_usb3_0 {
>  &cp0_comphy4 {
>  	cp0_usbh1_con: connector {
>  		compatible = "usb-a-connector";
> -		phy-supply = <&cp0_reg_usb3_1_vbus>;
>  	};
>  };
>  
> diff --git a/arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dts b/arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dts
> index 90ae93274a160..4efa2a1dbda7c 100644
> --- a/arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dts
> +++ b/arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dts
> @@ -599,7 +599,6 @@ flash@0 {
>  &cp1_comphy2 {
>  	cp1_usbh0_con: connector {
>  		compatible = "usb-a-connector";
> -		phy-supply = <&v_5v0_usb3_hst_vbus>;
>  	};
>  };
>  
> diff --git a/arch/arm64/boot/dts/marvell/armada-8040-db.dts b/arch/arm64/boot/dts/marvell/armada-8040-db.dts
> index c7102f74d4d54..89e6f35f310dd 100644
> --- a/arch/arm64/boot/dts/marvell/armada-8040-db.dts
> +++ b/arch/arm64/boot/dts/marvell/armada-8040-db.dts
> @@ -170,7 +170,6 @@ &cp0_usb3_0 {
>  &cp0_comphy4 {
>  	cp0_usbh1_con: connector {
>  		compatible = "usb-a-connector";
> -		phy-supply = <&cp0_reg_usb3_1_vbus>;
>  	};
>  };
>  
> diff --git a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
> index f2d278d171eb1..006293931c782 100644
> --- a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
> +++ b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
> @@ -370,7 +370,6 @@ flash@0 {
>  &cp1_comphy2 {
>  	cp1_usbh0_con: connector {
>  		compatible = "usb-a-connector";
> -		phy-supply = <&v_5v0_usb3_hst_vbus>;
>  	};
>  };
>  
> diff --git a/arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dts b/arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dts
> index def25d51c4bf9..06a861f83ad87 100644
> --- a/arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dts
> +++ b/arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dts
> @@ -491,7 +491,6 @@ &cp1_uart0 {
>  &cp1_comphy2 {
>  	cp1_usbh0_con: connector {
>  		compatible = "usb-a-connector";
> -		phy-supply = <&v_5v0_usb3_hst_vbus>;
>  	};
>  };

[Severity: High]
Does dropping phy-supply here without moving the supply to the parent COMPHY
lane node (or vbus-supply on the connector) leave the USB3 VBUS regulators
disabled on these boards?

When mvebu_comphy_probe() and mvebu_a3700_comphy_probe() create a PHY for
each lane node, phy_create() calls regulator_get_optional(&phy->dev, "phy").
In of_get_regulator(), if phy-supply is not present on the lane node itself,
it falls back to searching child nodes:

drivers/regulator/of_regulator.c:of_get_regulator() {
	...
	snprintf(prop_name, 64, "%s-supply", supply);
	regnode = of_parse_phandle(node, prop_name, 0);
	if (regnode)
		return regnode;

	regnode = of_get_child_regulator(dev->of_node, prop_name);
	if (regnode)
		return regnode;
	...
}

Because of_get_child_regulator() finds phy-supply in the connector child
node, phy_power_on() currently enables these VBUS regulators when the xHCI
roothub powers on its PHYs. Removing phy-supply without moving it to the
parent lane node leaves cp0_reg_usb3_0_vbus, cp0_reg_usb3_1_vbus, and
v_5v0_usb3_hst_vbus (which are GPIO-controlled regulators without
regulator-always-on) with no consumer, so 5V VBUS power to the USB3 host
ports is never turned on.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261111-dtbs-marvell-v1-0-938788aff3ae@kernel.org?part=3

  reply	other threads:[~2026-11-12  0:19 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-11 22:42 [PATCH 0/9] arm64: dts: marvell: DT warning fixes Rob Herring (Arm)
2026-11-11 22:42 ` [PATCH 1/9] dt-bindings: mfd: Add Marvell AP806/CP110 system controller schema Rob Herring (Arm)
2026-11-12  0:21   ` sashiko-bot
2026-11-11 22:42 ` [PATCH 2/9] arm64: dts: marvell: Add AP806/CP110 syscon compatibles Rob Herring (Arm)
2026-11-12  0:21   ` sashiko-bot
2026-11-11 22:43 ` [PATCH 3/9] arm64: dts: marvell: Drop unused USB connector PHY supplies Rob Herring (Arm)
2026-11-12  0:19   ` sashiko-bot [this message]
2026-11-11 22:43 ` [PATCH 4/9] arm64: dts: marvell: Drop SPI max frequency Rob Herring (Arm)
2026-11-11 22:43 ` [PATCH 5/9] arm64: dts: marvell: Fix node names Rob Herring (Arm)
2026-11-12  0:21   ` sashiko-bot
2026-11-11 22:43 ` [PATCH 6/9] arm64: dts: marvell: Fix w25q32 compatible strings Rob Herring (Arm)
2026-11-11 22:43 ` [PATCH 7/9] arm64: dts: marvell: Drop unused USB 'phy-names' Rob Herring (Arm)
2026-11-11 22:43 ` [PATCH 8/9] arm64: dts: marvell: cn9131-cf-solidwan: Drop st,m41t80 reset-gpios Rob Herring (Arm)
2026-11-11 22:43 ` [PATCH 9/9] arm64: dts: marvell: armada-3720-gl-mv1000: Add switch fixed-link Rob Herring (Arm)
2026-11-12  0:17   ` sashiko-bot

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=sashiko-outbox-209900@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=lee@kernel.org \
    --cc=mfd@lists.linux.dev \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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 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.