mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
To: Manivannan Sadhasivam <mani@kernel.org>
Cc: Qiang Yu <qiang.yu@oss.qualcomm.com>,
	Bjorn Andersson <andersson@kernel.org>,
	Pankaj Patil <pankaj.patil@oss.qualcomm.com>,
	Konrad Dybcio <konradybcio@kernel.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>,
	Jyothi Kumar Seerapu <jyothi.seerapu@oss.qualcomm.com>,
	Maulik Shah <maulik.shah@oss.qualcomm.com>,
	Sibi Sankar <sibi.sankar@oss.qualcomm.com>,
	Taniya Das <taniya.das@oss.qualcomm.com>,
	Kamal Wadhwa <kamal.wadhwa@oss.qualcomm.com>,
	Manaf Meethalavalappu Pallikunhi
	<manaf.pallikunhi@oss.qualcomm.com>,
	Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>,
	Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
	Abel Vesa <abelvesa@kernel.org>
Subject: Re: [PATCH v6 0/4] arm64: dts: qcom: Introduce Glymur SoC dtsi and Glymur CRD dts
Date: Fri, 30 Jan 2026 10:27:41 +0100	[thread overview]
Message-ID: <29353296-8e36-4e47-b32e-c45bd251a979@oss.qualcomm.com> (raw)
In-Reply-To: <bcbcpti6i2nxurmiqxvo2k42xem7zika3wef5zgnqypbhc2eu4@pcnu4y7vpj7p>

