blob: a48ede1fe771609d737ec9d26ec7bc3c4b1ae040 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
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 * drv_gpt.h
40 *
41 * Project:
42 * --------
43 * TATAKA
44 *
45 * Description:
46 * ------------
47 * Low level GPT driver
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 * ==========================================================================
54 * $Log$
55 *
56 * 05 04 2017 way.chen
57 * [MOLY00246761] [UMOLYA] Replace PDN API with OF API, Request by PDN owner(Devin )
58 * Remove 26M on/off API.
59 *
60 * 08 08 2016 way.chen
61 * [MOLY00185478] [UMOLYA] Check in 93 serial GPT driver
62 * Check in DSP 1us resolution driver(support for multiple user).
63 *
64 * 07 06 2016 way.chen
65 * [MOLY00185478] [UMOLYA] Check in 93 serial GPT driver
66 * Modify PDN operation.
67 *
68 * 06 20 2016 way.chen
69 * [MOLY00185478] [UMOLYA] Check in 93 serial GPT driver
70 * Check in 93 GPT driver.
71 *
72 * 01 06 2016 way.chen
73 * [MOLY00156138] [UMOLY] Patch GPT driver for U4G FPGA
74 * Patch GPT Driver for U4G FPGA, the FPGA Start Version is 20151231_u4g_ltel2_elbrus_vivado_2015.
75 *
76 * 12 10 2013 chin-chieh.hung
77 * [MOLY00049464] [Driver][GPT] Add debug GPT, request by MS Lin
78 * Add Debug GPT APIs
79 ****************************************************************************/
80#ifndef __DRV_GPT_H__
81#define __DRV_GPT_H__
82
83#include "drv_features_gpt.h"
84#include "gpt_reg.h"
85
86#define MDPERI_CKEN_SET (BASE_MADDR_CLK_CTRL + 0x10)
87#define MDPERI_CKEN_CLR (BASE_MADDR_CLK_CTRL + 0x14)
88#define MDPERI_CKEN (BASE_MADDR_CLK_CTRL + 0x18)
89#define MDGPTM_26M_CKEN (1<<15)
90
91
92/*Test Low Power IT Define*/
93//#define GPT_LP_TEST 1
94
95/*****************************************************************************
96 * function declaration *
97 *****************************************************************************/
98void drv_gpt_reset(void);
99void drv_gpt_set_timer(kal_uint32 num, kal_uint32 time, kal_uint32 mode);
100void drv_gpt_start_timer(kal_uint32 num);
101void drv_gpt_stop_timer(kal_uint32 num);
102kal_uint32 drv_gpt_get_version(void);
103kal_uint32 drv_gpt_get_data(kal_uint32 num);
104void drv_gpt_set_data(kal_uint32 num, kal_uint32 time);
105
106
107#endif /* end of __DRV_GPT_H__ */