168de959fSMauro Carvalho Chehab /* 268de959fSMauro Carvalho Chehab bt848.h - Bt848 register offsets 368de959fSMauro Carvalho Chehab 468de959fSMauro Carvalho Chehab Copyright (C) 1996,97,98 Ralph Metzler (rjkm@thp.uni-koeln.de) 568de959fSMauro Carvalho Chehab 668de959fSMauro Carvalho Chehab This program is free software; you can redistribute it and/or modify 768de959fSMauro Carvalho Chehab it under the terms of the GNU General Public License as published by 868de959fSMauro Carvalho Chehab the Free Software Foundation; either version 2 of the License, or 968de959fSMauro Carvalho Chehab (at your option) any later version. 1068de959fSMauro Carvalho Chehab 1168de959fSMauro Carvalho Chehab This program is distributed in the hope that it will be useful, 1268de959fSMauro Carvalho Chehab but WITHOUT ANY WARRANTY; without even the implied warranty of 1368de959fSMauro Carvalho Chehab MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1468de959fSMauro Carvalho Chehab GNU General Public License for more details. 1568de959fSMauro Carvalho Chehab 1668de959fSMauro Carvalho Chehab You should have received a copy of the GNU General Public License 1768de959fSMauro Carvalho Chehab along with this program; if not, write to the Free Software 1868de959fSMauro Carvalho Chehab Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 1968de959fSMauro Carvalho Chehab */ 2068de959fSMauro Carvalho Chehab 2168de959fSMauro Carvalho Chehab #ifndef _BT848_H_ 2268de959fSMauro Carvalho Chehab #define _BT848_H_ 2368de959fSMauro Carvalho Chehab 2468de959fSMauro Carvalho Chehab #ifndef PCI_VENDOR_ID_BROOKTREE 2568de959fSMauro Carvalho Chehab #define PCI_VENDOR_ID_BROOKTREE 0x109e 2668de959fSMauro Carvalho Chehab #endif 2768de959fSMauro Carvalho Chehab #ifndef PCI_DEVICE_ID_BT848 2868de959fSMauro Carvalho Chehab #define PCI_DEVICE_ID_BT848 0x350 2968de959fSMauro Carvalho Chehab #endif 3068de959fSMauro Carvalho Chehab #ifndef PCI_DEVICE_ID_BT849 3168de959fSMauro Carvalho Chehab #define PCI_DEVICE_ID_BT849 0x351 3268de959fSMauro Carvalho Chehab #endif 3368de959fSMauro Carvalho Chehab #ifndef PCI_DEVICE_ID_FUSION879 3468de959fSMauro Carvalho Chehab #define PCI_DEVICE_ID_FUSION879 0x36c 3568de959fSMauro Carvalho Chehab #endif 3668de959fSMauro Carvalho Chehab 3768de959fSMauro Carvalho Chehab #ifndef PCI_DEVICE_ID_BT878 3868de959fSMauro Carvalho Chehab #define PCI_DEVICE_ID_BT878 0x36e 3968de959fSMauro Carvalho Chehab #endif 4068de959fSMauro Carvalho Chehab #ifndef PCI_DEVICE_ID_BT879 4168de959fSMauro Carvalho Chehab #define PCI_DEVICE_ID_BT879 0x36f 4268de959fSMauro Carvalho Chehab #endif 4368de959fSMauro Carvalho Chehab 4468de959fSMauro Carvalho Chehab /* Brooktree 848 registers */ 4568de959fSMauro Carvalho Chehab 4668de959fSMauro Carvalho Chehab #define BT848_DSTATUS 0x000 4768de959fSMauro Carvalho Chehab #define BT848_DSTATUS_PRES (1<<7) 4868de959fSMauro Carvalho Chehab #define BT848_DSTATUS_HLOC (1<<6) 4968de959fSMauro Carvalho Chehab #define BT848_DSTATUS_FIELD (1<<5) 5068de959fSMauro Carvalho Chehab #define BT848_DSTATUS_NUML (1<<4) 5168de959fSMauro Carvalho Chehab #define BT848_DSTATUS_CSEL (1<<3) 5268de959fSMauro Carvalho Chehab #define BT848_DSTATUS_PLOCK (1<<2) 5368de959fSMauro Carvalho Chehab #define BT848_DSTATUS_LOF (1<<1) 5468de959fSMauro Carvalho Chehab #define BT848_DSTATUS_COF (1<<0) 5568de959fSMauro Carvalho Chehab 5668de959fSMauro Carvalho Chehab #define BT848_IFORM 0x004 5768de959fSMauro Carvalho Chehab #define BT848_IFORM_HACTIVE (1<<7) 5868de959fSMauro Carvalho Chehab #define BT848_IFORM_MUXSEL (3<<5) 5968de959fSMauro Carvalho Chehab #define BT848_IFORM_MUX0 (2<<5) 6068de959fSMauro Carvalho Chehab #define BT848_IFORM_MUX1 (3<<5) 6168de959fSMauro Carvalho Chehab #define BT848_IFORM_MUX2 (1<<5) 6268de959fSMauro Carvalho Chehab #define BT848_IFORM_XTSEL (3<<3) 6368de959fSMauro Carvalho Chehab #define BT848_IFORM_XT0 (1<<3) 6468de959fSMauro Carvalho Chehab #define BT848_IFORM_XT1 (2<<3) 6568de959fSMauro Carvalho Chehab #define BT848_IFORM_XTAUTO (3<<3) 6668de959fSMauro Carvalho Chehab #define BT848_IFORM_XTBOTH (3<<3) 6768de959fSMauro Carvalho Chehab #define BT848_IFORM_NTSC 1 6868de959fSMauro Carvalho Chehab #define BT848_IFORM_NTSC_J 2 6968de959fSMauro Carvalho Chehab #define BT848_IFORM_PAL_BDGHI 3 7068de959fSMauro Carvalho Chehab #define BT848_IFORM_PAL_M 4 7168de959fSMauro Carvalho Chehab #define BT848_IFORM_PAL_N 5 7268de959fSMauro Carvalho Chehab #define BT848_IFORM_SECAM 6 7368de959fSMauro Carvalho Chehab #define BT848_IFORM_PAL_NC 7 7468de959fSMauro Carvalho Chehab #define BT848_IFORM_AUTO 0 7568de959fSMauro Carvalho Chehab #define BT848_IFORM_NORM 7 7668de959fSMauro Carvalho Chehab 7768de959fSMauro Carvalho Chehab #define BT848_TDEC 0x008 7868de959fSMauro Carvalho Chehab #define BT848_TDEC_DEC_FIELD (1<<7) 7968de959fSMauro Carvalho Chehab #define BT848_TDEC_FLDALIGN (1<<6) 8068de959fSMauro Carvalho Chehab #define BT848_TDEC_DEC_RAT (0x1f) 8168de959fSMauro Carvalho Chehab 8268de959fSMauro Carvalho Chehab #define BT848_E_CROP 0x00C 8368de959fSMauro Carvalho Chehab #define BT848_O_CROP 0x08C 8468de959fSMauro Carvalho Chehab 8568de959fSMauro Carvalho Chehab #define BT848_E_VDELAY_LO 0x010 8668de959fSMauro Carvalho Chehab #define BT848_O_VDELAY_LO 0x090 8768de959fSMauro Carvalho Chehab 8868de959fSMauro Carvalho Chehab #define BT848_E_VACTIVE_LO 0x014 8968de959fSMauro Carvalho Chehab #define BT848_O_VACTIVE_LO 0x094 9068de959fSMauro Carvalho Chehab 9168de959fSMauro Carvalho Chehab #define BT848_E_HDELAY_LO 0x018 9268de959fSMauro Carvalho Chehab #define BT848_O_HDELAY_LO 0x098 9368de959fSMauro Carvalho Chehab 9468de959fSMauro Carvalho Chehab #define BT848_E_HACTIVE_LO 0x01C 9568de959fSMauro Carvalho Chehab #define BT848_O_HACTIVE_LO 0x09C 9668de959fSMauro Carvalho Chehab 9768de959fSMauro Carvalho Chehab #define BT848_E_HSCALE_HI 0x020 9868de959fSMauro Carvalho Chehab #define BT848_O_HSCALE_HI 0x0A0 9968de959fSMauro Carvalho Chehab 10068de959fSMauro Carvalho Chehab #define BT848_E_HSCALE_LO 0x024 10168de959fSMauro Carvalho Chehab #define BT848_O_HSCALE_LO 0x0A4 10268de959fSMauro Carvalho Chehab 10368de959fSMauro Carvalho Chehab #define BT848_BRIGHT 0x028 10468de959fSMauro Carvalho Chehab 10568de959fSMauro Carvalho Chehab #define BT848_E_CONTROL 0x02C 10668de959fSMauro Carvalho Chehab #define BT848_O_CONTROL 0x0AC 10768de959fSMauro Carvalho Chehab #define BT848_CONTROL_LNOTCH (1<<7) 10868de959fSMauro Carvalho Chehab #define BT848_CONTROL_COMP (1<<6) 10968de959fSMauro Carvalho Chehab #define BT848_CONTROL_LDEC (1<<5) 11068de959fSMauro Carvalho Chehab #define BT848_CONTROL_CBSENSE (1<<4) 11168de959fSMauro Carvalho Chehab #define BT848_CONTROL_CON_MSB (1<<2) 11268de959fSMauro Carvalho Chehab #define BT848_CONTROL_SAT_U_MSB (1<<1) 11368de959fSMauro Carvalho Chehab #define BT848_CONTROL_SAT_V_MSB (1<<0) 11468de959fSMauro Carvalho Chehab 11568de959fSMauro Carvalho Chehab #define BT848_CONTRAST_LO 0x030 11668de959fSMauro Carvalho Chehab #define BT848_SAT_U_LO 0x034 11768de959fSMauro Carvalho Chehab #define BT848_SAT_V_LO 0x038 11868de959fSMauro Carvalho Chehab #define BT848_HUE 0x03C 11968de959fSMauro Carvalho Chehab 12068de959fSMauro Carvalho Chehab #define BT848_E_SCLOOP 0x040 12168de959fSMauro Carvalho Chehab #define BT848_O_SCLOOP 0x0C0 12268de959fSMauro Carvalho Chehab #define BT848_SCLOOP_CAGC (1<<6) 12368de959fSMauro Carvalho Chehab #define BT848_SCLOOP_CKILL (1<<5) 12468de959fSMauro Carvalho Chehab #define BT848_SCLOOP_HFILT_AUTO (0<<3) 12568de959fSMauro Carvalho Chehab #define BT848_SCLOOP_HFILT_CIF (1<<3) 12668de959fSMauro Carvalho Chehab #define BT848_SCLOOP_HFILT_QCIF (2<<3) 12768de959fSMauro Carvalho Chehab #define BT848_SCLOOP_HFILT_ICON (3<<3) 12868de959fSMauro Carvalho Chehab 12968de959fSMauro Carvalho Chehab #define BT848_SCLOOP_PEAK (1<<7) 13068de959fSMauro Carvalho Chehab #define BT848_SCLOOP_HFILT_MINP (1<<3) 13168de959fSMauro Carvalho Chehab #define BT848_SCLOOP_HFILT_MEDP (2<<3) 13268de959fSMauro Carvalho Chehab #define BT848_SCLOOP_HFILT_MAXP (3<<3) 13368de959fSMauro Carvalho Chehab 13468de959fSMauro Carvalho Chehab 13568de959fSMauro Carvalho Chehab #define BT848_OFORM 0x048 13668de959fSMauro Carvalho Chehab #define BT848_OFORM_RANGE (1<<7) 13768de959fSMauro Carvalho Chehab #define BT848_OFORM_CORE0 (0<<5) 13868de959fSMauro Carvalho Chehab #define BT848_OFORM_CORE8 (1<<5) 13968de959fSMauro Carvalho Chehab #define BT848_OFORM_CORE16 (2<<5) 14068de959fSMauro Carvalho Chehab #define BT848_OFORM_CORE32 (3<<5) 14168de959fSMauro Carvalho Chehab 14268de959fSMauro Carvalho Chehab #define BT848_E_VSCALE_HI 0x04C 14368de959fSMauro Carvalho Chehab #define BT848_O_VSCALE_HI 0x0CC 14468de959fSMauro Carvalho Chehab #define BT848_VSCALE_YCOMB (1<<7) 14568de959fSMauro Carvalho Chehab #define BT848_VSCALE_COMB (1<<6) 14668de959fSMauro Carvalho Chehab #define BT848_VSCALE_INT (1<<5) 14768de959fSMauro Carvalho Chehab #define BT848_VSCALE_HI 15 14868de959fSMauro Carvalho Chehab 14968de959fSMauro Carvalho Chehab #define BT848_E_VSCALE_LO 0x050 15068de959fSMauro Carvalho Chehab #define BT848_O_VSCALE_LO 0x0D0 15168de959fSMauro Carvalho Chehab #define BT848_TEST 0x054 15268de959fSMauro Carvalho Chehab #define BT848_ADELAY 0x060 15368de959fSMauro Carvalho Chehab #define BT848_BDELAY 0x064 15468de959fSMauro Carvalho Chehab 15568de959fSMauro Carvalho Chehab #define BT848_ADC 0x068 15668de959fSMauro Carvalho Chehab #define BT848_ADC_RESERVED (2<<6) 15768de959fSMauro Carvalho Chehab #define BT848_ADC_SYNC_T (1<<5) 15868de959fSMauro Carvalho Chehab #define BT848_ADC_AGC_EN (1<<4) 15968de959fSMauro Carvalho Chehab #define BT848_ADC_CLK_SLEEP (1<<3) 16068de959fSMauro Carvalho Chehab #define BT848_ADC_Y_SLEEP (1<<2) 16168de959fSMauro Carvalho Chehab #define BT848_ADC_C_SLEEP (1<<1) 16268de959fSMauro Carvalho Chehab #define BT848_ADC_CRUSH (1<<0) 16368de959fSMauro Carvalho Chehab 16468de959fSMauro Carvalho Chehab #define BT848_WC_UP 0x044 16568de959fSMauro Carvalho Chehab #define BT848_WC_DOWN 0x078 16668de959fSMauro Carvalho Chehab 16768de959fSMauro Carvalho Chehab #define BT848_E_VTC 0x06C 16868de959fSMauro Carvalho Chehab #define BT848_O_VTC 0x0EC 16968de959fSMauro Carvalho Chehab #define BT848_VTC_HSFMT (1<<7) 17068de959fSMauro Carvalho Chehab #define BT848_VTC_VFILT_2TAP 0 17168de959fSMauro Carvalho Chehab #define BT848_VTC_VFILT_3TAP 1 17268de959fSMauro Carvalho Chehab #define BT848_VTC_VFILT_4TAP 2 17368de959fSMauro Carvalho Chehab #define BT848_VTC_VFILT_5TAP 3 17468de959fSMauro Carvalho Chehab 17568de959fSMauro Carvalho Chehab #define BT848_SRESET 0x07C 17668de959fSMauro Carvalho Chehab 17768de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT 0x0D4 17868de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_O_RGB32 (0<<4) 17968de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_O_RGB24 (1<<4) 18068de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_O_RGB16 (2<<4) 18168de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_O_RGB15 (3<<4) 18268de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_O_YUY2 (4<<4) 18368de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_O_BtYUV (5<<4) 18468de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_O_Y8 (6<<4) 18568de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_O_RGB8 (7<<4) 18668de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_O_YCrCb422 (8<<4) 18768de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_O_YCrCb411 (9<<4) 18868de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_O_RAW (14<<4) 18968de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_E_RGB32 0 19068de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_E_RGB24 1 19168de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_E_RGB16 2 19268de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_E_RGB15 3 19368de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_E_YUY2 4 19468de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_E_BtYUV 5 19568de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_E_Y8 6 19668de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_E_RGB8 7 19768de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_E_YCrCb422 8 19868de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_E_YCrCb411 9 19968de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_E_RAW 14 20068de959fSMauro Carvalho Chehab 20168de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_RGB32 0x00 20268de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_RGB24 0x11 20368de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_RGB16 0x22 20468de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_RGB15 0x33 20568de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_YUY2 0x44 20668de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_BtYUV 0x55 20768de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_Y8 0x66 20868de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_RGB8 0x77 20968de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_YCrCb422 0x88 21068de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_YCrCb411 0x99 21168de959fSMauro Carvalho Chehab #define BT848_COLOR_FMT_RAW 0xee 21268de959fSMauro Carvalho Chehab 21368de959fSMauro Carvalho Chehab #define BT848_VTOTAL_LO 0xB0 21468de959fSMauro Carvalho Chehab #define BT848_VTOTAL_HI 0xB4 21568de959fSMauro Carvalho Chehab 21668de959fSMauro Carvalho Chehab #define BT848_COLOR_CTL 0x0D8 21768de959fSMauro Carvalho Chehab #define BT848_COLOR_CTL_EXT_FRMRATE (1<<7) 21868de959fSMauro Carvalho Chehab #define BT848_COLOR_CTL_COLOR_BARS (1<<6) 21968de959fSMauro Carvalho Chehab #define BT848_COLOR_CTL_RGB_DED (1<<5) 22068de959fSMauro Carvalho Chehab #define BT848_COLOR_CTL_GAMMA (1<<4) 22168de959fSMauro Carvalho Chehab #define BT848_COLOR_CTL_WSWAP_ODD (1<<3) 22268de959fSMauro Carvalho Chehab #define BT848_COLOR_CTL_WSWAP_EVEN (1<<2) 22368de959fSMauro Carvalho Chehab #define BT848_COLOR_CTL_BSWAP_ODD (1<<1) 22468de959fSMauro Carvalho Chehab #define BT848_COLOR_CTL_BSWAP_EVEN (1<<0) 22568de959fSMauro Carvalho Chehab 22668de959fSMauro Carvalho Chehab #define BT848_CAP_CTL 0x0DC 22768de959fSMauro Carvalho Chehab #define BT848_CAP_CTL_DITH_FRAME (1<<4) 22868de959fSMauro Carvalho Chehab #define BT848_CAP_CTL_CAPTURE_VBI_ODD (1<<3) 22968de959fSMauro Carvalho Chehab #define BT848_CAP_CTL_CAPTURE_VBI_EVEN (1<<2) 23068de959fSMauro Carvalho Chehab #define BT848_CAP_CTL_CAPTURE_ODD (1<<1) 23168de959fSMauro Carvalho Chehab #define BT848_CAP_CTL_CAPTURE_EVEN (1<<0) 23268de959fSMauro Carvalho Chehab 23368de959fSMauro Carvalho Chehab #define BT848_VBI_PACK_SIZE 0x0E0 23468de959fSMauro Carvalho Chehab 23568de959fSMauro Carvalho Chehab #define BT848_VBI_PACK_DEL 0x0E4 23668de959fSMauro Carvalho Chehab #define BT848_VBI_PACK_DEL_VBI_HDELAY 0xfc 23768de959fSMauro Carvalho Chehab #define BT848_VBI_PACK_DEL_EXT_FRAME 2 23868de959fSMauro Carvalho Chehab #define BT848_VBI_PACK_DEL_VBI_PKT_HI 1 23968de959fSMauro Carvalho Chehab 24068de959fSMauro Carvalho Chehab 24168de959fSMauro Carvalho Chehab #define BT848_INT_STAT 0x100 24268de959fSMauro Carvalho Chehab #define BT848_INT_MASK 0x104 24368de959fSMauro Carvalho Chehab 24468de959fSMauro Carvalho Chehab #define BT848_INT_ETBF (1<<23) 24568de959fSMauro Carvalho Chehab 24668de959fSMauro Carvalho Chehab #define BT848_INT_RISCS (0xf<<28) 24768de959fSMauro Carvalho Chehab #define BT848_INT_RISC_EN (1<<27) 24868de959fSMauro Carvalho Chehab #define BT848_INT_RACK (1<<25) 24968de959fSMauro Carvalho Chehab #define BT848_INT_FIELD (1<<24) 25068de959fSMauro Carvalho Chehab #define BT848_INT_SCERR (1<<19) 25168de959fSMauro Carvalho Chehab #define BT848_INT_OCERR (1<<18) 25268de959fSMauro Carvalho Chehab #define BT848_INT_PABORT (1<<17) 25368de959fSMauro Carvalho Chehab #define BT848_INT_RIPERR (1<<16) 25468de959fSMauro Carvalho Chehab #define BT848_INT_PPERR (1<<15) 25568de959fSMauro Carvalho Chehab #define BT848_INT_FDSR (1<<14) 25668de959fSMauro Carvalho Chehab #define BT848_INT_FTRGT (1<<13) 25768de959fSMauro Carvalho Chehab #define BT848_INT_FBUS (1<<12) 25868de959fSMauro Carvalho Chehab #define BT848_INT_RISCI (1<<11) 25968de959fSMauro Carvalho Chehab #define BT848_INT_GPINT (1<<9) 26068de959fSMauro Carvalho Chehab #define BT848_INT_I2CDONE (1<<8) 26168de959fSMauro Carvalho Chehab #define BT848_INT_VPRES (1<<5) 26268de959fSMauro Carvalho Chehab #define BT848_INT_HLOCK (1<<4) 26368de959fSMauro Carvalho Chehab #define BT848_INT_OFLOW (1<<3) 26468de959fSMauro Carvalho Chehab #define BT848_INT_HSYNC (1<<2) 26568de959fSMauro Carvalho Chehab #define BT848_INT_VSYNC (1<<1) 26668de959fSMauro Carvalho Chehab #define BT848_INT_FMTCHG (1<<0) 26768de959fSMauro Carvalho Chehab 26868de959fSMauro Carvalho Chehab 26968de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL 0x10C 27068de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_GPINTC (1<<15) 27168de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_GPINTI (1<<14) 27268de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_GPWEC (1<<13) 27368de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_GPIOMODE (3<<11) 27468de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_GPCLKMODE (1<<10) 27568de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_PLTP23_4 (0<<6) 27668de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_PLTP23_8 (1<<6) 27768de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_PLTP23_16 (2<<6) 27868de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_PLTP23_32 (3<<6) 27968de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_PLTP1_4 (0<<4) 28068de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_PLTP1_8 (1<<4) 28168de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_PLTP1_16 (2<<4) 28268de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_PLTP1_32 (3<<4) 28368de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_PKTP_4 (0<<2) 28468de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_PKTP_8 (1<<2) 28568de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_PKTP_16 (2<<2) 28668de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_PKTP_32 (3<<2) 28768de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_RISC_ENABLE (1<<1) 28868de959fSMauro Carvalho Chehab #define BT848_GPIO_DMA_CTL_FIFO_ENABLE (1<<0) 28968de959fSMauro Carvalho Chehab 29068de959fSMauro Carvalho Chehab #define BT848_I2C 0x110 29168de959fSMauro Carvalho Chehab #define BT878_I2C_MODE (1<<7) 29268de959fSMauro Carvalho Chehab #define BT878_I2C_RATE (1<<6) 29368de959fSMauro Carvalho Chehab #define BT878_I2C_NOSTOP (1<<5) 29468de959fSMauro Carvalho Chehab #define BT878_I2C_NOSTART (1<<4) 29568de959fSMauro Carvalho Chehab #define BT848_I2C_DIV (0xf<<4) 29668de959fSMauro Carvalho Chehab #define BT848_I2C_SYNC (1<<3) 29768de959fSMauro Carvalho Chehab #define BT848_I2C_W3B (1<<2) 29868de959fSMauro Carvalho Chehab #define BT848_I2C_SCL (1<<1) 29968de959fSMauro Carvalho Chehab #define BT848_I2C_SDA (1<<0) 30068de959fSMauro Carvalho Chehab 30168de959fSMauro Carvalho Chehab #define BT848_RISC_STRT_ADD 0x114 30268de959fSMauro Carvalho Chehab #define BT848_GPIO_OUT_EN 0x118 30368de959fSMauro Carvalho Chehab #define BT848_GPIO_REG_INP 0x11C 30468de959fSMauro Carvalho Chehab #define BT848_RISC_COUNT 0x120 30568de959fSMauro Carvalho Chehab #define BT848_GPIO_DATA 0x200 30668de959fSMauro Carvalho Chehab 30768de959fSMauro Carvalho Chehab 30868de959fSMauro Carvalho Chehab /* Bt848 RISC commands */ 30968de959fSMauro Carvalho Chehab 31068de959fSMauro Carvalho Chehab /* only for the SYNC RISC command */ 31168de959fSMauro Carvalho Chehab #define BT848_FIFO_STATUS_FM1 0x06 31268de959fSMauro Carvalho Chehab #define BT848_FIFO_STATUS_FM3 0x0e 31368de959fSMauro Carvalho Chehab #define BT848_FIFO_STATUS_SOL 0x02 31468de959fSMauro Carvalho Chehab #define BT848_FIFO_STATUS_EOL4 0x01 31568de959fSMauro Carvalho Chehab #define BT848_FIFO_STATUS_EOL3 0x0d 31668de959fSMauro Carvalho Chehab #define BT848_FIFO_STATUS_EOL2 0x09 31768de959fSMauro Carvalho Chehab #define BT848_FIFO_STATUS_EOL1 0x05 31868de959fSMauro Carvalho Chehab #define BT848_FIFO_STATUS_VRE 0x04 31968de959fSMauro Carvalho Chehab #define BT848_FIFO_STATUS_VRO 0x0c 32068de959fSMauro Carvalho Chehab #define BT848_FIFO_STATUS_PXV 0x00 32168de959fSMauro Carvalho Chehab 32268de959fSMauro Carvalho Chehab #define BT848_RISC_RESYNC (1<<15) 32368de959fSMauro Carvalho Chehab 32468de959fSMauro Carvalho Chehab /* WRITE and SKIP */ 32568de959fSMauro Carvalho Chehab /* disable which bytes of each DWORD */ 32668de959fSMauro Carvalho Chehab #define BT848_RISC_BYTE0 (1U<<12) 32768de959fSMauro Carvalho Chehab #define BT848_RISC_BYTE1 (1U<<13) 32868de959fSMauro Carvalho Chehab #define BT848_RISC_BYTE2 (1U<<14) 32968de959fSMauro Carvalho Chehab #define BT848_RISC_BYTE3 (1U<<15) 33068de959fSMauro Carvalho Chehab #define BT848_RISC_BYTE_ALL (0x0fU<<12) 33168de959fSMauro Carvalho Chehab #define BT848_RISC_BYTE_NONE 0 33268de959fSMauro Carvalho Chehab /* cause RISCI */ 33368de959fSMauro Carvalho Chehab #define BT848_RISC_IRQ (1U<<24) 33468de959fSMauro Carvalho Chehab /* RISC command is last one in this line */ 33568de959fSMauro Carvalho Chehab #define BT848_RISC_EOL (1U<<26) 33668de959fSMauro Carvalho Chehab /* RISC command is first one in this line */ 33768de959fSMauro Carvalho Chehab #define BT848_RISC_SOL (1U<<27) 33868de959fSMauro Carvalho Chehab 33968de959fSMauro Carvalho Chehab #define BT848_RISC_WRITE (0x01U<<28) 34068de959fSMauro Carvalho Chehab #define BT848_RISC_SKIP (0x02U<<28) 34168de959fSMauro Carvalho Chehab #define BT848_RISC_WRITEC (0x05U<<28) 34268de959fSMauro Carvalho Chehab #define BT848_RISC_JUMP (0x07U<<28) 34368de959fSMauro Carvalho Chehab #define BT848_RISC_SYNC (0x08U<<28) 34468de959fSMauro Carvalho Chehab 34568de959fSMauro Carvalho Chehab #define BT848_RISC_WRITE123 (0x09U<<28) 34668de959fSMauro Carvalho Chehab #define BT848_RISC_SKIP123 (0x0aU<<28) 34768de959fSMauro Carvalho Chehab #define BT848_RISC_WRITE1S23 (0x0bU<<28) 34868de959fSMauro Carvalho Chehab 34968de959fSMauro Carvalho Chehab 35068de959fSMauro Carvalho Chehab /* Bt848A and higher only !! */ 35168de959fSMauro Carvalho Chehab #define BT848_TGLB 0x080 35268de959fSMauro Carvalho Chehab #define BT848_TGCTRL 0x084 35368de959fSMauro Carvalho Chehab #define BT848_FCAP 0x0E8 35468de959fSMauro Carvalho Chehab #define BT848_PLL_F_LO 0x0F0 35568de959fSMauro Carvalho Chehab #define BT848_PLL_F_HI 0x0F4 35668de959fSMauro Carvalho Chehab 35768de959fSMauro Carvalho Chehab #define BT848_PLL_XCI 0x0F8 35868de959fSMauro Carvalho Chehab #define BT848_PLL_X (1<<7) 35968de959fSMauro Carvalho Chehab #define BT848_PLL_C (1<<6) 36068de959fSMauro Carvalho Chehab 36168de959fSMauro Carvalho Chehab #define BT848_DVSIF 0x0FC 36268de959fSMauro Carvalho Chehab 36368de959fSMauro Carvalho Chehab /* Bt878 register */ 36468de959fSMauro Carvalho Chehab 36568de959fSMauro Carvalho Chehab #define BT878_DEVCTRL 0x40 36668de959fSMauro Carvalho Chehab #define BT878_EN_TBFX 0x02 36768de959fSMauro Carvalho Chehab #define BT878_EN_VSFX 0x04 36868de959fSMauro Carvalho Chehab 36968de959fSMauro Carvalho Chehab #endif 370