162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Zoran ZR36016 basic configuration functions - header file 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2001 Wolfgang Scherr <scherr@net4you.at> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#ifndef ZR36016_H 962306a36Sopenharmony_ci#define ZR36016_H 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci/* data stored for each zoran jpeg codec chip */ 1262306a36Sopenharmony_cistruct zr36016 { 1362306a36Sopenharmony_ci char name[32]; 1462306a36Sopenharmony_ci int num; 1562306a36Sopenharmony_ci /* io datastructure */ 1662306a36Sopenharmony_ci struct videocodec *codec; 1762306a36Sopenharmony_ci // coder status 1862306a36Sopenharmony_ci __u8 version; 1962306a36Sopenharmony_ci // actual coder setup 2062306a36Sopenharmony_ci int mode; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci __u16 xoff; 2362306a36Sopenharmony_ci __u16 yoff; 2462306a36Sopenharmony_ci __u16 width; 2562306a36Sopenharmony_ci __u16 height; 2662306a36Sopenharmony_ci __u16 xdec; 2762306a36Sopenharmony_ci __u16 ydec; 2862306a36Sopenharmony_ci}; 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci/* direct register addresses */ 3162306a36Sopenharmony_ci#define ZR016_GOSTOP 0x00 3262306a36Sopenharmony_ci#define ZR016_MODE 0x01 3362306a36Sopenharmony_ci#define ZR016_IADDR 0x02 3462306a36Sopenharmony_ci#define ZR016_IDATA 0x03 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci/* indirect register addresses */ 3762306a36Sopenharmony_ci#define ZR016I_SETUP1 0x00 3862306a36Sopenharmony_ci#define ZR016I_SETUP2 0x01 3962306a36Sopenharmony_ci#define ZR016I_NAX_LO 0x02 4062306a36Sopenharmony_ci#define ZR016I_NAX_HI 0x03 4162306a36Sopenharmony_ci#define ZR016I_PAX_LO 0x04 4262306a36Sopenharmony_ci#define ZR016I_PAX_HI 0x05 4362306a36Sopenharmony_ci#define ZR016I_NAY_LO 0x06 4462306a36Sopenharmony_ci#define ZR016I_NAY_HI 0x07 4562306a36Sopenharmony_ci#define ZR016I_PAY_LO 0x08 4662306a36Sopenharmony_ci#define ZR016I_PAY_HI 0x09 4762306a36Sopenharmony_ci#define ZR016I_NOL_LO 0x0a 4862306a36Sopenharmony_ci#define ZR016I_NOL_HI 0x0b 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci/* possible values for mode register */ 5162306a36Sopenharmony_ci#define ZR016_RGB444_YUV444 0x00 5262306a36Sopenharmony_ci#define ZR016_RGB444_YUV422 0x01 5362306a36Sopenharmony_ci#define ZR016_RGB444_YUV411 0x02 5462306a36Sopenharmony_ci#define ZR016_RGB444_Y400 0x03 5562306a36Sopenharmony_ci#define ZR016_RGB444_RGB444 0x04 5662306a36Sopenharmony_ci#define ZR016_YUV444_YUV444 0x08 5762306a36Sopenharmony_ci#define ZR016_YUV444_YUV422 0x09 5862306a36Sopenharmony_ci#define ZR016_YUV444_YUV411 0x0a 5962306a36Sopenharmony_ci#define ZR016_YUV444_Y400 0x0b 6062306a36Sopenharmony_ci#define ZR016_YUV444_RGB444 0x0c 6162306a36Sopenharmony_ci#define ZR016_YUV422_YUV422 0x11 6262306a36Sopenharmony_ci#define ZR016_YUV422_YUV411 0x12 6362306a36Sopenharmony_ci#define ZR016_YUV422_Y400 0x13 6462306a36Sopenharmony_ci#define ZR016_YUV411_YUV411 0x16 6562306a36Sopenharmony_ci#define ZR016_YUV411_Y400 0x17 6662306a36Sopenharmony_ci#define ZR016_4444_4444 0x19 6762306a36Sopenharmony_ci#define ZR016_100_100 0x1b 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci#define ZR016_RGB444 0x00 7062306a36Sopenharmony_ci#define ZR016_YUV444 0x20 7162306a36Sopenharmony_ci#define ZR016_YUV422 0x40 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci#define ZR016_COMPRESSION 0x80 7462306a36Sopenharmony_ci#define ZR016_EXPANSION 0x80 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci/* possible values for setup 1 register */ 7762306a36Sopenharmony_ci#define ZR016_CKRT 0x80 7862306a36Sopenharmony_ci#define ZR016_VERT 0x40 7962306a36Sopenharmony_ci#define ZR016_HORZ 0x20 8062306a36Sopenharmony_ci#define ZR016_HRFL 0x10 8162306a36Sopenharmony_ci#define ZR016_DSFL 0x08 8262306a36Sopenharmony_ci#define ZR016_SBFL 0x04 8362306a36Sopenharmony_ci#define ZR016_RSTR 0x02 8462306a36Sopenharmony_ci#define ZR016_CNTI 0x01 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci/* possible values for setup 2 register */ 8762306a36Sopenharmony_ci#define ZR016_SYEN 0x40 8862306a36Sopenharmony_ci#define ZR016_CCIR 0x04 8962306a36Sopenharmony_ci#define ZR016_SIGN 0x02 9062306a36Sopenharmony_ci#define ZR016_YMCS 0x01 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ciint zr36016_init_module(void); 9362306a36Sopenharmony_civoid zr36016_cleanup_module(void); 9462306a36Sopenharmony_ci#endif /*fndef ZR36016_H */ 95