1 /* 2 * caddy.c -- esd VME8349 support for "missing" access modes in TSI148. 3 * Copyright (c) 2009 esd gmbh. 4 * 5 * Reinhard Arlt <reinhard.arlt@esd-electronics.com> 6 * 7 * See file CREDITS for list of people who contributed to this 8 * project. 9 * 10 * This program is free software; you can redistribute it and/or 11 * modify it under the terms of the GNU General Public License as 12 * published by the Free Software Foundation; either version 2 of 13 * the License, or (at your option) any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with this program; if not, write to the Free Software 22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 23 * MA 02111-1307 USA 24 * 25 */ 26 27 #ifndef __CADDY_H__ 28 #define __CADDY_H__ 29 30 #define CMD_SIZE 1024 31 #define ANSWER_SIZE 1024 32 #define CADDY_MAGIC "esd vme8349 V1.0" 33 34 enum caddy_cmds { 35 CADDY_CMD_IO_READ_8, 36 CADDY_CMD_IO_READ_16, 37 CADDY_CMD_IO_READ_32, 38 CADDY_CMD_IO_WRITE_8, 39 CADDY_CMD_IO_WRITE_16, 40 CADDY_CMD_IO_WRITE_32, 41 CADDY_CMD_CONFIG_READ_8, 42 CADDY_CMD_CONFIG_READ_16, 43 CADDY_CMD_CONFIG_READ_32, 44 CADDY_CMD_CONFIG_WRITE_8, 45 CADDY_CMD_CONFIG_WRITE_16, 46 CADDY_CMD_CONFIG_WRITE_32, 47 }; 48 49 struct caddy_cmd { 50 uint32_t cmd; 51 uint32_t issue; 52 uint32_t addr; 53 uint32_t par[5]; 54 }; 55 56 struct caddy_answer { 57 uint32_t answer; 58 uint32_t issue; 59 uint32_t status; 60 uint32_t par[5]; 61 }; 62 63 struct caddy_interface { 64 uint8_t magic[16]; 65 uint32_t cmd_in; 66 uint32_t cmd_out; 67 uint32_t heartbeat; 68 uint32_t reserved1; 69 struct caddy_cmd cmd[CMD_SIZE]; 70 uint32_t answer_in; 71 uint32_t answer_out; 72 uint32_t reserved2; 73 uint32_t reserved3; 74 struct caddy_answer answer[CMD_SIZE]; 75 }; 76 77 #endif /* of __CADDY_H__ */ 78