Re: [PATCH v9 1/7] dt-bindings: media: qcom,x1e80100-camss: Add optional PHY handle definitions

From: Dmitry Baryshkov

Date: Thu Feb 26 2026 - 19:03:15 EST


On Thu, Feb 26, 2026 at 02:28:42PM +0000, Bryan O'Donoghue wrote:
> Add optional PHY handle definitions. This will allow for supporting both
> legacy PHY definitions as well as supporting the optional new handle based
> approach.

If my search-foo tells me right things, we have more or less the same CSI
PHY block for a variety of the platforms starting from MSM8996 (at least
CAMSS uses the same set of ops). If we don't allow older platforms to
migrate to the CSIPHY driver, we end up with the code duplication for
CSI PHY drivers (one in camss and a separate one in drivers/phy).

What can be sensible from my point of view:

- Add CSI PHY as an optional device node under the camss node.
- If it is not present there, create it manually (by applying the
platform-specific overlay, by using OF_DYNAMIC or just by creating the
platform device manually)
- Migrate existing platforms into using the CSI PHY driver (ideally, one
by one), while still retaining the backwards compatibility with the
current camss ABI.
- For platforms starting with N+1 (the next platform to be submitted or
merged(?) into the kernel) make CSI PHY node mandatory, keeping
backwards compatibility code limited to the currently defined affected
platforms, which unfortunately means the following list (I'd leave the
question on how to handle the patches currently in flight to the
maintainer's discretion):

- "qcom,msm8996-camss"
- "qcom,qcm2290-camss"
- "qcom,qcs8300-camss"
- "qcom,sa8775p-camss"
- "qcom,sc7280-camss"
- "qcom,sc8280xp-camss"
- "qcom,sdm660-camss"
- "qcom,sdm670-camss"
- "qcom,sdm845-camss"
- "qcom,sm8250-camss"
- "qcom,sm8550-camss"
- "qcom,sm8650-camss"
- "qcom,x1e80100-camss"

>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
> ---
> .../devicetree/bindings/media/qcom,x1e80100-camss.yaml | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml b/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml
> index 2d1662ef522b7..bb18236b4f344 100644
> --- a/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml
> +++ b/Documentation/devicetree/bindings/media/qcom,x1e80100-camss.yaml
> @@ -126,6 +126,16 @@ properties:
> description:
> 1.2V supply to a PHY.
>
> + phys:
> + maxItems: 4
> +
> + phy-names:
> + items:
> + - const: csiphy0
> + - const: csiphy1
> + - const: csiphy2
> + - const: csiphy4
> +
> ports:
> $ref: /schemas/graph.yaml#/properties/ports
>
> @@ -351,6 +361,11 @@ examples:
> vdd-csiphy-0p8-supply = <&csiphy_0p8_supply>;
> vdd-csiphy-1p2-supply = <&csiphy_1p2_supply>;
>
> + phys = <&csiphy0>, <&csiphy1>,
> + <&csiphy2>, <&csiphy4>;
> + phy-names = "csiphy0", "csiphy1",
> + "csiphy2", "csiphy4";
> +
> ports {
> #address-cells = <1>;
> #size-cells = <0>;
>
> --
> 2.52.0
>

--
With best wishes
Dmitry