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