Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
From: Qiang Yu <quic_qianyu@quicinc.com>
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
	Johan Hovold <johan@kernel.org>
Cc: Wenbin Yao <quic_wenbyao@quicinc.com>, <catalin.marinas@arm.com>,
	<will@kernel.org>, <linux-arm-kernel@lists.infradead.org>,
	<andersson@kernel.org>, <konradybcio@kernel.org>,
	<robh@kernel.org>, <krzk+dt@kernel.org>, <conor+dt@kernel.org>,
	<linux-arm-msm@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	<krishna.chundru@oss.qualcomm.com>, <quic_vbadigan@quicinc.com>,
	<quic_mrana@quicinc.com>, <quic_cang@quicinc.com>
Subject: Re: [PATCH v2 4/4] arm64: dts: qcom: x1e80100-qcp: Add qref supply for PCIe PHYs
Date: Wed, 30 Apr 2025 12:15:56 +0800	[thread overview]
Message-ID: <c4115bbc-e120-4a20-b6ad-a0d5266319d3@quicinc.com> (raw)
In-Reply-To: <17a1a4d9-fdc5-477a-bf4e-91cae5a62479@oss.qualcomm.com>


On 4/26/2025 6:48 PM, Konrad Dybcio wrote:
> On 4/25/25 2:02 PM, Johan Hovold wrote:
>> On Fri, Apr 25, 2025 at 12:03:06PM +0200, Konrad Dybcio wrote:
>>> On 4/25/25 11:51 AM, Johan Hovold wrote:
>>>> On Fri, Apr 25, 2025 at 05:29:55PM +0800, Wenbin Yao wrote:
>>>>> From: Qiang Yu <quic_qianyu@quicinc.com>
>>>>>
>>>>> All PCIe PHYs on X1E80100 require vdda-qref power supplies, but this is
>>>>> missing in the current PHY device tree node. The PCIe port can still
>>>>> function because the regulator L3J, which vdda-qref consumes, is voted by
>>>>> other components.
>>>>>
>>>>> Since the device tree should accurately describe the hardware, add the
>>>>> vdda-qref power supply explicitly in all PCIe PHY device nodes.
>>>> AFAIU the PHYs do not use this qref supply directly so it does not
>>>> belong in the PHY node (but possibly in the tcsr node that provides the
>>>> refclk).
>>>>
>>>> Since commit 031b46b4729b ("phy: qcom: qmp-pcie: drop bogus x1e80100
>>>> qref supplies") it also won't have any effect for pcie4 and pcie6.
>>> QREF is a separate hw block distributing the reference clocks across
>>> certain on-SoC peripherals
>>>
>>> If its power goes out, I don't think much of the platform would be
>>> functional anyway, so it's redundant here..
>>>
>>> It doesn't have its own single register region and it's frankly
>>> one-shot-configured way before Linux starts up, so there should be
>>> no need of describing it at all.
>> Then it sounds like the qref supplies should be marked as always-on. Can
>> they be disabled at all?
> The best answer I can say is "maybe". I would (without knowing any better)
> assume RPMh wouldn't let you turn them off. QREF predictably takes VDD_CX/MX
> and some additional lines
>
> Konrad
The vdda-qref power supply feeds the QREF clocks, which are consumed by 
PCIe, UFS, USB and display on X1e80100.
For PCIe, QREF clks are provided by the TCSR device with the following 
bindings on X1E80100:
#define TCSR_PCIE_2L_4_CLKREF_EN
#define TCSR_PCIE_2L_5_CLKREF_EN
#define TCSR_PCIE_8L_CLKREF_EN
#define TCSR_PCIE_4L_CLKREF_EN

These QREF clocks are not enabled all the time and are disabled during 
PHY deinit. Hence, vdda-qref should not be an always-on power supply. It 
should be turned off when the QREF clocks are disabled.

Describing vdda-qref in the PHY device tree node is reasonable, as it 
allows the vdda-qref power supply to be enabled or disabled along with 
the QREF clocks during PHY init/deinit.

-- 
With best wishes
Qiang Yu


  reply	other threads:[~2025-04-30  4:16 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-25  9:29 [PATCH v2 0/4] arm64: qcom: x1e80100-qcp: Add power supply and sideband signals for PCIe RC Wenbin Yao
2025-04-25  9:29 ` [PATCH v2 1/4] arm64: Kconfig: enable PCI Power Control Slot driver for QCOM Wenbin Yao
2025-04-25  9:47   ` Johan Hovold
2025-04-25  9:29 ` [PATCH v2 2/4] arm64: dts: qcom: x1e80100: add bus topology for PCIe domain 3 Wenbin Yao
2025-04-25 10:22   ` Konrad Dybcio
2025-04-25 11:55     ` Johan Hovold
2025-04-26 10:44       ` Konrad Dybcio
2025-04-28 11:16         ` Johan Hovold
2025-04-28 21:08           ` Konrad Dybcio
2025-04-25  9:29 ` [PATCH v2 3/4] arm64: dts: qcom: x1e80100-qcp: enable pcie3 x8 slot for X1E80100-QCP Wenbin Yao
2025-04-25 10:09   ` Konrad Dybcio
2025-04-25  9:29 ` [PATCH v2 4/4] arm64: dts: qcom: x1e80100-qcp: Add qref supply for PCIe PHYs Wenbin Yao
2025-04-25  9:51   ` Johan Hovold
2025-04-25 10:03     ` Konrad Dybcio
2025-04-25 12:02       ` Johan Hovold
2025-04-26 10:48         ` Konrad Dybcio
2025-04-30  4:15           ` Qiang Yu [this message]
2025-04-30  7:42             ` Konrad Dybcio
2025-04-30  7:43             ` Johan Hovold

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=c4115bbc-e120-4a20-b6ad-a0d5266319d3@quicinc.com \
    --to=quic_qianyu@quicinc.com \
    --cc=andersson@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=johan@kernel.org \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=konradybcio@kernel.org \
    --cc=krishna.chundru@oss.qualcomm.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=quic_cang@quicinc.com \
    --cc=quic_mrana@quicinc.com \
    --cc=quic_vbadigan@quicinc.com \
    --cc=quic_wenbyao@quicinc.com \
    --cc=robh@kernel.org \
    --cc=will@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