1d56410e0a594150c5ca06319da7bc8901c4d455eMauro Carvalho Chehab/* 21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds saa7146.h - definitions philips saa7146 based cards 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds Copyright (C) 1999 Nathan Laredo (laredo@gnu.org) 4d56410e0a594150c5ca06319da7bc8901c4d455eMauro Carvalho Chehab 51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds This program is free software; you can redistribute it and/or modify 61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds it under the terms of the GNU General Public License as published by 71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds the Free Software Foundation; either version 2 of the License, or 81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds (at your option) any later version. 91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds This program is distributed in the hope that it will be useful, 111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds but WITHOUT ANY WARRANTY; without even the implied warranty of 121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds GNU General Public License for more details. 141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds You should have received a copy of the GNU General Public License 161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds along with this program; if not, write to the Free Software 171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds*/ 191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef __SAA7146_REG__ 211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define __SAA7146_REG__ 221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_BASE_ODD1 0x00 231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_BASE_EVEN1 0x04 241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PROT_ADDR1 0x08 251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PITCH1 0x0c 261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PAGE1 0x10 271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_NUM_LINE_BYTE1 0x14 281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_BASE_ODD2 0x18 291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_BASE_EVEN2 0x1c 301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PROT_ADDR2 0x20 311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PITCH2 0x24 321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PAGE2 0x28 331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_NUM_LINE_BYTE2 0x2c 341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_BASE_ODD3 0x30 351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_BASE_EVEN3 0x34 361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PROT_ADDR3 0x38 371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PITCH3 0x3c 381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PAGE3 0x40 391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_NUM_LINE_BYTE3 0x44 401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PCI_BT_V1 0x48 411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PCI_BT_V2 0x49 421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PCI_BT_V3 0x4a 431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PCI_BT_DEBI 0x4b 441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PCI_BT_A 0x4c 451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_DD1_INIT 0x50 461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_DD1_STREAM_B 0x54 471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_DD1_STREAM_A 0x56 481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_BRS_CTRL 0x58 491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_HPS_CTRL 0x5c 501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_HPS_V_SCALE 0x60 511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_HPS_V_GAIN 0x64 521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_HPS_H_PRESCALE 0x68 531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_HPS_H_SCALE 0x6c 541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_BCS_CTRL 0x70 551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_CHROMA_KEY_RANGE 0x74 561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_CLIP_FORMAT_CTRL 0x78 571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_DEBI_CONFIG 0x7c 581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_DEBI_COMMAND 0x80 591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_DEBI_PAGE 0x84 601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_DEBI_AD 0x88 611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_I2C_TRANSFER 0x8c 621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_I2C_STATUS 0x90 631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_BASE_A1_IN 0x94 641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PROT_A1_IN 0x98 651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PAGE_A1_IN 0x9C 661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_BASE_A1_OUT 0xa0 671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PROT_A1_OUT 0xa4 681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PAGE_A1_OUT 0xa8 691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_BASE_A2_IN 0xac 701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PROT_A2_IN 0xb0 711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PAGE_A2_IN 0xb4 721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_BASE_A2_OUT 0xb8 731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PROT_A2_OUT 0xbc 741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PAGE_A2_OUT 0xc0 751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_RPS_PAGE0 0xc4 761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_RPS_PAGE1 0xc8 771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_RPS_THRESH0 0xcc 781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_RPS_THRESH1 0xd0 791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_RPS_TOV0 0xd4 801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_RPS_TOV1 0xd8 811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_IER 0xdc 821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_GPIO_CTRL 0xe0 831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_EC1SSR 0xe4 841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_EC2SSR 0xe8 851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_ECT1R 0xec 861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_ECT2R 0xf0 871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_ACON1 0xf4 881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_ACON2 0xf8 891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1 0xfc 901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2 0x100 911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_RPS_ADDR0 0x104 921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_RPS_ADDR1 0x108 931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_ISR 0x10c 941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR 0x110 951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR 0x114 961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_EC1R 0x118 971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_EC2R 0x11c 981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_VDP1 0x120 991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_VDP2 0x124 1001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_VDP3 0x128 1011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_ADP1 0x12c 1021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_ADP2 0x130 1031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_ADP3 0x134 1041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_ADP4 0x138 1051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_DDP 0x13c 1061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_LEVEL_REP 0x140 1071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_FB_BUFFER1 0x144 1081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_FB_BUFFER2 0x148 1091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_A_TIME_SLOT1 0x180 1101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_A_TIME_SLOT2 0x1C0 1111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* bitfield defines */ 1131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_31 0x80000000 1141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_30 0x40000000 1151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_29 0x20000000 1161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_28 0x10000000 1171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_27 0x08000000 1181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_26 0x04000000 1191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_25 0x02000000 1201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_24 0x01000000 1211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_23 0x00800000 1221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_22 0x00400000 1231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_21 0x00200000 1241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_20 0x00100000 1251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_19 0x00080000 1261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_18 0x00040000 1271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_17 0x00020000 1281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_16 0x00010000 1291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_15 0x00008000 1301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_14 0x00004000 1311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_13 0x00002000 1321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_12 0x00001000 1331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_11 0x00000800 1341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_10 0x00000400 1351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_09 0x00000200 1361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_08 0x00000100 1371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_07 0x00000080 1381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_06 0x00000040 1391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_05 0x00000020 1401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_04 0x00000010 1411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_03 0x00000008 1421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_02 0x00000004 1431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_01 0x00000002 1441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_00 0x00000001 1451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_B0 0x000000ff 1461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_B1 0x0000ff00 1471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_B2 0x00ff0000 1481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_B3 0xff000000 1491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_W0 0x0000ffff 1501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_W1 0xffff0000 1511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_PA 0xfffffffc 1521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_PR 0xfffffffe 1531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_ER 0xffffffff 1541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MASK_NONE 0x00000000 1551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PAGE_MAP_EN MASK_11 1571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* main control register 1 */ 1581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1_MRST_N MASK_15 1591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1_ERPS1 MASK_13 1601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1_ERPS0 MASK_12 1611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1_EDP MASK_11 1621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1_EVP MASK_10 1631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1_EAP MASK_09 1641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1_EI2C MASK_08 1651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1_TR_E_DEBI MASK_07 1661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1_TR_E_1 MASK_06 1671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1_TR_E_2 MASK_05 1681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1_TR_E_3 MASK_04 1691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1_TR_E_A2_OUT MASK_03 1701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1_TR_E_A2_IN MASK_02 1711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1_TR_E_A1_OUT MASK_01 1721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC1_TR_E_A1_IN MASK_00 1731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* main control register 2 */ 1741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2_RPS_SIG4 MASK_15 1751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2_RPS_SIG3 MASK_14 1761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2_RPS_SIG2 MASK_13 1771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2_RPS_SIG1 MASK_12 1781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2_RPS_SIG0 MASK_11 1791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2_UPLD_D1_B MASK_10 1801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2_UPLD_D1_A MASK_09 1811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2_UPLD_BRS MASK_08 1821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2_UPLD_HPS_H MASK_06 1831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2_UPLD_HPS_V MASK_05 1841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2_UPLD_DMA3 MASK_04 1851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2_UPLD_DMA2 MASK_03 1861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2_UPLD_DMA1 MASK_02 1871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2_UPLD_DEBI MASK_01 1881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_MC2_UPLD_I2C MASK_00 1891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Primary Status Register and Interrupt Enable/Status Registers */ 1901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_PPEF MASK_31 1911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_PABO MASK_30 1921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_PPED MASK_29 1931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_RPS_I1 MASK_28 1941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_RPS_I0 MASK_27 1951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_RPS_LATE1 MASK_26 1961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_RPS_LATE0 MASK_25 1971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_RPS_E1 MASK_24 1981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_RPS_E0 MASK_23 1991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_RPS_TO1 MASK_22 2001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_RPS_TO0 MASK_21 2011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_UPLD MASK_20 2021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_DEBI_S MASK_19 2031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_DEBI_E MASK_18 2041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_I2C_S MASK_17 2051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_I2C_E MASK_16 2061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_A2_IN MASK_15 2071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_A2_OUT MASK_14 2081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_A1_IN MASK_13 2091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_A1_OUT MASK_12 2101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_AFOU MASK_11 2111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_V_PE MASK_10 2121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_VFOU MASK_09 2131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_FIDA MASK_08 2141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_FIDB MASK_07 2151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_PIN3 MASK_06 2161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_PIN2 MASK_05 2171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_PIN1 MASK_04 2181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_PIN0 MASK_03 2191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_ECS MASK_02 2201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_EC3S MASK_01 2211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_PSR_EC0S MASK_00 2221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Secondary Status Register */ 2231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_PRQ MASK_31 2241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_PMA MASK_30 2251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_RPS_RE1 MASK_29 2261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_RPS_PE1 MASK_28 2271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_RPS_A1 MASK_27 2281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_RPS_RE0 MASK_26 2291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_RPS_PE0 MASK_25 2301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_RPS_A0 MASK_24 2311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_DEBI_TO MASK_23 2321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_DEBI_EF MASK_22 2331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_I2C_EA MASK_21 2341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_I2C_EW MASK_20 2351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_I2C_ER MASK_19 2361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_I2C_EL MASK_18 2371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_I2C_EF MASK_17 2381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_V3P MASK_16 2391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_V2P MASK_15 2401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_V1P MASK_14 2411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_VF3 MASK_13 2421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_VF2 MASK_12 2431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_VF1 MASK_11 2441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_AF2_IN MASK_10 2451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_AF2_OUT MASK_09 2461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_AF1_IN MASK_08 2471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_AF1_OUT MASK_07 2481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_VGT MASK_05 2491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_LNQG MASK_04 2501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_EC5S MASK_03 2511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_EC4S MASK_02 2521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_EC2S MASK_01 2531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_SSR_EC1S MASK_00 2541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* I2C status register */ 2551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_I2C_ABORT MASK_07 2561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_I2C_SPERR MASK_06 2571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_I2C_APERR MASK_05 2581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_I2C_DTERR MASK_04 2591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_I2C_DRERR MASK_03 2601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_I2C_AL MASK_02 2611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_I2C_ERR MASK_01 2621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_I2C_BUSY MASK_00 2631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* output formats */ 2641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_YUV422 0 2651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_RGB16 0 2661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_YUV444 1 2671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_RGB24 1 2681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_ARGB32 2 2691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_YUV411 3 2701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_ARGB15 3 2711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_YUV2 4 2721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_RGAB15 4 2731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_Y8 6 2741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_YUV8 7 2751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_RGB8 7 2761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_YUV444p 8 2771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_YUV422p 9 2781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_YUV420p 10 2791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_YUV1620 11 2801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_Y1 13 2811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_Y2 14 2821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SAA7146_YUV1 15 2831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 284