2012-11-15 15:47:58 +00:00
|
|
|
* Marvell XOR engines
|
|
|
|
|
|
|
|
Required properties:
|
2016-04-29 07:49:07 +00:00
|
|
|
- compatible: Should be one of the following:
|
|
|
|
- "marvell,orion-xor"
|
|
|
|
- "marvell,armada-380-xor"
|
|
|
|
- "marvell,armada-3700-xor".
|
2012-11-15 15:47:58 +00:00
|
|
|
- reg: Should contain registers location and length (two sets)
|
|
|
|
the first set is the low registers, the second set the high
|
|
|
|
registers for the XOR engine.
|
|
|
|
- clocks: pointer to the reference clock
|
|
|
|
|
|
|
|
The DT node must also contains sub-nodes for each XOR channel that the
|
|
|
|
XOR engine has. Those sub-nodes have the following required
|
|
|
|
properties:
|
|
|
|
- interrupts: interrupt of the XOR channel
|
|
|
|
|
dmaengine: mv_xor: remove support for dmacap,* DT properties
The only reason why we had dmacap,* properties is because back when
DMA_MEMSET was supported, only one out of the two channels per engine
could do a memset operation. But this is something that the driver
already knows anyway, and since then, the DMA_MEMSET support has been
removed.
The driver is already well aware of what each channel supports and the
one to one mapping between Linux specific implementation details (such
as dmacap,interrupt enabling DMA_INTERRUPT) and DT properties is a
good indication that these DT properties are wrong.
Therefore, this commit simply gets rid of these dmacap,* properties,
they are now ignored, and the driver is responsible for knowing the
capabilities of the hardware with regard to the dmaengine subsystem
expectations.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2015-07-08 14:28:16 +00:00
|
|
|
The sub-nodes used to contain one or several of the following
|
|
|
|
properties, but they are now deprecated:
|
2012-11-15 15:47:58 +00:00
|
|
|
- dmacap,memcpy to indicate that the XOR channel is capable of memcpy operations
|
|
|
|
- dmacap,memset to indicate that the XOR channel is capable of memset operations
|
|
|
|
- dmacap,xor to indicate that the XOR channel is capable of xor operations
|
dmaengine: mv_xor: remove support for dmacap,* DT properties
The only reason why we had dmacap,* properties is because back when
DMA_MEMSET was supported, only one out of the two channels per engine
could do a memset operation. But this is something that the driver
already knows anyway, and since then, the DMA_MEMSET support has been
removed.
The driver is already well aware of what each channel supports and the
one to one mapping between Linux specific implementation details (such
as dmacap,interrupt enabling DMA_INTERRUPT) and DT properties is a
good indication that these DT properties are wrong.
Therefore, this commit simply gets rid of these dmacap,* properties,
they are now ignored, and the driver is responsible for knowing the
capabilities of the hardware with regard to the dmaengine subsystem
expectations.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2015-07-08 14:28:16 +00:00
|
|
|
- dmacap,interrupt to indicate that the XOR channel is capable of
|
|
|
|
generating interrupts
|
2012-11-15 15:47:58 +00:00
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
xor@d0060900 {
|
|
|
|
compatible = "marvell,orion-xor";
|
|
|
|
reg = <0xd0060900 0x100
|
|
|
|
0xd0060b00 0x100>;
|
|
|
|
clocks = <&coreclk 0>;
|
|
|
|
|
|
|
|
xor00 {
|
|
|
|
interrupts = <51>;
|
|
|
|
};
|
|
|
|
xor01 {
|
|
|
|
interrupts = <52>;
|
|
|
|
};
|
|
|
|
};
|