source: svn/trunk/newcon3bcm2_21bu/magnum/portinginterface/rfm/7552/brfm_priv.h

Last change on this file was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 5.9 KB
Line 
1/***************************************************************************
2 *     Copyright (c) 2005-2012, Broadcom Corporation
3 *     All Rights Reserved
4 *     Confidential Property of Broadcom Corporation
5 *
6 *  THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE
7 *  AGREEMENT  BETWEEN THE USER AND BROADCOM.  YOU HAVE NO RIGHT TO USE OR
8 *  EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
9 *
10 * $brcm_Workfile: brfm_priv.h $
11 * $brcm_Revision: Hydra_Software_Devel/20 $
12 * $brcm_Date: 3/21/12 11:32a $
13 *
14 * Module Description:
15 *
16 * Revision History:
17 *
18 * $brcm_Log: /magnum/portinginterface/rfm/7038/brfm_priv.h $
19 *
20 * Hydra_Software_Devel/20   3/21/12 11:32a jtna
21 * SW7360-10: use BRFM_PLL_MISC=0x4 for 7360
22 *
23 * Hydra_Software_Devel/19   1/23/12 5:12p jtna
24 * SW7360-10: add 7360 rfm
25 *
26 * Hydra_Software_Devel/18   9/27/11 11:54a jtna
27 * SW7429-22: add 7429 support
28 *
29 * Hydra_Software_Devel/17   7/6/11 11:06a jtna
30 * SW7552-26: fix macro typo
31 *
32 * Hydra_Software_Devel/16   5/19/11 3:35p jtna
33 * SW7552-26: add 7552 compile support
34 *
35 * Hydra_Software_Devel/15   1/18/11 6:19p jtna
36 * SW7550-660: make brfm_scripts.c more stand-alone
37 *
38 * Hydra_Software_Devel/14   1/17/11 3:09p jtna
39 * SW7550-660: refactored RFM conditional compile definitions
40 *
41 * Hydra_Software_Devel/13   11/2/10 2:41p jtna
42 * SW7552-6: add 7552 RFM support
43 *
44 * Hydra_Software_Devel/12   5/6/10 3:49p jtna
45 * SW7420-730: added SW workaround for noise spur
46 *
47 * Hydra_Software_Devel/11   7/10/09 3:23p jtna
48 * PR56665: handle platform-dependent PM registers better
49 *
50 * Hydra_Software_Devel/10   7/10/09 10:21a jtna
51 * PR56665: defines for 7420 PM registers
52 *
53 * Hydra_Software_Devel/9   7/8/09 5:50p jtna
54 * PR56665: refactor RFM power management
55 *
56 * Hydra_Software_Devel/8   2/6/09 10:14a jtna
57 * PR45633: 7420 support
58 *
59 ***************************************************************************/
60
61#ifndef BRFM_PRIV_H__
62#define BRFM_PRIV_H__
63
64#ifdef __cplusplus
65extern "C" {
66#endif
67
68/* Platform definitions */
69
70/* RFM core major revision. Taken from RFM_SYSCLK_REVID.MAJOR */
71#if (BCHP_CHIP==7552 || BCHP_CHIP==7429 || BCHP_CHIP==7360)
72#define BRFM_REVID 51
73#elif (BCHP_CHIP==7420)
74#define BRFM_REVID 50
75#elif ((BCHP_CHIP==7400 && BCHP_VER>=BCHP_VER_B0) || BCHP_CHIP==7405 || BCHP_CHIP==7325 || BCHP_CHIP==7335 || \
76        BCHP_CHIP==7336)
77#define BRFM_REVID 40
78#else
79#define BRFM_REVID 30
80#endif
81
82#if (BCHP_CHIP==7420)
83#define BRFM_SPUR_WORKAROUND 1 /* SW workaround for noise spur (SW7420-730) */
84#endif
85
86#if ((BCHP_CHIP==7400 && BCHP_VER>=BCHP_VER_D0) || BCHP_CHIP==7420)
87#define BRFM_DUAL_DAC 1    /* dual DAC output */
88#endif
89
90#if (BRFM_REVID==51 && (BCHP_CHIP==7429))
91/* the only difference between 7552 and 7429 is that 7429 hands off HiFiDAC and VEC data on the negative edge of 108M clock
92   RFM_SYSCLK_MISC.VIRF_EDGE and RFM_SYSCLK_MISC.HIRF_EDGE must be 1. i.e. PLL_MISC=0x5 */
93#define BRFM_PLL_MULT  (0x002E)
94#define BRFM_PLL_MISC  (0x00000005)
95#elif (BRFM_REVID>=50 || (BCHP_CHIP==7400 && BCHP_VER>=BCHP_VER_B0) /* 7400B0 and up is an exception*/) /* includes 7552 and 7360 */
96#define BRFM_PLL_MULT  (0x002E)
97#define BRFM_PLL_MISC  (0x00000004)
98#elif (BRFM_REVID==40)
99#define BRFM_PLL_MULT  (0x002E)
100#define BRFM_PLL_MISC  (0x00000005)
101#else
102#define BRFM_PLL_MULT  (0x502E)
103#define BRFM_PLL_MISC  (0x0000000C)
104#endif
105#define BRFM_PLL_FS    (378.0)
106
107/* Max/Min volumes in dB */
108#if (BRFM_REVID>=50)
109#define BRFM_MAX_VOLUME (12)
110#define BRFM_MIN_VOLUME (-52)
111#else
112#define BRFM_MAX_VOLUME (30)
113#define BRFM_MIN_VOLUME (-34)
114#endif
115#define BRFM_MAX_VOLUME_NICAM (12)
116#define BRFM_MIN_VOLUME_NICAM (-52)
117
118/* this is an outside register that is platform-dependent */
119#if (BCHP_CHIP==7325)
120#define BRFM_P_CLK_PM_CTRL_BCHP    BCHP_CLKGEN_PWRDN_CTRL_1
121#define BRFM_P_CLK_PM_CTRL_MASK    BCHP_CLKGEN_PWRDN_CTRL_1_PWRDN_CLOCK_108_CG_RFM_MASK
122#define BRFM_P_CLK_PM_CTRL_REG     CLKGEN_PWRDN_CTRL_1
123#define BRFM_P_CLK_PM_CTRL_FIELD   PWRDN_CLOCK_108_CG_RFM
124#define BRFM_P_CLK_PM_CTRL_ENABLED 0
125#elif (BCHP_CHIP==7420)
126#define BRFM_P_CLK_PM_CTRL_BCHP    BCHP_CLK_RFM_CLK_PM_CTRL
127#define BRFM_P_CLK_PM_CTRL_MASK    BCHP_CLK_RFM_CLK_PM_CTRL_DIS_RFM_108M_CLK_MASK
128#define BRFM_P_CLK_PM_CTRL_REG     CLK_RFM_CLK_PM_CTRL
129#define BRFM_P_CLK_PM_CTRL_FIELD   DIS_RFM_108M_CLK
130#define BRFM_P_CLK_PM_CTRL_ENABLED 0
131#elif (BRFM_REVID==51)
132    #if (BCHP_CHIP==7552 || BCHP_CHIP==7360)
133#define BRFM_P_CLK_PM_CTRL_BCHP    BCHP_CLKGEN_RFM_TOP_CLOCK_ENABLE
134#define BRFM_P_CLK_PM_CTRL_MASK    BCHP_CLKGEN_RFM_TOP_CLOCK_ENABLE_RFM_108_CLOCK_ENABLE_MASK
135#define BRFM_P_CLK_PM_CTRL_REG     CLKGEN_RFM_TOP_CLOCK_ENABLE
136#define BRFM_P_CLK_PM_CTRL_FIELD   RFM_108_CLOCK_ENABLE
137#define BRFM_P_CLK_PM_CTRL_ENABLED 1 /* if enabled, then 1. other platforms have the opposite meaning */
138    #else /* 7429 */
139#define BRFM_P_CLK_PM_CTRL_BCHP    BCHP_CLKGEN_RFM_TOP_INST_CLOCK_ENABLE
140#define BRFM_P_CLK_PM_CTRL_MASK    BCHP_CLKGEN_RFM_TOP_INST_CLOCK_ENABLE_RFM_108_CLOCK_ENABLE_MASK
141#define BRFM_P_CLK_PM_CTRL_REG     CLKGEN_RFM_TOP_INST_CLOCK_ENABLE
142#define BRFM_P_CLK_PM_CTRL_FIELD   RFM_108_CLOCK_ENABLE
143#define BRFM_P_CLK_PM_CTRL_ENABLED 1 /* if enabled, then 1. other platforms have the opposite meaning */
144    #endif
145#else /* all others */
146#define BRFM_P_CLK_PM_CTRL_BCHP    BCHP_CLK_PM_CTRL
147#define BRFM_P_CLK_PM_CTRL_MASK    BCHP_CLK_PM_CTRL_DIS_RFM_108M_CLK_MASK
148#define BRFM_P_CLK_PM_CTRL_REG     CLK_PM_CTRL
149#define BRFM_P_CLK_PM_CTRL_FIELD   DIS_RFM_108M_CLK
150#define BRFM_P_CLK_PM_CTRL_ENABLED 0
151#endif
152
153/*******************************************************************************
154*
155* Private Module Handles
156*
157*******************************************************************************/
158typedef struct BRFM_P_ModulationInfo
159{
160    BRFM_ModulationType modType;
161    const uint32_t *setupScrCh[BRFM_OutputChannel_eLast];
162    const uint32_t *setupScrAudioEncoding[BRFM_AudioEncoding_eLast];
163    const uint32_t *setupScrConfig;
164} BRFM_P_ModulationInfo;
165
166#ifdef __cplusplus
167}
168#endif
169
170#endif
171
Note: See TracBrowser for help on using the repository browser.