public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: "Luca Weiss" <luca.weiss@fairphone.com>
To: "Bryan O'Donoghue" <bryan.odonoghue@linaro.org>,
	"Konrad Dybcio" <konrad.dybcio@oss.qualcomm.com>,
	"Luca Weiss" <luca.weiss@fairphone.com>,
	"Taniya Das" <taniya.das@oss.qualcomm.com>,
	"Dmitry Baryshkov" <dmitry.baryshkov@oss.qualcomm.com>,
	"Vladimir Zapolskiy" <vladimir.zapolskiy@linaro.org>
Cc: "Bjorn Andersson" <andersson@kernel.org>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Jagadeesh Kona" <quic_jkona@quicinc.com>,
	"Michael Turquette" <mturquette@baylibre.com>,
	"Stephen Boyd" <sboyd@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	<linux-arm-msm@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-clk@vger.kernel.org>
Subject: Re: [PATCH 2/2] arm64: dts: qcom: sm8550: Additionally manage MXC power domain in camcc
Date: Tue, 21 Oct 2025 12:07:19 +0200	[thread overview]
Message-ID: <DDNX0OY5X26T.1K2YOKTW49RDP@fairphone.com> (raw)
In-Reply-To: <a3943a95-b232-4534-bd70-6d1bd405c4bd@linaro.org>

On Mon Oct 20, 2025 at 3:00 PM CEST, Bryan O'Donoghue wrote:
> On 20/10/2025 13:21, Konrad Dybcio wrote:
>> On 10/17/25 4:05 PM, Luca Weiss wrote:
>>> Hi Taniya,
>>>
>>> On Thu Mar 13, 2025 at 12:57 PM CET, Taniya Das wrote:
>>>>
>>>>
>>>> On 3/13/2025 1:22 PM, Luca Weiss wrote:
>>>>> Hi Taniya,
>>>>>
>>>>> On Thu Mar 13, 2025 at 5:39 AM CET, Taniya Das wrote:
>>>>>>
>>>>>>
>>>>>> On 3/4/2025 2:10 PM, Dmitry Baryshkov wrote:
>>>>>>> On Tue, 4 Mar 2025 at 09:37, Vladimir Zapolskiy
>>>>>>> <vladimir.zapolskiy@linaro.org> wrote:
>>>>>>>>
>>>>>>>> On 3/4/25 01:53, Dmitry Baryshkov wrote:
>>>>>>>>> On Tue, Mar 04, 2025 at 12:55:21AM +0200, Vladimir Zapolskiy wrote:
>>>>>>>>>> SM8550 Camera Clock Controller shall enable both MXC and MMCX power
>>>>>>>>>> domains.
>>>>>>>>>
>>>>>>>>> Are those really required to access the registers of the cammcc? Or is
>>>>>>>>> one of those (MXC?) required to setup PLLs? Also, is this applicable
>>>>>>>>> only to sm8550 or to other similar clock controllers?
>>>>>>>>
>>>>>>>> Due to the described problem I experience a fatal CPU stall on SM8550-QRD,
>>>>>>>> not on any SM8450 or SM8650 powered board for instance, however it does
>>>>>>>> not exclude an option that the problem has to be fixed for other clock
>>>>>>>> controllers, but it's Qualcomm to confirm any other touched platforms,
>>>>>>>
>>>>>>> Please work with Taniya to identify used power domains.
>>>>>>>
>>>>>>
>>>>>> CAMCC requires both MMCX and MXC to be functional.
>>>>>
>>>>> Could you check whether any clock controllers on SM6350/SM7225 (Bitra)
>>>>> need multiple power domains, or in general which clock controller uses
>>>>> which power domain.
>>>>>
>>>>> That SoC has camcc, dispcc, gcc, gpucc, npucc and videocc.
>>>>>
>>>>> That'd be highly appreciated since I've been hitting weird issues there
>>>>> that could be explained by some missing power domains.
>>>>>
>>>>
>>>> Hi Luca,
>>>>
>>>> The targets you mentioned does not have any have multiple rail
>>>> dependency, but could you share the weird issues with respect to clock
>>>> controller I can take a look.
>>>
>>> Coming back to this, I've taken a shot at camera on SM6350 (Fairphone 4)
>>> again, but again hitting some clock issues.
>>>
>>> For reference, I am testing with following change:
>>> https://lore.kernel.org/linux-arm-msm/20250911011218.861322-3-vladimir.zapolskiy@linaro.org/
>>>
>>> Trying to enable CAMCC_MCLK1_CLK - wired up to the IMX576 camera sensor
>>> on this phone - results in following error.
>>>
>>> [    3.140232] ------------[ cut here ]------------
>>> [    3.141264] camcc_mclk1_clk status stuck at 'off'
>>> [    3.141276] WARNING: CPU: 6 PID: 12 at drivers/clk/qcom/clk-branch.c:87 clk_branch_toggle+0x170/0x190
>>>
>>> Checking the driver against downstream driver, it looks like the RCGs
>>> should be using clk_rcg2_shared_ops because of enable_safe_config in
>>> downstream, but changing that doesn't really improve the situation, but
>>> it does change the error message to this:
>>>
>>> [    2.933254] ------------[ cut here ]------------
>>> [    2.933961] camcc_mclk1_clk_src: rcg didn't update its configuration.
>>> [    2.933970] WARNING: CPU: 7 PID: 12 at drivers/clk/qcom/clk-rcg2.c:136 update_config+0xd4/0xe4
>>>
>>> I've also noticed that some camcc drivers take in GCC_CAMERA_AHB_CLK as
>>> iface clk, could something like this be missing on sm6350?
>>>
>>> I'd appreciate any help or tips for resolving this.
>> 
>> Is CAMCC_PLL2 online?
>> 
>> Konrad
>
> Usually if you can't switch on a clock its because a power-domain is off 
> or a GDSC is off.
>
> I'd guess one of the power-domains is missing.
>
> Looks...
>
> @Luca Is this actually right ?
>
> camcc: clock-controller@ad00000 {
>           compatible = "qcom,sm6350-camcc";
>           reg = <0x0 0x0ad00000 0x0 0x16000>;
>           clocks = <&rpmhcc RPMH_CXO_CLK>;
>           #clock-cells = <1>;
>           #reset-cells = <1>;
>           #power-domain-cells = <1>;
> };
>
> Isn't this clock controller missing at least one power-domain ?
>
> camcc: clock-controller@ad00000 {
>           compatible = "qcom,sm6350-camcc";
>           reg = <0x0 0x0ad00000 0x0 0x16000>;
>           clocks = <&rpmhcc RPMH_CXO_CLK>;
> +        power-domains = <&rpmhpd SM6350_CX>;
>           #clock-cells = <1>;
>           #reset-cells = <1>;
>           #power-domain-cells = <1>;
> };
>
> Hmm but CX should already be on realistically..

