Add support for SM8750 in the camss driver. Add high level resource
information along with the bus bandwidth votes. Module level detailed
resource information will be enumerated in the following patches of the
series.
Signed-off-by: Hangxiang Ma <hangxiang.ma@oss.qualcomm.com>
---
drivers/media/platform/qcom/camss/camss.c | 22 ++++++++++++++++++++++
drivers/media/platform/qcom/camss/camss.h | 1 +
2 files changed, 23 insertions(+)
diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
index 36ff645d9c1e..56f20daeca3e 100644
--- a/drivers/media/platform/qcom/camss/camss.c
+++ b/drivers/media/platform/qcom/camss/camss.c
@@ -4066,6 +4066,20 @@ static const struct resources_icc icc_res_sa8775p[] = {
},
};
+static const struct resources_icc icc_res_sm8750[] = {
+ {
+ .name = "cam_ahb",
+ .icc_bw_tbl.avg = 150000,
+ .icc_bw_tbl.peak = 300000,
+ },
+ /* Based on 4096 x 3072 30 FPS 2496 Mbps mode */
+ {
+ .name = "cam_hf_mnoc",
+ .icc_bw_tbl.avg = 471860,
+ .icc_bw_tbl.peak = 925857,
+ },
+};
+
static const struct camss_subdev_resources csiphy_res_x1e80100[] = {
/* CSIPHY0 */
{
@@ -5487,6 +5501,13 @@ static const struct camss_resources sm8650_resources = {
.vfe_num = ARRAY_SIZE(vfe_res_sm8650),
};
+static const struct camss_resources sm8750_resources = {
+ .version = CAMSS_8750,
+ .pd_name = "top",
+ .icc_res = icc_res_sm8750,
+ .icc_path_num = ARRAY_SIZE(icc_res_sm8750),
+};
+
static const struct camss_resources x1e80100_resources = {
.version = CAMSS_X1E80100,
.pd_name = "top",
@@ -5518,6 +5539,7 @@ static const struct of_device_id camss_dt_match[] = {
{ .compatible = "qcom,sm8250-camss", .data = &sm8250_resources },
{ .compatible = "qcom,sm8550-camss", .data = &sm8550_resources },
{ .compatible = "qcom,sm8650-camss", .data = &sm8650_resources },
+ { .compatible = "qcom,sm8750-camss", .data = &sm8750_resources },
{ .compatible = "qcom,x1e80100-camss", .data = &x1e80100_resources },
{ }
};
diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/platform/qcom/camss/camss.h
index 616ed7bbb732..2a53524dec93 100644
--- a/drivers/media/platform/qcom/camss/camss.h
+++ b/drivers/media/platform/qcom/camss/camss.h
@@ -91,6 +91,7 @@ enum camss_version {
CAMSS_845,
CAMSS_8550,
CAMSS_8650,
+ CAMSS_8750,
CAMSS_8775P,
CAMSS_KAANAPALI,
CAMSS_X1E80100,
--
2.34.1
On 1/13/2026 2:28 AM, Hangxiang Ma wrote:
> Add support for SM8750 in the camss driver. Add high level resource
> information along with the bus bandwidth votes. Module level detailed
> resource information will be enumerated in the following patches of the
> series.
>
> Signed-off-by: Hangxiang Ma <hangxiang.ma@oss.qualcomm.com>
Hi Hangxiang, I believe some reviewed-by tags are missing for these
patches. Can you please double check?
> ---
> drivers/media/platform/qcom/camss/camss.c | 22 ++++++++++++++++++++++
> drivers/media/platform/qcom/camss/camss.h | 1 +
> 2 files changed, 23 insertions(+)
>
> diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
> index 36ff645d9c1e..56f20daeca3e 100644
> --- a/drivers/media/platform/qcom/camss/camss.c
> +++ b/drivers/media/platform/qcom/camss/camss.c
> @@ -4066,6 +4066,20 @@ static const struct resources_icc icc_res_sa8775p[] = {
> },
> };
>
> +static const struct resources_icc icc_res_sm8750[] = {
> + {
> + .name = "cam_ahb",
> + .icc_bw_tbl.avg = 150000,
> + .icc_bw_tbl.peak = 300000,
> + },
> + /* Based on 4096 x 3072 30 FPS 2496 Mbps mode */
> + {
> + .name = "cam_hf_mnoc",
> + .icc_bw_tbl.avg = 471860,
> + .icc_bw_tbl.peak = 925857,
> + },
> +};
> +
> static const struct camss_subdev_resources csiphy_res_x1e80100[] = {
> /* CSIPHY0 */
> {
> @@ -5487,6 +5501,13 @@ static const struct camss_resources sm8650_resources = {
> .vfe_num = ARRAY_SIZE(vfe_res_sm8650),
> };
>
> +static const struct camss_resources sm8750_resources = {
> + .version = CAMSS_8750,
> + .pd_name = "top",
> + .icc_res = icc_res_sm8750,
> + .icc_path_num = ARRAY_SIZE(icc_res_sm8750),
> +};
> +
> static const struct camss_resources x1e80100_resources = {
> .version = CAMSS_X1E80100,
> .pd_name = "top",
> @@ -5518,6 +5539,7 @@ static const struct of_device_id camss_dt_match[] = {
> { .compatible = "qcom,sm8250-camss", .data = &sm8250_resources },
> { .compatible = "qcom,sm8550-camss", .data = &sm8550_resources },
> { .compatible = "qcom,sm8650-camss", .data = &sm8650_resources },
> + { .compatible = "qcom,sm8750-camss", .data = &sm8750_resources },
> { .compatible = "qcom,x1e80100-camss", .data = &x1e80100_resources },
> { }
> };
> diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/platform/qcom/camss/camss.h
> index 616ed7bbb732..2a53524dec93 100644
> --- a/drivers/media/platform/qcom/camss/camss.h
> +++ b/drivers/media/platform/qcom/camss/camss.h
> @@ -91,6 +91,7 @@ enum camss_version {
> CAMSS_845,
> CAMSS_8550,
> CAMSS_8650,
> + CAMSS_8750,
> CAMSS_8775P,
> CAMSS_KAANAPALI,
> CAMSS_X1E80100,
Thanks,
Vijay.
On 1/14/2026 4:53 AM, Vijay Kumar Tumati wrote:
>
> On 1/13/2026 2:28 AM, Hangxiang Ma wrote:
>> Add support for SM8750 in the camss driver. Add high level resource
>> information along with the bus bandwidth votes. Module level detailed
>> resource information will be enumerated in the following patches of the
>> series.
>>
>> Signed-off-by: Hangxiang Ma <hangxiang.ma@oss.qualcomm.com>
> Hi Hangxiang, I believe some reviewed-by tags are missing for these
> patches. Can you please double check?
>> ---
>> drivers/media/platform/qcom/camss/camss.c | 22 ++++++++++++++++++++++
>> drivers/media/platform/qcom/camss/camss.h | 1 +
>> 2 files changed, 23 insertions(+)
>>
>> diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/
>> media/platform/qcom/camss/camss.c
>> index 36ff645d9c1e..56f20daeca3e 100644
>> --- a/drivers/media/platform/qcom/camss/camss.c
>> +++ b/drivers/media/platform/qcom/camss/camss.c
>> @@ -4066,6 +4066,20 @@ static const struct resources_icc
>> icc_res_sa8775p[] = {
>> },
>> };
>> +static const struct resources_icc icc_res_sm8750[] = {
>> + {
>> + .name = "cam_ahb",
>> + .icc_bw_tbl.avg = 150000,
>> + .icc_bw_tbl.peak = 300000,
>> + },
>> + /* Based on 4096 x 3072 30 FPS 2496 Mbps mode */
>> + {
>> + .name = "cam_hf_mnoc",
>> + .icc_bw_tbl.avg = 471860,
>> + .icc_bw_tbl.peak = 925857,
>> + },
>> +};
>> +
>> static const struct camss_subdev_resources csiphy_res_x1e80100[] = {
>> /* CSIPHY0 */
>> {
>> @@ -5487,6 +5501,13 @@ static const struct camss_resources
>> sm8650_resources = {
>> .vfe_num = ARRAY_SIZE(vfe_res_sm8650),
>> };
>> +static const struct camss_resources sm8750_resources = {
>> + .version = CAMSS_8750,
>> + .pd_name = "top",
>> + .icc_res = icc_res_sm8750,
>> + .icc_path_num = ARRAY_SIZE(icc_res_sm8750),
>> +};
>> +
>> static const struct camss_resources x1e80100_resources = {
>> .version = CAMSS_X1E80100,
>> .pd_name = "top",
>> @@ -5518,6 +5539,7 @@ static const struct of_device_id
>> camss_dt_match[] = {
>> { .compatible = "qcom,sm8250-camss", .data = &sm8250_resources },
>> { .compatible = "qcom,sm8550-camss", .data = &sm8550_resources },
>> { .compatible = "qcom,sm8650-camss", .data = &sm8650_resources },
>> + { .compatible = "qcom,sm8750-camss", .data = &sm8750_resources },
>> { .compatible = "qcom,x1e80100-camss", .data =
>> &x1e80100_resources },
>> { }
>> };
>> diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/
>> media/platform/qcom/camss/camss.h
>> index 616ed7bbb732..2a53524dec93 100644
>> --- a/drivers/media/platform/qcom/camss/camss.h
>> +++ b/drivers/media/platform/qcom/camss/camss.h
>> @@ -91,6 +91,7 @@ enum camss_version {
>> CAMSS_845,
>> CAMSS_8550,
>> CAMSS_8650,
>> + CAMSS_8750,
>> CAMSS_8775P,
>> CAMSS_KAANAPALI,
>> CAMSS_X1E80100,
>
> Thanks,
>
> Vijay.
>
Hi Vijay, the B4 tool didn’t retrieve any ‘Review-by’ tags before I
submitted this revision. Since I wasn’t sure if they were valid, I
didn’t handle that by adding tags manually.
Hi Bryan, is it possible for me to add the 'Review-by' tags manually if
B4 doesn't pick them up automatically? Your feedback would be helpful so
I can manage this situation better in the future.
Best Regards,
Hangxiang
© 2016 - 2026 Red Hat, Inc.