From: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
To: Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
Bryan O'Donoghue <bod@kernel.org>,
Vijay Kumar Tumati <vijay.tumati@oss.qualcomm.com>,
Vinod Koul <vkoul@kernel.org>,
Kishon Vijay Abraham I <kishon@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>
Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org,
linux-media@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v8 1/2] dt-bindings: phy: qcom: Add CSI2 C-PHY/DPHY schema
Date: Thu, 4 Jun 2026 12:20:44 +0300 [thread overview]
Message-ID: <9ab0d8f4-e1b6-415b-976b-721ab7a29194@linaro.org> (raw)
In-Reply-To: <67b6f6ae-bfca-4afd-adfb-6ec1741105d8@linaro.org>
On 6/4/26 12:06, Bryan O'Donoghue wrote:
> On 04/06/2026 09:46, Vladimir Zapolskiy wrote:
>> On 6/4/26 03:30, Bryan O'Donoghue wrote:
>>> On 04/06/2026 01:07, Vladimir Zapolskiy wrote:
>>>> On 6/4/26 00:18, Bryan O'Donoghue wrote:
>>>>> On 03/06/2026 21:51, Vladimir Zapolskiy wrote:
>>>>>>> Actually, one more thing, Why isn't TITAN TOP GDSC here?>>>> +
>>>>>> If CSIPHYs are true subdevices under the umbrella CAMSS device and
>>>>>> well
>>>>>> described as subnodes, then likely none of power domains are needed
>>>>>> to be
>>>>>> repeatedly described in the children device nodes, since this
>>>>>> information
>>>>>> can be obtained from the parent device by the driver.
>>>>>>
>>>>>> Technically 'power-domains' property can be safely removed, I believe.
>>>>>
>>>>> The policy is to describe the power-domain dependency fully since DT
>>>>> describes hardware not software architecture.
>>>>
>>>> It brings no contardiction to the statement I've given above, the needed
>>>> power domans will be properly described in the parent device, and there
>>>> is no
>>>> sense to repeat the properties it again and again in every child
>>>> subdevice.
>>>>
>>>>> Also for a very practical reason a sub-devices can probe/run
>>>>> asynchronously of the parent device being active so in fact we do need
>>>>> to describe the PDs fully.
>>>>
>>>> In opposite to the above this one is precisely a software centric
>>>> argument,
>>>> which should be excluded from the consideration, as well it's not a big
>>>> deal to make a proper async initialization, removing excessive dt
>>>> properties
>>>> is worth it.
>>>>
>>>
>>> Right look forget about that.
>>>
>>> - DT requires you to describe your hardware. You're not entitled to have
>>> some other device vote for a clock or a PD you rely on.
>>>
>>
>> Above are two uncorrelated between each other sentences.
>>
>> A device ("consumer") can ask another device ("provider") to behave in
>> one or another way, this is the only possible and thus natually selected
>> system design, and nothing behind it was asked. There is no justification
>> for the proposed flood of multiply repeated data, it's avoidable.
>
> CAMSS or rather the components of CAMSS modelled in the current node,
> is/are not the provider of the GDSCs or the power-domains, it/they are
> consumers themselves from CAMCC.
Well, this is the argument about software, and software can be changed.
> The producer/consumer model is CAMCC to components within the Camera
> block. Some components depend on say MXA, MXC, some do not. Nothing in
> CAMSS itself is a power-domain provider.
>>> That's exactly the type of downstream short cut we are trying to zap.
>>>
>>> - In our case we also need to vote on PDs individually when the PHY
>>> is active.
>>>
>>> In extremis say we are only running the TPG then we have no reason to
>>> vote for CSIPHY specific rails or operating points in the parent device.
>>
>> So, TPG shall communicate with CAMSS, there is no CSIPHY in the equation.
>
> Right but it would be inappropriate to enable all of the PDs for all of
> the components in the CAMSS block when we can do so more granularly.
Whenever it is actually necessary, it should be possible to split PDs into
generic/parent and subdevice specific groups, it's a part of software
implementation. In some cases there might be no need to define any child
side PDs, likely CSIPHY falls into this category.
> If you drive the CSID with a TPG you shouldn't be voting for MXA or MXC
> since these are PDs related to the CSIPHY only and TPG and CSIPHY do the
> same thing from the CSID perspective - input data.
>
>>
>>> We could make the parent power-domain argument for CAMSS and CCI but we
>>> have TITAN_TOP_GDSC in CCI specifically because we have to model the
>>> hardware - including the PDs for that device.
>>
>> CCI is not described as a child of CAMSS, here the situation is different.
>
> CCI probably _should_ be a child of CAMSS given the design we are going
> for here.
>
> Leaving that aside it doesn't matter if a node appears as a child node
> or a peer node - the DT should describe the hardware setup.
If a node is child or a sibling is a hardware description, different
hardware descriptions bring different dt properties, this is normal.
> I can't imagine a patch that would remove a power-domain from a device
> being accepted simply because the node being moved is expressed as a
> child of another node.
I strongly believe every dt binding describing actual hardware will find
its way to be implemented in software in a proper way, it should be doable.
>>> If tomorrow we put CCI as a sub-device of top-level CAMSS, that won't
>>> negate the need to include that GDSC.
>>
>> Of course in this case a phandle to Titan GDSC will be marked as obsolete
>> or unused for CCI, no problem here.
>>
--
Best wishes,
Vladimir
next prev parent reply other threads:[~2026-06-04 9:20 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-23 2:48 [PATCH v8 0/2] phy: qcom-mipi-csi2: Add a CSI2 MIPI DPHY driver Bryan O'Donoghue
2026-05-23 2:48 ` [PATCH v8 1/2] dt-bindings: phy: qcom: Add CSI2 C-PHY/DPHY schema Bryan O'Donoghue
2026-05-23 3:04 ` sashiko-bot
2026-05-24 10:59 ` Bryan O'Donoghue
2026-05-24 15:37 ` Bryan O'Donoghue
2026-06-02 20:55 ` Frank Li
2026-06-02 21:00 ` Bryan O'Donoghue
2026-06-02 21:59 ` Vladimir Zapolskiy
2026-06-02 22:51 ` Bryan O'Donoghue
2026-06-03 20:16 ` Vijay Kumar Tumati
2026-06-03 20:24 ` Vijay Kumar Tumati
2026-06-03 20:51 ` Vladimir Zapolskiy
2026-06-03 21:18 ` Bryan O'Donoghue
2026-06-03 21:46 ` Vijay Kumar Tumati
2026-06-05 2:59 ` Vijay Kumar Tumati
2026-06-04 0:07 ` Vladimir Zapolskiy
2026-06-04 0:30 ` Bryan O'Donoghue
2026-06-04 8:46 ` Vladimir Zapolskiy
2026-06-04 9:06 ` Bryan O'Donoghue
2026-06-04 9:20 ` Vladimir Zapolskiy [this message]
2026-06-04 11:04 ` Bryan O'Donoghue
2026-06-09 13:56 ` Konrad Dybcio
2026-06-09 19:20 ` Vijay Kumar Tumati
2026-06-09 22:30 ` Dmitry Baryshkov
2026-06-19 12:37 ` Konrad Dybcio
2026-06-03 20:52 ` Bryan O'Donoghue
2026-06-03 21:35 ` Vijay Kumar Tumati
2026-06-04 10:54 ` Vladimir Zapolskiy
2026-07-01 22:54 ` Bryan O'Donoghue
2026-07-01 23:37 ` Vladimir Zapolskiy
2026-07-02 0:08 ` Bryan O'Donoghue
2026-07-02 0:10 ` Bryan O'Donoghue
2026-07-02 8:31 ` Vladimir Zapolskiy
2026-07-02 8:46 ` Bryan O'Donoghue
2026-07-02 9:28 ` Vladimir Zapolskiy
2026-05-23 2:48 ` [PATCH v8 2/2] phy: qcom-mipi-csi2: Add a CSI2 MIPI DPHY driver Bryan O'Donoghue
2026-05-23 3:35 ` sashiko-bot
2026-06-02 8:18 ` Loic Poulain
2026-06-02 13:58 ` Bryan O'Donoghue
2026-06-03 10:10 ` Loic Poulain
2026-06-02 22:07 ` Vladimir Zapolskiy
2026-06-02 22:22 ` Bryan O'Donoghue
2026-06-03 12:10 ` Dmitry Baryshkov
2026-06-03 12:22 ` Bryan O'Donoghue
2026-06-03 12:40 ` Dmitry Baryshkov
2026-06-03 12:57 ` Bryan O'Donoghue
2026-06-03 20:42 ` Vladimir Zapolskiy
2026-06-03 21:12 ` Bryan O'Donoghue
2026-06-03 23:58 ` Vladimir Zapolskiy
2026-06-03 21:37 ` Vijay Kumar Tumati
2026-06-03 22:14 ` Dmitry Baryshkov
2026-06-05 9:31 ` Nihal Kumar Gupta
2026-06-05 10:30 ` Bryan O'Donoghue
2026-07-01 15:53 ` Bryan O'Donoghue
2026-07-01 16:05 ` Bryan O'Donoghue
2026-06-03 21:11 ` Vijay Kumar Tumati
2026-06-03 22:39 ` Vijay Kumar Tumati
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=9ab0d8f4-e1b6-415b-976b-721ab7a29194@linaro.org \
--to=vladimir.zapolskiy@linaro.org \
--cc=bod@kernel.org \
--cc=bryan.odonoghue@linaro.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kishon@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=neil.armstrong@linaro.org \
--cc=robh@kernel.org \
--cc=vijay.tumati@oss.qualcomm.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