blob: 338f1ba02dc4e355d652aef2a09a91578cb3de4e [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) 2012
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 * Filename:
38 * ---------
39 * pcie.h
40 *
41 * Project:
42 * --------
43 * VMOLY
44 *
45 * Description:
46 * ------------
47 * PCIE device driver
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 * ==========================================================================
54 * $Log$
55 *
56 * 11 11 2020 cindy.tu
57 * [MOLY00520457] [PCIE][Colgin] PCIE driver
58 *
59 * Sync to MD700.
60 *
61 * 08 19 2020 cody.lee
62 * [MOLY00557699] [Colgin] MTCMOS CTRL API - bus protection fix
63 * + SRAM chain
64 *
65 * 08 04 2020 cindy.tu
66 * [MOLY00520457] [PCIE][Colgin] PCIE driver
67 *
68 * Merge PCIE driver to T700 branch
69 *
70 * 07 13 2020 cody.lee
71 * [MOLY00545672] [Colgin] PCIE MTCMOS CTRL API
72 *
73 * 07 06 2020 cindy.tu
74 * [MOLY00520457] [PCIE][Colgin] PCIE driver
75 *
76 * Sync PCIE to MT6880 MP.
77 *
78 * 06 01 2020 cindy.tu
79 * [MOLY00520457] [PCIE][Colgin] PCIE driver
80 *
81 * Sync pcie driver and fix build error
82 *
83 *
84 ****************************************************************************/
85
86#ifndef __PCIE_H__
87#define __PCIE_H__
88
89//PCIE0
90#define BUS_PROT4_PCIE0 ((0x1<< 0)|(0x1<<12))/*AXI2S AHB*/
91#define BUS_PROT3_PCIE0 ((0x1<<26)|(0x1<<30))/*AXI0S AXI1S*/
92#define BUS_PROT0_PCIE0 (0x1<<25) /*M0*/
93
94void toprgu_ctrl_mac(kal_bool enable);
95void pcie_power_off(void);
96void pcie_mac_mtcmos_ctrl(kal_bool);
97void pcie_phy_mtcmos_ctrl(kal_bool);
98void spm_mtcmos_on(kal_uint32 , int);
99void spm_mtcmos_off(kal_uint32, int);
100void spm_mtcmos_sram_chain_on(kal_uint32);
101void spm_mtcmos_sram_chain_off(kal_uint32);
102void set_protect_pextp_d_2lx1(void);
103void clr_protect_pextp_d_2lx1(void);
104void set_prot0(unsigned int);
105void clr_prot0(unsigned int);
106void set_prot1(unsigned int);
107void clr_prot1(unsigned int);
108void set_prot2(unsigned int);
109void clr_prot2(unsigned int);
110void set_prot3(unsigned int);
111void clr_prot3(unsigned int);
112void set_prot4(unsigned int);
113void clr_prot4(unsigned int);
114void set_prot6(unsigned int);
115void clr_prot6(unsigned int);
116
117#endif