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
media
blackfin
ppi.h
Go to the documentation of this file.
1
/*
2
* Analog Devices PPI header file
3
*
4
* Copyright (c) 2011 Analog Devices Inc.
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 version 2 as
8
* published by the Free Software Foundation.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18
*/
19
20
#ifndef _PPI_H_
21
#define _PPI_H_
22
23
#include <
linux/interrupt.h
>
24
25
#ifdef EPPI_EN
26
#define PORT_EN EPPI_EN
27
#define DMA32 0
28
#define PACK_EN PACKEN
29
#endif
30
31
struct
ppi_if
;
32
33
struct
ppi_params
{
34
int
width
;
35
int
height
;
36
int
bpp
;
37
unsigned
long
ppi_control
;
38
u32
int_mask
;
39
int
blank_clocks
;
40
};
41
42
struct
ppi_ops
{
43
int
(*
attach_irq
)(
struct
ppi_if
*ppi,
irq_handler_t
handler
);
44
void
(*
detach_irq
)(
struct
ppi_if
*ppi);
45
int
(*
start
)(
struct
ppi_if
*ppi);
46
int
(*
stop
)(
struct
ppi_if
*ppi);
47
int
(*
set_params
)(
struct
ppi_if
*ppi,
struct
ppi_params
*
params
);
48
void
(*
update_addr
)(
struct
ppi_if
*ppi,
unsigned
long
addr
);
49
};
50
51
enum
ppi_type
{
52
PPI_TYPE_PPI
,
53
PPI_TYPE_EPPI
,
54
};
55
56
struct
ppi_info
{
57
enum
ppi_type
type
;
58
int
dma_ch
;
59
int
irq_err
;
60
void
__iomem
*
base
;
61
const
unsigned
short
*
pin_req
;
62
};
63
64
struct
ppi_if
{
65
unsigned
long
ppi_control
;
66
const
struct
ppi_ops
*
ops
;
67
const
struct
ppi_info
*
info
;
68
bool
err_int
;
69
void
*
priv
;
70
};
71
72
struct
ppi_if
*
ppi_create_instance
(
const
struct
ppi_info
*
info
);
73
void
ppi_delete_instance
(
struct
ppi_if
*ppi);
74
#endif
Generated on Thu Jan 10 2013 14:52:53 for Linux Kernel by
1.8.2