dt-bindings: dmaengine: dw-dmac: add protection control property
PATCH 1/2 dt-bindings: dmaengine: dw-dmac: add protection control property
Quoted 10 lines · Christian Lamparter
This patch adds the per-channel dma protection control prop-encoded-array and dt-binding definitions (including definitions for the existing channel allocation and priority order values based on
include/linux/platform_data/dma-dw.h) for the DesignWare AHB Central Direct Memory Access Controller.Note: The protection control signals are one-to-one mapped to the AHB HPROT[1:3] signals. The HPROT0 (Data Access) is always hardwired to 1 for this controller.
Reviewed-by Andy Shevchenko <[email protected]>
Quoted 69 lines
Signed-off-by Christian Lamparter <[email protected]>--- .../devicetree/bindings/dma/snps-dma.txt | 4 ++++ MAINTAINERS | 4 +++- include/dt-bindings/dma/dw-dmac.h | 20 +++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 include/dt-bindings/dma/dw-dmac.hDocumentation/devicetree/bindings/dma/snps-dma.txt +4
-0@@ -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: Channel's AHB HPROT[3:1] protection setting. + Array property with one cell per channel. The default value for a channel + is 0 (for non-cacheable, strongly ordered, unprivileged data access). + Refer to include/dt-bindings/dma/dw-dmac.h for possible values. Example:MAINTAINERS +3
-1@@ -14107,9 +14107,11 @@ SYNOPSYS DESIGNWARE DMAC DRIVER M: Viresh Kumar <[email protected]> R: Andy Shevchenko <[email protected]> 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 <[email protected]>include/dt-bindings/dma/dw-dmac.h new file +20
-0@@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ + +#ifndef __DT_BINDINGS_DMA_DW_DMAC_H__ +#define __DT_BINDINGS_DMA_DW_DMAC_H__ + +#define DW_DMAC_CHAN_ALLOCATION_ASCENDING 0/* zero to seven */ +#define DW_DMAC_CHAN_ALLOCATION_DESCENDING 1/* seven to zero */ +#define DW_DMAC_CHAN_PRIORITY_ASCENDING 0/* chan0 highest */ +#define DW_DMAC_CHAN_PRIORITY_DESCENDING 1/* chan7 highest */ + +/* +* Protection Control bits provide protection against illegal transactions. +* The protection bits[0:2] are one-to-one mapped to AHB HPROT[3:1] signals. +* The AHB HPROT[0] bit is hardwired to 1: Data Access. +*/ +#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__ */ Signature · 1 line
2.19.1