From: Marek Vasut <marex@nabladev.com>
To: Vinod Koul <vkoul@kernel.org>
Cc: linux-usb@vger.kernel.org, fabrice.gasnier@foss.st.com,
Pankaj Dev <pankaj.dev@st.com>,
Rahul Kumar <rahul.kumar05@st.com>,
Christian Bruel <christian.bruel@foss.st.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
Conor Dooley <conor+dt@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Neil Armstrong <neil.armstrong@linaro.org>,
Rob Herring <robh@kernel.org>, Rosen Penev <rosenp@gmail.com>,
Thinh Nguyen <Thinh.Nguyen@synopsys.com>,
devicetree@vger.kernel.org, kernel@dh-electronics.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org,
linux-stm32@st-md-mailman.stormreply.com
Subject: Re: [PATCH v3 2/9] phy: stm32: Add support for ST STM32MP25 USB2-FEMTO PHY
Date: Thu, 27 Aug 2026 18:52:20 +0200 [thread overview]
Message-ID: <0825c182-7eba-47d7-9b1c-6979aac1dd96@nabladev.com> (raw)
In-Reply-To: <apBfHzD5TfryaEW0@vaman>
On 8/27/26 6:00 PM, Vinod Koul wrote:
[...]
>> +static int stm32_usb2phy_enable(struct stm32_usb2phy *phy_dev)
>> +{
>> + const struct stm32mp2_usb2phy_hw_data *phy_data = phy_dev->hw_data;
>> + unsigned int refsel;
>> + unsigned long rate;
>> + int ret;
>> +
>> + /* Check if a phy is already init or clkpll in use */
>> + if (atomic_inc_return(&phy_dev->en_refcnt) > 1)
>> + return 0;
>> +
>> + rate = clk_get_rate(phy_dev->phyref);
>> + if (rate == 19200000)
>> + refsel = 0;
>> + else if (rate == 20000000)
>> + refsel = 1;
>> + else if (rate == 24000000)
>> + refsel = 2;
>> + else
>> + return -EINVAL;
>
> Would a switch not be better here?
I think here it is a matter of taste, switch would use a few more lines,
so would a look up table. If you insist on a switch, I'll turn this into
a switch.
[...]
>> +static int stm32_usb2phy2_init(struct phy *phy)
>> +{
>> + struct stm32_usb2phy *phy_dev = phy_get_drvdata(phy);
>> + int ret;
>> +
>> + ret = stm32_usb2phy_enable(phy_dev);
>> + if (ret)
>> + return ret;
>> +
>> + if (phy_dev->mode != PHY_MODE_INVALID) {
>> + ret = stm32_usb2phy_set_mode(phy, phy_dev->mode, USB_ROLE_NONE);
>> + if (ret) {
>> + stm32_usb2phy_disable(phy_dev);
>> + return ret;
>> + }
>> + }
>
> so what is the diff b/w these two phys that we need to check invalid
> only here?
For this particular case -- One PHY is connected to host-only EHCI/OHCI
controller, so it does not do mode set. The other PHY is connected to
DWC3 DRD controller which can do either Host/Peripheral and does mode
set, but that can only be done if a valid mode is already configured.
Hence the conditional here.
[...]
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
next prev parent reply other threads:[~2026-08-27 17:01 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-22 7:46 [PATCH v3 0/9] arm64: dts: phy: st: usb: Add STM32MP2 USB support Marek Vasut
2026-08-22 7:46 ` [PATCH v3 1/9] dt-bindings: phy: Document ST STM32MP25 USB2-FEMTO PHY Marek Vasut
2026-08-22 7:55 ` sashiko-bot
2026-08-27 12:54 ` Krzysztof Kozlowski
2026-08-27 14:53 ` Marek Vasut
2026-08-27 21:33 ` Krzysztof Kozlowski
2026-08-27 23:14 ` Marek Vasut
2026-08-28 6:37 ` Krzysztof Kozlowski
2026-08-28 9:11 ` Krzysztof Kozlowski
2026-08-22 7:46 ` [PATCH v3 2/9] phy: stm32: Add support for " Marek Vasut
2026-08-22 7:58 ` sashiko-bot
2026-08-24 13:17 ` Fabrice Gasnier
2026-08-24 14:53 ` Marek Vasut
2026-08-27 16:00 ` Vinod Koul
2026-08-27 16:52 ` Marek Vasut [this message]
2026-08-22 7:46 ` [PATCH v3 3/9] dt-bindings: usb: generic-ehci: Document access-controllers property Marek Vasut
2026-08-28 9:13 ` Krzysztof Kozlowski
2026-08-22 7:46 ` [PATCH v3 4/9] dt-bindings: usb: generic-ohci: " Marek Vasut
2026-08-22 7:46 ` [PATCH v3 5/9] dt-bindings: usb: dwc3: Document ST STM32MP2 DWC3 xHCI USB controller Marek Vasut
2026-08-27 12:59 ` Krzysztof Kozlowski
2026-08-27 14:56 ` Marek Vasut
2026-08-22 7:46 ` [PATCH v3 6/9] usb: dwc3: dwc3-generic-plat: Add ST STM32MP2 DWC3 xHCI USB controller glue Marek Vasut
2026-08-22 7:56 ` sashiko-bot
2026-08-22 7:46 ` [PATCH v3 7/9] dt-bindings: arm: stm32: Switch st,stm32mp23/25-syscfg into simple-mfd Marek Vasut
2026-08-22 8:01 ` sashiko-bot
2026-08-27 13:07 ` Krzysztof Kozlowski
2026-08-27 15:04 ` Marek Vasut
2026-08-27 21:35 ` Krzysztof Kozlowski
2026-08-28 1:03 ` Marek Vasut
2026-08-22 7:46 ` [PATCH v3 8/9] arm64: dts: st: Add USB nodes on stm32mp231 Marek Vasut
2026-08-22 8:07 ` sashiko-bot
2026-08-24 13:18 ` Fabrice Gasnier
2026-08-24 14:39 ` Marek Vasut
2026-08-22 7:46 ` [PATCH v3 9/9] arm64: dts: st: Add USB nodes on stm32mp251 Marek Vasut
2026-08-24 13:19 ` Fabrice Gasnier
2026-08-24 14:39 ` Marek Vasut
2026-08-28 9:15 ` Krzysztof Kozlowski
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=0825c182-7eba-47d7-9b1c-6979aac1dd96@nabladev.com \
--to=marex@nabladev.com \
--cc=Thinh.Nguyen@synopsys.com \
--cc=alexandre.torgue@foss.st.com \
--cc=christian.bruel@foss.st.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=fabrice.gasnier@foss.st.com \
--cc=gregkh@linuxfoundation.org \
--cc=kernel@dh-electronics.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=linux-usb@vger.kernel.org \
--cc=mcoquelin.stm32@gmail.com \
--cc=neil.armstrong@linaro.org \
--cc=pankaj.dev@st.com \
--cc=rahul.kumar05@st.com \
--cc=robh@kernel.org \
--cc=rosenp@gmail.com \
--cc=vkoul@kernel.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