Re: [PATCH v6 2/5] dt-bindings: media: Add qcom,x1e80100-camss
From: Bryan O'Donoghue
Date: Thu Apr 24 2025 - 07:51:52 EST
On 24/04/2025 12:32, Dmitry Baryshkov wrote:
On Thu, Apr 24, 2025 at 12:29:39PM +0100, Bryan O'Donoghue wrote:
On 24/04/2025 11:45, Dmitry Baryshkov wrote:
Which would then be consistent across SoCs for as long as 0p9 and 1p2 are
the power-domains used by these PHYs.
This won't be consistent with other cases where we have a shared power
pin. For example, for PMICs we provide supply names which match pin
names rather than one-supply-per-LDO.
Yes but taking a random example from a PMIC vdd-l2-l13-l14-supply is
specific to a given PMIC, so you need to name it specifically wrt its PMIC
pin-name whereas csiphyX-1p2 is there for every CSIPHY we have.
This is fine from my POV.
For example on qcom2290 there's a shared power-pin for VDD_A_CAMSS_PLL_1P8
but then individual power-pins for VDD_A_CSI_0_1P2 and VDD_A_CSI_1_1P2.
So far so good.
If we follow the general proposal of
vdd-csiphyX-1p2-supply
vdd-csiphyX-0p9-supply
in the yaml, then whether SoCs like qcm2290 share 1p8 or SoCs like sm8650,
sm8450, x1e have individual 1p8 pins is up to the dtsi to decide.
So, what should be the behaviour if the DT defines different supplies
for csiphy0 and csiphy1? Would you express that constraint in DT?
You'd have that for qcm2290
yaml:
vdd-csiphy0-1p2-supply
vdd-csiphy1-1p2-supply
vdd-csiphy0-0p8-supply
vdd-csiphy1-0p8-supply
qcm2290-example0.dtsi
vdd-csiphy0-1p2-supply = <&vreg_1p2_ex0>; <- individual supply in PCB
vdd-csiphy1-1p2-supply = <&vreg_1p2_ex1>; <- individual supply in PCB
vdd-csiphy0-0p8-supply = <&vreg_0p9_ex0>; <- shared pin in the SoC
vdd-csiphy1-0p8-supply = <&vreg_0p9_ex0>; <- shared pin in the SoC
qcm2290-example1.dtsi
vdd-csiphy0-1p2-supply = <&vreg_1p2_ex0>; <- shared supply in this PCB
vdd-csiphy1-1p2-supply = <&vreg_1p2_ex0>; <- shared supply in this PCB
vdd-csiphy0-0p8-supply = <&vreg_0p9_ex0>; <- shared pin in the SoC
vdd-csiphy1-0p8-supply = <&vreg_0p9_ex0>; <- shared pin in the SoC
Then sm8650:
yaml:
vdd-csiphy0-1p2-supply
vdd-csiphy1-1p2-supply
vdd-csiphy0-0p8-supply
vdd-csiphy1-0p8-supply
sm8650-example0.dtsi
vdd-csiphy0-1p2-supply = <&vreg_1p2_ex0>; <- individual pin & pcb supply
vdd-csiphy1-1p2-supply = <&vreg_1p2_ex1>; <- individual pin & pcb supply
vdd-csiphy0-0p8-supply = <&vreg_0p9_ex0>; <- individual pin & pcb supply
vdd-csiphy1-0p8-supply = <&vreg_0p9_ex1>; <- individual pin & pcb supply
sm8650-example1.dtsi
vdd-csiphy0-1p2-supply = <&vreg_1p2_ex0>; <- shared supply in this PCB
vdd-csiphy1-1p2-supply = <&vreg_1p2_ex0>; <- shared supply in this PCB
vdd-csiphy0-0p8-supply = <&vreg_0p9_ex0>; <- shared supply in this PCB
vdd-csiphy1-0p8-supply = <&vreg_0p9_ex0>; <- shared supply in this PCB
That way we have a consistent naming across SoCs and PCBs and its up to
the DT to get the pointer to the regulator right.
---
bod