On 1/29/26 5:32 PM, Manivannan Sadhasivam wrote:
> On Thu, Jan 29, 2026 at 01:07:08PM +0100, Konrad Dybcio wrote:
>> On 1/29/26 1:05 PM, Qiang Yu wrote:
>>> On Wed, Jan 28, 2026 at 07:21:04PM -0600, Bjorn Andersson wrote:
>>>> On Thu, Jan 22, 2026 at 08:53:57PM +0530, Pankaj Patil wrote:
>>>>> Introduce dt-bindings and initial device tree support for Glymur,
>>>>> Qualcomm's next-generation compute SoC and it's associated
>>>>> Compute Reference Device (CRD) platform.
>>>>>
>>>>> https://www.qualcomm.com/products/mobile/snapdragon/laptops-and-tablets/snapdragon-x2-elite
>>>>> https://www.qualcomm.com/news/releases/2025/09/new-snapdragon-x2-elite-extreme-and-snapdragon-x2-elite-are-the-
>>>>>
>>>>> The base support enables booting to shell with rootfs on NVMe,
>>>>> demonstrating functionality for PCIe and NVMe subsystems.
>>>>> DCVS is also enabled, allowing dynamic frequency scaling for the CPUs.
>>>>> TSENS (Thermal Sensors) enabled for monitoring SoC temperature and
>>>>> thermal management. The platform is capable of booting kernel at EL2
>>>>> with kvm-unit tests performed on it for sanity.
>>>>>
>>>>> Added dtsi files for the PMIC's enabled PMH0101, PMK8850, PMCX0102,
>>>>> SMB2370, PMH0104, PMH0110 along with temp-alarm and GPIO nodeS.
>>>>>
>>>>> For CPU compatible naming, there is one discussion which is not specific
>>>>> to Glymur, Kaanapali and Glymur use the same Oryon cores.
>>>>> https://lore.kernel.org/all/20251119-oryon-binding-v1-1-f79a101b0391@oss.qualcomm.com/
>>>>> We've kept the "qcom,oryon" compatible
>>>>>
>>>>> Features enabled in this patchset:
>>>>> 1. NVMe storage support
>>>>> 2. PCIe controller and PCIe PHY
>>>>> 3. RPMH Regulators
>>>>> 4. Clocks and reset controllers - GCC, TCSRCC, DISPCC, RPMHCC
>>>>> 5. Interrupt controller
>>>>> 6. TLMM (Top-Level Mode Multiplexer)
>>>>> 7. QUP Block
>>>>> 8. Reserved memory regions
>>>>> 9. PMIC support with regulators
>>>>> 10. CPU Power Domains
>>>>> 11. TSENS (Thermal Sensors)
>>>>> 12. DCVS: CPU DCVS with scmi perf protocol
>>>>>
>>>>> Dependencies:
>>>>>
>>>>> dt-bindings:
>>>>> 1. https://lore.kernel.org/all/20260121-glymur-pmic-mfd-v1-1-2aab4f21e79c@oss.qualcomm.com/
>>>>> 2. https://lore.kernel.org/all/20251215-knp-pmic-leds-v3-2-5e583f68b0e5@oss.qualcomm.com/
>>>>> 3. https://lore.kernel.org/all/20260121110828.2267061-1-pankaj.patil@oss.qualcomm.com/
>>>>> 4. https://lore.kernel.org/all/20260111155234.5829-1-pankaj.patil@oss.qualcomm.com/
>>>>>
>>>>> Linux-next based tree with Glymur patches is available at:
>>>>> https://git.codelinaro.org/clo/linux-kernel/kernel-qcom/-/tree/b4/v6_glymur_introduction
>>>>>
>>>>
>>>> FWIW, I applied these patches onto next-20260128 to see if things has
>>>> improved since Rob's report and I get:
>>>>
>>>> $ make qcom/glymur-crd.dtb CHECK_DTBS=1
>>>>   DTC [C] arch/arm64/boot/dts/qcom/glymur-crd.dtb
>>>> qcom/glymur-crd.dtb: dma-controller@800000 (qcom,glymur-gpi-dma): interrupts: [[0, 588, 4], [0, 589, 4], [0, 590, 4], [0, 591, 4], [0, 592, 4], [0, 593, 4], [0, 594, 4], [0, 595, 4], [0, 596, 4], [0, 597, 4], [0, 598, 4], [0, 599, 4], [2, 129, 4], [2, 130, 4], [2, 131, 4], [2, 132, 4]] is too long
>>>>         from schema $id: http://devicetree.org/schemas/dma/qcom,gpi.yaml#
>>>> qcom/glymur-crd.dtb: dma-controller@a00000 (qcom,glymur-gpi-dma): interrupts: [[0, 279, 4], [0, 280, 4], [0, 281, 4], [0, 282, 4], [0, 283, 4], [0, 284, 4], [0, 293, 4], [0, 294, 4], [0, 295, 4], [0, 296, 4], [0, 297, 4], [0, 298, 4], [2, 124, 4], [2, 125, 4], [2, 126, 4], [2, 127, 4]] is too long
>>>>         from schema $id: http://devicetree.org/schemas/dma/qcom,gpi.yaml#
>>>> qcom/glymur-crd.dtb: dma-controller@b00000 (qcom,glymur-gpi-dma): interrupts: [[2, 76, 4], [2, 77, 4], [2, 78, 4], [2, 79, 4], [2, 80, 4], [2, 81, 4], [2, 82, 4], [2, 83, 4], [2, 84, 4], [2, 85, 4], [2, 86, 4], [2, 87, 4], [2, 88, 4], [2, 89, 4], [2, 90, 4], [2, 91, 4]] is too long
>>>>         from schema $id: http://devicetree.org/schemas/dma/qcom,gpi.yaml#
>>>> qcom/glymur-crd.dtb: pmic@1 (qcom,pmh0101): led-controller@ee00:compatible:0: 'qcom,pmh0101-flash-led' is not one of ['qcom,pm6150l-flash-led', 'qcom,pm660l-flash-led', 'qcom,pm7550-flash-led', 'qcom,pm8150c-flash-led', 'qcom,pm8150l-flash-led', 'qcom,pm8350c-flash-led', 'qcom,pm8550-flash-led', 'qcom,pmi8998-flash-led']
>>>>         from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml#
>>>> qcom/glymur-crd.dtb: pmic@1 (qcom,pmh0101): pwm:compatible: 'oneOf' conditional failed, one must be fixed:
>>>>         ['qcom,pmh0101-pwm', 'qcom,pm8350c-pwm'] is too long
>>>>         'qcom,pmh0101-pwm' is not one of ['qcom,pm660l-lpg', 'qcom,pm8150b-lpg', 'qcom,pm8150l-lpg', 'qcom,pm8350c-pwm', 'qcom,pm8916-pwm', 'qcom,pm8941-lpg', 'qcom,pm8994-lpg', 'qcom,pmc8180c-lpg', 'qcom,pmi632-lpg', 'qcom,pmi8950-pwm', 'qcom,pmi8994-lpg', 'qcom,pmi8998-lpg', 'qcom,pmk8550-pwm']
>>>>         'qcom,pmh0101-pwm' is not one of ['qcom,pm6150l-lpg']
>>>>         'qcom,pmh0101-pwm' is not one of ['qcom,pm8550-pwm']
>>>>         'qcom,pmh0101-pwm' is not one of ['qcom,pm8937-pwm']
>>>>         'qcom,pm8150l-lpg' was expected
>>>>         'qcom,pm8916-pwm' was expected
>>>>         from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml#
>>>> qcom/glymur-crd.dtb: led-controller@ee00 (qcom,pmh0101-flash-led): compatible:0: 'qcom,pmh0101-flash-led' is not one of ['qcom,pm6150l-flash-led', 'qcom,pm660l-flash-led', 'qcom,pm7550-flash-led', 'qcom,pm8150c-flash-led', 'qcom,pm8150l-flash-led', 'qcom,pm8350c-flash-led', 'qcom,pm8550-flash-led', 'qcom,pmi8998-flash-led']
>>>>         from schema $id: http://devicetree.org/schemas/leds/qcom,spmi-flash-led.yaml#
>>>> qcom/glymur-crd.dtb: /soc@0/arbiter@c400000/spmi@c426000/pmic@1/led-controller@ee00: failed to match any schema with compatible: ['qcom,pmh0101-flash-led', 'qcom,spmi-flash-led']
>>>> qcom/glymur-crd.dtb: pwm (qcom,pmh0101-pwm): compatible: 'oneOf' conditional failed, one must be fixed:
>>>>         ['qcom,pmh0101-pwm', 'qcom,pm8350c-pwm'] is too long
>>>>         'qcom,pmh0101-pwm' is not one of ['qcom,pm660l-lpg', 'qcom,pm8150b-lpg', 'qcom,pm8150l-lpg', 'qcom,pm8350c-pwm', 'qcom,pm8916-pwm', 'qcom,pm8941-lpg', 'qcom,pm8994-lpg', 'qcom,pmc8180c-lpg', 'qcom,pmi632-lpg', 'qcom,pmi8950-pwm', 'qcom,pmi8994-lpg', 'qcom,pmi8998-lpg', 'qcom,pmk8550-pwm']
>>>>         'qcom,pmh0101-pwm' is not one of ['qcom,pm6150l-lpg']
>>>>         'qcom,pmh0101-pwm' is not one of ['qcom,pm8550-pwm']
>>>>         'qcom,pmh0101-pwm' is not one of ['qcom,pm8937-pwm']
>>>>         'qcom,pm8150l-lpg' was expected
>>>>         'qcom,pm8916-pwm' was expected
>>>>         from schema $id: http://devicetree.org/schemas/leds/leds-qcom-lpg.yaml#
>>>> qcom/glymur-crd.dtb: /soc@0/arbiter@c400000/spmi@c426000/pmic@1/pwm: failed to match any schema with compatible: ['qcom,pmh0101-pwm', 'qcom,pm8350c-pwm']
>>>>
>>>> So, we're still missing a few dependencies.
>>>>
>>>>
>>>> Booting the system I get a ton of errors from PCIe in the kernel log:
>>>>
>>>> debugfs: 'opp:5000000' already exists in 'soc@0-1c00000.pci'
>>>>
>>>> # dmesg | grep -E 'debugfs: .+ already exists' |wc -l
>>>> 508
>>>>
>>>> The system does eventually boot, and I was happy to see that we do end
>>>> up finding the PCIe devices after all.
>>>>
>>> I enabled dynamic debug logs and observed that each PCIe platform device
>>> probe was deferred approximately 10 times. The probe deferrals resulted in
>>> additional OPP debugfs warnings being printed.
>>>
>>> The PCIe platform device probe was deferred because the PHY driver was not
>>> ready - either because the PHY driver was not yet loaded, or because the
>>> PHY driver's own probe was also deferred due to its dependency (e.g.,
>>> 1fd5000.clock-controller) not being ready. This is normal behavior,
>>> correct? I also observed that other driver probes were deferred.
>>>
>>> But I'm not sure why there are more than 300 times probe deferrals on
>>> your setup.
>>
>> I think Bjorn is trying to say that the driver is wrong, because it
>> effectively seems to call devm_pm_opp_of_add_table repeatedly
>>
> 
> We did try to avoid that by guarding it with dev_pm_opp_get_opp_count(). But
> that doesn't seem to be helping. The error might be due to duplicate non-shared
> opp entries, but I'm yet to confirm.

