Re: [PATCH 3/8] media: qcom: camss: add support for QCM2390 camss
From: Vikram Sharma
Date: Fri May 29 2026 - 11:13:54 EST
On 5/28/2026 5:55 PM, Loic Poulain wrote:
> On Tue, May 26, 2026 at 7:13 PM Nihal Kumar Gupta
> <nihal.gupta@xxxxxxxxxxxxxxxx> wrote:
>> From: Prashant Shrotriya <pshrotri@xxxxxxxxxxxxxxxx>
>>
>> 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@xxxxxxxxxxxxxxxx>
>> Signed-off-by: Nihal Kumar Gupta <nihal.gupta@xxxxxxxxxxxxxxxx>
>> ---
>> 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
>>