Message ID | 20241209-camss-dphy-v1-1-5f1b6f25ed92@fairphone.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Some small preparations around CAMSS D-PHY / C-PHY support | expand |
On 09/12/2024 12:01, Luca Weiss wrote: > The CSIPHY of Qualcomm SoCs support both D-PHY and C-PHY standards for > CSI-2, but not any others so restrict the bus-type property describing > this to the supported values. > > The only exception here is MSM8916 which only supports D-PHY. C-PHY was > introduced with newer SoCs. > > Do note, that currently the Linux driver only supports D-PHY. > > Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
On Mon, Dec 09, 2024 at 01:01:05PM +0100, Luca Weiss wrote: > The CSIPHY of Qualcomm SoCs support both D-PHY and C-PHY standards for > CSI-2, but not any others so restrict the bus-type property describing > this to the supported values. > > The only exception here is MSM8916 which only supports D-PHY. C-PHY was > introduced with newer SoCs. > > Do note, that currently the Linux driver only supports D-PHY. > > Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> > --- > .../bindings/media/qcom,msm8916-camss.yaml | 8 ++++++ > .../bindings/media/qcom,msm8953-camss.yaml | 15 +++++++++++ > .../bindings/media/qcom,msm8996-camss.yaml | 20 +++++++++++++++ > .../bindings/media/qcom,sc8280xp-camss.yaml | 20 +++++++++++++++ > .../bindings/media/qcom,sdm660-camss.yaml | 20 +++++++++++++++ > .../bindings/media/qcom,sdm845-camss.yaml | 20 +++++++++++++++ > .../bindings/media/qcom,sm8250-camss.yaml | 30 ++++++++++++++++++++++ > 7 files changed, 133 insertions(+) > > diff --git a/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml b/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml > index 9cc0a968a401836814560c1af3ee84d946500b4f..3de2a3d2b5b761106975aab65ff614b2ef579ef5 100644 > --- a/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml > +++ b/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml > @@ -94,6 +94,10 @@ properties: > minItems: 1 > maxItems: 4 > > + bus-type: > + enum: > + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY > + > required: > - data-lanes > > @@ -113,6 +117,10 @@ properties: > minItems: 1 > maxItems: 4 > > + bus-type: > + enum: > + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY > + > required: > - data-lanes > > diff --git a/Documentation/devicetree/bindings/media/qcom,msm8953-camss.yaml b/Documentation/devicetree/bindings/media/qcom,msm8953-camss.yaml > index 8856fba385b1123d748199b46c5009c97700ad9b..6d776b0ca71140c0816b246dbaf41ef376205bba 100644 > --- a/Documentation/devicetree/bindings/media/qcom,msm8953-camss.yaml > +++ b/Documentation/devicetree/bindings/media/qcom,msm8953-camss.yaml > @@ -112,6 +112,11 @@ properties: > minItems: 1 > maxItems: 4 > > + bus-type: > + enum: > + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY Just 1 > + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY Just 4 The type and meaning is already stated by video-interfaces and the binding headers. Anyway: Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
On Fri Dec 13, 2024 at 10:34 AM CET, Krzysztof Kozlowski wrote: > On Mon, Dec 09, 2024 at 01:01:05PM +0100, Luca Weiss wrote: > > The CSIPHY of Qualcomm SoCs support both D-PHY and C-PHY standards for > > CSI-2, but not any others so restrict the bus-type property describing > > this to the supported values. > > > > The only exception here is MSM8916 which only supports D-PHY. C-PHY was > > introduced with newer SoCs. > > > > Do note, that currently the Linux driver only supports D-PHY. > > > > Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> > > --- > > .../bindings/media/qcom,msm8916-camss.yaml | 8 ++++++ > > .../bindings/media/qcom,msm8953-camss.yaml | 15 +++++++++++ > > .../bindings/media/qcom,msm8996-camss.yaml | 20 +++++++++++++++ > > .../bindings/media/qcom,sc8280xp-camss.yaml | 20 +++++++++++++++ > > .../bindings/media/qcom,sdm660-camss.yaml | 20 +++++++++++++++ > > .../bindings/media/qcom,sdm845-camss.yaml | 20 +++++++++++++++ > > .../bindings/media/qcom,sm8250-camss.yaml | 30 ++++++++++++++++++++++ > > 7 files changed, 133 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml b/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml > > index 9cc0a968a401836814560c1af3ee84d946500b4f..3de2a3d2b5b761106975aab65ff614b2ef579ef5 100644 > > --- a/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml > > +++ b/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml > > @@ -94,6 +94,10 @@ properties: > > minItems: 1 > > maxItems: 4 > > > > + bus-type: > > + enum: > > + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY > > + > > required: > > - data-lanes > > > > @@ -113,6 +117,10 @@ properties: > > minItems: 1 > > maxItems: 4 > > > > + bus-type: > > + enum: > > + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY > > + > > required: > > - data-lanes > > > > diff --git a/Documentation/devicetree/bindings/media/qcom,msm8953-camss.yaml b/Documentation/devicetree/bindings/media/qcom,msm8953-camss.yaml > > index 8856fba385b1123d748199b46c5009c97700ad9b..6d776b0ca71140c0816b246dbaf41ef376205bba 100644 > > --- a/Documentation/devicetree/bindings/media/qcom,msm8953-camss.yaml > > +++ b/Documentation/devicetree/bindings/media/qcom,msm8953-camss.yaml > > @@ -112,6 +112,11 @@ properties: > > minItems: 1 > > maxItems: 4 > > > > + bus-type: > > + enum: > > + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY > > Just 1 > > > + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY > > Just 4 > > The type and meaning is already stated by video-interfaces and the > binding headers. This is actually something I find rather curious why this is not done more obvious, e.g. there's basically no link that a '4' is MEDIA_BUS_TYPE_CSI2_DPHY from dt-bindings/media/video-interfaces.h video-interfaces.yaml only states "- 4 # MIPI CSI-2 D-PHY" and it's then the users excercise to find MEDIA_BUS_TYPE_CSI2_DPHY for that. Regards Luca > > Anyway: > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > > Best regards, > Krzysztof
On 12/13/24 11:34, Krzysztof Kozlowski wrote: > On Mon, Dec 09, 2024 at 01:01:05PM +0100, Luca Weiss wrote: >> The CSIPHY of Qualcomm SoCs support both D-PHY and C-PHY standards for >> CSI-2, but not any others so restrict the bus-type property describing >> this to the supported values. >> >> The only exception here is MSM8916 which only supports D-PHY. C-PHY was >> introduced with newer SoCs. >> >> Do note, that currently the Linux driver only supports D-PHY. >> >> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> >> --- >> .../bindings/media/qcom,msm8916-camss.yaml | 8 ++++++ >> .../bindings/media/qcom,msm8953-camss.yaml | 15 +++++++++++ >> .../bindings/media/qcom,msm8996-camss.yaml | 20 +++++++++++++++ >> .../bindings/media/qcom,sc8280xp-camss.yaml | 20 +++++++++++++++ >> .../bindings/media/qcom,sdm660-camss.yaml | 20 +++++++++++++++ >> .../bindings/media/qcom,sdm845-camss.yaml | 20 +++++++++++++++ >> .../bindings/media/qcom,sm8250-camss.yaml | 30 ++++++++++++++++++++++ >> 7 files changed, 133 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml b/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml >> index 9cc0a968a401836814560c1af3ee84d946500b4f..3de2a3d2b5b761106975aab65ff614b2ef579ef5 100644 >> --- a/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml >> +++ b/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml >> @@ -94,6 +94,10 @@ properties: >> minItems: 1 >> maxItems: 4 >> >> + bus-type: >> + enum: >> + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY >> + >> required: >> - data-lanes >> >> @@ -113,6 +117,10 @@ properties: >> minItems: 1 >> maxItems: 4 >> >> + bus-type: >> + enum: >> + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY >> + But is it really needed to specify the single supported bus-type? I believe it is not, at least it's not ever done for other media devices like sensors. Here I would prefer to get a comment from Linux Media and/or DTB experts. -- Best wishes, Vladimir
On Fri Dec 13, 2024 at 11:50 AM CET, Vladimir Zapolskiy wrote: > On 12/13/24 11:34, Krzysztof Kozlowski wrote: > > On Mon, Dec 09, 2024 at 01:01:05PM +0100, Luca Weiss wrote: > >> The CSIPHY of Qualcomm SoCs support both D-PHY and C-PHY standards for > >> CSI-2, but not any others so restrict the bus-type property describing > >> this to the supported values. > >> > >> The only exception here is MSM8916 which only supports D-PHY. C-PHY was > >> introduced with newer SoCs. > >> > >> Do note, that currently the Linux driver only supports D-PHY. > >> > >> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> > >> --- > >> .../bindings/media/qcom,msm8916-camss.yaml | 8 ++++++ > >> .../bindings/media/qcom,msm8953-camss.yaml | 15 +++++++++++ > >> .../bindings/media/qcom,msm8996-camss.yaml | 20 +++++++++++++++ > >> .../bindings/media/qcom,sc8280xp-camss.yaml | 20 +++++++++++++++ > >> .../bindings/media/qcom,sdm660-camss.yaml | 20 +++++++++++++++ > >> .../bindings/media/qcom,sdm845-camss.yaml | 20 +++++++++++++++ > >> .../bindings/media/qcom,sm8250-camss.yaml | 30 ++++++++++++++++++++++ > >> 7 files changed, 133 insertions(+) > >> > >> diff --git a/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml b/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml > >> index 9cc0a968a401836814560c1af3ee84d946500b4f..3de2a3d2b5b761106975aab65ff614b2ef579ef5 100644 > >> --- a/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml > >> +++ b/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml > >> @@ -94,6 +94,10 @@ properties: > >> minItems: 1 > >> maxItems: 4 > >> > >> + bus-type: > >> + enum: > >> + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY > >> + > >> required: > >> - data-lanes > >> > >> @@ -113,6 +117,10 @@ properties: > >> minItems: 1 > >> maxItems: 4 > >> > >> + bus-type: > >> + enum: > >> + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY > >> + > > But is it really needed to specify the single supported bus-type? > > I believe it is not, at least it's not ever done for other media devices > like sensors. Through video-interfaces.yaml 'bus-type' is already allowed but not restricted to the values that actually make any sense on such hardware, so in my opinion this makes sense to have here. > > Here I would prefer to get a comment from Linux Media and/or DTB experts. I'm far from either, so happy to get more comments on this! Regards Luca > > -- > Best wishes, > Vladimir
On 13/12/2024 11:24, Luca Weiss wrote: > On Fri Dec 13, 2024 at 11:50 AM CET, Vladimir Zapolskiy wrote: >> On 12/13/24 11:34, Krzysztof Kozlowski wrote: >>> On Mon, Dec 09, 2024 at 01:01:05PM +0100, Luca Weiss wrote: >>>> The CSIPHY of Qualcomm SoCs support both D-PHY and C-PHY standards for >>>> CSI-2, but not any others so restrict the bus-type property describing >>>> this to the supported values. >>>> >>>> The only exception here is MSM8916 which only supports D-PHY. C-PHY was >>>> introduced with newer SoCs. >>>> >>>> Do note, that currently the Linux driver only supports D-PHY. >>>> >>>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> >>>> --- >>>> .../bindings/media/qcom,msm8916-camss.yaml | 8 ++++++ >>>> .../bindings/media/qcom,msm8953-camss.yaml | 15 +++++++++++ >>>> .../bindings/media/qcom,msm8996-camss.yaml | 20 +++++++++++++++ >>>> .../bindings/media/qcom,sc8280xp-camss.yaml | 20 +++++++++++++++ >>>> .../bindings/media/qcom,sdm660-camss.yaml | 20 +++++++++++++++ >>>> .../bindings/media/qcom,sdm845-camss.yaml | 20 +++++++++++++++ >>>> .../bindings/media/qcom,sm8250-camss.yaml | 30 ++++++++++++++++++++++ >>>> 7 files changed, 133 insertions(+) >>>> >>>> diff --git a/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml b/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml >>>> index 9cc0a968a401836814560c1af3ee84d946500b4f..3de2a3d2b5b761106975aab65ff614b2ef579ef5 100644 >>>> --- a/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml >>>> +++ b/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml >>>> @@ -94,6 +94,10 @@ properties: >>>> minItems: 1 >>>> maxItems: 4 >>>> >>>> + bus-type: >>>> + enum: >>>> + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY >>>> + >>>> required: >>>> - data-lanes >>>> >>>> @@ -113,6 +117,10 @@ properties: >>>> minItems: 1 >>>> maxItems: 4 >>>> >>>> + bus-type: >>>> + enum: >>>> + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY >>>> + >> >> But is it really needed to specify the single supported bus-type? >> >> I believe it is not, at least it's not ever done for other media devices >> like sensors. > > Through video-interfaces.yaml 'bus-type' is already allowed but not > restricted to the values that actually make any sense on such hardware, > so in my opinion this makes sense to have here. This is additive not prescriptive. New additions should include this bus-type number as we will need it when we add CPHY support and the subsequently move to the PHY API for CAMSS PHYs. So still in favour of this amendment. --- bod
On 12/13/24 13:34, Bryan O'Donoghue wrote: > On 13/12/2024 11:24, Luca Weiss wrote: >> On Fri Dec 13, 2024 at 11:50 AM CET, Vladimir Zapolskiy wrote: >>> On 12/13/24 11:34, Krzysztof Kozlowski wrote: >>>> On Mon, Dec 09, 2024 at 01:01:05PM +0100, Luca Weiss wrote: >>>>> The CSIPHY of Qualcomm SoCs support both D-PHY and C-PHY standards for >>>>> CSI-2, but not any others so restrict the bus-type property describing >>>>> this to the supported values. >>>>> >>>>> The only exception here is MSM8916 which only supports D-PHY. C-PHY was >>>>> introduced with newer SoCs. >>>>> >>>>> Do note, that currently the Linux driver only supports D-PHY. >>>>> >>>>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> >>>>> --- >>>>> .../bindings/media/qcom,msm8916-camss.yaml | 8 ++++++ >>>>> .../bindings/media/qcom,msm8953-camss.yaml | 15 +++++++++++ >>>>> .../bindings/media/qcom,msm8996-camss.yaml | 20 +++++++++++++++ >>>>> .../bindings/media/qcom,sc8280xp-camss.yaml | 20 +++++++++++++++ >>>>> .../bindings/media/qcom,sdm660-camss.yaml | 20 +++++++++++++++ >>>>> .../bindings/media/qcom,sdm845-camss.yaml | 20 +++++++++++++++ >>>>> .../bindings/media/qcom,sm8250-camss.yaml | 30 ++++++++++++++++++++++ >>>>> 7 files changed, 133 insertions(+) >>>>> >>>>> diff --git a/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml b/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml >>>>> index 9cc0a968a401836814560c1af3ee84d946500b4f..3de2a3d2b5b761106975aab65ff614b2ef579ef5 100644 >>>>> --- a/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml >>>>> +++ b/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml >>>>> @@ -94,6 +94,10 @@ properties: >>>>> minItems: 1 >>>>> maxItems: 4 >>>>> >>>>> + bus-type: >>>>> + enum: >>>>> + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY >>>>> + >>>>> required: >>>>> - data-lanes >>>>> >>>>> @@ -113,6 +117,10 @@ properties: >>>>> minItems: 1 >>>>> maxItems: 4 >>>>> >>>>> + bus-type: >>>>> + enum: >>>>> + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY >>>>> + >>> >>> But is it really needed to specify the single supported bus-type? >>> >>> I believe it is not, at least it's not ever done for other media devices >>> like sensors. >> >> Through video-interfaces.yaml 'bus-type' is already allowed but not >> restricted to the values that actually make any sense on such hardware, >> so in my opinion this makes sense to have here. > This is additive not prescriptive. > > New additions should include this bus-type number as we will need it > when we add CPHY support and the subsequently move to the PHY API for > CAMSS PHYs. This particular reason is invalid IMO, since dtb changes are not relied on drivers and shall be kept agnostic. The open question is if it is really needed to specify non-variable bus-type property. As I've said it's not done for other media devices, so that's at least the established policy on practice. -- Best wishes, Vladimir
On 13/12/2024 11:54, Vladimir Zapolskiy wrote: >> >> New additions should include this bus-type number as we will need it >> when we add CPHY support and the subsequently move to the PHY API for >> CAMSS PHYs. > > This particular reason is invalid IMO, since dtb changes are not relied on > drivers and shall be kept agnostic. Its perfectly valid to add a DT description which describes the hardware whether or not the driver consumes that data. DT is supposed to be a standalone hardware description. --- bod
diff --git a/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml b/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml index 9cc0a968a401836814560c1af3ee84d946500b4f..3de2a3d2b5b761106975aab65ff614b2ef579ef5 100644 --- a/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml +++ b/Documentation/devicetree/bindings/media/qcom,msm8916-camss.yaml @@ -94,6 +94,10 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes @@ -113,6 +117,10 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes diff --git a/Documentation/devicetree/bindings/media/qcom,msm8953-camss.yaml b/Documentation/devicetree/bindings/media/qcom,msm8953-camss.yaml index 8856fba385b1123d748199b46c5009c97700ad9b..6d776b0ca71140c0816b246dbaf41ef376205bba 100644 --- a/Documentation/devicetree/bindings/media/qcom,msm8953-camss.yaml +++ b/Documentation/devicetree/bindings/media/qcom,msm8953-camss.yaml @@ -112,6 +112,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes @@ -131,6 +136,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes @@ -150,6 +160,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes diff --git a/Documentation/devicetree/bindings/media/qcom,msm8996-camss.yaml b/Documentation/devicetree/bindings/media/qcom,msm8996-camss.yaml index 5cb0e337ea6e4274dbb75b7b25a9b4ac44069cfd..cae4c4f19574be30e8a9f8ca08f26d67be1e455c 100644 --- a/Documentation/devicetree/bindings/media/qcom,msm8996-camss.yaml +++ b/Documentation/devicetree/bindings/media/qcom,msm8996-camss.yaml @@ -116,6 +116,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes @@ -135,6 +140,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes @@ -154,6 +164,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes @@ -173,6 +188,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes diff --git a/Documentation/devicetree/bindings/media/qcom,sc8280xp-camss.yaml b/Documentation/devicetree/bindings/media/qcom,sc8280xp-camss.yaml index c0bc31709873c20b63c011148394f10b45c1655e..f9e3f514c61bf6fd48e15904b62b59c390e63b20 100644 --- a/Documentation/devicetree/bindings/media/qcom,sc8280xp-camss.yaml +++ b/Documentation/devicetree/bindings/media/qcom,sc8280xp-camss.yaml @@ -143,6 +143,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - clock-lanes - data-lanes @@ -166,6 +171,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - clock-lanes - data-lanes @@ -189,6 +199,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - clock-lanes - data-lanes @@ -212,6 +227,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - clock-lanes - data-lanes diff --git a/Documentation/devicetree/bindings/media/qcom,sdm660-camss.yaml b/Documentation/devicetree/bindings/media/qcom,sdm660-camss.yaml index 584106e275f67aca814de5dd70563d395305399c..a3e2ee7f643d2a8c1490b4d02e16e509cf85f85f 100644 --- a/Documentation/devicetree/bindings/media/qcom,sdm660-camss.yaml +++ b/Documentation/devicetree/bindings/media/qcom,sdm660-camss.yaml @@ -122,6 +122,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes @@ -141,6 +146,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes @@ -160,6 +170,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes @@ -179,6 +194,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes diff --git a/Documentation/devicetree/bindings/media/qcom,sdm845-camss.yaml b/Documentation/devicetree/bindings/media/qcom,sdm845-camss.yaml index ec4380a0a03f7dce2539085e24d9d9ec7205e825..98cd0df4570ed168fc1495619c408c4fbaac66fa 100644 --- a/Documentation/devicetree/bindings/media/qcom,sdm845-camss.yaml +++ b/Documentation/devicetree/bindings/media/qcom,sdm845-camss.yaml @@ -109,6 +109,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes @@ -128,6 +133,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes @@ -147,6 +157,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes @@ -166,6 +181,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - data-lanes diff --git a/Documentation/devicetree/bindings/media/qcom,sm8250-camss.yaml b/Documentation/devicetree/bindings/media/qcom,sm8250-camss.yaml index fa5073c0fd1efaa94f171e4ec26b918d8a5261d6..c95533ac92002c70efe7ef56ab2712565a5a7297 100644 --- a/Documentation/devicetree/bindings/media/qcom,sm8250-camss.yaml +++ b/Documentation/devicetree/bindings/media/qcom,sm8250-camss.yaml @@ -129,6 +129,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - clock-lanes - data-lanes @@ -152,6 +157,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - clock-lanes - data-lanes @@ -175,6 +185,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - clock-lanes - data-lanes @@ -198,6 +213,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - clock-lanes - data-lanes @@ -221,6 +241,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - clock-lanes - data-lanes @@ -244,6 +269,11 @@ properties: minItems: 1 maxItems: 4 + bus-type: + enum: + - 1 # MEDIA_BUS_TYPE_CSI2_CPHY + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + required: - clock-lanes - data-lanes
The CSIPHY of Qualcomm SoCs support both D-PHY and C-PHY standards for CSI-2, but not any others so restrict the bus-type property describing this to the supported values. The only exception here is MSM8916 which only supports D-PHY. C-PHY was introduced with newer SoCs. Do note, that currently the Linux driver only supports D-PHY. Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> --- .../bindings/media/qcom,msm8916-camss.yaml | 8 ++++++ .../bindings/media/qcom,msm8953-camss.yaml | 15 +++++++++++ .../bindings/media/qcom,msm8996-camss.yaml | 20 +++++++++++++++ .../bindings/media/qcom,sc8280xp-camss.yaml | 20 +++++++++++++++ .../bindings/media/qcom,sdm660-camss.yaml | 20 +++++++++++++++ .../bindings/media/qcom,sdm845-camss.yaml | 20 +++++++++++++++ .../bindings/media/qcom,sm8250-camss.yaml | 30 ++++++++++++++++++++++ 7 files changed, 133 insertions(+)