What if you just move the devm_pm_opp_of_add_table() to after the calls
that can return -EPROBE_DEFER?

Konrad

  reply	other threads:[~2026-01-30  9:27 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-22 15:23 Pankaj Patil
2026-01-22 15:23 ` [PATCH v6 1/4] dt-bindings: arm: qcom: Document Glymur SoC and board Pankaj Patil
2026-01-22 15:23 ` [PATCH v6 2/4] arm64: defconfig: Enable Glymur configs for boot to shell Pankaj Patil
2026-01-22 15:24 ` [PATCH v6 3/4] arm64: dts: qcom: Introduce Glymur base dtsi Pankaj Patil
2026-01-22 20:45   ` Konrad Dybcio
2026-01-30 21:44   ` Abel Vesa
2026-01-30 22:00     ` Abel Vesa
2026-02-02  4:38       ` Pankaj Patil
2026-02-04  1:14         ` Dmitry Baryshkov
2026-01-22 15:24 ` [PATCH v6 4/4] arm64: dts: qcom: glymur: Enable Glymur CRD board support Pankaj Patil
2026-01-22 20:42   ` Konrad Dybcio
2026-02-02  5:04   ` Qiang Yu
2026-01-22 18:07 ` [PATCH v6 0/4] arm64: dts: qcom: Introduce Glymur SoC dtsi and Glymur CRD dts Rob Herring
2026-01-22 20:40   ` Konrad Dybcio
2026-01-22 23:00     ` Rob Herring
2026-01-29  1:21 ` Bjorn Andersson
2026-01-29  5:18   ` Qiang Yu
2026-01-29  6:30   ` Pankaj Patil
2026-01-29 12:05   ` Qiang Yu
2026-01-29 12:07     ` Konrad Dybcio
2026-01-29 16:32       ` Manivannan Sadhasivam
2026-01-30  9:27         ` Konrad Dybcio [this message]
2026-02-02  5:21       ` Qiang Yu
2026-02-02  9:49         ` Konrad Dybcio
2026-02-02 10:21           ` Qiang Yu
2026-02-03  9:50             ` Konrad Dybcio
2026-02-04 12:54               ` Manivannan Sadhasivam
2026-01-29 16:29   ` Manivannan Sadhasivam

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=29353296-8e36-4e47-b32e-c45bd251a979@oss.qualcomm.com \
    --to=konrad.dybcio@oss.qualcomm.com \
    --cc=abelvesa@kernel.org \
    --cc=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=jishnu.prakash@oss.qualcomm.com \
    --cc=jyothi.seerapu@oss.qualcomm.com \
    --cc=kamal.wadhwa@oss.qualcomm.com \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=krzysztof.kozlowski@oss.qualcomm.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=manaf.pallikunhi@oss.qualcomm.com \
    --cc=mani@kernel.org \
    --cc=maulik.shah@oss.qualcomm.com \
    --cc=pankaj.patil@oss.qualcomm.com \
    --cc=qiang.yu@oss.qualcomm.com \
    --cc=robh@kernel.org \
    --cc=sibi.sankar@oss.qualcomm.com \
    --cc=taniya.das@oss.qualcomm.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: 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

all inboxes | Powered by JetHome®