blob: 441bb36d342a491f9e0d65f547bfd0402b9db61c [file] [log] [blame]
yu.dongc33b3072024-08-21 23:14:49 -07001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2005
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35
36/*****************************************************************************
37 *
38 * Filename:
39 * ---------
40 * fcs.h
41 *
42 * Project:
43 * --------
44 * Maui_Software
45 *
46 * Description:
47 * ------------
48 * This file is for FCS driver.
49 *
50 * Author:
51 * -------
52 * -------
53 *
54 *============================================================================
55 * HISTORY
56 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
57 *------------------------------------------------------------------------------
58 * removed!
59 * removed!
60 * removed!
61 *
62 * removed!
63 * removed!
64 * removed!
65 *
66 * removed!
67 * removed!
68 * removed!
69 *
70 * removed!
71 * removed!
72 *
73 * removed!
74 * removed!
75 * removed!
76 *
77 * removed!
78 * removed!
79 *
80 * removed!
81 * removed!
82 * removed!
83 *
84 * removed!
85 * removed!
86 * removed!
87 *
88 * removed!
89 * removed!
90 * removed!
91 * removed!
92 * removed!
93 * removed!
94 * removed!
95 * removed!
96 * removed!
97 * removed!
98 * removed!
99 * removed!
100 * removed!
101 *------------------------------------------------------------------------------
102 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
103 *============================================================================
104 ****************************************************************************/
105
106#ifndef L1_FCS_H
107#define L1_FCS_H
108
109#include "reg_base.h"
110#include "kal_general_types.h"
111
112//#define FCS_CG_SET2 ((volatile kal_uint32*)(BASE_MADDR_CLK_CTRL+0x0004))/* FCS gate clock */
113//#define FCS_CG_CLR2 ((volatile kal_uint32*)(BASE_MADDR_CLK_CTRL+0x0008))/* FCS ungate clock */
114
115#define FCS_DATA ((volatile kal_uint16*)(FCS2G_base+0x0000))/* FCS data */
116#define FCS_DLEN ((volatile kal_uint16*)(FCS2G_base+0x0004))/* FCS data length */
117#define FCS_PAR1 ((volatile kal_uint16*)(FCS2G_base+0x0008))/* FCS parity MSB part */
118#define FCS_PAR2 ((volatile kal_uint16*)(FCS2G_base+0x000C))/* FCS parity LSB part */
119#define FCS_STAT ((volatile kal_uint16*)(FCS2G_base+0x0010))/* FCS codec status register */
120#define FCS_RST ((volatile kal_uint16*)(FCS2G_base+0x0014))/* FCS codec reset register */
121
122extern void fcs_feed_stream(kal_uint8* data,kal_uint16 len,kal_uint8 BIT_ORDER,kal_uint8 PAR_ORDER,kal_uint8 EN_DEC);
123extern void get_fcs_parity(kal_uint8* parity);
124extern kal_bool get_fcs_result(void);
125
126#define FCS_CLK_OFF() PDN_SET(PDN_FCS_SLV_DBCLK)//HW_WRITE(FCS_CG_CLR2,(1 << 15))
127#define FCS_CLK_ON() PDN_CLR(PDN_FCS_SLV_DBCLK)//HW_WRITE(FCS_CG_SET2,(1 << 15))
128
129#endif
130