1 /* 2 Copyright (C) 2008 Mauro Carvalho Chehab <mchehab@kernel.org> 3 This program is free software; you can redistribute it and/or modify 4 it under the terms of the GNU General Public License as published by 5 the Free Software Foundation version 2 of the License. 6 7 This program is distributed in the hope that it will be useful, 8 but WITHOUT ANY WARRANTY; without even the implied warranty of 9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 GNU General Public License for more details. 11 12 You should have received a copy of the GNU General Public License 13 along with this program; if not, write to the Free Software 14 Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA 15 */ 16 17 #include "v4l2-dbg.h" 18 19 #define TVP5150_IDENT "tvp5150" 20 21 /* Register name prefix */ 22 #define TVP5150_PREFIX "TVP5150_" 23 24 static const std::vector<board_regs> tvp5150_regs{ 25 { 0x00, TVP5150_PREFIX "VD_IN_SRC_SEL_1", 1 }, 26 { 0x01, TVP5150_PREFIX "ANAL_CHL_CTL", 1 }, 27 { 0x02, TVP5150_PREFIX "OP_MODE_CTL", 1 }, 28 { 0x03, TVP5150_PREFIX "MISC_CTL", 1 }, 29 { 0x04, TVP5150_PREFIX "AUTOSW_MSK", 1 }, 30 { 0x06, TVP5150_PREFIX "COLOR_KIL_THSH_CTL", 1 }, 31 { 0x07, TVP5150_PREFIX "LUMA_PROC_CTL_1", 1 }, 32 { 0x08, TVP5150_PREFIX "LUMA_PROC_CTL_2", 1 }, 33 { 0x09, TVP5150_PREFIX "BRIGHT_CTL", 1 }, 34 { 0x0a, TVP5150_PREFIX "SATURATION_CTL", 1 }, 35 { 0x0b, TVP5150_PREFIX "HUE_CTL", 1 }, 36 { 0x0c, TVP5150_PREFIX "CONTRAST_CTL", 1 }, 37 { 0x0d, TVP5150_PREFIX "DATA_RATE_SEL", 1 }, 38 { 0x0e, TVP5150_PREFIX "LUMA_PROC_CTL_3", 1 }, 39 { 0x0f, TVP5150_PREFIX "CONF_SHARED_PIN", 1 }, 40 { 0x11, TVP5150_PREFIX "ACT_VD_CROP_ST_MSB", 1 }, 41 { 0x12, TVP5150_PREFIX "ACT_VD_CROP_ST_LSB", 1 }, 42 { 0x13, TVP5150_PREFIX "ACT_VD_CROP_STP_MSB", 1 }, 43 { 0x14, TVP5150_PREFIX "ACT_VD_CROP_STP_LSB", 1 }, 44 { 0x15, TVP5150_PREFIX "GENLOCK", 1 }, 45 { 0x16, TVP5150_PREFIX "HORIZ_SYNC_START", 1 }, 46 { 0x18, TVP5150_PREFIX "VERT_BLANKING_START", 1 }, 47 { 0x19, TVP5150_PREFIX "VERT_BLANKING_STOP", 1 }, 48 { 0x1a, TVP5150_PREFIX "CHROMA_PROC_CTL_1", 1 }, 49 { 0x1b, TVP5150_PREFIX "CHROMA_PROC_CTL_2", 1 }, 50 { 0x1c, TVP5150_PREFIX "INT_RESET_REG_B", 1 }, 51 { 0x1d, TVP5150_PREFIX "INT_ENABLE_REG_B", 1 }, 52 { 0x1e, TVP5150_PREFIX "INTT_CONFIG_REG_B", 1 }, 53 { 0x28, TVP5150_PREFIX "VIDEO_STD", 1 }, 54 { 0x2c, TVP5150_PREFIX "CB_GAIN_FACT", 1 }, 55 { 0x2d, TVP5150_PREFIX "CR_GAIN_FACTOR", 1 }, 56 { 0x2e, TVP5150_PREFIX "MACROVISION_ON_CTR", 1 }, 57 { 0x2f, TVP5150_PREFIX "MACROVISION_OFF_CTR", 1 }, 58 { 0x30, TVP5150_PREFIX "REV_SELECT", 1 }, 59 { 0x80, TVP5150_PREFIX "MSB_DEV_ID", 1 }, 60 { 0x81, TVP5150_PREFIX "LSB_DEV_ID", 1 }, 61 { 0x82, TVP5150_PREFIX "ROM_MAJOR_VER", 1 }, 62 { 0x83, TVP5150_PREFIX "ROM_MINOR_VER", 1 }, 63 { 0x84, TVP5150_PREFIX "VERT_LN_COUNT_MSB", 1 }, 64 { 0x85, TVP5150_PREFIX "VERT_LN_COUNT_LSB", 1 }, 65 { 0x86, TVP5150_PREFIX "INT_STATUS_REG_B", 1 }, 66 { 0x87, TVP5150_PREFIX "INT_ACTIVE_REG_B", 1 }, 67 { 0x88, TVP5150_PREFIX "STATUS_REG_1", 1 }, 68 { 0x89, TVP5150_PREFIX "STATUS_REG_2", 1 }, 69 { 0x8a, TVP5150_PREFIX "STATUS_REG_3", 1 }, 70 { 0x8b, TVP5150_PREFIX "STATUS_REG_4", 1 }, 71 { 0x8c, TVP5150_PREFIX "STATUS_REG_5", 1 }, 72 { 0x90, TVP5150_PREFIX "CC_DATA", 4 }, 73 { 0x94, TVP5150_PREFIX "WSS_DATA", 6 }, 74 { 0x9a, TVP5150_PREFIX "VPS_DATA", 13 }, 75 { 0xa7, TVP5150_PREFIX "VITC_DATA", 9 }, 76 { 0xb0, TVP5150_PREFIX "VBI_FIFO_READ_DATA", 1 }, 77 { 0xb1, TVP5150_PREFIX "TELETEXT_FIL1", 5 }, 78 { 0xb6, TVP5150_PREFIX "TELETEXT_FIL2", 5 }, 79 { 0xbb, TVP5150_PREFIX "TELETEXT_FIL_ENA", 1 }, 80 { 0xc0, TVP5150_PREFIX "INT_STATUS_REG_A", 1 }, 81 { 0xc1, TVP5150_PREFIX "INT_ENABLE_REG_A", 1 }, 82 { 0xc2, TVP5150_PREFIX "INT_CONF", 1 }, 83 { 0xc3, TVP5150_PREFIX "VDP_CONF_RAM_DATA", 1 }, 84 { 0xc4, TVP5150_PREFIX "CONF_RAM_ADDR_LOW", 1 }, 85 { 0xc5, TVP5150_PREFIX "CONF_RAM_ADDR_HIGH", 1 }, 86 { 0xc6, TVP5150_PREFIX "VDP_STATUS_REG", 1 }, 87 { 0xc7, TVP5150_PREFIX "FIFO_WORD_COUNT", 1 }, 88 { 0xc8, TVP5150_PREFIX "FIFO_INT_THRESHOLD", 1 }, 89 { 0xc9, TVP5150_PREFIX "FIFO_RESET", 1 }, 90 { 0xca, TVP5150_PREFIX "LINE_NUMBER_INT", 1 }, 91 { 0xcb, TVP5150_PREFIX "PIX_ALIGN_REG_LOW", 1 }, 92 { 0xcc, TVP5150_PREFIX "PIX_ALIGN_REG_HIGH", 1 }, 93 { 0xcd, TVP5150_PREFIX "FIFO_OUT_CTRL", 1 }, 94 { 0xcf, TVP5150_PREFIX "FULL_FIELD_ENA", 1 }, 95 { 0xd0, TVP5150_PREFIX "LINE_MODE", 43 }, 96 { 0xfc, TVP5150_PREFIX "FULL_FIELD_MODE_REG", 1 }, 97 }; 98