Added aducm registry

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@13494 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
Rocco Marco Guglielmi 2020-04-01 08:41:46 +00:00
parent 067cd0016d
commit f18973f964
3 changed files with 87 additions and 25 deletions

View File

@ -0,0 +1,61 @@
/*
ChibiOS - Copyright (C) 2006..2020 Rocco Marco Guglielmi
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 ADUCM36x/ADUCM_isr.h
* @brief ADUCM36x capabilities registry.
*
* @addtogroup HAL
* @{
*/
#ifndef ADUCM_REGISTRY_H
#define ADUCM_REGISTRY_H
#if !defined(ADUCM36x) || defined(__DOXYGEN__)
#define ADUCM36x
#endif
/*===========================================================================*/
/* Platform capabilities. */
/*===========================================================================*/
/**
* @name ADUCM360 capabilities
* @{
*/
/*===========================================================================*/
/* ADUCM360. */
/*===========================================================================*/
#if defined(ADUCM360) || defined(__DOXYGEN__)
/* CLK attributes.*/
#define ADUCM_HAS_CLK_AUTOGATE FALSE
/* UART attributes.*/
#define ADUCM_HAS_UART0 TRUE
#define ADUCM_HAS_UART1 FALSE
#else
#error "ADUCM36x device not specified"
#endif
/** @} */
#endif /* ADUCM_REGISTRY_H */
/** @} */

View File

