From: Robert Foss <robert.foss@linaro.org> To: agross@kernel.org, bjorn.andersson@linaro.org, robert.foss@linaro.org, todor.too@gmail.com, mchehab@kernel.org, robh+dt@kernel.org, catalin.marinas@arm.com, will@kernel.org, shawnguo@kernel.org, leoyang.li@nxp.com, geert+renesas@glider.be, arnd@arndb.de, Anson.Huang@nxp.com, michael@walle.cc, agx@sigxcpu.org, max.oss.09@gmail.com, linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, AngeloGioacchino Del Regno <kholk11@gmail.com>, Andrey Konovalov <andrey.konovalov@linaro.org> Cc: Tomasz Figa <tfiga@chromium.org>, Azam Sadiq Pasha Kapatrala Syed <akapatra@quicinc.com>, Sarvesh Sridutt <Sarvesh.Sridutt@smartwirelesscompute.com>, Laurent Pinchart <laurent.pinchart@ideasonboard.com> Subject: [PATCH v1 13/17] media: camss: Enable SDM845 Date: Fri, 8 Jan 2021 13:04:25 +0100 [thread overview] Message-ID: <20210108120429.895046-14-robert.foss@linaro.org> (raw) In-Reply-To: <20210108120429.895046-1-robert.foss@linaro.org> Enable support for SDM845 based Titan 170 ISPs. Signed-off-by: Robert Foss <robert.foss@linaro.org> --- drivers/media/platform/qcom/camss/camss.c | 17 +++++++++++++++++ drivers/media/platform/qcom/camss/camss.h | 6 ++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c index 259ed094cee4..4dfae29c6327 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -897,6 +897,12 @@ static int camss_init_subdevices(struct camss *camss) csid_res = csid_res_660; ispif_res = &ispif_res_660; vfe_res = vfe_res_660; + } else if (camss->version == CAMSS_845) { + csiphy_res = csiphy_res_845; + csid_res = csid_res_845; + /* Titan VFEs don't have an ISPIF */ + ispif_res = NULL; + vfe_res = vfe_res_845; } else { return -EINVAL; } @@ -1205,6 +1211,8 @@ static int camss_configure_pd(struct camss *camss) if (camss->version == CAMSS_8x96 || camss->version == CAMSS_660) nbr_pm_domains = PM_DOMAIN_CAMSS_COUNT; + else if (camss->version == CAMSS_845) + nbr_pm_domains = PM_DOMAIN_TITAN_COUNT; for (i = 0; i < nbr_pm_domains; i++) { camss->genpd[i] = dev_pm_domain_attach_by_id(camss->dev, i); @@ -1273,6 +1281,12 @@ static int camss_probe(struct platform_device *pdev) camss->csiphy_num = 3; camss->csid_num = 4; camss->vfe_num = 2; + } else if (of_device_is_compatible(dev->of_node, + "qcom,sdm845-camss")) { + camss->version = CAMSS_845; + camss->csiphy_num = 4; + camss->csid_num = 3; + camss->vfe_num = 3; } else { ret = -EINVAL; goto err_free; @@ -1404,6 +1418,8 @@ void camss_delete(struct camss *camss) if (camss->version == CAMSS_8x96 || camss->version == CAMSS_660) nbr_pm_domains = PM_DOMAIN_CAMSS_COUNT; + else if (camss->version == CAMSS_845) + nbr_pm_domains = PM_DOMAIN_TITAN_COUNT; for (i = 0; i < nbr_pm_domains; i++) { device_link_del(camss->genpd_link[i]); @@ -1437,6 +1453,7 @@ static const struct of_device_id camss_dt_match[] = { { .compatible = "qcom,msm8916-camss" }, { .compatible = "qcom,msm8996-camss" }, { .compatible = "qcom,sdm660-camss" }, + { .compatible = "qcom,sdm845-camss" }, { } }; diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/platform/qcom/camss/camss.h index 7560d85b3352..2f853557ed16 100644 --- a/drivers/media/platform/qcom/camss/camss.h +++ b/drivers/media/platform/qcom/camss/camss.h @@ -60,6 +60,8 @@ enum pm_domain { PM_DOMAIN_VFE0 = 0, PM_DOMAIN_VFE1 = 1, PM_DOMAIN_CAMSS_COUNT = 2, /* CAMSS series of ISPs */ + PM_DOMAIN_VFELITE = 2, /* VFELITE / TOP GDSC */ + PM_DOMAIN_TITAN_COUNT = 3, /* Titan series of ISPs */ }; enum camss_version { @@ -83,8 +85,8 @@ struct camss { int vfe_num; struct vfe_device *vfe; atomic_t ref_count; - struct device *genpd[PM_DOMAIN_CAMSS_COUNT]; - struct device_link *genpd_link[PM_DOMAIN_CAMSS_COUNT]; + struct device *genpd[PM_DOMAIN_TITAN_COUNT]; + struct device_link *genpd_link[PM_DOMAIN_TITAN_COUNT]; }; struct camss_camera_interface { -- 2.27.0
WARNING: multiple messages have this Message-ID (diff)
From: Robert Foss <robert.foss@linaro.org> To: agross@kernel.org, bjorn.andersson@linaro.org, robert.foss@linaro.org, todor.too@gmail.com, mchehab@kernel.org, robh+dt@kernel.org, catalin.marinas@arm.com, will@kernel.org, shawnguo@kernel.org, leoyang.li@nxp.com, geert+renesas@glider.be, arnd@arndb.de, Anson.Huang@nxp.com, michael@walle.cc, agx@sigxcpu.org, max.oss.09@gmail.com, linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, AngeloGioacchino Del Regno <kholk11@gmail.com>, Andrey Konovalov <andrey.konovalov@linaro.org> Cc: Azam Sadiq Pasha Kapatrala Syed <akapatra@quicinc.com>, Sarvesh Sridutt <Sarvesh.Sridutt@smartwirelesscompute.com>, Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Tomasz Figa <tfiga@chromium.org> Subject: [PATCH v1 13/17] media: camss: Enable SDM845 Date: Fri, 8 Jan 2021 13:04:25 +0100 [thread overview] Message-ID: <20210108120429.895046-14-robert.foss@linaro.org> (raw) In-Reply-To: <20210108120429.895046-1-robert.foss@linaro.org> Enable support for SDM845 based Titan 170 ISPs. Signed-off-by: Robert Foss <robert.foss@linaro.org> --- drivers/media/platform/qcom/camss/camss.c | 17 +++++++++++++++++ drivers/media/platform/qcom/camss/camss.h | 6 ++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c index 259ed094cee4..4dfae29c6327 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -897,6 +897,12 @@ static int camss_init_subdevices(struct camss *camss) csid_res = csid_res_660; ispif_res = &ispif_res_660; vfe_res = vfe_res_660; + } else if (camss->version == CAMSS_845) { + csiphy_res = csiphy_res_845; + csid_res = csid_res_845; + /* Titan VFEs don't have an ISPIF */ + ispif_res = NULL; + vfe_res = vfe_res_845; } else { return -EINVAL; } @@ -1205,6 +1211,8 @@ static int camss_configure_pd(struct camss *camss) if (camss->version == CAMSS_8x96 || camss->version == CAMSS_660) nbr_pm_domains = PM_DOMAIN_CAMSS_COUNT; + else if (camss->version == CAMSS_845) + nbr_pm_domains = PM_DOMAIN_TITAN_COUNT; for (i = 0; i < nbr_pm_domains; i++) { camss->genpd[i] = dev_pm_domain_attach_by_id(camss->dev, i); @@ -1273,6 +1281,12 @@ static int camss_probe(struct platform_device *pdev) camss->csiphy_num = 3; camss->csid_num = 4; camss->vfe_num = 2; + } else if (of_device_is_compatible(dev->of_node, + "qcom,sdm845-camss")) { + camss->version = CAMSS_845; + camss->csiphy_num = 4; + camss->csid_num = 3; + camss->vfe_num = 3; } else { ret = -EINVAL; goto err_free; @@ -1404,6 +1418,8 @@ void camss_delete(struct camss *camss) if (camss->version == CAMSS_8x96 || camss->version == CAMSS_660) nbr_pm_domains = PM_DOMAIN_CAMSS_COUNT; + else if (camss->version == CAMSS_845) + nbr_pm_domains = PM_DOMAIN_TITAN_COUNT; for (i = 0; i < nbr_pm_domains; i++) { device_link_del(camss->genpd_link[i]); @@ -1437,6 +1453,7 @@ static const struct of_device_id camss_dt_match[] = { { .compatible = "qcom,msm8916-camss" }, { .compatible = "qcom,msm8996-camss" }, { .compatible = "qcom,sdm660-camss" }, + { .compatible = "qcom,sdm845-camss" }, { } }; diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/platform/qcom/camss/camss.h index 7560d85b3352..2f853557ed16 100644 --- a/drivers/media/platform/qcom/camss/camss.h +++ b/drivers/media/platform/qcom/camss/camss.h @@ -60,6 +60,8 @@ enum pm_domain { PM_DOMAIN_VFE0 = 0, PM_DOMAIN_VFE1 = 1, PM_DOMAIN_CAMSS_COUNT = 2, /* CAMSS series of ISPs */ + PM_DOMAIN_VFELITE = 2, /* VFELITE / TOP GDSC */ + PM_DOMAIN_TITAN_COUNT = 3, /* Titan series of ISPs */ }; enum camss_version { @@ -83,8 +85,8 @@ struct camss { int vfe_num; struct vfe_device *vfe; atomic_t ref_count; - struct device *genpd[PM_DOMAIN_CAMSS_COUNT]; - struct device_link *genpd_link[PM_DOMAIN_CAMSS_COUNT]; + struct device *genpd[PM_DOMAIN_TITAN_COUNT]; + struct device_link *genpd_link[PM_DOMAIN_TITAN_COUNT]; }; struct camss_camera_interface { -- 2.27.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-01-08 12:07 UTC|newest] Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-08 12:04 [PATCH v1 00/17] Add support for SDM845 Camera Subsystem Robert Foss 2021-01-08 12:04 ` Robert Foss 2021-01-08 12:04 ` [PATCH v1 01/17] media: camss: Fix comment using wrong function name Robert Foss 2021-01-08 12:04 ` Robert Foss 2021-01-08 18:51 ` Bjorn Andersson 2021-01-08 18:51 ` Bjorn Andersson 2021-01-13 10:04 ` Robert Foss 2021-01-13 10:04 ` Robert Foss 2021-01-08 12:04 ` [PATCH v1 02/17] media: camss: Fix vfe_isr comment typo Robert Foss 2021-01-08 12:04 ` Robert Foss 2021-01-08 18:51 ` Bjorn Andersson 2021-01-08 18:51 ` Bjorn Andersson 2021-01-13 10:04 ` Robert Foss 2021-01-13 10:04 ` Robert Foss 2021-01-08 12:04 ` [PATCH v1 03/17] media: camss: Add CAMSS_845 camss version Robert Foss 2021-01-08 12:04 ` Robert Foss 2021-01-08 12:04 ` [PATCH v1 04/17] media: camss: Make ISPIF subdevice optional Robert Foss 2021-01-08 12:04 ` Robert Foss 2021-01-08 19:07 ` Bjorn Andersson 2021-01-08 19:07 ` Bjorn Andersson 2021-01-13 15:02 ` Robert Foss 2021-01-13 15:02 ` Robert Foss 2021-01-13 22:28 ` Andrey Konovalov 2021-01-13 22:28 ` Andrey Konovalov 2021-01-14 9:55 ` Robert Foss 2021-01-14 9:55 ` Robert Foss 2021-01-08 12:04 ` [PATCH v1 05/17] media: camss: Refactor VFE HW version support Robert Foss 2021-01-08 16:51 ` kernel test robot 2021-01-13 22:38 ` Andrey Konovalov 2021-01-14 10:07 ` Robert Foss 2021-01-08 12:04 ` [PATCH v1 06/17] media: camss: Add support for VFE hardware version Titan 170 Robert Foss 2021-01-08 12:04 ` Robert Foss 2021-01-14 10:48 ` Andrey Konovalov 2021-01-14 10:48 ` Andrey Konovalov 2021-01-14 12:07 ` Robert Foss 2021-01-14 12:07 ` Robert Foss 2021-01-08 12:04 ` [PATCH v1 07/17] media: camss: Add missing format identifiers Robert Foss 2021-01-08 12:04 ` Robert Foss 2021-01-08 12:04 ` [PATCH v1 08/17] media: camss: Refactor CSID HW version support Robert Foss 2021-01-08 12:04 ` Robert Foss 2021-01-08 18:02 ` kernel test robot 2021-01-08 12:04 ` [PATCH v1 09/17] media: camss: Add support for CSID hardware version Titan 170 Robert Foss 2021-01-08 12:04 ` Robert Foss 2021-01-08 12:04 ` [PATCH v1 10/17] media: camss: Add support for CSIPHY " Robert Foss 2021-01-08 12:04 ` Robert Foss 2021-01-08 12:04 ` [PATCH v1 11/17] media: camss: Remove per VFE power domain toggling Robert Foss 2021-01-08 12:04 ` Robert Foss 2021-01-08 12:04 ` [PATCH v1 12/17] media: dt-bindings: media: qcom,camss: Add bindings for SDM845 camss Robert Foss 2021-01-08 12:04 ` [PATCH v1 12/17] media: dt-bindings: media: qcom, camss: " Robert Foss 2021-01-09 1:44 ` [PATCH v1 12/17] media: dt-bindings: media: qcom,camss: " Laurent Pinchart 2021-01-09 1:44 ` Laurent Pinchart 2021-01-08 12:04 ` Robert Foss [this message] 2021-01-08 12:04 ` [PATCH v1 13/17] media: camss: Enable SDM845 Robert Foss 2021-01-08 12:04 ` [PATCH v1 14/17] arm64: defconfig: Build Qcom CAMSS as module Robert Foss 2021-01-08 12:04 ` Robert Foss 2021-01-08 12:04 ` [PATCH v1 15/17] arm64: dts: sdm845: Add CAMSS ISP node Robert Foss 2021-01-08 12:04 ` Robert Foss 2021-01-08 12:04 ` [PATCH v1 16/17] arm64: dts: sdm845-db845c: " Robert Foss 2021-01-08 12:04 ` Robert Foss 2021-01-09 1:47 ` Laurent Pinchart 2021-01-09 1:47 ` Laurent Pinchart 2021-01-13 10:03 ` Robert Foss 2021-01-13 10:03 ` Robert Foss 2021-01-08 12:04 ` [PATCH v1 17/17] arm64: dts: sdm845-db845c: Enable ov8856 sensor and connect to ISP Robert Foss 2021-01-08 12:04 ` Robert Foss
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210108120429.895046-14-robert.foss@linaro.org \ --to=robert.foss@linaro.org \ --cc=Anson.Huang@nxp.com \ --cc=Sarvesh.Sridutt@smartwirelesscompute.com \ --cc=agross@kernel.org \ --cc=agx@sigxcpu.org \ --cc=akapatra@quicinc.com \ --cc=andrey.konovalov@linaro.org \ --cc=arnd@arndb.de \ --cc=bjorn.andersson@linaro.org \ --cc=catalin.marinas@arm.com \ --cc=devicetree@vger.kernel.org \ --cc=geert+renesas@glider.be \ --cc=kholk11@gmail.com \ --cc=laurent.pinchart@ideasonboard.com \ --cc=leoyang.li@nxp.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-arm-msm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-media@vger.kernel.org \ --cc=max.oss.09@gmail.com \ --cc=mchehab@kernel.org \ --cc=michael@walle.cc \ --cc=robh+dt@kernel.org \ --cc=shawnguo@kernel.org \ --cc=tfiga@chromium.org \ --cc=todor.too@gmail.com \ --cc=will@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.