• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/staging/msm/
1/* Copyright (c) 2008-2009, Code Aurora Forum. All rights reserved.
2 *
3 * Redistribution and use in source and binary forms, with or without
4 * modification, are permitted provided that the following conditions are met:
5 *     * Redistributions of source code must retain the above copyright
6 *       notice, this list of conditions and the following disclaimer.
7 *     * Redistributions in binary form must reproduce the above copyright
8 *       notice, this list of conditions and the following disclaimer in the
9 *       documentation and/or other materials provided with the distribution.
10 *     * Neither the name of Code Aurora nor
11 *       the names of its contributors may be used to endorse or promote
12 *       products derived from this software without specific prior written
13 *       permission.
14 *
15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 * NON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
19 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
22 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
23 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
25 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 *
27 */
28
29#ifndef TVENC_H
30#define TVENC_H
31
32#include <linux/kernel.h>
33#include <linux/sched.h>
34#include <linux/time.h>
35#include <linux/init.h>
36#include <linux/interrupt.h>
37#include <linux/fb.h>
38
39#include <mach/hardware.h>
40#include <linux/io.h>
41
42#include <asm/system.h>
43#include <asm/mach-types.h>
44
45#include "msm_fb_panel.h"
46
47#define NTSC_M		0 /* North America, Korea */
48#define NTSC_J		1 /* Japan */
49#define PAL_BDGHIN	2 /* Non-argentina PAL-N */
50#define PAL_M		3 /* PAL-M */
51#define PAL_N		4 /* Argentina PAL-N */
52
53/* 3.57954545 Mhz */
54#define TVENC_CTL_TV_MODE_NTSC_M_PAL60  0
55/* 3.57961149 Mhz */
56#define TVENC_CTL_TV_MODE_PAL_M             BIT(0)
57/*non-Argintina = 4.3361875 Mhz */
58#define TVENC_CTL_TV_MODE_PAL_BDGHIN        BIT(1)
59/*Argentina = 3.582055625 Mhz */
60#define TVENC_CTL_TV_MODE_PAL_N             (BIT(1)|BIT(0))
61
62#define TVENC_CTL_ENC_EN                    BIT(2)
63#define TVENC_CTL_CC_EN                     BIT(3)
64#define TVENC_CTL_CGMS_EN                   BIT(4)
65#define TVENC_CTL_MACRO_EN                  BIT(5)
66#define TVENC_CTL_Y_FILTER_W_NOTCH          BIT(6)
67#define TVENC_CTL_Y_FILTER_WO_NOTCH         0
68#define TVENC_CTL_Y_FILTER_EN               BIT(7)
69#define TVENC_CTL_CR_FILTER_EN              BIT(8)
70#define TVENC_CTL_CB_FILTER_EN              BIT(9)
71#define TVENC_CTL_SINX_FILTER_EN            BIT(10)
72#define TVENC_CTL_TEST_PATT_EN              BIT(11)
73#define TVENC_CTL_OUTPUT_INV                BIT(12)
74#define TVENC_CTL_PAL60_MODE                BIT(13)
75#define TVENC_CTL_NTSCJ_MODE                BIT(14)
76#define TVENC_CTL_TPG_CLRBAR                0
77#define TVENC_CTL_TPG_MODRAMP               BIT(15)
78#define TVENC_CTL_TPG_REDCLR                BIT(16)
79#define TVENC_CTL_S_VIDEO_EN                BIT(19)
80
81#ifdef TVENC_C
82void *tvenc_base;
83#else
84extern void *tvenc_base;
85#endif
86
87#define TV_OUT(reg, v)  writel(v, tvenc_base + MSM_##reg)
88
89#define MSM_TV_ENC_CTL			0x00
90#define MSM_TV_LEVEL			0x04
91#define MSM_TV_GAIN			0x08
92#define MSM_TV_OFFSET			0x0c
93#define MSM_TV_CGMS			0x10
94#define MSM_TV_SYNC_1			0x14
95#define MSM_TV_SYNC_2			0x18
96#define MSM_TV_SYNC_3			0x1c
97#define MSM_TV_SYNC_4			0x20
98#define MSM_TV_SYNC_5			0x24
99#define MSM_TV_SYNC_6			0x28
100#define MSM_TV_SYNC_7			0x2c
101#define MSM_TV_BURST_V1			0x30
102#define MSM_TV_BURST_V2			0x34
103#define MSM_TV_BURST_V3			0x38
104#define MSM_TV_BURST_V4			0x3c
105#define MSM_TV_BURST_H			0x40
106#define MSM_TV_SOL_REQ_ODD		0x44
107#define MSM_TV_SOL_REQ_EVEN		0x48
108#define MSM_TV_DAC_CTL			0x4c
109#define MSM_TV_TEST_MUX			0x50
110#define MSM_TV_TEST_MODE		0x54
111#define MSM_TV_TEST_MISR_RESET		0x58
112#define MSM_TV_TEST_EXPORT_MISR		0x5c
113#define MSM_TV_TEST_MISR_CURR_VAL	0x60
114#define MSM_TV_TEST_SOF_CFG		0x64
115#define MSM_TV_DAC_INTF			0x100
116
117#endif /* TVENC_H */
118