1 /*
2  * Copyright (c) 2020, MediaTek Inc. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef MTK_PTP3_H
8 #define MTK_PTP3_H
9 
10 #include <lib/mmio.h>
11 #include <lib/utils_def.h>
12 
13 /************************************************
14  * BIT Operation and REG r/w
15  ************************************************/
16 #define ptp3_read(addr)		mmio_read_32((uintptr_t)addr)
17 #define ptp3_write(addr, val)	mmio_write_32((uintptr_t)addr, val)
18 
19 /************************************************
20  * CPU info
21  ************************************************/
22 #define NR_PTP3_CFG1_CPU	U(8)
23 #define PTP3_CFG1_CPU_START_ID	U(0)
24 #define PTP3_CFG1_MASK		0x00100000
25 
26 #define NR_PTP3_CFG2_CPU	U(4)
27 #define PTP3_CFG2_CPU_START_ID	U(4)
28 
29 #define NR_PTP3_CFG3_CPU	U(4)
30 #define PTP3_CFG3_CPU_START_ID	U(4)
31 
32 /************************************************
33  * config enum
34  ************************************************/
35 enum PTP3_CFG {
36 	PTP3_CFG_ADDR,
37 	PTP3_CFG_VALUE,
38 	NR_PTP3_CFG,
39 };
40 
41 /************************************
42  * prototype
43  ************************************/
44 /* init trigger for ptp3 feature */
45 extern void ptp3_init(unsigned int core);
46 extern void ptp3_deinit(unsigned int core);
47 
48 #endif /* MTK_PTP3_H */
49