11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* 21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Zoran ZR36016 basic configuration functions - header file 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Copyright (C) 2001 Wolfgang Scherr <scherr@net4you.at> 51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * $Id: zr36016.h,v 1.1.2.3 2003/01/14 21:18:07 rbultje Exp $ 71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * ------------------------------------------------------------------------ 91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * This program is free software; you can redistribute it and/or modify 111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * it under the terms of the GNU General Public License as published by 121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * the Free Software Foundation; either version 2 of the License, or 131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * (at your option) any later version. 141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * This program is distributed in the hope that it will be useful, 161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * but WITHOUT ANY WARRANTY; without even the implied warranty of 171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * GNU General Public License for more details. 191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * You should have received a copy of the GNU General Public License 211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * along with this program; if not, write to the Free Software 221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * ------------------------------------------------------------------------ 251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */ 261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef ZR36016_H 281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR36016_H 291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* data stored for each zoran jpeg codec chip */ 311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsstruct zr36016 { 321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds char name[32]; 331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds int num; 341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds /* io datastructure */ 351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds struct videocodec *codec; 361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds // coder status 371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds __u8 version; 381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds // actual coder setup 391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds int mode; 401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds __u16 xoff; 421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds __u16 yoff; 431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds __u16 width; 441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds __u16 height; 451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds __u16 xdec; 461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds __u16 ydec; 471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}; 481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* direct register addresses */ 501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_GOSTOP 0x00 511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_MODE 0x01 521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_IADDR 0x02 531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_IDATA 0x03 541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* indirect register addresses */ 561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016I_SETUP1 0x00 571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016I_SETUP2 0x01 581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016I_NAX_LO 0x02 591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016I_NAX_HI 0x03 601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016I_PAX_LO 0x04 611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016I_PAX_HI 0x05 621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016I_NAY_LO 0x06 631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016I_NAY_HI 0x07 641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016I_PAY_LO 0x08 651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016I_PAY_HI 0x09 661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016I_NOL_LO 0x0a 671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016I_NOL_HI 0x0b 681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* possible values for mode register */ 701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_RGB444_YUV444 0x00 711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_RGB444_YUV422 0x01 721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_RGB444_YUV411 0x02 731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_RGB444_Y400 0x03 741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_RGB444_RGB444 0x04 751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_YUV444_YUV444 0x08 761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_YUV444_YUV422 0x09 771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_YUV444_YUV411 0x0a 781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_YUV444_Y400 0x0b 791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_YUV444_RGB444 0x0c 801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_YUV422_YUV422 0x11 811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_YUV422_YUV411 0x12 821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_YUV422_Y400 0x13 831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_YUV411_YUV411 0x16 841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_YUV411_Y400 0x17 851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_4444_4444 0x19 861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_100_100 0x1b 871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_RGB444 0x00 891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_YUV444 0x20 901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_YUV422 0x40 911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_COMPRESSION 0x80 931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_EXPANSION 0x80 941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* possible values for setup 1 register */ 961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_CKRT 0x80 971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_VERT 0x40 981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_HORZ 0x20 991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_HRFL 0x10 1001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_DSFL 0x08 1011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_SBFL 0x04 1021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_RSTR 0x02 1031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_CNTI 0x01 1041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* possible values for setup 2 register */ 1061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_SYEN 0x40 1071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_CCIR 0x04 1081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_SIGN 0x02 1091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ZR016_YMCS 0x01 1101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif /*fndef ZR36016_H */ 112