173 lines
6.8 KiB
C
173 lines
6.8 KiB
C
/*
|
|
SPC5 HAL - Copyright (C) 2013 STMicroelectronics
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
/**
|
|
* @file SPC564Axx/spc564a_registry.h
|
|
* @brief SPC564Axx capabilities registry.
|
|
*
|
|
* @addtogroup HAL
|
|
* @{
|
|
*/
|
|
|
|
#ifndef _SPC564A_REGISTRY_H_
|
|
#define _SPC564A_REGISTRY_H_
|
|
|
|
/*===========================================================================*/
|
|
/* Derived constants and error checks. */
|
|
/*===========================================================================*/
|
|
|
|
#if defined(_SPC564A70B4_) || defined(_SPC564A70L7_)
|
|
#define _SPC564A70_
|
|
#elif defined(_SPC564A74B4_) || defined(_SPC564A74L7_)
|
|
#define _SPC564A74_
|
|
#elif defined(_SPC564A80B4_) || defined(_SPC564A80L7_)
|
|
#define _SPC564A80_
|
|
#else
|
|
#error "SPC564Axx platform not defined"
|
|
#endif
|
|
|
|
/*===========================================================================*/
|
|
/* Platform capabilities. */
|
|
/*===========================================================================*/
|
|
|
|
/**
|
|
* @name SPC564Axx capabilities
|
|
* @{
|
|
*/
|
|
/* DSPI attribures.*/
|
|
#define SPC5_HAS_DSPI0 FALSE
|
|
#define SPC5_HAS_DSPI1 TRUE
|
|
#define SPC5_HAS_DSPI2 TRUE
|
|
#define SPC5_HAS_DSPI3 TRUE
|
|
#define SPC5_HAS_DSPI4 FALSE
|
|
#define SPC5_DSPI_FIFO_DEPTH 16
|
|
#define SPC5_DSPI1_TX1_DMA_CH_ID 12
|
|
#define SPC5_DSPI1_TX2_DMA_CH_ID 24
|
|
#define SPC5_DSPI1_RX_DMA_CH_ID 13
|
|
#define SPC5_DSPI2_TX1_DMA_CH_ID 14
|
|
#define SPC5_DSPI2_TX2_DMA_CH_ID 25
|
|
#define SPC5_DSPI2_RX_DMA_CH_ID 15
|
|
#define SPC5_DSPI3_TX1_DMA_CH_ID 16
|
|
#define SPC5_DSPI3_TX2_DMA_CH_ID 26
|
|
#define SPC5_DSPI3_RX_DMA_CH_ID 17
|
|
#define SPC5_DSPI1_EOQF_HANDLER vector132
|
|
#define SPC5_DSPI1_EOQF_NUMBER 132
|
|
#define SPC5_DSPI1_TFFF_HANDLER vector133
|
|
#define SPC5_DSPI1_TFFF_NUMBER 133
|
|
#define SPC5_DSPI2_EOQF_HANDLER vector137
|
|
#define SPC5_DSPI2_EOQF_NUMBER 137
|
|
#define SPC5_DSPI2_TFFF_HANDLER vector138
|
|
#define SPC5_DSPI2_TFFF_NUMBER 138
|
|
#define SPC5_DSPI3_EOQF_HANDLER vector142
|
|
#define SPC5_DSPI3_EOQF_NUMBER 142
|
|
#define SPC5_DSPI3_TFFF_HANDLER vector143
|
|
#define SPC5_DSPI3_TFFF_NUMBER 143
|
|
#define SPC5_DSPI1_ENABLE_CLOCK()
|
|
#define SPC5_DSPI1_DISABLE_CLOCK()
|
|
#define SPC5_DSPI2_ENABLE_CLOCK()
|
|
#define SPC5_DSPI2_DISABLE_CLOCK()
|
|
#define SPC5_DSPI3_ENABLE_CLOCK()
|
|
#define SPC5_DSPI3_DISABLE_CLOCK()
|
|
|
|
/* eDMA attributes.*/
|
|
#define SPC5_HAS_EDMA TRUE
|
|
#define SPC5_EDMA_NCHANNELS 64
|
|
#define SPC5_EDMA_HAS_MUX FALSE
|
|
|
|
/* eQADC attributes.*/
|
|
#define SPC5_HAS_EQADC TRUE
|
|
|
|
/* eSCI attributes.*/
|
|
#define SPC5_HAS_ESCIA TRUE
|
|
#define SPC5_ESCIA_HANDLER vector146
|
|
#define SPC5_ESCIA_NUMBER 146
|
|
|
|
#define SPC5_HAS_ESCIB TRUE
|
|
#define SPC5_ESCIB_HANDLER vector149
|
|
#define SPC5_ESCIB_NUMBER 149
|
|
|
|
#define SPC5_HAS_ESCIC TRUE
|
|
#define SPC5_ESCIC_HANDLER vector473
|
|
#define SPC5_ESCIC_NUMBER 473
|
|
|
|
/* SIU attributes.*/
|
|
#define SPC5_HAS_SIU TRUE
|
|
#define SPC5_SIU_SUPPORTS_PORTS FALSE
|
|
|
|
/* EMIOS attributes.*/
|
|
#define SPC5_HAS_EMIOS TRUE
|
|
|
|
#define SPC5_EMIOS_NUM_CHANNELS 24
|
|
|
|
#define SPC5_EMIOS_FLAG_F0_HANDLER vector51
|
|
#define SPC5_EMIOS_FLAG_F1_HANDLER vector52
|
|
#define SPC5_EMIOS_FLAG_F2_HANDLER vector53
|
|
#define SPC5_EMIOS_FLAG_F3_HANDLER vector54
|
|
#define SPC5_EMIOS_FLAG_F4_HANDLER vector55
|
|
#define SPC5_EMIOS_FLAG_F5_HANDLER vector56
|
|
#define SPC5_EMIOS_FLAG_F6_HANDLER vector57
|
|
#define SPC5_EMIOS_FLAG_F7_HANDLER vector58
|
|
#define SPC5_EMIOS_FLAG_F8_HANDLER vector59
|
|
#define SPC5_EMIOS_FLAG_F9_HANDLER vector60
|
|
#define SPC5_EMIOS_FLAG_F10_HANDLER vector61
|
|
#define SPC5_EMIOS_FLAG_F11_HANDLER vector62
|
|
#define SPC5_EMIOS_FLAG_F12_HANDLER vector63
|
|
#define SPC5_EMIOS_FLAG_F13_HANDLER vector64
|
|
#define SPC5_EMIOS_FLAG_F14_HANDLER vector65
|
|
#define SPC5_EMIOS_FLAG_F15_HANDLER vector66
|
|
#define SPC5_EMIOS_FLAG_F16_HANDLER vector202
|
|
#define SPC5_EMIOS_FLAG_F17_HANDLER vector203
|
|
#define SPC5_EMIOS_FLAG_F18_HANDLER vector204
|
|
#define SPC5_EMIOS_FLAG_F19_HANDLER vector205
|
|
#define SPC5_EMIOS_FLAG_F20_HANDLER vector206
|
|
#define SPC5_EMIOS_FLAG_F21_HANDLER vector207
|
|
#define SPC5_EMIOS_FLAG_F22_HANDLER vector208
|
|
#define SPC5_EMIOS_FLAG_F23_HANDLER vector209
|
|
#define SPC5_EMIOS_FLAG_F0_NUMBER 51
|
|
#define SPC5_EMIOS_FLAG_F1_NUMBER 52
|
|
#define SPC5_EMIOS_FLAG_F2_NUMBER 53
|
|
#define SPC5_EMIOS_FLAG_F3_NUMBER 54
|
|
#define SPC5_EMIOS_FLAG_F4_NUMBER 55
|
|
#define SPC5_EMIOS_FLAG_F5_NUMBER 56
|
|
#define SPC5_EMIOS_FLAG_F6_NUMBER 57
|
|
#define SPC5_EMIOS_FLAG_F7_NUMBER 58
|
|
#define SPC5_EMIOS_FLAG_F8_NUMBER 59
|
|
#define SPC5_EMIOS_FLAG_F9_NUMBER 60
|
|
#define SPC5_EMIOS_FLAG_F10_NUMBER 61
|
|
#define SPC5_EMIOS_FLAG_F11_NUMBER 62
|
|
#define SPC5_EMIOS_FLAG_F12_NUMBER 63
|
|
#define SPC5_EMIOS_FLAG_F13_NUMBER 64
|
|
#define SPC5_EMIOS_FLAG_F14_NUMBER 65
|
|
#define SPC5_EMIOS_FLAG_F15_NUMBER 66
|
|
#define SPC5_EMIOS_FLAG_F16_NUMBER 202
|
|
#define SPC5_EMIOS_FLAG_F17_NUMBER 203
|
|
#define SPC5_EMIOS_FLAG_F18_NUMBER 204
|
|
#define SPC5_EMIOS_FLAG_F19_NUMBER 205
|
|
#define SPC5_EMIOS_FLAG_F20_NUMBER 206
|
|
#define SPC5_EMIOS_FLAG_F21_NUMBER 207
|
|
#define SPC5_EMIOS_FLAG_F22_NUMBER 208
|
|
#define SPC5_EMIOS_FLAG_F23_NUMBER 209
|
|
|
|
#define SPC5_EMIOS_CLK (SPC5_SYSCLK / \
|
|
SPC5_EMIOS_GLOBAL_PRESCALER)
|
|
#define SPC5_EMIOS_ENABLE_CLOCK()
|
|
#define SPC5_EMIOS_DISABLE_CLOCK()
|
|
/** @} */
|
|
|
|
#endif /* _SPC564A_REGISTRY_H_ */
|
|
|
|
/** @} */
|