1*89ee7f4fSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 2126f1e61SRalph Metzler /* 3126f1e61SRalph Metzler * drxd_firm.h 4126f1e61SRalph Metzler * 5126f1e61SRalph Metzler * Copyright (C) 2006-2007 Micronas 6126f1e61SRalph Metzler */ 7126f1e61SRalph Metzler 8126f1e61SRalph Metzler #ifndef _DRXD_FIRM_H_ 9126f1e61SRalph Metzler #define _DRXD_FIRM_H_ 10126f1e61SRalph Metzler 11bccd2d8aSMauro Carvalho Chehab #include <linux/types.h> 12126f1e61SRalph Metzler #include "drxd_map_firm.h" 13126f1e61SRalph Metzler 14126f1e61SRalph Metzler #define VERSION_MAJOR 1 15126f1e61SRalph Metzler #define VERSION_MINOR 4 16126f1e61SRalph Metzler #define VERSION_PATCH 23 17126f1e61SRalph Metzler 18126f1e61SRalph Metzler #define HI_TR_FUNC_ADDR HI_IF_RAM_USR_BEGIN__A 19126f1e61SRalph Metzler 20126f1e61SRalph Metzler #define DRXD_MAX_RETRIES (1000) 21126f1e61SRalph Metzler #define HI_I2C_DELAY 84 22126f1e61SRalph Metzler #define HI_I2C_BRIDGE_DELAY 750 23126f1e61SRalph Metzler 24126f1e61SRalph Metzler #define EQ_TD_TPS_PWR_UNKNOWN 0x00C0 /* Unknown configurations */ 25126f1e61SRalph Metzler #define EQ_TD_TPS_PWR_QPSK 0x016a 26126f1e61SRalph Metzler #define EQ_TD_TPS_PWR_QAM16_ALPHAN 0x0195 27126f1e61SRalph Metzler #define EQ_TD_TPS_PWR_QAM16_ALPHA1 0x0195 28126f1e61SRalph Metzler #define EQ_TD_TPS_PWR_QAM16_ALPHA2 0x011E 29126f1e61SRalph Metzler #define EQ_TD_TPS_PWR_QAM16_ALPHA4 0x01CE 30126f1e61SRalph Metzler #define EQ_TD_TPS_PWR_QAM64_ALPHAN 0x019F 31126f1e61SRalph Metzler #define EQ_TD_TPS_PWR_QAM64_ALPHA1 0x019F 32126f1e61SRalph Metzler #define EQ_TD_TPS_PWR_QAM64_ALPHA2 0x00F8 33126f1e61SRalph Metzler #define EQ_TD_TPS_PWR_QAM64_ALPHA4 0x014D 34126f1e61SRalph Metzler 35126f1e61SRalph Metzler #define DRXD_DEF_AG_PWD_CONSUMER 0x000E 36126f1e61SRalph Metzler #define DRXD_DEF_AG_PWD_PRO 0x0000 37126f1e61SRalph Metzler #define DRXD_DEF_AG_AGC_SIO 0x0000 38126f1e61SRalph Metzler 39126f1e61SRalph Metzler #define DRXD_FE_CTRL_MAX 1023 40126f1e61SRalph Metzler 41126f1e61SRalph Metzler #define DRXD_OSCDEV_DO_SCAN (16) 42126f1e61SRalph Metzler 43126f1e61SRalph Metzler #define DRXD_OSCDEV_DONT_SCAN (0) 44126f1e61SRalph Metzler 45126f1e61SRalph Metzler #define DRXD_OSCDEV_STEP (275) 46126f1e61SRalph Metzler 47126f1e61SRalph Metzler #define DRXD_SCAN_TIMEOUT (650) 48126f1e61SRalph Metzler 49126f1e61SRalph Metzler #define DRXD_BANDWIDTH_8MHZ_IN_HZ (0x8B8249L) 50126f1e61SRalph Metzler #define DRXD_BANDWIDTH_7MHZ_IN_HZ (0x7A1200L) 51126f1e61SRalph Metzler #define DRXD_BANDWIDTH_6MHZ_IN_HZ (0x68A1B6L) 52126f1e61SRalph Metzler 53126f1e61SRalph Metzler #define IRLEN_COARSE_8K (10) 54126f1e61SRalph Metzler #define IRLEN_FINE_8K (10) 55126f1e61SRalph Metzler #define IRLEN_COARSE_2K (7) 56126f1e61SRalph Metzler #define IRLEN_FINE_2K (9) 57126f1e61SRalph Metzler #define DIFF_INVALID (511) 58126f1e61SRalph Metzler #define DIFF_TARGET (4) 59126f1e61SRalph Metzler #define DIFF_MARGIN (1) 60126f1e61SRalph Metzler 61bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitAtomicRead[]; 62bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_HiI2cPatch_1[]; 63bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_HiI2cPatch_3[]; 64126f1e61SRalph Metzler 65bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitSC[]; 66126f1e61SRalph Metzler 67bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_ResetCEFR[]; 68bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitFEA2_1[]; 69bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitFEA2_2[]; 70bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitCPA2[]; 71bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitCEA2[]; 72bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitEQA2[]; 73bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitECA2[]; 74bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_ResetECA2[]; 75bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_ResetECRAM[]; 76126f1e61SRalph Metzler 77bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_A2_microcode[]; 78bccd2d8aSMauro Carvalho Chehab extern u32 DRXD_A2_microcode_length; 79126f1e61SRalph Metzler 80bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitFEB1_1[]; 81bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitFEB1_2[]; 82bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitCPB1[]; 83bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitCEB1[]; 84bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitEQB1[]; 85bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitECB1[]; 86126f1e61SRalph Metzler 87bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitDiversityFront[]; 88bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_InitDiversityEnd[]; 89bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_DisableDiversity[]; 90bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_StartDiversityFront[]; 91bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_StartDiversityEnd[]; 92126f1e61SRalph Metzler 93bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_DiversityDelay8MHZ[]; 94bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_DiversityDelay6MHZ[]; 95126f1e61SRalph Metzler 96bccd2d8aSMauro Carvalho Chehab extern u8 DRXD_B1_microcode[]; 97bccd2d8aSMauro Carvalho Chehab extern u32 DRXD_B1_microcode_length; 98126f1e61SRalph Metzler 99126f1e61SRalph Metzler #endif 100