mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-22 20:23:57 +08:00
0a45dcab22
add support for new CSR atlas7 SoC. atlas7 exists V1 and V2 IP. atlas7 DMAv1 is basically moved from marco, which has never been delivered to customers and renamed in this patch. atlas7 DMAv2 supports chain DMA by a chain table, this patch also adds chain DMA support for atlas7. atlas7 DMAv1 and DMAv2 co-exist in the same chip. there are some HW configuration differences(register offset etc.) with old prima2 chips, so we use compatible string to differentiate old prima2 and new atlas7, then results in different set in HW for them. Signed-off-by: Hao Liu <Hao.Liu@csr.com> Signed-off-by: Yanchang Li <Yanchang.Li@csr.com> Signed-off-by: Barry Song <Baohua.Song@csr.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
45 lines
1.1 KiB
Plaintext
45 lines
1.1 KiB
Plaintext
* CSR SiRFSoC DMA controller
|
|
|
|
See dma.txt first
|
|
|
|
Required properties:
|
|
- compatible: Should be "sirf,prima2-dmac", "sirf,atlas7-dmac" or
|
|
"sirf,atlas7-dmac-v2"
|
|
- reg: Should contain DMA registers location and length.
|
|
- interrupts: Should contain one interrupt shared by all channel
|
|
- #dma-cells: must be <1>. used to represent the number of integer
|
|
cells in the dmas property of client device.
|
|
- clocks: clock required
|
|
|
|
Example:
|
|
|
|
Controller:
|
|
dmac0: dma-controller@b00b0000 {
|
|
compatible = "sirf,prima2-dmac";
|
|
reg = <0xb00b0000 0x10000>;
|
|
interrupts = <12>;
|
|
clocks = <&clks 24>;
|
|
#dma-cells = <1>;
|
|
};
|
|
|
|
|
|
Client:
|
|
Fill the specific dma request line in dmas. In the below example, spi0 read
|
|
channel request line is 9 of the 2nd dma controller, while write channel uses
|
|
4 of the 2nd dma controller; spi1 read channel request line is 12 of the 1st
|
|
dma controller, while write channel uses 13 of the 1st dma controller:
|
|
|
|
spi0: spi@b00d0000 {
|
|
compatible = "sirf,prima2-spi";
|
|
dmas = <&dmac1 9>,
|
|
<&dmac1 4>;
|
|
dma-names = "rx", "tx";
|
|
};
|
|
|
|
spi1: spi@b0170000 {
|
|
compatible = "sirf,prima2-spi";
|
|
dmas = <&dmac0 12>,
|
|
<&dmac0 13>;
|
|
dma-names = "rx", "tx";
|
|
};
|