1 /* linux/include/linux/amba/pl330.h 2 * 3 * Copyright (C) 2010 Samsung Electronics Co. Ltd. 4 * Jaswinder Singh <jassi.brar@samsung.com> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 */ 11 12 #ifndef __AMBA_PL330_H_ 13 #define __AMBA_PL330_H_ 14 15 #include <asm/hardware/pl330.h> 16 17 struct dma_pl330_peri { 18 /* 19 * Peri_Req i/f of the DMAC that is 20 * peripheral could be reached from. 21 */ 22 u8 peri_id; /* {0, 31} */ 23 enum pl330_reqtype rqtype; 24 25 /* For M->D and D->M Channels */ 26 int burst_sz; /* in power of 2 */ 27 dma_addr_t fifo_addr; 28 }; 29 30 struct dma_pl330_platdata { 31 /* 32 * Number of valid peripherals connected to DMAC. 33 * This may be different from the value read from 34 * CR0, as the PL330 implementation might have 'holes' 35 * in the peri list or the peri could also be reached 36 * from another DMAC which the platform prefers. 37 */ 38 u8 nr_valid_peri; 39 /* Array of valid peripherals */ 40 struct dma_pl330_peri *peri; 41 /* Bytes to allocate for MC buffer */ 42 unsigned mcbuf_sz; 43 }; 44 45 #endif /* __AMBA_PL330_H_ */ 46