* [PATCH v3 1/2] dt-bindings: dma: ti: Add J721S2 BCDMA
2023-05-05 14:39 [PATCH v3 0/2] Add support for J721S2 CSI BCDMA Vaishnav Achath
@ 2023-05-05 14:39 ` Vaishnav Achath
2023-05-05 17:53 ` Krzysztof Kozlowski
2023-05-05 14:39 ` [PATCH v3 2/2] dmaengine: ti: k3-udma: Add support for J721S2 CSI BCDMA instance Vaishnav Achath
2023-05-16 17:56 ` [PATCH v3 0/2] Add support for J721S2 CSI BCDMA Vinod Koul
2 siblings, 1 reply; 5+ messages in thread
From: Vaishnav Achath @ 2023-05-05 14:39 UTC (permalink / raw)
To: peter.ujfalusi, vigneshr, vkoul, robh+dt, krzysztof.kozlowski+dt
Cc: devicetree, dmaengine, linux-kernel, u-kumar1, j-choudhary,
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>
---
V2->V3:
* Avoid using if:else:if, instead move ti,am64-dmss-bcdma
to new if:, also keep entries in alphabetical order.
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..4ca300a42a99 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
@@ -151,7 +152,12 @@ allOf:
required:
- power-domains
- else:
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: ti,am64-dmss-bcdma
+ then:
properties:
reg:
minItems: 5
@@ -168,6 +174,28 @@ allOf:
- 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
+
unevaluatedProperties: false
examples:
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v3 2/2] dmaengine: ti: k3-udma: Add support for J721S2 CSI BCDMA instance
2023-05-05 14:39 [PATCH v3 0/2] Add support for J721S2 CSI BCDMA Vaishnav Achath
2023-05-05 14:39 ` [PATCH v3 1/2] dt-bindings: dma: ti: Add J721S2 BCDMA Vaishnav Achath
@ 2023-05-05 14:39 ` Vaishnav Achath
2023-05-16 17:56 ` [PATCH v3 0/2] Add support for J721S2 CSI BCDMA Vinod Koul
2 siblings, 0 replies; 5+ messages in thread
From: Vaishnav Achath @ 2023-05-05 14:39 UTC (permalink / raw)
To: peter.ujfalusi, vigneshr, vkoul, robh+dt, krzysztof.kozlowski+dt
Cc: devicetree, dmaengine, linux-kernel, u-kumar1, j-choudhary,
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] 5+ messages in thread