* [PATCH v2 1/2] dt-bindings: dma: ti: Add J721S2 BCDMA
2023-05-05 8:26 [PATCH v2 0/2] Add support for J721S2 CSI BCDMA Vaishnav Achath
@ 2023-05-05 8:26 ` Vaishnav Achath
2023-05-05 12:29 ` Krzysztof Kozlowski
2023-05-05 8:26 ` [PATCH v2 2/2] dmaengine: ti: k3-udma: Add support for J721S2 CSI BCDMA instance Vaishnav Achath
1 sibling, 1 reply; 4+ messages in thread
From: Vaishnav Achath @ 2023-05-05 8:26 UTC (permalink / raw)
To: krzysztof.kozlowski+dt, peter.ujfalusi, robh+dt, vkoul
Cc: devicetree, dmaengine, j-choudhary, linux-kernel, u-kumar1,
vigneshr, vaishnav.a
Add bindings for J721S2 BCDMA instance dedicated for Camera
Serial Interface. Unlike AM62A CSI BCDMA, this instance has RX
and TX channels but lacks block copy channels.
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
---
V1->V2:
* Move J721S2 BCDMA entry to else condition to avoid failure
with AM62A BCDMA.
.../devicetree/bindings/dma/ti/k3-bcdma.yaml | 54 +++++++++++++------
1 file changed, 39 insertions(+), 15 deletions(-)
diff --git a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
index beecfe7a1732..54d4b8e0c8ce 100644
--- a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
+++ b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
@@ -33,6 +33,7 @@ properties:
enum:
- ti,am62a-dmss-bcdma-csirx
- ti,am64-dmss-bcdma
+ - ti,j721s2-dmss-bcdma-csi
reg:
minItems: 3
@@ -152,21 +153,44 @@ allOf:
- power-domains
else:
- properties:
- reg:
- minItems: 5
-
- reg-names:
- items:
- - const: gcfg
- - const: bchanrt
- - const: rchanrt
- - const: tchanrt
- - const: ringrt
-
- required:
- - ti,sci-rm-range-bchan
- - ti,sci-rm-range-tchan
+ if:
+ properties:
+ compatible:
+ contains:
+ const: ti,j721s2-dmss-bcdma-csi
+ then:
+ properties:
+ ti,sci-rm-range-bchan: false
+
+ reg:
+ maxItems: 4
+
+ reg-names:
+ items:
+ - const: gcfg
+ - const: rchanrt
+ - const: tchanrt
+ - const: ringrt
+
+ required:
+ - ti,sci-rm-range-tchan
+
+ else:
+ properties:
+ reg:
+ minItems: 5
+
+ reg-names:
+ items:
+ - const: gcfg
+ - const: bchanrt
+ - const: rchanrt
+ - const: tchanrt
+ - const: ringrt
+
+ required:
+ - ti,sci-rm-range-bchan
+ - ti,sci-rm-range-tchan
unevaluatedProperties: false
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH v2 2/2] dmaengine: ti: k3-udma: Add support for J721S2 CSI BCDMA instance
2023-05-05 8:26 [PATCH v2 0/2] Add support for J721S2 CSI BCDMA Vaishnav Achath
2023-05-05 8:26 ` [PATCH v2 1/2] dt-bindings: dma: ti: Add J721S2 BCDMA Vaishnav Achath
@ 2023-05-05 8:26 ` Vaishnav Achath
1 sibling, 0 replies; 4+ messages in thread
From: Vaishnav Achath @ 2023-05-05 8:26 UTC (permalink / raw)
To: krzysztof.kozlowski+dt, peter.ujfalusi, robh+dt, vkoul
Cc: devicetree, dmaengine, j-choudhary, linux-kernel, u-kumar1,
vigneshr, vaishnav.a
J721S2 has dedicated BCDMA instance for Camera Serial Interface RX
and TX. The BCDMA instance supports RX and TX channels but block copy
channels are not present, add support for the same.
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
---
drivers/dma/ti/k3-udma.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c
index fc3a2a05ab7b..16c5c333808b 100644
--- a/drivers/dma/ti/k3-udma.c
+++ b/drivers/dma/ti/k3-udma.c
@@ -4308,6 +4308,15 @@ static struct udma_soc_data am62a_dmss_csi_soc_data = {
},
};
+static struct udma_soc_data j721s2_bcdma_csi_soc_data = {
+ .oes = {
+ .bcdma_tchan_data = 0x800,
+ .bcdma_tchan_ring = 0xa00,
+ .bcdma_rchan_data = 0xe00,
+ .bcdma_rchan_ring = 0x1000,
+ },
+};
+
static struct udma_match_data am62a_bcdma_csirx_data = {
.type = DMA_TYPE_BCDMA,
.psil_base = 0x3100,
@@ -4346,6 +4355,18 @@ static struct udma_match_data am64_pktdma_data = {
},
};
+static struct udma_match_data j721s2_bcdma_csi_data = {
+ .type = DMA_TYPE_BCDMA,
+ .psil_base = 0x2000,
+ .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",
@@ -4373,6 +4394,10 @@ static const struct of_device_id udma_of_match[] = {
.compatible = "ti,am62a-dmss-bcdma-csirx",
.data = &am62a_bcdma_csirx_data,
},
+ {
+ .compatible = "ti,j721s2-dmss-bcdma-csi",
+ .data = &j721s2_bcdma_csi_data,
+ },
{ /* Sentinel */ },
};
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread