All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benoit Parrot <bparrot@ti.com>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: <linux-media@vger.kernel.org>, Rob Herring <robh+dt@kernel.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	Benoit Parrot <bparrot@ti.com>
Subject: [Patch v2 14/20] media: ti-vpe: cal: Add AM654 support
Date: Mon, 4 Nov 2019 13:31:34 -0600	[thread overview]
Message-ID: <20191104193140.31145-15-bparrot@ti.com> (raw)
In-Reply-To: <20191104193140.31145-1-bparrot@ti.com>

Add the needed control module register bit layout to support the AM654
family of devices.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
---
 drivers/media/platform/Kconfig      |  2 +-
 drivers/media/platform/ti-vpe/cal.c | 28 +++++++++++++++++++++++++++-
 2 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index e84f35d3a68e..995f4c67f764 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -151,7 +151,7 @@ source "drivers/media/platform/sunxi/Kconfig"
 config VIDEO_TI_CAL
 	tristate "TI CAL (Camera Adaptation Layer) driver"
 	depends on VIDEO_DEV && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
-	depends on SOC_DRA7XX || COMPILE_TEST
+	depends on SOC_DRA7XX || ARCH_K3 || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
 	select V4L2_FWNODE
 	help
diff --git a/drivers/media/platform/ti-vpe/cal.c b/drivers/media/platform/ti-vpe/cal.c
index 72ed2348389d..45653e9ed6cd 100644
--- a/drivers/media/platform/ti-vpe/cal.c
+++ b/drivers/media/platform/ti-vpe/cal.c
@@ -322,6 +322,26 @@ static struct cal_data dra76x_cal_data = {
 	.flags = 0,
 };
 
+static struct reg_field am654_ctrl_core_csi0_reg_fields[F_MAX_FIELDS] = {
+	[F_CTRLCLKEN] = REG_FIELD(0, 15, 15),
+	[F_CAMMODE] = REG_FIELD(0, 24, 25),
+	[F_LANEENABLE] = REG_FIELD(0, 0, 4),
+};
+
+static struct cal_csi2_phy am654_cal_csi_phy[] = {
+	{
+		.base_fields = am654_ctrl_core_csi0_reg_fields,
+		.num_lanes = 5,
+	},
+};
+
+static struct cal_data am654_cal_data = {
+	.csi2_phy_core = am654_cal_csi_phy,
+	.num_csi2_phy = ARRAY_SIZE(am654_cal_csi_phy),
+
+	.flags = 0,
+};
+
 /*
  * there is one cal_dev structure in the driver, it is shared by
  * all instances.
@@ -548,7 +568,9 @@ static void camerarx_phy_enable(struct cal_ctx *ctx)
 	/* Always enable all lanes at the phy control level */
 	max_lanes = (1 << cal_data_get_phy_max_lanes(ctx)) - 1;
 	regmap_field_write(phy->fields[F_LANEENABLE], max_lanes);
-	regmap_field_write(phy->fields[F_CSI_MODE], 1);
+	/* F_CSI_MODE is not present on every architecture */
+	if (phy->fields[F_CSI_MODE])
+		regmap_field_write(phy->fields[F_CSI_MODE], 1);
 	regmap_field_write(phy->fields[F_CTRLCLKEN], 1);
 }
 
@@ -2321,6 +2343,10 @@ static const struct of_device_id cal_of_match[] = {
 		.compatible = "ti,dra76-cal",
 		.data = (void *)&dra76x_cal_data,
 	},
+	{
+		.compatible = "ti,am654-cal",
+		.data = (void *)&am654_cal_data,
+	},
 	{},
 };
 MODULE_DEVICE_TABLE(of, cal_of_match);
-- 
2.17.1


  parent reply	other threads:[~2019-11-04 19:32 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-04 19:31 [Patch v2 00/20] media: ti-vpe: cal: maintenance Benoit Parrot
2019-11-04 19:31 ` [Patch v2 01/20] dt-bindings: media: cal: update binding to use syscon Benoit Parrot
2019-11-04 19:31 ` [Patch v2 02/20] dt-bindings: media: cal: update binding example Benoit Parrot
2019-11-04 19:31 ` [Patch v2 03/20] media: ti-vpe: cal: Add per platform data support Benoit Parrot
2019-11-04 19:31 ` [Patch v2 04/20] media: ti-vpe: cal: Enable DMABUF export Benoit Parrot
2019-11-04 19:31 ` [Patch v2 05/20] media: ti-vpe: cal: Restrict DMA to avoid memory corruption Benoit Parrot
2019-11-04 19:31 ` [Patch v2 06/20] dt-bindings: media: cal: update binding to add PHY LDO errata support Benoit Parrot
2019-11-04 19:31 ` [Patch v2 07/20] media: ti-vpe: cal: add CSI2 " Benoit Parrot
2019-11-06  8:55   ` Sakari Ailus
2019-11-06 20:35     ` Benoit Parrot
2019-11-06 20:41     ` Benoit Parrot
2019-11-04 19:31 ` [Patch v2 08/20] media: ti-vpe: cal: Fix ths_term/ths_settle parameters Benoit Parrot
2019-11-04 19:31 ` [Patch v2 09/20] media: ti-vpe: cal: Fix pixel processing parameters Benoit Parrot
2019-11-04 19:31 ` [Patch v2 10/20] media: ti-vpe: cal: Align DPHY init sequence with docs Benoit Parrot
2019-11-04 19:31 ` [Patch v2 11/20] dt-bindings: media: cal: update binding to add DRA76x support Benoit Parrot
2019-11-04 19:31 ` [Patch v2 12/20] media: ti-vpe: cal: Add " Benoit Parrot
2019-11-06  8:57   ` Sakari Ailus
2019-11-06 20:58     ` Benoit Parrot
2019-11-06 21:10       ` Sakari Ailus
2019-11-12 13:28       ` Benoit Parrot
2019-11-12 13:35         ` Benoit Parrot
2019-11-04 19:31 ` [Patch v2 13/20] dt-bindings: media: cal: update binding to add AM654 support Benoit Parrot
2019-11-04 19:31 ` Benoit Parrot [this message]
2019-11-06  9:07   ` [Patch v2 14/20] media: ti-vpe: cal: Add " Sakari Ailus
2019-11-04 19:31 ` [Patch v2 15/20] media: ti-vpe: cal: Add subdev s_power hooks Benoit Parrot
2019-11-06  9:08   ` Sakari Ailus
2019-11-06 20:59     ` Benoit Parrot
2019-11-04 19:31 ` [Patch v2 16/20] media: ti-vpe: cal: Properly calculate max resolution boundary Benoit Parrot
2019-11-04 19:31 ` [Patch v2 17/20] media: ti-vpe: cal: Fix a WARN issued when start streaming fails Benoit Parrot
2019-11-04 19:31 ` [Patch v2 18/20] media: ti-vpe: cal: fix enum_mbus_code/frame_size subdev arguments Benoit Parrot
2019-11-04 19:31 ` [Patch v2 19/20] dt-bindings: media: cal: convert binding to yaml Benoit Parrot
2019-11-06 21:15   ` Benoit Parrot
2019-11-04 19:31 ` [Patch v2 20/20] MAINTAINERS: Add ti,cal.yaml Benoit Parrot
2019-11-06  9:10   ` Sakari Ailus
2019-11-06 21:01     ` Benoit Parrot
2019-11-06 22:35       ` Sakari Ailus

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=20191104193140.31145-15-bparrot@ti.com \
    --to=bparrot@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=robh+dt@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: link
Be 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.