dt-bindings: dmaengine: dw-dmac: add protection control property
authorChristian Lamparter <chunkeey@gmail.com>
Sat, 17 Nov 2018 16:17:20 +0000 (17:17 +0100)
committerVinod Koul <vkoul@kernel.org>
Sat, 24 Nov 2018 14:37:22 +0000 (20:07 +0530)
This patch for the DesignWare AHB Central
Direct Memory Access Controller adds the dma
protection control property:
"snps,dma-protection-control"

as well as the properties specific values defines into
a new include file: include/dt-bindings/dma/dw-dmac.h

Note: The protection control signals are one-to-one
mapped to the AHB HPROT[1:3] signals for this controller.
The HPROT0 (Data Access) is always hardwired to 1.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Documentation/devicetree/bindings/dma/snps-dma.txt
MAINTAINERS
include/dt-bindings/dma/dw-dmac.h [new file with mode: 0644]

index 39e2b26be344bf5b4935a19fc7df88169450dd77..db757df7057df69f6f95d4c54f3bc141affd78ed 100644 (file)
@@ -27,6 +27,10 @@ Optional properties:
   general purpose DMA channel allocator. False if not passed.
 - multi-block: Multi block transfers supported by hardware. Array property with
   one cell per channel. 0: not supported, 1 (default): supported.
+- snps,dma-protection-control: AHB HPROT[3:1] protection setting.
+  The default value is 0 (for non-cacheable, non-buffered,
+  unprivileged data access).
+  Refer to include/dt-bindings/dma/dw-dmac.h for possible values.
 
 Example:
 
index f4855974f325063c1e5fea88d9d755ce75ee3b66..dc041fe9b3af541ecef881a0957adbdc005fdec6 100644 (file)
@@ -14363,9 +14363,11 @@ SYNOPSYS DESIGNWARE DMAC DRIVER
 M:     Viresh Kumar <vireshk@kernel.org>
 R:     Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 S:     Maintained
+F:     Documentation/devicetree/bindings/dma/snps-dma.txt
+F:     drivers/dma/dw/
+F:     include/dt-bindings/dma/dw-dmac.h
 F:     include/linux/dma/dw.h
 F:     include/linux/platform_data/dma-dw.h
-F:     drivers/dma/dw/
 
 SYNOPSYS DESIGNWARE ENTERPRISE ETHERNET DRIVER
 M:     Jose Abreu <Jose.Abreu@synopsys.com>
diff --git a/include/dt-bindings/dma/dw-dmac.h b/include/dt-bindings/dma/dw-dmac.h
new file mode 100644 (file)
index 0000000..d1ca705
--- /dev/null
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
+
+#ifndef __DT_BINDINGS_DMA_DW_DMAC_H__
+#define __DT_BINDINGS_DMA_DW_DMAC_H__
+
+/*
+ * Protection Control bits provide protection against illegal transactions.
+ * The protection bits[0:2] are one-to-one mapped to AHB HPROT[3:1] signals.
+ */
+#define DW_DMAC_HPROT1_PRIVILEGED_MODE (1 << 0)        /* Privileged Mode */
+#define DW_DMAC_HPROT2_BUFFERABLE      (1 << 1)        /* DMA is bufferable */
+#define DW_DMAC_HPROT3_CACHEABLE       (1 << 2)        /* DMA is cacheable */
+
+#endif /* __DT_BINDINGS_DMA_DW_DMAC_H__ */