116 lines
3.1 KiB
C
116 lines
3.1 KiB
C
/*
|
|
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
|
|
Copyright (C) 2020 Yaotian Feng
|
|
|
|
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 HT32F165x/ht32_registry.h
|
|
* @brief HT32F165x capabilities registry.
|
|
*
|
|
* @addtogroup HAL
|
|
* @{
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
|
|
/**
|
|
* @brief Sub-family identifier.
|
|
*/
|
|
#if defined(HT32F52342) || defined(HT32F52352) || \
|
|
defined(__DOXYGEN__)
|
|
#define HT32F523x2
|
|
#else
|
|
#error unknown/unsupported HT32 microcontroller
|
|
#endif
|
|
|
|
/*===========================================================================*/
|
|
/* Platform capabilities. */
|
|
/*===========================================================================*/
|
|
|
|
#if defined(HT32F523x2) || defined(__DOXYGEN__)
|
|
|
|
/**
|
|
* @brief Maximum system and core clock (f_SYS) frequency.
|
|
*/
|
|
#define HT32_SYSCLK_MAX 48000000L
|
|
|
|
/**
|
|
* @brief Maximum bus clock (f_BUS) frequency.
|
|
*/
|
|
#define HT32_BUSCLK_MAX 48000000L
|
|
|
|
/**
|
|
* @brief Maximum flash clock (f_FLASH) frequency.
|
|
*/
|
|
#define HT32_FLASHCLK_MAX 48000000L
|
|
|
|
/**
|
|
* @name HT32F52342x attributes
|
|
* @{
|
|
*/
|
|
|
|
/* GPIO attributes.*/
|
|
|
|
#define HT32_NUM_GPIO 4
|
|
#define HT32_GPIO_INDEX_BITS 13
|
|
#define HT32_CCR_PAEN CKCU_AHBCCR_PAEN
|
|
|
|
/* EXTI attributes */
|
|
#define HT32_HAS_EXTI TRUE
|
|
#define HT32_NUM_EXTI 3
|
|
#define HT32_EVWUP_IRQ_VECTOR Vector4C
|
|
#define HT32_EXTI0_1_IRQ_VECTOR Vector50
|
|
#define HT32_EXTI2_3_IRQ_VECTOR Vector54
|
|
#define HT32_EXTI4_15_IRQ_VECTOR Vector58
|
|
|
|
/* BFTM attributes. */
|
|
#define HT32_BFTM0_IRQ_VECTOR Vector84
|
|
#define HT32_BFTM1_IRQ_VECTOR Vector88
|
|
|
|
/* I2C attributes.*/
|
|
#define HT32_HAS_I2C0 TRUE
|
|
#define HT32_I2C0_IRQ_VECTOR Vector8C
|
|
#define HT32_HAS_I2C1 TRUE
|
|
#define HT32_I2C1_IRQ_VECTOR Vector90
|
|
|
|
/* SPI attributes.*/
|
|
#define HT32_HAS_SPI0 TRUE
|
|
#define HT32_SPI0_IRQ_VECTOR Vector94
|
|
#define HT32_HAS_SPI1 TRUE
|
|
#define HT32_SPI1_IRQ_VECTOR Vector98
|
|
|
|
/* UART attributes.*/
|
|
#define HT32_HAS_USART0 TRUE
|
|
#define HT32_USART0_IRQ_VECTOR Vector9C
|
|
#define HT32_HAS_USART1 TRUE
|
|
#define HT32_USART1_IRQ_VECTOR VectorA0
|
|
#define HT32_HAS_UART0 TRUE
|
|
#define HT32_UART0_IRQ_VECTOR VectorA4
|
|
#define HT32_HAS_UART1 TRUE
|
|
#define HT32_UART1_IRQ_VECTOR VectorA8
|
|
|
|
/* USB attributes.*/
|
|
#define HT32_HAS_USB TRUE
|
|
#define HT32_USB_IRQ_VECTOR VectorB4
|
|
#define HT32_USB0_IS_USBOTG FALSE
|
|
#define HT32_HAS_USB_CLOCK_RECOVERY FALSE
|
|
|
|
/** @} */
|
|
|
|
#endif /* defined(HT32F165x) */
|
|
|
|
/** @} */
|