1/*****************************************************************************
2 *
3 *     Author: Xilinx, Inc.
4 *
5 *     This program is free software; you can redistribute it and/or modify it
6 *     under the terms of the GNU General Public License as published by the
7 *     Free Software Foundation; either version 2 of the License, or (at your
8 *     option) any later version.
9 *
10 *     XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"
11 *     AS A COURTESY TO YOU, SOLELY FOR USE IN DEVELOPING PROGRAMS AND
12 *     SOLUTIONS FOR XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE,
13 *     OR INFORMATION AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE,
14 *     APPLICATION OR STANDARD, XILINX IS MAKING NO REPRESENTATION
15 *     THAT THIS IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT,
16 *     AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE
17 *     FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY
18 *     WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE
19 *     IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR
20 *     REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF
21 *     INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
22 *     FOR A PARTICULAR PURPOSE.
23 *
24 *     (c) Copyright 2003-2008 Xilinx Inc.
25 *     All rights reserved.
26 *
27 *     You should have received a copy of the GNU General Public License along
28 *     with this program; if not, write to the Free Software Foundation, Inc.,
29 *     675 Mass Ave, Cambridge, MA 02139, USA.
30 *
31 *****************************************************************************/
32
33#ifndef XILINX_BUFFER_ICAP_H_	/* prevent circular inclusions */
34#define XILINX_BUFFER_ICAP_H_	/* by using protection macros */
35
36#include <linux/types.h>
37#include <linux/cdev.h>
38#include <linux/platform_device.h>
39
40#include <asm/io.h>
41#include "xilinx_hwicap.h"
42
43/* Loads a partial bitstream from system memory. */
44int buffer_icap_set_configuration(struct hwicap_drvdata *drvdata, u32 *data,
45			     u32 Size);
46
47/* Loads a partial bitstream from system memory. */
48int buffer_icap_get_configuration(struct hwicap_drvdata *drvdata, u32 *data,
49			     u32 Size);
50
51u32 buffer_icap_get_status(struct hwicap_drvdata *drvdata);
52void buffer_icap_reset(struct hwicap_drvdata *drvdata);
53
54#endif
55