Skip to content

Staging/nord Add camss support - #883

Closed
Wenmeng Liu (wenmliu) wants to merge 7 commits into
qualcomm-linux:staging/nordfrom
wenmliu:staging/nord
Closed

Wenmeng Liu (wenmliu) wants to merge 7 commits into
qualcomm-linux:staging/nordfrom
wenmliu:staging/nord

Conversation

@wenmliu

Copy link
Copy Markdown
Contributor

Add Nord camss support

Add bindings for the camera subsystem (CAMSS) on the Qualcomm Nord
platform.

The Nord platform provides:
- 5 x CSIPHY (CSI Physical Layer)
- 3 x TPG (Test Pattern Generator)
- 3 x CSID (CSI Decoder)
- 10 x CSID Lite
- 3 x VFE (Video Front End), 12 RDI per VFE
- 10 x VFE Lite, 8 RDI per VFE Lite

Signed-off-by: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com>
Add support for Nord 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: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com>
Nord uses TPG v2.5.0, which moves the stream enable bit from TPG_CTRL to
a dedicated command register (TPG_CTRL_CMD). Branch tpg_stream_on() on
the runtime hw_version to enable the generator accordingly; the reset
bit is unchanged.

Signed-off-by: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com>
Add a CSID driver for the "900" revision on the Nord SoC. It shares the
CSI-2 RX helpers and the split RUP/AUP command model of CSID 980, but
uses a single register map for both the full and lite instances, so add
a separate file rather than a variant of CSID 980.

Signed-off-by: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com>
The Nord IFE (VFE) reuses the VFE ops of the 980/1080 IFE but places the
bus write-master register block at a different base and drops the
WM_CGC_OVERRIDE register. Add an IS_VFE_900() variant in
camss-vfe-gen4.c to handle these differences; all other write-master
register offsets are reused unchanged.

Signed-off-by: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com>
Add the camera subsystem node for the Nord SoC with its 5 CSIPHY, 3 CSID
plus 10 CSID lite and 3 IFE plus 10 IFE lite blocks, along with their
clocks, interrupts, interconnects, SMMU stream IDs and power domains.

Signed-off-by: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com>
#include "camss-vfe.h"

#define IS_VFE_980(vfe) ((vfe)->camss->res->version == CAMSS_8750)
#define IS_VFE_900(vfe) ((vfe)->camss->res->version == CAMSS_NORD)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please place this before 980

.vfe_num = ARRAY_SIZE(vfe_res_kaanapali),
};

static const struct camss_resources nord_resources = {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please arrange alphabetically

},
};

static const struct resources_icc icc_res_nord[] = {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please arrange alphabetically

{ .compatible = "qcom,msm8939-camss", .data = &msm8939_resources },
{ .compatible = "qcom,msm8953-camss", .data = &msm8953_resources },
{ .compatible = "qcom,msm8996-camss", .data = &msm8996_resources },
{ .compatible = "qcom,nord-camss", .data = &nord_resources },

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thats right alphabetical order.

@apateriy-qcom apateriy-qcom left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please resolve the comments.

Also squash the fix commit in one commit.
rebase on latest tip.

@apateriy-qcom

Copy link
Copy Markdown

close this repo as already merged from #915

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants