]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: qcom: camss: Add missing clocks for VFE lite on sa8775p
authorWenmeng Liu <wenmeng.liu@oss.qualcomm.com>
Fri, 13 Mar 2026 10:13:04 +0000 (18:13 +0800)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Mon, 27 Apr 2026 06:41:22 +0000 (08:41 +0200)
Add missing required clocks (cpas_ahb and camnoc_axi) for VFE lite
instances on sa8775p platform. These clocks are necessary for proper
VFE lite operation:

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com>
Fixes: e7b59e1d06fb ("media: qcom: camss: Add support for VFE 690")
Cc: stable@vger.kernel.org
Signed-off-by: Bryan O'Donoghue <bod@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/platform/qcom/camss/camss.c

index cb013471898506f483e5b2779cfd4f679dc083e8..9335636d7c4dfc7263af79f0bc8a3f87bd5108d4 100644 (file)
@@ -3742,15 +3742,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" },
@@ -3765,15 +3767,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" },
@@ -3788,15 +3792,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" },
@@ -3811,15 +3817,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" },
@@ -3834,15 +3842,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" },