1/* 2 * Copyright (C) 2010 Bluecherry, LLC www.bluecherrydvr.com 3 * Copyright (C) 2010 Ben Collins <bcollins@bluecherry.net> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 */ 19 20#ifndef __SOLO6010_OFFSETS_H 21#define __SOLO6010_OFFSETS_H 22 23/* Offsets and sizes of the external address */ 24#define SOLO_DISP_EXT_ADDR(__solo) 0x00000000 25#define SOLO_DISP_EXT_SIZE 0x00480000 26 27#define SOLO_DEC2LIVE_EXT_ADDR(__solo) \ 28 (SOLO_DISP_EXT_ADDR(__solo) + SOLO_DISP_EXT_SIZE) 29#define SOLO_DEC2LIVE_EXT_SIZE 0x00240000 30 31#define SOLO_OSG_EXT_ADDR(__solo) \ 32 (SOLO_DEC2LIVE_EXT_ADDR(__solo) + SOLO_DEC2LIVE_EXT_SIZE) 33#define SOLO_OSG_EXT_SIZE 0x00120000 34 35#define SOLO_EOSD_EXT_ADDR(__solo) \ 36 (SOLO_OSG_EXT_ADDR(__solo) + SOLO_OSG_EXT_SIZE) 37#define SOLO_EOSD_EXT_SIZE 0x00010000 38 39#define SOLO_MOTION_EXT_ADDR(__solo) \ 40 (SOLO_EOSD_EXT_ADDR(__solo) + \ 41 (SOLO_EOSD_EXT_SIZE * __solo->nr_chans)) 42#define SOLO_MOTION_EXT_SIZE 0x00080000 43 44#define SOLO_G723_EXT_ADDR(__solo) \ 45 (SOLO_MOTION_EXT_ADDR(__solo) + SOLO_MOTION_EXT_SIZE) 46#define SOLO_G723_EXT_SIZE 0x00010000 47 48#define SOLO_CAP_EXT_ADDR(__solo) \ 49 (SOLO_G723_EXT_ADDR(__solo) + SOLO_G723_EXT_SIZE) 50#define SOLO_CAP_EXT_MAX_PAGE (18 + 15) 51#define SOLO_CAP_EXT_SIZE (SOLO_CAP_EXT_MAX_PAGE * 65536) 52 53/* This +1 is very important -- Why?! -- BenC */ 54#define SOLO_EREF_EXT_ADDR(__solo) \ 55 (SOLO_CAP_EXT_ADDR(__solo) + \ 56 (SOLO_CAP_EXT_SIZE * (__solo->nr_chans + 1))) 57#define SOLO_EREF_EXT_SIZE 0x00140000 58 59#define SOLO_MP4E_EXT_ADDR(__solo) \ 60 (SOLO_EREF_EXT_ADDR(__solo) + \ 61 (SOLO_EREF_EXT_SIZE * __solo->nr_chans)) 62#define SOLO_MP4E_EXT_SIZE(__solo) (0x00080000 * __solo->nr_chans) 63 64#define SOLO_DREF_EXT_ADDR(__solo) \ 65 (SOLO_MP4E_EXT_ADDR(__solo) + SOLO_MP4E_EXT_SIZE(__solo)) 66#define SOLO_DREF_EXT_SIZE 0x00140000 67 68#define SOLO_MP4D_EXT_ADDR(__solo) \ 69 (SOLO_DREF_EXT_ADDR(__solo) + \ 70 (SOLO_DREF_EXT_SIZE * __solo->nr_chans)) 71#define SOLO_MP4D_EXT_SIZE 0x00080000 72 73#define SOLO_JPEG_EXT_ADDR(__solo) \ 74 (SOLO_MP4D_EXT_ADDR(__solo) + \ 75 (SOLO_MP4D_EXT_SIZE * __solo->nr_chans)) 76#define SOLO_JPEG_EXT_SIZE(__solo) (0x00080000 * __solo->nr_chans) 77 78#endif /* __SOLO6010_OFFSETS_H */ 79