19a0bf528SMauro Carvalho Chehab /*
29a0bf528SMauro Carvalho Chehab  * drxd_firm.h
39a0bf528SMauro Carvalho Chehab  *
49a0bf528SMauro Carvalho Chehab  * Copyright (C) 2006-2007 Micronas
59a0bf528SMauro Carvalho Chehab  *
69a0bf528SMauro Carvalho Chehab  * This program is free software; you can redistribute it and/or
79a0bf528SMauro Carvalho Chehab  * modify it under the terms of the GNU General Public License
89a0bf528SMauro Carvalho Chehab  * version 2 only, as published by the Free Software Foundation.
99a0bf528SMauro Carvalho Chehab  *
109a0bf528SMauro Carvalho Chehab  *
119a0bf528SMauro Carvalho Chehab  * This program is distributed in the hope that it will be useful,
129a0bf528SMauro Carvalho Chehab  * but WITHOUT ANY WARRANTY; without even the implied warranty of
139a0bf528SMauro Carvalho Chehab  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
149a0bf528SMauro Carvalho Chehab  * GNU General Public License for more details.
159a0bf528SMauro Carvalho Chehab  *
169a0bf528SMauro Carvalho Chehab  *
179a0bf528SMauro Carvalho Chehab  * You should have received a copy of the GNU General Public License
189a0bf528SMauro Carvalho Chehab  * along with this program; if not, write to the Free Software
199a0bf528SMauro Carvalho Chehab  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
209a0bf528SMauro Carvalho Chehab  * 02110-1301, USA
219a0bf528SMauro Carvalho Chehab  * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
229a0bf528SMauro Carvalho Chehab  */
239a0bf528SMauro Carvalho Chehab 
249a0bf528SMauro Carvalho Chehab #ifndef _DRXD_FIRM_H_
259a0bf528SMauro Carvalho Chehab #define _DRXD_FIRM_H_
269a0bf528SMauro Carvalho Chehab 
279a0bf528SMauro Carvalho Chehab #include <linux/types.h>
289a0bf528SMauro Carvalho Chehab #include "drxd_map_firm.h"
299a0bf528SMauro Carvalho Chehab 
309a0bf528SMauro Carvalho Chehab #define VERSION_MAJOR 1
319a0bf528SMauro Carvalho Chehab #define VERSION_MINOR 4
329a0bf528SMauro Carvalho Chehab #define VERSION_PATCH 23
339a0bf528SMauro Carvalho Chehab 
349a0bf528SMauro Carvalho Chehab #define HI_TR_FUNC_ADDR HI_IF_RAM_USR_BEGIN__A
359a0bf528SMauro Carvalho Chehab 
369a0bf528SMauro Carvalho Chehab #define DRXD_MAX_RETRIES (1000)
379a0bf528SMauro Carvalho Chehab #define HI_I2C_DELAY     84
389a0bf528SMauro Carvalho Chehab #define HI_I2C_BRIDGE_DELAY   750
399a0bf528SMauro Carvalho Chehab 
409a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_UNKNOWN          0x00C0	/* Unknown configurations */
419a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QPSK             0x016a
429a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM16_ALPHAN     0x0195
439a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM16_ALPHA1     0x0195
449a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM16_ALPHA2     0x011E
459a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM16_ALPHA4     0x01CE
469a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM64_ALPHAN     0x019F
479a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM64_ALPHA1     0x019F
489a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM64_ALPHA2     0x00F8
499a0bf528SMauro Carvalho Chehab #define EQ_TD_TPS_PWR_QAM64_ALPHA4     0x014D
509a0bf528SMauro Carvalho Chehab 
519a0bf528SMauro Carvalho Chehab #define DRXD_DEF_AG_PWD_CONSUMER 0x000E
529a0bf528SMauro Carvalho Chehab #define DRXD_DEF_AG_PWD_PRO 0x0000
539a0bf528SMauro Carvalho Chehab #define DRXD_DEF_AG_AGC_SIO 0x0000
549a0bf528SMauro Carvalho Chehab 
559a0bf528SMauro Carvalho Chehab #define DRXD_FE_CTRL_MAX 1023
569a0bf528SMauro Carvalho Chehab 
579a0bf528SMauro Carvalho Chehab #define DRXD_OSCDEV_DO_SCAN  (16)
589a0bf528SMauro Carvalho Chehab 
599a0bf528SMauro Carvalho Chehab #define DRXD_OSCDEV_DONT_SCAN  (0)
609a0bf528SMauro Carvalho Chehab 
619a0bf528SMauro Carvalho Chehab #define DRXD_OSCDEV_STEP  (275)
629a0bf528SMauro Carvalho Chehab 
639a0bf528SMauro Carvalho Chehab #define DRXD_SCAN_TIMEOUT    (650)
649a0bf528SMauro Carvalho Chehab 
659a0bf528SMauro Carvalho Chehab #define DRXD_BANDWIDTH_8MHZ_IN_HZ  (0x8B8249L)
669a0bf528SMauro Carvalho Chehab #define DRXD_BANDWIDTH_7MHZ_IN_HZ  (0x7A1200L)
679a0bf528SMauro Carvalho Chehab #define DRXD_BANDWIDTH_6MHZ_IN_HZ  (0x68A1B6L)
689a0bf528SMauro Carvalho Chehab 
699a0bf528SMauro Carvalho Chehab #define IRLEN_COARSE_8K       (10)
709a0bf528SMauro Carvalho Chehab #define IRLEN_FINE_8K         (10)
719a0bf528SMauro Carvalho Chehab #define IRLEN_COARSE_2K       (7)
729a0bf528SMauro Carvalho Chehab #define IRLEN_FINE_2K         (9)
739a0bf528SMauro Carvalho Chehab #define DIFF_INVALID          (511)
749a0bf528SMauro Carvalho Chehab #define DIFF_TARGET           (4)
759a0bf528SMauro Carvalho Chehab #define DIFF_MARGIN           (1)
769a0bf528SMauro Carvalho Chehab 
779a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitAtomicRead[];
789a0bf528SMauro Carvalho Chehab extern u8 DRXD_HiI2cPatch_1[];
799a0bf528SMauro Carvalho Chehab extern u8 DRXD_HiI2cPatch_3[];
809a0bf528SMauro Carvalho Chehab 
819a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitSC[];
829a0bf528SMauro Carvalho Chehab 
839a0bf528SMauro Carvalho Chehab extern u8 DRXD_ResetCEFR[];
849a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitFEA2_1[];
859a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitFEA2_2[];
869a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitCPA2[];
879a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitCEA2[];
889a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitEQA2[];
899a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitECA2[];
909a0bf528SMauro Carvalho Chehab extern u8 DRXD_ResetECA2[];
919a0bf528SMauro Carvalho Chehab extern u8 DRXD_ResetECRAM[];
929a0bf528SMauro Carvalho Chehab 
939a0bf528SMauro Carvalho Chehab extern u8 DRXD_A2_microcode[];
949a0bf528SMauro Carvalho Chehab extern u32 DRXD_A2_microcode_length;
959a0bf528SMauro Carvalho Chehab 
969a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitFEB1_1[];
979a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitFEB1_2[];
989a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitCPB1[];
999a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitCEB1[];
1009a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitEQB1[];
1019a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitECB1[];
1029a0bf528SMauro Carvalho Chehab 
1039a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitDiversityFront[];
1049a0bf528SMauro Carvalho Chehab extern u8 DRXD_InitDiversityEnd[];
1059a0bf528SMauro Carvalho Chehab extern u8 DRXD_DisableDiversity[];
1069a0bf528SMauro Carvalho Chehab extern u8 DRXD_StartDiversityFront[];
1079a0bf528SMauro Carvalho Chehab extern u8 DRXD_StartDiversityEnd[];
1089a0bf528SMauro Carvalho Chehab 
1099a0bf528SMauro Carvalho Chehab extern u8 DRXD_DiversityDelay8MHZ[];
1109a0bf528SMauro Carvalho Chehab extern u8 DRXD_DiversityDelay6MHZ[];
1119a0bf528SMauro Carvalho Chehab 
1129a0bf528SMauro Carvalho Chehab extern u8 DRXD_B1_microcode[];
1139a0bf528SMauro Carvalho Chehab extern u32 DRXD_B1_microcode_length;
1149a0bf528SMauro Carvalho Chehab 
1159a0bf528SMauro Carvalho Chehab #endif
116