11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* 21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds cx88x-hw.h - CX2388x register offsets 41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds Copyright (C) 1996,97,98 Ralph Metzler (rjkm@thp.uni-koeln.de) 64ac97914c6c35f6bf132071c718e034d0846b9f5Mauro Carvalho Chehab 2001 Michael Eskin 74ac97914c6c35f6bf132071c718e034d0846b9f5Mauro Carvalho Chehab 2002 Yurij Sysoev <yurij@naturesoft.net> 84ac97914c6c35f6bf132071c718e034d0846b9f5Mauro Carvalho Chehab 2003 Gerd Knorr <kraxel@bytesex.org> 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#ifndef _CX88_REG_H_ 261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define _CX88_REG_H_ 271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ---------------------------------------------------------------------- */ 291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* PCI IDs and config space */ 301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef PCI_VENDOR_ID_CONEXANT 321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# define PCI_VENDOR_ID_CONEXANT 0x14F1 331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef PCI_DEVICE_ID_CX2300_VID 351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# define PCI_DEVICE_ID_CX2300_VID 0x8800 361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CX88X_DEVCTRL 0x40 391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CX88X_EN_TBFX 0x02 401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CX88X_EN_VSFX 0x04 411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 42e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab/* ---------------------------------------------------------------------- */ 43e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab/* PCI controller registers */ 44e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab 45e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab/* Command and Status Register */ 46e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab#define F0_CMD_STAT_MM 0x2f0004 47e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab#define F1_CMD_STAT_MM 0x2f0104 48e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab#define F2_CMD_STAT_MM 0x2f0204 49e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab#define F3_CMD_STAT_MM 0x2f0304 50e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab#define F4_CMD_STAT_MM 0x2f0404 51e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab 52e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab/* Device Control #1 */ 53e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab#define F0_DEV_CNTRL1_MM 0x2f0040 54e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab#define F1_DEV_CNTRL1_MM 0x2f0140 55e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab#define F2_DEV_CNTRL1_MM 0x2f0240 56e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab#define F3_DEV_CNTRL1_MM 0x2f0340 57e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab#define F4_DEV_CNTRL1_MM 0x2f0440 58e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab 59e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab/* Device Control #1 */ 60e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab#define F0_BAR0_MM 0x2f0010 61e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab#define F1_BAR0_MM 0x2f0110 62e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab#define F2_BAR0_MM 0x2f0210 63e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab#define F3_BAR0_MM 0x2f0310 64e52e98a7eccfb0e7e91630d01690fb11d77db77dMauro Carvalho Chehab#define F4_BAR0_MM 0x2f0410 651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ---------------------------------------------------------------------- */ 671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* DMA Controller registers */ 681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_PDMA_STHRSH 0x200000 // Source threshold 701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_PDMA_STADRS 0x200004 // Source target address 711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_PDMA_SIADRS 0x200008 // Source internal address 721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_PDMA_SCNTRL 0x20000C // Source control 731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_PDMA_DTHRSH 0x200010 // Destination threshold 741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_PDMA_DTADRS 0x200014 // Destination target address 751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_PDMA_DIADRS 0x200018 // Destination internal address 761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_PDMA_DCNTRL 0x20001C // Destination control 771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_LD_SSID 0x200030 // Load subsystem ID 781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DEV_CNTRL2 0x200034 // Device control 791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_PCI_INTMSK 0x200040 // PCI interrupt mask 801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_PCI_INTSTAT 0x200044 // PCI interrupt status 811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_PCI_INTMSTAT 0x200048 // PCI interrupt masked status 821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VID_INTMSK 0x200050 // Video interrupt mask 831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VID_INTSTAT 0x200054 // Video interrupt status 841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VID_INTMSTAT 0x200058 // Video interrupt masked status 851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VID_INTSSTAT 0x20005C // Video interrupt set status 861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUD_INTMSK 0x200060 // Audio interrupt mask 871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUD_INTSTAT 0x200064 // Audio interrupt status 881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUD_INTMSTAT 0x200068 // Audio interrupt masked status 891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUD_INTSSTAT 0x20006C // Audio interrupt set status 901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_TS_INTMSK 0x200070 // Transport stream interrupt mask 911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_TS_INTSTAT 0x200074 // Transport stream interrupt status 921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_TS_INTMSTAT 0x200078 // Transport stream interrupt mask status 931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_TS_INTSSTAT 0x20007C // Transport stream interrupt set status 941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIP_INTMSK 0x200080 // VIP interrupt mask 951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIP_INTSTAT 0x200084 // VIP interrupt status 961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIP_INTMSTAT 0x200088 // VIP interrupt masked status 971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIP_INTSSTAT 0x20008C // VIP interrupt set status 981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHST_INTMSK 0x200090 // Host interrupt mask 991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHST_INTSTAT 0x200094 // Host interrupt status 1001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHST_INTMSTAT 0x200098 // Host interrupt masked status 1011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHST_INTSSTAT 0x20009C // Host interrupt set status 1021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds// DMA Channels 1-6 belong to SPIPE 1041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA7_PTR1 0x300018 // {24}RW* DMA Current Ptr : Ch#7 1051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA8_PTR1 0x30001C // {24}RW* DMA Current Ptr : Ch#8 1061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds// DMA Channels 9-20 belong to SPIPE 1081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA21_PTR1 0x300080 // {24}R0* DMA Current Ptr : Ch#21 1091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA22_PTR1 0x300084 // {24}R0* DMA Current Ptr : Ch#22 1101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA23_PTR1 0x300088 // {24}R0* DMA Current Ptr : Ch#23 1111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA24_PTR1 0x30008C // {24}R0* DMA Current Ptr : Ch#24 1121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA25_PTR1 0x300090 // {24}R0* DMA Current Ptr : Ch#25 1131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA26_PTR1 0x300094 // {24}R0* DMA Current Ptr : Ch#26 1141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA27_PTR1 0x300098 // {24}R0* DMA Current Ptr : Ch#27 1151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA28_PTR1 0x30009C // {24}R0* DMA Current Ptr : Ch#28 1161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA29_PTR1 0x3000A0 // {24}R0* DMA Current Ptr : Ch#29 1171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA30_PTR1 0x3000A4 // {24}R0* DMA Current Ptr : Ch#30 1181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA31_PTR1 0x3000A8 // {24}R0* DMA Current Ptr : Ch#31 1191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA32_PTR1 0x3000AC // {24}R0* DMA Current Ptr : Ch#32 1201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA21_PTR2 0x3000C0 // {24}RW* DMA Tab Ptr : Ch#21 1221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA22_PTR2 0x3000C4 // {24}RW* DMA Tab Ptr : Ch#22 1231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA23_PTR2 0x3000C8 // {24}RW* DMA Tab Ptr : Ch#23 1241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA24_PTR2 0x3000CC // {24}RW* DMA Tab Ptr : Ch#24 1251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA25_PTR2 0x3000D0 // {24}RW* DMA Tab Ptr : Ch#25 1261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA26_PTR2 0x3000D4 // {24}RW* DMA Tab Ptr : Ch#26 1271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA27_PTR2 0x3000D8 // {24}RW* DMA Tab Ptr : Ch#27 1281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA28_PTR2 0x3000DC // {24}RW* DMA Tab Ptr : Ch#28 1291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA29_PTR2 0x3000E0 // {24}RW* DMA Tab Ptr : Ch#29 1301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA30_PTR2 0x3000E4 // {24}RW* DMA Tab Ptr : Ch#30 1311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA31_PTR2 0x3000E8 // {24}RW* DMA Tab Ptr : Ch#31 1321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA32_PTR2 0x3000EC // {24}RW* DMA Tab Ptr : Ch#32 1331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA21_CNT1 0x300100 // {11}RW* DMA Buffer Size : Ch#21 1351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA22_CNT1 0x300104 // {11}RW* DMA Buffer Size : Ch#22 1361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA23_CNT1 0x300108 // {11}RW* DMA Buffer Size : Ch#23 1371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA24_CNT1 0x30010C // {11}RW* DMA Buffer Size : Ch#24 1381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA25_CNT1 0x300110 // {11}RW* DMA Buffer Size : Ch#25 1391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA26_CNT1 0x300114 // {11}RW* DMA Buffer Size : Ch#26 1401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA27_CNT1 0x300118 // {11}RW* DMA Buffer Size : Ch#27 1411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA28_CNT1 0x30011C // {11}RW* DMA Buffer Size : Ch#28 1421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA29_CNT1 0x300120 // {11}RW* DMA Buffer Size : Ch#29 1431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA30_CNT1 0x300124 // {11}RW* DMA Buffer Size : Ch#30 1441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA31_CNT1 0x300128 // {11}RW* DMA Buffer Size : Ch#31 1451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA32_CNT1 0x30012C // {11}RW* DMA Buffer Size : Ch#32 1461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA21_CNT2 0x300140 // {11}RW* DMA Table Size : Ch#21 1481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA22_CNT2 0x300144 // {11}RW* DMA Table Size : Ch#22 1491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA23_CNT2 0x300148 // {11}RW* DMA Table Size : Ch#23 1501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA24_CNT2 0x30014C // {11}RW* DMA Table Size : Ch#24 1511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA25_CNT2 0x300150 // {11}RW* DMA Table Size : Ch#25 1521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA26_CNT2 0x300154 // {11}RW* DMA Table Size : Ch#26 1531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA27_CNT2 0x300158 // {11}RW* DMA Table Size : Ch#27 1541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA28_CNT2 0x30015C // {11}RW* DMA Table Size : Ch#28 1551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA29_CNT2 0x300160 // {11}RW* DMA Table Size : Ch#29 1561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA30_CNT2 0x300164 // {11}RW* DMA Table Size : Ch#30 1571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA31_CNT2 0x300168 // {11}RW* DMA Table Size : Ch#31 1581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DMA32_CNT2 0x30016C // {11}RW* DMA Table Size : Ch#32 1591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ---------------------------------------------------------------------- */ 1621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Video registers */ 1631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIDY_DMA 0x310000 // {64}RWp Video Y 1651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIDU_DMA 0x310008 // {64}RWp Video U 1661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIDV_DMA 0x310010 // {64}RWp Video V 1671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VBI_DMA 0x310018 // {64}RWp VBI (Vertical blanking interval) 1681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DEVICE_STATUS 0x310100 1701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_INPUT_FORMAT 0x310104 1711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AGC_BURST 0x31010c 1721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_CONTR_BRIGHT 0x310110 1731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_UV_SATURATION 0x310114 1741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_HUE 0x310118 1751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_HTOTAL 0x310120 1761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_HDELAY_EVEN 0x310124 1771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_HDELAY_ODD 0x310128 1781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VDELAY_ODD 0x31012c 1791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VDELAY_EVEN 0x310130 1801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_HACTIVE_EVEN 0x31013c 1811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_HACTIVE_ODD 0x310140 1821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VACTIVE_EVEN 0x310144 1831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VACTIVE_ODD 0x310148 1841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_HSCALE_EVEN 0x31014c 1851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_HSCALE_ODD 0x310150 1861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VSCALE_EVEN 0x310154 1871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_FILTER_EVEN 0x31015c 1881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VSCALE_ODD 0x310158 1891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_FILTER_ODD 0x310160 1901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_OUTPUT_FORMAT 0x310164 1911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_PLL_REG 0x310168 // PLL register 1931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_PLL_ADJ_CTRL 0x31016c // PLL adjust control register 1941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_SCONV_REG 0x310170 // sample rate conversion register 1951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_SCONV_FIFO 0x310174 // sample rate conversion fifo 1961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_SUB_STEP 0x310178 // subcarrier step size 1971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_SUB_STEP_DR 0x31017c // subcarrier step size for DR line 1981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_CAPTURE_CTRL 0x310180 // capture control 2001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_COLOR_CTRL 0x310184 2011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VBI_PACKET 0x310188 // vbi packet size / delay 2021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_FIELD_COUNT 0x310190 // field counter 2031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIP_CONFIG 0x310194 2041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VBOS_CONTROL 0x3101a8 2051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AGC_BACK_VBI 0x310200 2071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AGC_SYNC_TIP1 0x310208 2081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIDY_GPCNT 0x31C020 // {16}RO Video Y general purpose counter 2101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIDU_GPCNT 0x31C024 // {16}RO Video U general purpose counter 2111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIDV_GPCNT 0x31C028 // {16}RO Video V general purpose counter 2121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VBI_GPCNT 0x31C02C // {16}RO VBI general purpose counter 2131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIDY_GPCNTRL 0x31C030 // {2}WO Video Y general purpose control 2141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIDU_GPCNTRL 0x31C034 // {2}WO Video U general purpose control 2151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIDV_GPCNTRL 0x31C038 // {2}WO Video V general purpose control 2161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VBI_GPCNTRL 0x31C03C // {2}WO VBI general purpose counter 2171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VID_DMACNTRL 0x31C040 // {8}RW Video DMA control 2181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VID_XFR_STAT 0x31C044 // {1}RO Video transfer status 2191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ---------------------------------------------------------------------- */ 2221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* audio registers */ 2231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUDD_DMA 0x320000 // {64}RWp Audio downstream 2251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUDU_DMA 0x320008 // {64}RWp Audio upstream 2261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUDR_DMA 0x320010 // {64}RWp Audio RDS (downstream) 2271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUDD_GPCNT 0x32C020 // {16}RO Audio down general purpose counter 2281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUDU_GPCNT 0x32C024 // {16}RO Audio up general purpose counter 2291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUDR_GPCNT 0x32C028 // {16}RO Audio RDS general purpose counter 2301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUDD_GPCNTRL 0x32C030 // {2}WO Audio down general purpose control 2311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUDU_GPCNTRL 0x32C034 // {2}WO Audio up general purpose control 2321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUDR_GPCNTRL 0x32C038 // {2}WO Audio RDS general purpose control 2331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUD_DMACNTRL 0x32C040 // {6}RW Audio DMA control 2341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUD_XFR_STAT 0x32C044 // {1}RO Audio transfer status 2351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUDD_LNGTH 0x32C048 // {12}RW Audio down line length 2361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AUDR_LNGTH 0x32C04C // {12}RW Audio RDS line length 2371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_INIT 0x320100 2391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_INIT_LD 0x320104 2401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_SOFT_RESET 0x320108 2411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_I2SINPUTCNTL 0x320120 2421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_BAUDRATE 0x320124 2431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_I2SOUTPUTCNTL 0x320128 2441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AAGC_HYST 0x320134 2451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AAGC_GAIN 0x320138 2461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AAGC_DEF 0x32013c 2471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR1_0_SEL 0x320150 2481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR1_0_SHIFT 0x320154 2491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR1_1_SEL 0x320158 2501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR1_1_SHIFT 0x32015c 2511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR1_2_SEL 0x320160 2521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR1_2_SHIFT 0x320164 2531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR1_3_SEL 0x320168 2541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR1_3_SHIFT 0x32016c 2551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR1_4_SEL 0x320170 2561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR1_4_SHIFT 0x32017c 2571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR1_5_SEL 0x320180 2581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR1_5_SHIFT 0x320184 2591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR2_0_SEL 0x320190 2601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR2_0_SHIFT 0x320194 2611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR2_1_SEL 0x320198 2621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR2_1_SHIFT 0x32019c 2631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR2_2_SEL 0x3201a0 2641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR2_2_SHIFT 0x3201a4 2651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR2_3_SEL 0x3201a8 2661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR2_3_SHIFT 0x3201ac 2671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR3_0_SEL 0x3201c0 2681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR3_0_SHIFT 0x3201c4 2691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR3_1_SEL 0x3201c8 2701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR3_1_SHIFT 0x3201cc 2711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR3_2_SEL 0x3201d0 2721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR3_2_SHIFT 0x3201d4 2731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_0_SEL 0x3201e0 2741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_0_SHIFT 0x3201e4 2751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_1_SEL 0x3201e8 2761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_1_SHIFT 0x3201ec 2771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_2_SEL 0x3201f0 2781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_2_SHIFT 0x3201f4 2791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_0_CA0 0x320200 2801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_0_CA1 0x320204 2811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_0_CA2 0x320208 2821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_0_CB0 0x32020c 2831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_0_CB1 0x320210 2841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_1_CA0 0x320214 2851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_1_CA1 0x320218 2861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_1_CA2 0x32021c 2871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_1_CB0 0x320220 2881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_1_CB1 0x320224 2891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_2_CA0 0x320228 2901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_2_CA1 0x32022c 2911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_2_CA2 0x320230 2921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_2_CB0 0x320234 2931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_IIR4_2_CB1 0x320238 2941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_HP_MD_IIR4_1 0x320250 2951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_HP_PROG_IIR4_1 0x320254 2961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_FM_MODE_ENABLE 0x320258 2971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_POLY0_DDS_CONSTANT 0x320270 2981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DN0_FREQ 0x320274 2991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DN1_FREQ 0x320278 3001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DN1_FREQ_SHIFT 0x32027c 3011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DN1_AFC 0x320280 3021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DN1_SRC_SEL 0x320284 3031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DN1_SHFT 0x320288 3041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DN2_FREQ 0x32028c 3051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DN2_FREQ_SHIFT 0x320290 3061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DN2_AFC 0x320294 3071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DN2_SRC_SEL 0x320298 3081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DN2_SHFT 0x32029c 3091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_CRDC0_SRC_SEL 0x320300 3101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_CRDC0_SHIFT 0x320304 3111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_CORDIC_SHIFT_0 0x320308 3121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_CRDC1_SRC_SEL 0x32030c 3131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_CRDC1_SHIFT 0x320310 3141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_CORDIC_SHIFT_1 0x320314 3151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DCOC_0_SRC 0x320320 3161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DCOC0_SHIFT 0x320324 3171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DCOC_0_SHIFT_IN0 0x320328 3181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DCOC_0_SHIFT_IN1 0x32032c 3191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DCOC_1_SRC 0x320330 3201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DCOC1_SHIFT 0x320334 3211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DCOC_1_SHIFT_IN0 0x320338 3221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DCOC_1_SHIFT_IN1 0x32033c 3231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DCOC_2_SRC 0x320340 3241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DCOC2_SHIFT 0x320344 3251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DCOC_2_SHIFT_IN0 0x320348 3261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DCOC_2_SHIFT_IN1 0x32034c 3271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DCOC_PASS_IN 0x320350 3281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PDET_SRC 0x320370 3291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PDET_SHIFT 0x320374 3301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PILOT_BQD_1_K0 0x320380 3311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PILOT_BQD_1_K1 0x320384 3321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PILOT_BQD_1_K2 0x320388 3331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PILOT_BQD_1_K3 0x32038c 3341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PILOT_BQD_1_K4 0x320390 3351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PILOT_BQD_2_K0 0x320394 3361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PILOT_BQD_2_K1 0x320398 3371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PILOT_BQD_2_K2 0x32039c 3381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PILOT_BQD_2_K3 0x3203a0 3391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PILOT_BQD_2_K4 0x3203a4 3401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_THR_FR 0x3203c0 3411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_X_PROG 0x3203c4 3421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_Y_PROG 0x3203c8 3431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_HARMONIC_MULT 0x3203cc 3441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_C1_UP_THR 0x3203d0 3451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_C1_LO_THR 0x3203d4 3461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_C2_UP_THR 0x3203d8 3471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_C2_LO_THR 0x3203dc 3481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PLL_EN 0x320400 3491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PLL_SRC 0x320404 3501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PLL_SHIFT 0x320408 3511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PLL_IF_SEL 0x32040c 3521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PLL_IF_SHIFT 0x320410 3531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_BIQUAD_PLL_K0 0x320414 3541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_BIQUAD_PLL_K1 0x320418 3551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_BIQUAD_PLL_K2 0x32041c 3561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_BIQUAD_PLL_K3 0x320420 3571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_BIQUAD_PLL_K4 0x320424 3581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPH0_SRC_SEL 0x320440 3591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPH0_SHIFT 0x320444 3601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPH0_G0 0x320448 3611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPH0_A0 0x32044c 3621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPH0_B0 0x320450 3631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPH0_A1 0x320454 3641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPH0_B1 0x320458 3651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPH1_SRC_SEL 0x32045c 3661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPH1_SHIFT 0x320460 3671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPH1_G0 0x320464 3681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPH1_A0 0x320468 3691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPH1_B0 0x32046c 3701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPH1_A1 0x320470 3711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPH1_B1 0x320474 3721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_OUT0_SEL 0x320490 3731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_OUT0_SHIFT 0x320494 3741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_OUT1_SEL 0x320498 3751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_OUT1_SHIFT 0x32049c 3761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_RDSI_SEL 0x3204a0 3771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_RDSI_SHIFT 0x3204a4 3781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_RDSQ_SEL 0x3204a8 3791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_RDSQ_SHIFT 0x3204ac 3801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DBX_IN_GAIN 0x320500 3811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DBX_WBE_GAIN 0x320504 3821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DBX_SE_GAIN 0x320508 3831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DBX_RMS_WBE 0x32050c 3841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DBX_RMS_SE 0x320510 3851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DBX_SE_BYPASS 0x320514 3861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_FAWDETCTL 0x320530 3871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_FAWDETWINCTL 0x320534 3881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPHGAIN_R 0x320538 3891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPHNUMER1_R 0x32053c 3901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPHNUMER2_R 0x320540 3911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPHDENOM1_R 0x320544 3921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DEEMPHDENOM2_R 0x320548 3931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_ERRLOGPERIOD_R 0x32054c 3941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_ERRINTRPTTHSHLD1_R 0x320550 3951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_ERRINTRPTTHSHLD2_R 0x320554 3961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_ERRINTRPTTHSHLD3_R 0x320558 3971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_NICAM_STATUS1 0x32055c 3981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_NICAM_STATUS2 0x320560 3991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_ERRLOG1 0x320564 4001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_ERRLOG2 0x320568 4011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_ERRLOG3 0x32056c 4021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DAC_BYPASS_L 0x320580 4031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DAC_BYPASS_R 0x320584 4041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DAC_BYPASS_CTL 0x320588 4051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_CTL 0x32058c 4061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_STATUS 0x320590 4071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_VOL_CTL 0x320594 4081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_BAL_CTL 0x320598 4091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_START_TIMER 0x3205b0 4101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_MODE_CHG_TIMER 0x3205b4 4111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_POLYPH80SCALEFAC 0x3205b8 4121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_DMD_RA_DDS 0x3205bc 4131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_I2S_RA_DDS 0x3205c0 4141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_RATE_THRES_DMD 0x3205d0 4151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_RATE_THRES_I2S 0x3205d4 4161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_RATE_ADJ1 0x3205d8 4171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_RATE_ADJ2 0x3205dc 4181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_RATE_ADJ3 0x3205e0 4191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_RATE_ADJ4 0x3205e4 4201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_RATE_ADJ5 0x3205e8 4211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_APB_IN_RATE_ADJ 0x3205ec 422b45009b0288a96a3458f4f8e93cb776678d41875Mauro Carvalho Chehab#define AUD_I2SCNTL 0x3205ec 4231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PHASE_FIX_CTL 0x3205f0 4241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PLL_PRESCALE 0x320600 4251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PLL_DDS 0x320604 4261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PLL_INT 0x320608 4271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PLL_FRAC 0x32060c 4281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PLL_JTAG 0x320620 4291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PLL_SPMP 0x320624 4301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_AFE_12DB_EN 0x320628 4311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 4321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds// Audio QAM Register Addresses 4331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PDF_DDS_CNST_BYTE2 0x320d01 4341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PDF_DDS_CNST_BYTE1 0x320d02 4351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PDF_DDS_CNST_BYTE0 0x320d03 4361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PHACC_FREQ_8MSB 0x320d2a 4371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_PHACC_FREQ_8LSB 0x320d2b 4381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define AUD_QAM_MODE 0x320d04 4391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 4401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 4411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ---------------------------------------------------------------------- */ 4421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* transport stream registers */ 4431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 4441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_TS_DMA 0x330000 // {64}RWp Transport stream downstream 4451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_TS_GPCNT 0x33C020 // {16}RO TS general purpose counter 4461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_TS_GPCNTRL 0x33C030 // {2}WO TS general purpose control 4471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_TS_DMACNTRL 0x33C040 // {6}RW TS DMA control 4481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_TS_XFR_STAT 0x33C044 // {1}RO TS transfer status 4491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_TS_LNGTH 0x33C048 // {12}RW TS line length 4501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 4511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define TS_HW_SOP_CNTRL 0x33C04C 4521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define TS_GEN_CNTRL 0x33C050 4531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define TS_BD_PKT_STAT 0x33C054 4541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define TS_SOP_STAT 0x33C058 4551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define TS_FIFO_OVFL_STAT 0x33C05C 4561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define TS_VALERR_CNTRL 0x33C060 4571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 4581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 4591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ---------------------------------------------------------------------- */ 4601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* VIP registers */ 4611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 4621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIPD_DMA 0x340000 // {64}RWp VIP downstream 4631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIPU_DMA 0x340008 // {64}RWp VIP upstream 4641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIPD_GPCNT 0x34C020 // {16}RO VIP down general purpose counter 4651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIPU_GPCNT 0x34C024 // {16}RO VIP up general purpose counter 4661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIPD_GPCNTRL 0x34C030 // {2}WO VIP down general purpose control 4671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIPU_GPCNTRL 0x34C034 // {2}WO VIP up general purpose control 4681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIP_DMACNTRL 0x34C040 // {6}RW VIP DMA control 4691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIP_XFR_STAT 0x34C044 // {1}RO VIP transfer status 4701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIP_CFG 0x340048 // VIP configuration 4711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIPU_CNTRL 0x34004C // VIP upstream control #1 4721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIPD_CNTRL 0x340050 // VIP downstream control #2 4731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIPD_LNGTH 0x340054 // VIP downstream line length 4741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIP_BRSTLN 0x340058 // VIP burst length 4751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIP_INTCNTRL 0x34C05C // VIP Interrupt Control 4761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_VIP_XFTERM 0x340060 // VIP transfer terminate 4771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 4781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 4791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ---------------------------------------------------------------------- */ 4801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* misc registers */ 4811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 4821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_M2M_DMA 0x350000 // {64}RWp Mem2Mem DMA Bfr 4831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GP0_IO 0x350010 // {32}RW* GPIOoutput enablesdata I/O 4841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GP1_IO 0x350014 // {32}RW* GPIOoutput enablesdata I/O 4851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GP2_IO 0x350018 // {32}RW* GPIOoutput enablesdata I/O 4861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GP3_IO 0x35001C // {32}RW* GPIO Mode/Ctrloutput enables 4871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPIO 0x350020 // {32}RW* GPIO I2C Ctrldata I/O 4881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPOE 0x350024 // {32}RW GPIO I2C Ctrloutput enables 4891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GP_ISM 0x350028 // {16}WO GPIO Intr Sens/Pol 4901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 4911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_PLL_B 0x35C008 // {32}RW* PLL Control for ASB bus clks 4921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_M2M_CNT 0x35C024 // {32}RW Mem2Mem DMA Cnt 4931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_M2M_XSUM 0x35C028 // {32}RO M2M XOR-Checksum 4941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_CRC 0x35C02C // {16}RW CRC16 init/result 4951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_CRC_D 0x35C030 // {32}WO CRC16 new data in 4961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_TM_CNT_LDW 0x35C034 // {32}RO Timer : Counter low dword 4971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_TM_CNT_UW 0x35C038 // {16}RO Timer : Counter high word 4981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_TM_LMT_LDW 0x35C03C // {32}RW Timer : Limit low dword 4991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_TM_LMT_UW 0x35C040 // {32}RW Timer : Limit high word 5001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_PINMUX_IO 0x35C044 // {8}RW Pin Mux Control 5011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_TSTSEL_IO 0x35C048 // {2}RW Pin Mux Control 5021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_AFECFG_IO 0x35C04C // AFE configuration reg 5031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DDS_IO 0x35C050 // DDS Increment reg 5041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_DDSCFG_IO 0x35C054 // DDS Configuration reg 5051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_SAMPLE_IO 0x35C058 // IRIn sample reg 5061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_SRST_IO 0x35C05C // Output system reset reg 5071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_INT1_MSK 0x35C060 // DMA RISC interrupt mask 5091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_INT1_STAT 0x35C064 // DMA RISC interrupt status 5101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_INT1_MSTAT 0x35C068 // DMA RISC interrupt masked status 5111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ---------------------------------------------------------------------- */ 5141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* i2c bus registers */ 5151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_I2C 0x368000 // I2C data/control 5171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_I2C_DIV (0xf<<4) 5181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_I2C_SYNC (1<<3) 5191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_I2C_W3B (1<<2) 5201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_I2C_SCL (1<<1) 5211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_I2C_SDA (1<<0) 5221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ---------------------------------------------------------------------- */ 5251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* general purpose host registers */ 5261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* FIXME: tyops? s/0x35/0x38/ ?? */ 5271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHSTD_DMA 0x350000 // {64}RWp Host downstream 5291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHSTU_DMA 0x350008 // {64}RWp Host upstream 5301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHSTU_CNTRL 0x380048 // Host upstream control #1 5311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHSTD_CNTRL 0x38004C // Host downstream control #2 5321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHSTD_LNGTH 0x380050 // Host downstream line length 5331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHST_WSC 0x380054 // Host wait state control 5341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHST_XFR 0x380058 // Host transfer control 5351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHST_WDTH 0x38005C // Host interface width 5361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHST_HDSHK 0x380060 // Host peripheral handshake 5371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHST_MUX16 0x380064 // Host muxed 16-bit transfer parameters 5381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHST_MODE 0x380068 // Host mode select 5391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHSTD_GPCNT 0x35C020 // Host down general purpose counter 5411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHSTU_GPCNT 0x35C024 // Host up general purpose counter 5421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHSTD_GPCNTRL 0x38C030 // Host down general purpose control 5431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHSTU_GPCNTRL 0x38C034 // Host up general purpose control 5441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHST_DMACNTRL 0x38C040 // Host DMA control 5451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHST_XFR_STAT 0x38C044 // Host transfer status 5461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MO_GPHST_SOFT_RST 0x38C06C // Host software reset 5471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ---------------------------------------------------------------------- */ 5501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* RISC instructions */ 5511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_SYNC 0x80000000 5531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_SYNC_ODD 0x80000000 5541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_SYNC_EVEN 0x80000200 5551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_RESYNC 0x80008000 5561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_RESYNC_ODD 0x80008000 5571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_RESYNC_EVEN 0x80008200 5581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_WRITE 0x10000000 5591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_WRITEC 0x50000000 5601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_READ 0x90000000 5611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_READC 0xA0000000 5621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_JUMP 0x70000000 5631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_SKIP 0x20000000 5641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_WRITERM 0xB0000000 5651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_WRITECM 0xC0000000 5661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_WRITECR 0xD0000000 5671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_IMM 0x00000001 5681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_SOL 0x08000000 5701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_EOL 0x04000000 5711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_IRQ2 0x02000000 5731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_IRQ1 0x01000000 5741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_CNT_NONE 0x00000000 5761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_CNT_INC 0x00010000 5771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_CNT_RSVR 0x00020000 5781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_CNT_RESET 0x00030000 5791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RISC_JMP_SRP 0x01 5801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ---------------------------------------------------------------------- */ 5831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* various constants */ 5841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5858ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho// DMA 5868ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho/* Interrupt mask/status */ 5878ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_VIDINT (1 << 0) 5888ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_AUDINT (1 << 1) 5898ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_TSINT (1 << 2) 5908ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_VIPINT (1 << 3) 5918ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_HSTINT (1 << 4) 5928ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_TM1INT (1 << 5) 5938ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_SRCDMAINT (1 << 6) 5948ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_DSTDMAINT (1 << 7) 5958ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_RISC_RD_BERRINT (1 << 10) 5968ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_RISC_WR_BERRINT (1 << 11) 5978ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_BRDG_BERRINT (1 << 12) 5988ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_SRC_DMA_BERRINT (1 << 13) 5998ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_DST_DMA_BERRINT (1 << 14) 6008ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_IPB_DMA_BERRINT (1 << 15) 6018ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_I2CDONE (1 << 16) 6028ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_I2CRACK (1 << 17) 6038ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_IR_SMPINT (1 << 18) 6048ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_GPIO_INT0 (1 << 19) 6058ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho#define PCI_INT_GPIO_INT1 (1 << 20) 6068ddac9ee4b6f08d7cacf79202ab882eefc55b0c0Trent Piepho 6071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SEL_BTSC 0x01 6081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SEL_EIAJ 0x02 6091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SEL_A2 0x04 6101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SEL_SAP 0x08 6111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SEL_NICAM 0x10 6121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SEL_FMRADIO 0x20 6131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 6141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds// AUD_CTL 61559fd8f8d8ee9f7539758419965381bcccfa6f798Trent Piepho#define AUD_INT_DN_RISCI1 (1 << 0) 61659fd8f8d8ee9f7539758419965381bcccfa6f798Trent Piepho#define AUD_INT_UP_RISCI1 (1 << 1) 61759fd8f8d8ee9f7539758419965381bcccfa6f798Trent Piepho#define AUD_INT_RDS_DN_RISCI1 (1 << 2) 61859fd8f8d8ee9f7539758419965381bcccfa6f798Trent Piepho#define AUD_INT_DN_RISCI2 (1 << 4) /* yes, 3 is skipped */ 61959fd8f8d8ee9f7539758419965381bcccfa6f798Trent Piepho#define AUD_INT_UP_RISCI2 (1 << 5) 62059fd8f8d8ee9f7539758419965381bcccfa6f798Trent Piepho#define AUD_INT_RDS_DN_RISCI2 (1 << 6) 62159fd8f8d8ee9f7539758419965381bcccfa6f798Trent Piepho#define AUD_INT_DN_SYNC (1 << 12) 62259fd8f8d8ee9f7539758419965381bcccfa6f798Trent Piepho#define AUD_INT_UP_SYNC (1 << 13) 62359fd8f8d8ee9f7539758419965381bcccfa6f798Trent Piepho#define AUD_INT_RDS_DN_SYNC (1 << 14) 62459fd8f8d8ee9f7539758419965381bcccfa6f798Trent Piepho#define AUD_INT_OPC_ERR (1 << 16) 62559fd8f8d8ee9f7539758419965381bcccfa6f798Trent Piepho#define AUD_INT_BER_IRQ (1 << 20) 62659fd8f8d8ee9f7539758419965381bcccfa6f798Trent Piepho#define AUD_INT_MCHG_IRQ (1 << 21) 62759fd8f8d8ee9f7539758419965381bcccfa6f798Trent Piepho 6281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_BTSC_FORCE_MONO 0 6291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_BTSC_FORCE_STEREO 1 6301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_BTSC_FORCE_SAP 2 6311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_BTSC_AUTO_STEREO 3 6321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_BTSC_AUTO_SAP 4 6331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 6341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_A2_FORCE_MONO1 8 6351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_A2_FORCE_MONO2 9 6361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_A2_FORCE_STEREO 10 6371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_A2_AUTO_MONO2 11 6381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_A2_AUTO_STEREO 12 6391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 6401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_EIAJ_FORCE_MONO1 16 6411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_EIAJ_FORCE_MONO2 17 6421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_EIAJ_FORCE_STEREO 18 6431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_EIAJ_AUTO_MONO2 19 6441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_EIAJ_AUTO_STEREO 20 6451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 6461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_NICAM_FORCE_MONO1 32 6471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_NICAM_FORCE_MONO2 33 6481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_NICAM_FORCE_STEREO 34 6491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_NICAM_AUTO_MONO2 35 6501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_NICAM_AUTO_STEREO 36 6511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 6521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_FMRADIO_FORCE_MONO 24 6531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_FMRADIO_FORCE_STEREO 25 6541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_FMRADIO_AUTO_STEREO 26 6551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 6561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_NICAM_AUTO_FALLBACK 0x00000040 6571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_FMRADIO_EN_RDS 0x00000200 6581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_NICAM_TRY_AGAIN_BIT 0x00000400 6591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_DAC_ENABLE 0x00001000 6601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_I2SOUT_ENABLE 0x00002000 6611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_I2SIN_STR2DAC 0x00004000 6621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_I2SIN_ENABLE 0x00008000 6631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 6641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_DMTRX_SUMDIFF (0 << 7) 6651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_DMTRX_SUMR (1 << 7) 6661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_DMTRX_LR (2 << 7) 6671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_DMTRX_MONO (3 << 7) 6681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EN_DMTRX_BYPASS (1 << 11) 6691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 6701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds// Video 6711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VID_CAPTURE_CONTROL 0x310180 6721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 6731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CX23880_CAP_CTL_CAPTURE_VBI_ODD (1<<3) 6741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CX23880_CAP_CTL_CAPTURE_VBI_EVEN (1<<2) 6751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CX23880_CAP_CTL_CAPTURE_ODD (1<<1) 6761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CX23880_CAP_CTL_CAPTURE_EVEN (1<<0) 6771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 6781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoInputMux0 0x0 6791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoInputMux1 0x1 6801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoInputMux2 0x2 6811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoInputMux3 0x3 6821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoInputTuner 0x0 6831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoInputComposite 0x1 6841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoInputSVideo 0x2 6851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoInputOther 0x3 6861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 6871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define Xtal0 0x1 6881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define Xtal1 0x2 6891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define XtalAuto 0x3 6901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 6911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatAuto 0x0 6921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatNTSC 0x1 6931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatNTSCJapan 0x2 6941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatNTSC443 0x3 6951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPAL 0x4 6961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALB 0x4 6971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALD 0x4 6981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALG 0x4 6991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALH 0x4 7001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALI 0x4 7011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALBDGHI 0x4 7021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALM 0x5 7031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALN 0x6 7041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALNC 0x7 7051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPAL60 0x8 7061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatSECAM 0x9 7071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 7081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatAuto27MHz 0x10 7091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatNTSC27MHz 0x11 7101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatNTSCJapan27MHz 0x12 7111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatNTSC44327MHz 0x13 7121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPAL27MHz 0x14 7131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALB27MHz 0x14 7141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALD27MHz 0x14 7151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALG27MHz 0x14 7161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALH27MHz 0x14 7171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALI27MHz 0x14 7181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALBDGHI27MHz 0x14 7191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALM27MHz 0x15 7201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALN27MHz 0x16 7211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPALNC27MHz 0x17 7221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatPAL6027MHz 0x18 7231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VideoFormatSECAM27MHz 0x19 7241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 7251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define NominalUSECAM 0x87 7261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define NominalVSECAM 0x85 7271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define NominalUNTSC 0xFE 7281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define NominalVNTSC 0xB4 7291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 7301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define NominalContrast 0xD8 7311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 7321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFilterAutoFormat 0x0 7331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFilterCIF 0x1 7341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFilterQCIF 0x2 7351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFilterICON 0x3 7361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 7371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VFilter2TapInterpolate 0 7381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VFilter3TapInterpolate 1 7391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VFilter4TapInterpolate 2 7401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VFilter5TapInterpolate 3 7411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VFilter2TapNoInterpolate 4 7421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VFilter3TapNoInterpolate 5 7431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VFilter4TapNoInterpolate 6 7441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define VFilter5TapNoInterpolate 7 7451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 7461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatRGB32 0x0000 7471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatRGB24 0x0011 7481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatRGB16 0x0022 7491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatRGB15 0x0033 7501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatYUY2 0x0044 7511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatBTYUV 0x0055 7521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatY8 0x0066 7531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatRGB8 0x0077 7541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatPL422 0x0088 7551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatPL411 0x0099 7561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatYUV12 0x00AA 7571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatYUV9 0x00BB 7581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatRAW 0x00EE 7591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatBSWAP 0x0300 7601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatWSWAP 0x0c00 7611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatEvenMask 0x050f 7621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatOddMask 0x0af0 7631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ColorFormatGamma 0x1000 7641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 7651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define Interlaced 0x1 7664ac97914c6c35f6bf132071c718e034d0846b9f5Mauro Carvalho Chehab#define NonInterlaced 0x0 7671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 7681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define FieldEven 0x1 7691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define FieldOdd 0x0 7701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 7714ac97914c6c35f6bf132071c718e034d0846b9f5Mauro Carvalho Chehab#define TGReadWriteMode 0x0 7724ac97914c6c35f6bf132071c718e034d0846b9f5Mauro Carvalho Chehab#define TGEnableMode 0x1 7731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 7741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DV_CbAlign 0x0 7751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DV_Y0Align 0x1 7761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DV_CrAlign 0x2 7771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DV_Y1Align 0x3 7781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 7791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DVF_Analog 0x0 7801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DVF_CCIR656 0x1 7811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DVF_ByteStream 0x2 7821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DVF_ExtVSYNC 0x4 7831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DVF_ExtField 0x5 7841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 7851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CHANNEL_VID_Y 0x1 7861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CHANNEL_VID_U 0x2 7871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CHANNEL_VID_V 0x3 7881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CHANNEL_VID_VBI 0x4 7891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CHANNEL_AUD_DN 0x5 7901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CHANNEL_AUD_UP 0x6 7911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CHANNEL_AUD_RDS_DN 0x7 7921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CHANNEL_MPEG_DN 0x8 7931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CHANNEL_VIP_DN 0x9 7941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CHANNEL_VIP_UP 0xA 7951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CHANNEL_HOST_DN 0xB 7961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CHANNEL_HOST_UP 0xC 7971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CHANNEL_FIRST 0x1 7981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CHANNEL_LAST 0xC 7991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 8001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define GP_COUNT_CONTROL_NONE 0x0 8011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define GP_COUNT_CONTROL_INC 0x1 8021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define GP_COUNT_CONTROL_RESERVED 0x2 8031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define GP_COUNT_CONTROL_RESET 0x3 8041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 8051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define PLL_PRESCALE_BY_2 2 8061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define PLL_PRESCALE_BY_3 3 8071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define PLL_PRESCALE_BY_4 4 8081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define PLL_PRESCALE_BY_5 5 8091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 8101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HLNotchFilter4xFsc 0 8111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HLNotchFilterSquare 1 8121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HLNotchFilter135NTSC 2 8131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HLNotchFilter135PAL 3 8141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 8151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define NTSC_8x_SUB_CARRIER 28.63636E6 8161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define PAL_8x_SUB_CARRIER 35.46895E6 8171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 8181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds// Default analog settings 8191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DEFAULT_HUE_NTSC 0x00 8201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DEFAULT_BRIGHTNESS_NTSC 0x00 8211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DEFAULT_CONTRAST_NTSC 0x39 8221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DEFAULT_SAT_U_NTSC 0x7F 8231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DEFAULT_SAT_V_NTSC 0x5A 8241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 8251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef enum 8261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 8271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SOURCE_TUNER = 0, 8281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SOURCE_COMPOSITE, 8291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SOURCE_SVIDEO, 8301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SOURCE_OTHER1, 8311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SOURCE_OTHER2, 8321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SOURCE_COMPVIASVIDEO, 8331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SOURCE_CCIR656 8341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} VIDEOSOURCETYPE; 8351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 8361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif /* _CX88_REG_H_ */ 837