Downstream does reference both CX and MX in the camcc-lagoon.c driver

static DEFINE_VDD_REGULATORS(vdd_cx, VDD_NUM, 1, vdd_corner);
static DEFINE_VDD_REGULATORS(vdd_mx, VDD_NUM, 1, vdd_corner);

I'd expect both to be enabled at boot though, CX and MX is at least both
used for display (which is already on from bootloader).

Also adding "power-domains = <&rpmhpd SM6350_MX>;" to camcc
unsurprisingly doesn't change anything.

Regards
Luca

>
> ---
> bod


  reply	other threads:[~2025-10-21 10:07 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-03 22:55 [PATCH 0/2] arm64: dts: qcom: sm8550: camcc: Manage MMCX and MXC Vladimir Zapolskiy
2025-03-03 22:55 ` [PATCH 1/2] dt-bindings: clock: qcom: sm8450-camcc: Allow to specify two power domains Vladimir Zapolskiy
2025-03-03 23:51   ` Dmitry Baryshkov
2025-03-04  0:31   ` Rob Herring (Arm)
2025-03-03 22:55 ` [PATCH 2/2] arm64: dts: qcom: sm8550: Additionally manage MXC power domain in camcc Vladimir Zapolskiy
2025-03-03 23:53   ` Dmitry Baryshkov
2025-03-04  8:30     ` Vladimir Zapolskiy
2025-03-04  8:37     ` Vladimir Zapolskiy
2025-03-04  8:40       ` Dmitry Baryshkov
2025-03-13  4:39         ` Taniya Das
2025-03-13  7:26           ` Dmitry Baryshkov
2025-03-13  7:52           ` Luca Weiss
2025-03-13 11:57             ` Taniya Das
2025-10-17 14:05               ` Luca Weiss
2025-10-20 12:21                 ` Konrad Dybcio
2025-10-20 13:00                   ` Bryan O'Donoghue
2025-10-21 10:07                     ` Luca Weiss [this message]
2025-10-21 10:36                   ` Luca Weiss
2025-10-21 10:39                     ` Konrad Dybcio
2025-10-21  9:48                 ` Vladimir Zapolskiy
2025-10-21  9:58                   ` Luca Weiss
2025-10-21 11:12                     ` Taniya Das
2025-10-21 14:24                       ` Luca Weiss
2025-10-21 14:56                         ` Luca Weiss
2025-10-22  6:27                           ` Taniya Das
2025-03-12 21:00     ` Bryan O'Donoghue
2025-03-13  4:39     ` Taniya Das
2025-03-13  9:10       ` Bryan O'Donoghue
2025-03-13  9:25         ` Bryan O'Donoghue
2025-03-13 11:32           ` Taniya Das
2025-03-04  1:38 ` [PATCH 0/2] arm64: dts: qcom: sm8550: camcc: Manage MMCX and MXC Rob Herring (Arm)
2025-03-13 11:38 ` Taniya Das
2025-03-26 11:46   ` Jagadeesh Kona

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=DDNX0OY5X26T.1K2YOKTW49RDP@fairphone.com \
    --to=luca.weiss@fairphone.com \
    --cc=andersson@kernel.org \
    --cc=bryan.odonoghue@linaro.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=quic_jkona@quicinc.com \
    --cc=robh@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=taniya.das@oss.qualcomm.com \
    --cc=vladimir.zapolskiy@linaro.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