coreboot-libre-fam15h-rdimm/3rdparty/chromeec/chip/mchp/tfdp_chip.h

132 lines
3.5 KiB
C

/* Copyright 2017 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
/** @file tfdp_chip.h
*MCHP MEC TFDP Peripheral Library API
*/
/** @defgroup MCHP MEC Peripherals Trace
*/
#ifndef _TFDP_CHIP_H
#define _TFDP_CHIP_H
#include <stdint.h>
#ifdef CONFIG_MCHP_TFDP
#undef TRACE0
#undef TRACE1
#undef TRACE2
#undef TRACE3
#undef TRACE4
#undef TRACE11
#undef TRACE12
#undef TRACE13
#undef TRACE14
#undef trace0
#undef trace1
#undef trace2
#undef trace3
#undef trace4
#undef trace11
#undef trace12
#undef trace13
#undef trace14
#define MCHP_TFDP_BASE_ADDR (0x40008c00ul)
#define TFDP_FRAME_START (0xFD)
#define TFDP_POWER_ON (1u)
#define TFDP_POWER_OFF (0u)
#define TFDP_ENABLE (1u)
#define TFDP_DISABLE (0u)
#define TFDP_CFG_PINS (1u)
#define TFDP_NO_CFG_PINS (0u)
#define MCHP_TRACE_MASK_IRQ
#define TFDP_DELAY()
#ifdef __cplusplus
extern "C" {
#endif
void tfdp_power(uint8_t pwr_on);
void tfdp_enable(uint8_t en, uint8_t pin_cfg);
void TFDPTrace0(uint16_t nbr);
void TFDPTrace1(uint16_t nbr, uint32_t p1);
void TFDPTrace2(uint16_t nbr, uint32_t p1,
uint32_t p2);
void TFDPTrace3(uint16_t nbr, uint32_t p1,
uint32_t p2, uint32_t p3);
void TFDPTrace4(uint16_t nbr, uint32_t p1, uint32_t p2,
uint32_t p3, uint32_t p4);
void TFDPTrace11(uint16_t nbr, uint32_t p1);
void TFDPTrace12(uint16_t nbr, uint32_t p1, uint32_t p2);
void TFDPTrace13(uint16_t nbr, uint32_t p1, uint32_t p2,
uint32_t p3);
void TFDPTrace14(uint16_t nbr, uint32_t p1, uint32_t p2,
uint32_t p3, uint32_t p4);
#ifdef __cplusplus
}
#endif
#define TRACE0(nbr, cat, b, str) TFDPTrace0(nbr)
#define TRACE1(nbr, cat, b, str, p1) TFDPTrace1(nbr, p1)
#define TRACE2(nbr, cat, b, str, p1, p2) TFDPTrace2(nbr, p1, p2)
#define TRACE3(nbr, cat, b, str, p1, p2, p3) TFDPTrace3(nbr, p1, p2, p3)
#define TRACE4(nbr, cat, b, str, p1, p2, p3, p4) TFDPTrace4(nbr, p1, p2, \
p3, p4)
#define TRACE11(nbr, cat, b, str, p1) TFDPTrace11(nbr, p1)
#define TRACE12(nbr, cat, b, str, p1, p2) TFDPTrace12(nbr, p1, p2)
#define TRACE13(nbr, cat, b, str, p1, p2, p3) TFDPTrace13(nbr, p1, p2, p3)
#define TRACE14(nbr, cat, b, str, p1, p2, p3, p4) \
TFDPTrace14(nbr, p1, p2, p3, p4)
#else /* #ifdef MCHP_TRACE */
/* !!! To prevent compiler warnings of unused parameters,
* when trace is disabled by TRGEN source processing,
* you can either:
* 1. Disable compiler's unused parameter warning
* 2. Change these macros to write parameters to a read-only
* register.
*/
#define tfdp_power(pwr_on)
#define tfdp_enable(en, pin_cfg)
#define TRACE0(nbr, cat, b, str)
#define TRACE1(nbr, cat, b, str, p1)
#define TRACE2(nbr, cat, b, str, p1, p2)
#define TRACE3(nbr, cat, b, str, p1, p2, p3)
#define TRACE4(nbr, cat, b, str, p1, p2, p3, p4)
#define TRACE11(nbr, cat, b, str, p1)
#define TRACE12(nbr, cat, b, str, p1, p2)
#define TRACE13(nbr, cat, b, str, p1, p2, p3)
#define TRACE14(nbr, cat, b, str, p1, p2, p3, p4)
#endif /* #ifdef CONFIG_MCHP_TFDP */
/*
* Always define lower case traceN(...) as blank (fully removed)
*/
#define trace0(nbr, cat, b, str)
#define trace1(nbr, cat, b, str, p1)
#define trace2(nbr, cat, b, str, p1, p2)
#define trace3(nbr, cat, b, str, p1, p2, p3)
#define trace4(nbr, cat, b, str, p1, p2, p3, p4)
#define trace11(nbr, cat, b, str, p1)
#define trace12(nbr, cat, b, str, p1, p2)
#define trace13(nbr, cat, b, str, p1, p2, p3)
#define trace14(nbr, cat, b, str, p1, p2, p3, p4)
#endif /* #ifndef _TFDP_CHIP_H */
/* end tfdp_chip.h */
/** @}
*/