1 /***************************************************************************
\r
2 * Copyright (C) 2008 by John McCarthy *
\r
5 * Copyright (C) 2008 by Spencer Oliver *
\r
6 * spen@spen-soft.co.uk *
\r
8 * Copyright (C) 2008 by David T.L. Wong *
\r
10 * This program is free software; you can redistribute it and/or modify *
\r
11 * it under the terms of the GNU General Public License as published by *
\r
12 * the Free Software Foundation; either version 2 of the License, or *
\r
13 * (at your option) any later version. *
\r
15 * This program is distributed in the hope that it will be useful, *
\r
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
\r
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
\r
18 * GNU General Public License for more details. *
\r
20 * You should have received a copy of the GNU General Public License *
\r
21 * along with this program; if not, write to the *
\r
22 * Free Software Foundation, Inc., *
\r
23 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
\r
24 ***************************************************************************/
\r
25 #ifndef MIPS32_DMAACC_H
\r
26 #define MIPS32_DMAACC_H
\r
28 #include "mips_ejtag.h"
\r
30 #define EJTAG_CTRL_DMA_BYTE 0x00000000
\r
31 #define EJTAG_CTRL_DMA_HALFWORD 0x00000080
\r
32 #define EJTAG_CTRL_DMA_WORD 0x00000100
\r
33 #define EJTAG_CTRL_DMA_TRIPLEBYTE 0x00000180
\r
35 #define RETRY_ATTEMPTS 4
\r
37 extern int mips32_dmaacc_read_mem(mips_ejtag_t *ejtag_info, u32 addr, int size, int count, void *buf);
\r
38 extern int mips32_dmaacc_write_mem(mips_ejtag_t *ejtag_info, u32 addr, int size, int count, void *buf);
\r
40 extern int mips32_dmaacc_read_mem8(mips_ejtag_t *ejtag_info, u32 addr, int count, u8 *buf);
\r
41 extern int mips32_dmaacc_read_mem16(mips_ejtag_t *ejtag_info, u32 addr, int count, u16 *buf);
\r
42 extern int mips32_dmaacc_read_mem32(mips_ejtag_t *ejtag_info, u32 addr, int count, u32 *buf);
\r
44 extern int mips32_dmaacc_write_mem8(mips_ejtag_t *ejtag_info, u32 addr, int count, u8 *buf);
\r
45 extern int mips32_dmaacc_write_mem16(mips_ejtag_t *ejtag_info, u32 addr, int count, u16 *buf);
\r
46 extern int mips32_dmaacc_write_mem32(mips_ejtag_t *ejtag_info, u32 addr, int count, u32 *buf);
\r
49 extern int mips32_dmaacc_read_regs(mips_ejtag_t *ejtag_info, u32 *regs);
\r
50 extern int mips32_dmaacc_write_regs(mips_ejtag_t *ejtag_info, u32 *regs);
\r