[PATCH 3/8] media: qcom: camss: add support for QCM2390 camss

Vikram Sharma vikram.sharma at oss.qualcomm.com
Fri May 29 08:00:57 PDT 2026


On 5/28/2026 5:55 PM, Loic Poulain wrote:
> On Tue, May 26, 2026 at 7:13 PM Nihal Kumar Gupta
> <nihal.gupta at oss.qualcomm.com> wrote:
>> From: Prashant Shrotriya <pshrotri at qti.qualcomm.com>
>>
>> Add CAMSS driver support for Shikra SoC. Add high level
>> resource definitions for 2 CSIPHY, 2 CSID and 2 VFE instances along
>> with the interconnect bandwidth votes for AHB, HF and SF MNOC paths.
>>
>> Signed-off-by: Prashant Shrotriya <pshrotri at qti.qualcomm.com>
>> Signed-off-by: Nihal Kumar Gupta <nihal.gupta at oss.qualcomm.com>
>> ---
>>  drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c |  2 ++
>>  drivers/media/platform/qcom/camss/camss-vfe.c            |  1 +
>>  drivers/media/platform/qcom/camss/camss.c                | 13 +++++++++++++
>>  drivers/media/platform/qcom/camss/camss.h                |  1 +
>>  4 files changed, 17 insertions(+)
>>
>> diff --git a/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c b/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c
>> index dac8d2ecf79957dc05c5524dc439791ce097c785..62208f5c4f17bd6c9a8fe5613649920e6ee1a1f2 100644
>> --- a/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c
>> +++ b/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c
>> @@ -1130,6 +1130,7 @@ static bool csiphy_is_gen2(u32 version)
>>
>>         switch (version) {
>>         case CAMSS_2290:
>> +       case CAMSS_2390:
>>         case CAMSS_6150:
>>         case CAMSS_6350:
>>         case CAMSS_7280:
>> @@ -1222,6 +1223,7 @@ static int csiphy_init(struct csiphy_device *csiphy)
>>                 regs->lane_array_size = ARRAY_SIZE(lane_regs_sdm845);
>>                 break;
>>         case CAMSS_2290:
>> +       case CAMSS_2390:
>>         case CAMSS_6150:
>>                 regs->lane_regs = &lane_regs_qcm2290[0];
>>                 regs->lane_array_size = ARRAY_SIZE(lane_regs_qcm2290);
>> diff --git a/drivers/media/platform/qcom/camss/camss-vfe.c b/drivers/media/platform/qcom/camss/camss-vfe.c
>> index 319d191589884777bced456867e5a2a4211a2770..b152f8d48e003d8eeb0cf19ad57419b25cdec087 100644
>> --- a/drivers/media/platform/qcom/camss/camss-vfe.c
>> +++ b/drivers/media/platform/qcom/camss/camss-vfe.c
>> @@ -342,6 +342,7 @@ static u32 vfe_src_pad_code(struct vfe_line *line, u32 sink_code,
>>                 break;
>>         case CAMSS_660:
>>         case CAMSS_2290:
>> +       case CAMSS_2390:
>>         case CAMSS_6150:
>>         case CAMSS_6350:
>>         case CAMSS_7280:
>> diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
>> index 2123f6388e3d7eafe669efd6b033e22d8eb5cf79..f67ecff53f15bd213dc7736d4e5fe880007d1ee7 100644
>> --- a/drivers/media/platform/qcom/camss/camss.c
>> +++ b/drivers/media/platform/qcom/camss/camss.c
>> @@ -5565,6 +5565,18 @@ static const struct camss_resources qcm2290_resources = {
>>         .vfe_num = ARRAY_SIZE(vfe_res_2290),
>>  };
>>
>> +static const struct camss_resources qcm2390_resources = {
>> +       .version = CAMSS_2390,
>> +       .csiphy_res = csiphy_res_2290,
>> +       .csid_res = csid_res_2290,
>> +       .vfe_res = vfe_res_2290,
>> +       .icc_res = icc_res_2290,
>> +       .icc_path_num = ARRAY_SIZE(icc_res_2290),
>> +       .csiphy_num = ARRAY_SIZE(csiphy_res_2290),
>> +       .csid_num = ARRAY_SIZE(csid_res_2290),
>> +       .vfe_num = ARRAY_SIZE(vfe_res_2290),
> So isn't it exactly the same as 2290? wouldn't it be easier to have
> the shikra simply fallback to qcm220 (via compatible string)?

ACK, We will simply add fallback to 2290 in dts.

>> +};
>> +
>>  static const struct camss_resources qcs8300_resources = {
>>         .version = CAMSS_8300,
>>         .pd_name = "top",
>> @@ -5752,6 +5764,7 @@ static const struct of_device_id camss_dt_match[] = {
>>         { .compatible = "qcom,sdm660-camss", .data = &sdm660_resources },
>>         { .compatible = "qcom,sdm670-camss", .data = &sdm670_resources },
>>         { .compatible = "qcom,sdm845-camss", .data = &sdm845_resources },
>> +       { .compatible = "qcom,shikra-camss", .data = &qcm2390_resources },
>>         { .compatible = "qcom,sm6150-camss", .data = &sm6150_resources },
>>         { .compatible = "qcom,sm6350-camss", .data = &sm6350_resources },
>>         { .compatible = "qcom,sm8250-camss", .data = &sm8250_resources },
>> diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/platform/qcom/camss/camss.h
>> index 93d691c8ac63b2a47dbb234856b627d8911a1851..8ba8a38113dfc15849fa333d05b2c3853f3a7714 100644
>> --- a/drivers/media/platform/qcom/camss/camss.h
>> +++ b/drivers/media/platform/qcom/camss/camss.h
>> @@ -82,6 +82,7 @@ enum pm_domain {
>>  enum camss_version {
>>         CAMSS_660,
>>         CAMSS_2290,
>> +       CAMSS_2390,
>>         CAMSS_6150,
>>         CAMSS_6350,
>>         CAMSS_7280,
>>
>> --
>> 2.34.1
>>



More information about the linux-arm-kernel mailing list