xref: /openbmc/linux/drivers/media/dvb-frontends/drxd_firm.h (revision 9a0bf528b4d66b605f02634236da085595c22101)
1*9a0bf528SMauro Carvalho Chehab /*
2*9a0bf528SMauro Carvalho Chehab  * drxd_firm.h
3*9a0bf528SMauro Carvalho Chehab  *
4*9a0bf528SMauro Carvalho Chehab  * Copyright (C) 2006-2007 Micronas
5*9a0bf528SMauro Carvalho Chehab  *
6*9a0bf528SMauro Carvalho Chehab  * This program is free software; you can redistribute it and/or
7*9a0bf528SMauro Carvalho Chehab  * modify it under the terms of the GNU General Public License
8*9a0bf528SMauro Carvalho Chehab  * version 2 only, as published by the Free Software Foundation.
9*9a0bf528SMauro Carvalho Chehab  *
10*9a0bf528SMauro Carvalho Chehab  *
11*9a0bf528SMauro Carvalho Chehab  * This program is distributed in the hope that it will be useful,
12*9a0bf528SMauro Carvalho Chehab  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13*9a0bf528SMauro Carvalho Chehab  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14*9a0bf528SMauro Carvalho Chehab  * GNU General Public License for more details.
15*9a0bf528SMauro Carvalho Chehab  *
16*9a0bf528SMauro Carvalho Chehab  *
17*9a0bf528SMauro Carvalho Chehab  * You should have received a copy of the GNU General Public License
18*9a0bf528SMauro Carvalho Chehab  * along with this program; if not, write to the Free Software
19*9a0bf528SMauro Carvalho Chehab  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20*9a0bf528SMauro Carvalho Chehab  * 02110-1301, USA
21*9a0bf528SMauro Carvalho Chehab  * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
22*9a0bf528SMauro Carvalho Chehab  */
23*9a0bf528SMauro Carvalho Chehab 
24*9a0bf528SMauro Carvalho Chehab #ifndef _DRXD_FIRM_H_
25*9a0bf528SMauro Carvalho Chehab #define _DRXD_FIRM_H_
26*9a0bf528SMauro Carvalho Chehab 
27*9a0bf528SMauro Carvalho Chehab #include <linux/types.h>
28*9a0bf528SMauro Carvalho Chehab #include "drxd_map_firm.h"
29*9a0bf528SMauro Carvalho Chehab 
30*9a0bf528SMauro Carvalho Chehab #define VERSION_MAJOR 1
31*9a0bf528SMauro Carvalho Chehab #define VERSION_MINOR 4
32*9a0bf528SMauro Carvalho Chehab #define VERSION_PATCH 23
33*9a0bf528SMauro Carvalho Chehab 
34*9a0bf528SMauro Carvalho Chehab #define HI_TR_FUNC_ADDR HI_IF_RAM_USR_BEGIN__A
35*9a0bf528SMauro Carvalho Chehab 
36*9a0bf528SMauro Carvalho Chehab #define DRXD_MAX_RETRIES (1000)
37*9a0bf528SMauro Carvalho Chehab #define HI_I2C_DELAY     84
38*9a0bf528SMauro Carvalho Chehab #define HI_I2C_BRIDGE_DELAY   750
39*9a0bf528SMauro Carvalho Chehab 
40*9a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_UNKNOWN          0x00C0	/* Unknown configurations */
41*9a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QPSK             0x016a
42*9a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM16_ALPHAN     0x0195
43*9a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM16_ALPHA1     0x0195
44*9a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM16_ALPHA2     0x011E
45*9a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM16_ALPHA4     0x01CE
46*9a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM64_ALPHAN     0x019F
47*9a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM64_ALPHA1     0x019F
48*9a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM64_ALPHA2     0x00F8
49*9a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM64_ALPHA4     0x014D
50*9a0bf528SMauro Carvalho Chehab 
51*9a0bf528SMauro Carvalho Chehab #define DRXD_DEF_AG_PWD_CONSUMER 0x000E
52*9a0bf528SMauro Carvalho Chehab #define DRXD_DEF_AG_PWD_PRO 0x0000
53*9a0bf528SMauro Carvalho Chehab #define DRXD_DEF_AG_AGC_SIO 0x0000
54*9a0bf528SMauro Carvalho Chehab 
55*9a0bf528SMauro Carvalho Chehab #define DRXD_FE_CTRL_MAX 1023
56*9a0bf528SMauro Carvalho Chehab 
57*9a0bf528SMauro Carvalho Chehab #define DRXD_OSCDEV_DO_SCAN  (16)
58*9a0bf528SMauro Carvalho Chehab 
59*9a0bf528SMauro Carvalho Chehab #define DRXD_OSCDEV_DONT_SCAN  (0)
60*9a0bf528SMauro Carvalho Chehab 
61*9a0bf528SMauro Carvalho Chehab #define DRXD_OSCDEV_STEP  (275)
62*9a0bf528SMauro Carvalho Chehab 
63*9a0bf528SMauro Carvalho Chehab #define DRXD_SCAN_TIMEOUT    (650)
64*9a0bf528SMauro Carvalho Chehab 
65*9a0bf528SMauro Carvalho Chehab #define DRXD_BANDWIDTH_8MHZ_IN_HZ  (0x8B8249L)
66*9a0bf528SMauro Carvalho Chehab #define DRXD_BANDWIDTH_7MHZ_IN_HZ  (0x7A1200L)
67*9a0bf528SMauro Carvalho Chehab #define DRXD_BANDWIDTH_6MHZ_IN_HZ  (0x68A1B6L)
68*9a0bf528SMauro Carvalho Chehab 
69*9a0bf528SMauro Carvalho Chehab #define IRLEN_COARSE_8K       (10)
70*9a0bf528SMauro Carvalho Chehab #define IRLEN_FINE_8K         (10)
71*9a0bf528SMauro Carvalho Chehab #define IRLEN_COARSE_2K       (7)
72*9a0bf528SMauro Carvalho Chehab #define IRLEN_FINE_2K         (9)
73*9a0bf528SMauro Carvalho Chehab #define DIFF_INVALID          (511)
74*9a0bf528SMauro Carvalho Chehab #define DIFF_TARGET           (4)
75*9a0bf528SMauro Carvalho Chehab #define DIFF_MARGIN           (1)
76*9a0bf528SMauro Carvalho Chehab 
77*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitAtomicRead[];
78*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_HiI2cPatch_1[];
79*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_HiI2cPatch_3[];
80*9a0bf528SMauro Carvalho Chehab 
81*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitSC[];
82*9a0bf528SMauro Carvalho Chehab 
83*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_ResetCEFR[];
84*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitFEA2_1[];
85*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitFEA2_2[];
86*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitCPA2[];
87*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitCEA2[];
88*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitEQA2[];
89*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitECA2[];
90*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_ResetECA2[];
91*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_ResetECRAM[];
92*9a0bf528SMauro Carvalho Chehab 
93*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_A2_microcode[];
94*9a0bf528SMauro Carvalho Chehab extern u32 DRXD_A2_microcode_length;
95*9a0bf528SMauro Carvalho Chehab 
96*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitFEB1_1[];
97*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitFEB1_2[];
98*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitCPB1[];
99*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitCEB1[];
100*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitEQB1[];
101*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitECB1[];
102*9a0bf528SMauro Carvalho Chehab 
103*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitDiversityFront[];
104*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitDiversityEnd[];
105*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_DisableDiversity[];
106*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_StartDiversityFront[];
107*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_StartDiversityEnd[];
108*9a0bf528SMauro Carvalho Chehab 
109*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_DiversityDelay8MHZ[];
110*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_DiversityDelay6MHZ[];
111*9a0bf528SMauro Carvalho Chehab 
112*9a0bf528SMauro Carvalho Chehab extern u8 DRXD_B1_microcode[];
113*9a0bf528SMauro Carvalho Chehab extern u32 DRXD_B1_microcode_length;
114*9a0bf528SMauro Carvalho Chehab 
115*9a0bf528SMauro Carvalho Chehab #endif
116