Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
linux
amba
pl08x.h
Go to the documentation of this file.
1
/*
2
* linux/amba/pl08x.h - ARM PrimeCell DMA Controller driver
3
*
4
* Copyright (C) 2005 ARM Ltd
5
* Copyright (C) 2010 ST-Ericsson SA
6
*
7
* This program is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License version 2 as
9
* published by the Free Software Foundation.
10
*
11
* pl08x information required by platform code
12
*
13
* Please credit ARM.com
14
* Documentation: ARM DDI 0196D
15
*/
16
17
#ifndef AMBA_PL08X_H
18
#define AMBA_PL08X_H
19
20
/* We need sizes of structs from this header */
21
#include <
linux/dmaengine.h
>
22
#include <
linux/interrupt.h
>
23
24
struct
pl08x_driver_data
;
25
struct
pl08x_phy_chan
;
26
struct
pl08x_txd
;
27
28
/* Bitmasks for selecting AHB ports for DMA transfers */
29
enum
{
30
PL08X_AHB1
= (1 << 0),
31
PL08X_AHB2
= (1 << 1)
32
};
33
61
struct
pl08x_channel_data
{
62
const
char
*
bus_id
;
63
int
min_signal
;
64
int
max_signal
;
65
u32
muxval
;
66
u32
cctl_memcpy
;
67
dma_addr_t
addr
;
68
bool
single
;
69
u8
periph_buses
;
70
};
71
88
struct
pl08x_platform_data
{
89
const
struct
pl08x_channel_data
*
slave_channels
;
90
unsigned
int
num_slave_channels
;
91
struct
pl08x_channel_data
memcpy_channel
;
92
int
(*
get_signal
)(
const
struct
pl08x_channel_data
*);
93
void
(*
put_signal
)(
const
struct
pl08x_channel_data
*,
int
);
94
u8
lli_buses
;
95
u8
mem_buses
;
96
};
97
98
#ifdef CONFIG_AMBA_PL08X
99
bool
pl08x_filter_id
(
struct
dma_chan
*
chan
,
void
*chan_id);
100
#else
101
static
inline
bool
pl08x_filter_id
(
struct
dma_chan
*
chan
,
void
*chan_id)
102
{
103
return
false
;
104
}
105
#endif
106
107
#endif
/* AMBA_PL08X_H */
Generated on Thu Jan 10 2013 14:51:01 for Linux Kernel by
1.8.2