diff mbox series

[v2,2/2] dmaengine: ti: k3-udma: Add support for J722S CSI BCDMA

Message ID 20241126125158.37744-2-vaishnav.a@ti.com (mailing list archive)
State Changes Requested
Headers show
Series [v2,1/2] dt-bindings: dma: ti: k3-bcdma: Add J722S CSI BCDMA | expand

Commit Message

Vaishnav Achath Nov. 26, 2024, 12:51 p.m. UTC
J722S CSI BCDMA is similar to J721S2 CSI BCDMA but there are
slight integration differences like different PSIL thread
base ID which is handled in the driver. Add an entry
to support J722S CSIRX.

J722S TRM (11.2 Data Movement Subsystem):
https://www.ti.com/lit/zip/sprujb3

Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
---

V1->V2:
	* Add new compatible for J722S instead of modifying AM62A

V1: https://lore.kernel.org/all/20241125083914.2934815-2-vaishnav.a@ti.com/

CSI2RX capture test results on J722S EVM with 4 x IMX219:
https://gist.github.com/vaishnavachath/e2eaed62ee8f53428ee9b830aaa02cc3

 drivers/dma/ti/k3-udma.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
diff mbox series

Patch

diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c
index b3f27b3f9209..7ed1956b4642 100644
--- a/drivers/dma/ti/k3-udma.c
+++ b/drivers/dma/ti/k3-udma.c
@@ -4404,6 +4404,18 @@  static struct udma_match_data j721s2_bcdma_csi_data = {
 	.soc_data = &j721s2_bcdma_csi_soc_data,
 };
 
+static struct udma_match_data j722s_bcdma_csi_data = {
+	.type = DMA_TYPE_BCDMA,
+	.psil_base = 0x3100,
+	.enable_memcpy_support = false,
+	.burst_size = {
+		TI_SCI_RM_UDMAP_CHAN_BURST_SIZE_64_BYTES, /* Normal Channels */
+		0, /* No H Channels */
+		0, /* No UH Channels */
+	},
+	.soc_data = &j721s2_bcdma_csi_soc_data,
+};
+
 static const struct of_device_id udma_of_match[] = {
 	{
 		.compatible = "ti,am654-navss-main-udmap",
@@ -4435,6 +4447,10 @@  static const struct of_device_id udma_of_match[] = {
 		.compatible = "ti,j721s2-dmss-bcdma-csi",
 		.data = &j721s2_bcdma_csi_data,
 	},
+	{
+		.compatible = "ti,j722s-dmss-bcdma-csi",
+		.data = &j722s_bcdma_csi_data,
+	},
 	{ /* Sentinel */ },
 };
 MODULE_DEVICE_TABLE(of, udma_of_match);