Add missing required clocks (cpas_ahb and camnoc_axi) for VFE lite
instances on 8775p platform. These clocks are necessary for proper
VFE lite operation:
Fixes: e7b59e1d06fb ("media: qcom: camss: Add support for VFE 690")
Signed-off-by: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com>
---
drivers/media/platform/qcom/camss/camss.c | 40 +++++++++++++++++++------------
1 file changed, 25 insertions(+), 15 deletions(-)
diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
index 4a0bf8acd7645f8cd8c1b4cb9b6ff6f3a54d42e8..d325539defbecc7f4fbcb9d20fb69884e109a459 100644
--- a/drivers/media/platform/qcom/camss/camss.c
+++ b/drivers/media/platform/qcom/camss/camss.c
@@ -3746,15 +3746,17 @@ static const struct camss_subdev_resources vfe_res_8775p[] = {
/* VFE2 (lite) */
{
.regulators = {},
- .clock = { "cpas_vfe_lite", "vfe_lite_ahb",
+ .clock = { "cpas_ahb", "cpas_vfe_lite", "vfe_lite_ahb",
"vfe_lite_csid", "vfe_lite_cphy_rx",
- "vfe_lite"},
+ "vfe_lite", "camnoc_axi"},
.clock_rate = {
- { 0, 0, 0, 0 },
+ { 0 },
+ { 0 },
{ 300000000, 400000000, 400000000, 400000000 },
{ 400000000, 400000000, 400000000, 400000000 },
{ 400000000, 400000000, 400000000, 400000000 },
{ 480000000, 600000000, 600000000, 600000000 },
+ { 400000000 },
},
.reg = { "vfe_lite0" },
.interrupt = { "vfe_lite0" },
@@ -3769,15 +3771,17 @@ static const struct camss_subdev_resources vfe_res_8775p[] = {
/* VFE3 (lite) */
{
.regulators = {},
- .clock = { "cpas_vfe_lite", "vfe_lite_ahb",
+ .clock = { "cpas_ahb", "cpas_vfe_lite", "vfe_lite_ahb",
"vfe_lite_csid", "vfe_lite_cphy_rx",
- "vfe_lite"},
+ "vfe_lite", "camnoc_axi"},
.clock_rate = {
- { 0, 0, 0, 0 },
+ { 0 },
+ { 0 },
{ 300000000, 400000000, 400000000, 400000000 },
{ 400000000, 400000000, 400000000, 400000000 },
{ 400000000, 400000000, 400000000, 400000000 },
{ 480000000, 600000000, 600000000, 600000000 },
+ { 400000000 },
},
.reg = { "vfe_lite1" },
.interrupt = { "vfe_lite1" },
@@ -3792,15 +3796,17 @@ static const struct camss_subdev_resources vfe_res_8775p[] = {
/* VFE4 (lite) */
{
.regulators = {},
- .clock = { "cpas_vfe_lite", "vfe_lite_ahb",
+ .clock = { "cpas_ahb", "cpas_vfe_lite", "vfe_lite_ahb",
"vfe_lite_csid", "vfe_lite_cphy_rx",
- "vfe_lite"},
+ "vfe_lite", "camnoc_axi"},
.clock_rate = {
- { 0, 0, 0, 0 },
+ { 0 },
+ { 0 },
{ 300000000, 400000000, 400000000, 400000000 },
{ 400000000, 400000000, 400000000, 400000000 },
{ 400000000, 400000000, 400000000, 400000000 },
{ 480000000, 600000000, 600000000, 600000000 },
+ { 400000000 },
},
.reg = { "vfe_lite2" },
.interrupt = { "vfe_lite2" },
@@ -3815,15 +3821,17 @@ static const struct camss_subdev_resources vfe_res_8775p[] = {
/* VFE5 (lite) */
{
.regulators = {},
- .clock = { "cpas_vfe_lite", "vfe_lite_ahb",
+ .clock = { "cpas_ahb", "cpas_vfe_lite", "vfe_lite_ahb",
"vfe_lite_csid", "vfe_lite_cphy_rx",
- "vfe_lite"},
+ "vfe_lite", "camnoc_axi"},
.clock_rate = {
- { 0, 0, 0, 0 },
+ { 0 },
+ { 0 },
{ 300000000, 400000000, 400000000, 400000000 },
{ 400000000, 400000000, 400000000, 400000000 },
{ 400000000, 400000000, 400000000, 400000000 },
{ 480000000, 600000000, 600000000, 600000000 },
+ { 400000000 },
},
.reg = { "vfe_lite3" },
.interrupt = { "vfe_lite3" },
@@ -3838,15 +3846,17 @@ static const struct camss_subdev_resources vfe_res_8775p[] = {
/* VFE6 (lite) */
{
.regulators = {},
- .clock = { "cpas_vfe_lite", "vfe_lite_ahb",
+ .clock = { "cpas_ahb", "cpas_vfe_lite", "vfe_lite_ahb",
"vfe_lite_csid", "vfe_lite_cphy_rx",
- "vfe_lite"},
+ "vfe_lite", "camnoc_axi"},
.clock_rate = {
- { 0, 0, 0, 0 },
+ { 0 },
+ { 0 },
{ 300000000, 400000000, 400000000, 400000000 },
{ 400000000, 400000000, 400000000, 400000000 },
{ 400000000, 400000000, 400000000, 400000000 },
{ 480000000, 600000000, 600000000, 600000000 },
+ { 400000000 },
},
.reg = { "vfe_lite4" },
.interrupt = { "vfe_lite4" },
--
2.34.1
On 13/03/2026 09:42, Wenmeng Liu wrote:
> Add missing required clocks (cpas_ahb and camnoc_axi) for VFE lite
> instances on 8775p platform. These clocks are necessary for proper
> VFE lite operation:
>
> Fixes: e7b59e1d06fb ("media: qcom: camss: Add support for VFE 690")
> Signed-off-by: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com>
> ---
> drivers/media/platform/qcom/camss/camss.c | 40 +++++++++++++++++++------------
> 1 file changed, 25 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
> index 4a0bf8acd7645f8cd8c1b4cb9b6ff6f3a54d42e8..d325539defbecc7f4fbcb9d20fb69884e109a459 100644
> --- a/drivers/media/platform/qcom/camss/camss.c
> +++ b/drivers/media/platform/qcom/camss/camss.c
> @@ -3746,15 +3746,17 @@ static const struct camss_subdev_resources vfe_res_8775p[] = {
> /* VFE2 (lite) */
> {
> .regulators = {},
> - .clock = { "cpas_vfe_lite", "vfe_lite_ahb",
> + .clock = { "cpas_ahb", "cpas_vfe_lite", "vfe_lite_ahb",
> "vfe_lite_csid", "vfe_lite_cphy_rx",
> - "vfe_lite"},
> + "vfe_lite", "camnoc_axi"},
> .clock_rate = {
> - { 0, 0, 0, 0 },
> + { 0 },
> + { 0 },
> { 300000000, 400000000, 400000000, 400000000 },
> { 400000000, 400000000, 400000000, 400000000 },
> { 400000000, 400000000, 400000000, 400000000 },
> { 480000000, 600000000, 600000000, 600000000 },
> + { 400000000 },
> },
> .reg = { "vfe_lite0" },
> .interrupt = { "vfe_lite0" },
> @@ -3769,15 +3771,17 @@ static const struct camss_subdev_resources vfe_res_8775p[] = {
> /* VFE3 (lite) */
> {
> .regulators = {},
> - .clock = { "cpas_vfe_lite", "vfe_lite_ahb",
> + .clock = { "cpas_ahb", "cpas_vfe_lite", "vfe_lite_ahb",
> "vfe_lite_csid", "vfe_lite_cphy_rx",
> - "vfe_lite"},
> + "vfe_lite", "camnoc_axi"},
> .clock_rate = {
> - { 0, 0, 0, 0 },
> + { 0 },
> + { 0 },
> { 300000000, 400000000, 400000000, 400000000 },
> { 400000000, 400000000, 400000000, 400000000 },
> { 400000000, 400000000, 400000000, 400000000 },
> { 480000000, 600000000, 600000000, 600000000 },
> + { 400000000 },
> },
> .reg = { "vfe_lite1" },
> .interrupt = { "vfe_lite1" },
> @@ -3792,15 +3796,17 @@ static const struct camss_subdev_resources vfe_res_8775p[] = {
> /* VFE4 (lite) */
> {
> .regulators = {},
> - .clock = { "cpas_vfe_lite", "vfe_lite_ahb",
> + .clock = { "cpas_ahb", "cpas_vfe_lite", "vfe_lite_ahb",
> "vfe_lite_csid", "vfe_lite_cphy_rx",
> - "vfe_lite"},
> + "vfe_lite", "camnoc_axi"},
> .clock_rate = {
> - { 0, 0, 0, 0 },
> + { 0 },
> + { 0 },
> { 300000000, 400000000, 400000000, 400000000 },
> { 400000000, 400000000, 400000000, 400000000 },
> { 400000000, 400000000, 400000000, 400000000 },
> { 480000000, 600000000, 600000000, 600000000 },
> + { 400000000 },
> },
> .reg = { "vfe_lite2" },
> .interrupt = { "vfe_lite2" },
> @@ -3815,15 +3821,17 @@ static const struct camss_subdev_resources vfe_res_8775p[] = {
> /* VFE5 (lite) */
> {
> .regulators = {},
> - .clock = { "cpas_vfe_lite", "vfe_lite_ahb",
> + .clock = { "cpas_ahb", "cpas_vfe_lite", "vfe_lite_ahb",
> "vfe_lite_csid", "vfe_lite_cphy_rx",
> - "vfe_lite"},
> + "vfe_lite", "camnoc_axi"},
> .clock_rate = {
> - { 0, 0, 0, 0 },
> + { 0 },
> + { 0 },
> { 300000000, 400000000, 400000000, 400000000 },
> { 400000000, 400000000, 400000000, 400000000 },
> { 400000000, 400000000, 400000000, 400000000 },
> { 480000000, 600000000, 600000000, 600000000 },
> + { 400000000 },
> },
> .reg = { "vfe_lite3" },
> .interrupt = { "vfe_lite3" },
> @@ -3838,15 +3846,17 @@ static const struct camss_subdev_resources vfe_res_8775p[] = {
> /* VFE6 (lite) */
> {
> .regulators = {},
> - .clock = { "cpas_vfe_lite", "vfe_lite_ahb",
> + .clock = { "cpas_ahb", "cpas_vfe_lite", "vfe_lite_ahb",
> "vfe_lite_csid", "vfe_lite_cphy_rx",
> - "vfe_lite"},
> + "vfe_lite", "camnoc_axi"},
> .clock_rate = {
> - { 0, 0, 0, 0 },
> + { 0 },
> + { 0 },
> { 300000000, 400000000, 400000000, 400000000 },
> { 400000000, 400000000, 400000000, 400000000 },
> { 400000000, 400000000, 400000000, 400000000 },
> { 480000000, 600000000, 600000000, 600000000 },
> + { 400000000 },
> },
> .reg = { "vfe_lite4" },
> .interrupt = { "vfe_lite4" },
>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
bod
© 2016 - 2026 Red Hat, Inc.