@ -32,6 +32,8 @@
#ifndef HAL_LLD_H #ifndef HAL_LLD_H
#define HAL_LLD_H #define HAL_LLD_H
#include "aducm_registry.h"
/*===========================================================================*/ /*===========================================================================*/
/* Driver constants. */ /* Driver constants. */
/*===========================================================================*/ /*===========================================================================*/
@ -394,21 +396,21 @@
* @brief I2C frequency. * @brief I2C frequency.
*/ */
#if (ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV1) || defined(__DOXYGEN__) #if (ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV1) || defined(__DOXYGEN__)
#define ADUCM_I2CCLK (ADUCM_UCLK / 1) #define ADUCM_I2C0CLK (ADUCM_UCLK / 1)
#elif ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV2 #elif ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV2
#define ADUCM_I2CCLK (ADUCM_UCLK / 2) #define ADUCM_I2C0CLK (ADUCM_UCLK / 2)
#elif ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV4 #elif ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV4
#define ADUCM_I2CCLK (ADUCM_UCLK / 4) #define ADUCM_I2C0CLK (ADUCM_UCLK / 4)
#elif ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV8 #elif ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV8
#define ADUCM_I2CCLK (ADUCM_UCLK / 8) #define ADUCM_I2C0CLK (ADUCM_UCLK / 8)
#elif ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV16 #elif ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV16
#define ADUCM_I2CCLK (ADUCM_UCLK / 16) #define ADUCM_I2C0CLK (ADUCM_UCLK / 16)
#elif ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV32 #elif ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV32
#define ADUCM_I2CCLK (ADUCM_UCLK / 32) #define ADUCM_I2C0CLK (ADUCM_UCLK / 32)
#elif ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV64 #elif ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV64
#define ADUCM_I2CCLK (ADUCM_UCLK / 64) #define ADUCM_I2C0CLK (ADUCM_UCLK / 64)
#elif ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV128 #elif ADUCM_I2CCD_DIV == ADUCM_I2CCD_DIV128
#define ADUCM_I2CCLK (ADUCM_UCLK / 128) #define ADUCM_I2C0CLK (ADUCM_UCLK / 128)
#else #else
#error "invalid ADUCM_I2CCD_DIV value specified" #error "invalid ADUCM_I2CCD_DIV value specified"
#endif #endif
@ -417,21 +419,21 @@
* @brief UART frequency. * @brief UART frequency.
*/ */
#if (ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV1) || defined(__DOXYGEN__) #if (ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV1) || defined(__DOXYGEN__)
#define ADUCM_UARTCLK (ADUCM_UCLK / 1) #define ADUCM_UART0CLK (ADUCM_UCLK / 1)
#elif ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV2 #elif ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV2
#define ADUCM_UARTCLK (ADUCM_UCLK / 2) #define ADUCM_UART0CLK (ADUCM_UCLK / 2)
#elif ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV4 #elif ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV4
#define ADUCM_UARTCLK (ADUCM_UCLK / 4) #define ADUCM_UART0CLK (ADUCM_UCLK / 4)
#elif ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV8 #elif ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV8
#define ADUCM_UARTCLK (ADUCM_UCLK / 8) #define ADUCM_UART0CLK (ADUCM_UCLK / 8)
#elif ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV16 #elif ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV16
#define ADUCM_UARTCLK (ADUCM_UCLK / 16) #define ADUCM_UART0CLK (ADUCM_UCLK / 16)
#elif ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV32 #elif ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV32
#define ADUCM_UARTCLK (ADUCM_UCLK / 32) #define ADUCM_UART0CLK (ADUCM_UCLK / 32)
#elif ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV64 #elif ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV64
#define ADUCM_UARTCLK (ADUCM_UCLK / 64) #define ADUCM_UART0CLK (ADUCM_UCLK / 64)
#elif ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV128 #elif ADUCM_UARTCD_DIV == ADUCM_UARTCD_DIV128
#define ADUCM_UARTCLK (ADUCM_UCLK / 128) #define ADUCM_UART0CLK (ADUCM_UCLK / 128)
#else #else
#error "invalid ADUCM_UARTCD_DIV value specified" #error "invalid ADUCM_UARTCD_DIV value specified"
#endif #endif
@ -440,21 +442,21 @@
* @brief PWM frequency. * @brief PWM frequency.
*/ */
#if (ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV1) || defined(__DOXYGEN__) #if (ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV1) || defined(__DOXYGEN__)
#define ADUCM_PWMCLK (ADUCM_UCLK / 1) #define ADUCM_PWM0CLK (ADUCM_UCLK / 1)
#elif ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV2 #elif ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV2
#define ADUCM_PWMCLK (ADUCM_UCLK / 2) #define ADUCM_PWM0CLK (ADUCM_UCLK / 2)
#elif ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV4 #elif ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV4
#define ADUCM_PWMCLK (ADUCM_UCLK / 4) #define ADUCM_PWM0CLK (ADUCM_UCLK / 4)
#elif ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV8 #elif ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV8
#define ADUCM_PWMCLK (ADUCM_UCLK / 8) #define ADUCM_PWM0CLK (ADUCM_UCLK / 8)
#elif ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV16 #elif ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV16
#define ADUCM_PWMCLK (ADUCM_UCLK / 16) #define ADUCM_PWM0CLK (ADUCM_UCLK / 16)
#elif ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV32 #elif ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV32
#define ADUCM_PWMCLK (ADUCM_UCLK / 32) #define ADUCM_PWM0CLK (ADUCM_UCLK / 32)
#elif ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV64 #elif ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV64
#define ADUCM_PWMCLK (ADUCM_UCLK / 64) #define ADUCM_PWM0CLK (ADUCM_UCLK / 64)
#elif ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV128 #elif ADUCM_PWMCD_DIV == ADUCM_PWMCD_DIV128
#define ADUCM_PWMCLK (ADUCM_UCLK / 128) #define ADUCM_PWM0CLK (ADUCM_UCLK / 128)
#else #else
#error "invalid ADUCM_PWMCD_DIV value specified" #error "invalid ADUCM_PWMCD_DIV value specified"
#endif #endif

View File

@ -25,7 +25,6 @@
#ifndef HAL_PAL_LLD_H #ifndef HAL_PAL_LLD_H
#define HAL_PAL_LLD_H #define HAL_PAL_LLD_H
#include "aducm_gp.h" #include "aducm_gp.h"
#if HAL_USE_PAL || defined(__DOXYGEN__) #if HAL_USE_PAL || defined(__DOXYGEN__)