elly.chiang 8709c939d8 mediatek: mt8192: add ptp3 driver
enable PTP3 for protecting sysPi

Signed-off-by: elly.chiang <elly.chiang@mediatek.com>
Change-Id: Ic3a13c8314f829dca8547861b98639d1d9444eb2
2020-12-07 23:31:05 +00:00

49 lines
1.2 KiB
C

/*
* Copyright (c) 2020, MediaTek Inc. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef MTK_PTP3_H
#define MTK_PTP3_H
#include <lib/mmio.h>
#include <lib/utils_def.h>
/************************************************
* BIT Operation and REG r/w
************************************************/
#define ptp3_read(addr) mmio_read_32((uintptr_t)addr)
#define ptp3_write(addr, val) mmio_write_32((uintptr_t)addr, val)
/************************************************
* CPU info
************************************************/
#define NR_PTP3_CFG1_CPU U(8)
#define PTP3_CFG1_CPU_START_ID U(0)
#define PTP3_CFG1_MASK 0x00100000
#define NR_PTP3_CFG2_CPU U(4)
#define PTP3_CFG2_CPU_START_ID U(4)
#define NR_PTP3_CFG3_CPU U(4)
#define PTP3_CFG3_CPU_START_ID U(4)
/************************************************
* config enum
************************************************/
enum PTP3_CFG {
PTP3_CFG_ADDR,
PTP3_CFG_VALUE,
NR_PTP3_CFG,
};
/************************************
* prototype
************************************/
/* init trigger for ptp3 feature */
extern void ptp3_init(unsigned int core);
extern void ptp3_deinit(unsigned int core);
#endif /* MTK_PTP3_H */