76 lines
2.5 KiB
C
76 lines
2.5 KiB
C
|
/****************************************************************************
|
||
|
|
||
|
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
|
||
|
|
||
|
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
|
||
|
be copied by any method or incorporated into another program without
|
||
|
the express written consent of Aerospace C.Power. This Information or any portion
|
||
|
thereof remains the property of Aerospace C.Power. The Information contained herein
|
||
|
is believed to be accurate and Aerospace C.Power assumes no responsibility or
|
||
|
liability for its use in any way and conveys no license or title under
|
||
|
any patent or copyright and makes no representation or warranty that this
|
||
|
Information is free from patent or copyright infringement.
|
||
|
|
||
|
****************************************************************************/
|
||
|
#ifndef _MAC_ZC_HW_H_
|
||
|
#define _MAC_ZC_HW_H_
|
||
|
|
||
|
#include "os_types.h"
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
//TODO: need move some code to mac_zc_hw_cmn.h/c
|
||
|
/*
|
||
|
* mac zc system connect relationship.
|
||
|
* board_hw -> GPIO -> signal -> detect -> cap -> zc_gen_module
|
||
|
* For example:
|
||
|
* board_hw(Phase_A) -> GPIO47 -> sig48 -> detect0 -> cap0 -> zc_gen_module
|
||
|
* board_hw(Phase_B) -> GPIO48 -> sig49 -> detect1 -> cap1
|
||
|
* board_hw(Phase_C) -> GPIO45 -> sig50 -> detect2 -> cap2
|
||
|
* in the chip, there is only one gen module.
|
||
|
*/
|
||
|
|
||
|
/* mac zc hw signal id module define */
|
||
|
#define MAC_ZC_HW_SIG0_ID 48
|
||
|
#define MAC_ZC_HW_SIG1_ID 49
|
||
|
#define MAC_ZC_HW_SIG2_ID 50
|
||
|
|
||
|
/*
|
||
|
* @brief mac zc hw logic select
|
||
|
* @param chip_hw_logic_id: hw logic id
|
||
|
* @retval: none
|
||
|
*/
|
||
|
void mac_zc_hw_logic_sel(uint8_t chip_hw_logic_id);
|
||
|
|
||
|
/*
|
||
|
* @brief hw capx trigger reset
|
||
|
* @param signal_id: signal id
|
||
|
* @param cap_edge: hw cap edge
|
||
|
* @retval: none
|
||
|
*/
|
||
|
void mac_zc_hw_capx_reset_trig(uint8_t signal_id, uint8_t cap_edge);
|
||
|
|
||
|
/*
|
||
|
* @brief get zc hw cap data
|
||
|
* @param buf: where to buffer the data
|
||
|
* @param cap_id: which cap's fifo to get
|
||
|
* @param buf_sz: buffer size
|
||
|
* @retval: hw cap data count
|
||
|
*/
|
||
|
uint32_t mac_zc_hw_get_cap_data(uint32_t *buf, uint8_t cap_id, uint32_t buf_sz);
|
||
|
|
||
|
/*
|
||
|
* @brief zc hw init
|
||
|
* @param is_half_collect: is half collect
|
||
|
* @param cap_edge: hw cap edge
|
||
|
* @retval: none
|
||
|
*/
|
||
|
void mac_zc_hw_init(uint8_t is_half_collect, uint8_t cap_edge);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif //_MAC_ZC_HW_H_
|