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

bod at kernel.org bod at kernel.org
Thu May 28 15:13:31 PDT 2026


On 2026-05-26 22:42 +0530, Nihal Kumar Gupta 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),
> +};
> +
>  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
> 
> 

NAK - what is the point of this identifier ? It literally just adds a new
define and a new string.

Unless there is an actual difference with 2290 which thus far we haven't
see, this new type is not required.

---
bod




More information about the linux-arm-kernel mailing list