You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
590 lines
22 KiB
590 lines
22 KiB
/** |
|
****************************************************************************** |
|
* @file stm32l496g_discovery.h |
|
* @author MCD Application Team |
|
* @brief This file contains definitions for STM32L496G_DISCOVERY's LEDs, |
|
* push-buttons hardware resources (MB1261). |
|
****************************************************************************** |
|
* @attention |
|
* |
|
* <h2><center>© Copyright (c) 2017 STMicroelectronics. |
|
* All rights reserved.</center></h2> |
|
* |
|
* This software component is licensed by ST under BSD 3-Clause license, |
|
* the "License"; You may not use this file except in compliance with the |
|
* License. You may obtain a copy of the License at: |
|
* opensource.org/licenses/BSD-3-Clause |
|
* |
|
****************************************************************************** |
|
*/ |
|
|
|
/* Define to prevent recursive inclusion -------------------------------------*/ |
|
#ifndef __STM32L496G_DISCOVERY_H |
|
#define __STM32L496G_DISCOVERY_H |
|
|
|
#ifdef __cplusplus |
|
extern "C" { |
|
#endif |
|
|
|
/** |
|
* @brief Define for STM32L496G_DISCOVERY board |
|
*/ |
|
|
|
|
|
|
|
/* Includes ------------------------------------------------------------------*/ |
|
#include "stm32l4xx_hal.h" |
|
|
|
/** @addtogroup BSP |
|
* @{ |
|
*/ |
|
|
|
/** @addtogroup STM32L496G_DISCOVERY |
|
* @{ |
|
*/ |
|
|
|
/** @addtogroup STM32L496G_DISCOVERY_Common |
|
* @{ |
|
*/ |
|
|
|
/** @defgroup STM32L496G_DISCOVERY_Exported_Types Exported Types |
|
* @{ |
|
*/ |
|
|
|
/** |
|
* @brief LED Types Definition |
|
*/ |
|
typedef enum |
|
{ |
|
LED1 = 0, |
|
LED2 = 1, |
|
LED_ORANGE = LED1, |
|
LED_GREEN = LED2 |
|
} |
|
Led_TypeDef; |
|
|
|
|
|
/** |
|
* @brief JOYSTICK Types Definition |
|
*/ |
|
typedef enum |
|
{ |
|
JOY_SEL = 0, |
|
JOY_LEFT = 1, |
|
JOY_RIGHT = 2, |
|
JOY_DOWN = 3, |
|
JOY_UP = 4, |
|
JOY_NONE = 5 |
|
} JOYState_TypeDef; |
|
|
|
typedef enum |
|
{ |
|
JOY_MODE_GPIO = 0, |
|
JOY_MODE_EXTI = 1 |
|
} JOYMode_TypeDef; |
|
|
|
typedef enum |
|
{ |
|
COM1 = 0 |
|
} COM_TypeDef; |
|
|
|
/** |
|
* @brief LCD constroller Types Definition |
|
*/ |
|
typedef struct |
|
{ |
|
__IO uint16_t REG; |
|
__IO uint16_t RAM; |
|
} LCD_CONTROLLER_TypeDef; |
|
|
|
/** |
|
* @} |
|
*/ |
|
|
|
/** @defgroup STM32L496G_DISCOVERY_Exported_Constants Exported Constants |
|
* @{ |
|
*/ |
|
|
|
/** @defgroup STM32L496G_DISCOVERY_FMC FMC LCD Constants |
|
* @{ |
|
*/ |
|
/* We use BANK1 as we use FMC_NE1 signal */ |
|
#define FMC_BANK1_BASE ((uint32_t)(0x60000000 | 0x00000000)) |
|
#define FMC_LCD_BASE ((uint32_t)(0x60000000 | 0x00080000)) /*using A18*/ |
|
#define FMC_BANK1_ADDR ((LCD_CONTROLLER_TypeDef *) FMC_BANK1_BASE) |
|
#define LCD_ADDR ((LCD_CONTROLLER_TypeDef *) FMC_LCD_BASE) |
|
|
|
/** |
|
* @} |
|
*/ |
|
|
|
/** @defgroup STM32L496G_DISCOVERY_LED LED Constants |
|
* @{ |
|
*/ |
|
/* To do: invert LED1 and LED2 */ |
|
#define LEDn 2 |
|
|
|
/* LED1 is accessed thru the MFX */ |
|
#define LED1_PIN IO1_PIN_4 |
|
|
|
#define LED2_PIN GPIO_PIN_13 |
|
#define LED2_GPIO_PORT GPIOB |
|
#define LED2_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() |
|
#define LED2_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() |
|
|
|
|
|
/** |
|
* @} |
|
*/ |
|
|
|
/** @defgroup STM32L496G_DISCOVERY_BUTTON BUTTON Constants |
|
* @{ |
|
*/ |
|
#define JOYn 5 |
|
|
|
/** |
|
* @brief Joystick Right push-button |
|
*/ |
|
#define RIGHT_JOY_PIN GPIO_PIN_11 /* PF.11 */ |
|
#define RIGHT_JOY_GPIO_PORT GPIOF |
|
#define RIGHT_JOY_GPIO_CLK_ENABLE() __HAL_RCC_GPIOF_CLK_ENABLE() |
|
#define RIGHT_JOY_GPIO_CLK_DISABLE() __HAL_RCC_GPIOF_CLK_DISABLE() |
|
#define RIGHT_JOY_EXTI_IRQn EXTI15_10_IRQn |
|
|
|
/** |
|
* @brief Joystick Left push-button |
|
*/ |
|
#define LEFT_JOY_PIN GPIO_PIN_9 /* PI.09 */ |
|
#define LEFT_JOY_GPIO_PORT GPIOI |
|
#define LEFT_JOY_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE() |
|
#define LEFT_JOY_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE() |
|
#define LEFT_JOY_EXTI_IRQn EXTI9_5_IRQn |
|
|
|
/** |
|
* @brief Joystick Up push-button |
|
*/ |
|
#define UP_JOY_PIN GPIO_PIN_8 /* PI.08 */ |
|
#define UP_JOY_GPIO_PORT GPIOI |
|
#define UP_JOY_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE() |
|
#define UP_JOY_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE() |
|
#define UP_JOY_EXTI_IRQn EXTI9_5_IRQn |
|
|
|
/** |
|
* @brief Joystick Down push-button |
|
*/ |
|
#define DOWN_JOY_PIN GPIO_PIN_10 /* PI.10 */ |
|
#define DOWN_JOY_GPIO_PORT GPIOI |
|
#define DOWN_JOY_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE() |
|
#define DOWN_JOY_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE() |
|
#define DOWN_JOY_EXTI_IRQn EXTI15_10_IRQn |
|
|
|
/** |
|
* @brief Joystick Sel push-button |
|
*/ |
|
#define SEL_JOY_PIN GPIO_PIN_13 /* PC.13 */ |
|
#define SEL_JOY_GPIO_PORT GPIOC |
|
#define SEL_JOY_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() |
|
#define SEL_JOY_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() |
|
#define SEL_JOY_EXTI_IRQn EXTI15_10_IRQn |
|
|
|
#define JOYx_GPIO_CLK_ENABLE(__JOY__) do { if((__JOY__) == JOY_SEL) { SEL_JOY_GPIO_CLK_ENABLE(); } else \ |
|
if((__JOY__) == JOY_DOWN) { DOWN_JOY_GPIO_CLK_ENABLE(); } else \ |
|
if((__JOY__) == JOY_LEFT) { LEFT_JOY_GPIO_CLK_ENABLE(); } else \ |
|
if((__JOY__) == JOY_RIGHT) { RIGHT_JOY_GPIO_CLK_ENABLE(); } else \ |
|
if((__JOY__) == JOY_UP) { UP_JOY_GPIO_CLK_ENABLE(); } } while(0) |
|
|
|
#define JOYx_GPIO_CLK_DISABLE(__JOY__) do { if((__JOY__) == JOY_SEL) { SEL_JOY_GPIO_CLK_DISABLE(); } else \ |
|
if((__JOY__) == JOY_DOWN) { DOWN_JOY_GPIO_CLK_DISABLE(); } else \ |
|
if((__JOY__) == JOY_LEFT) { LEFT_JOY_GPIO_CLK_DISABLE(); } else \ |
|
if((__JOY__) == JOY_RIGHT) { RIGHT_JOY_GPIO_CLK_DISABLE(); } else \ |
|
if((__JOY__) == JOY_UP) { UP_JOY_GPIO_CLK_DISABLE(); } } while(0) |
|
|
|
#define JOY_ALL_PINS (RIGHT_JOY_PIN | LEFT_JOY_PIN | UP_JOY_PIN | DOWN_JOY_PIN | SEL_JOY_PIN) |
|
|
|
/** |
|
* @} |
|
*/ |
|
|
|
/** @defgroup STM32L4R9I_DISCOVERY_COM COM Constants |
|
* @{ |
|
*/ |
|
#define COMn 1 |
|
|
|
/** |
|
* @brief Definition for COM port1, connected to USART2 (ST-Link USB Virtual Com Port) |
|
*/ |
|
#define DISCOVERY_COM1 USART2 |
|
#define DISCOVERY_COM1_CLK_ENABLE() __HAL_RCC_USART2_CLK_ENABLE() |
|
#define DISCOVERY_COM1_CLK_DISABLE() __HAL_RCC_USART2_CLK_DISABLE() |
|
|
|
#define DISCOVERY_COM1_TX_PIN GPIO_PIN_2 |
|
#define DISCOVERY_COM1_TX_GPIO_PORT GPIOA |
|
#define DISCOVERY_COM1_TX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() |
|
#define DISCOVERY_COM1_TX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() |
|
#define DISCOVERY_COM1_TX_AF GPIO_AF7_USART2 |
|
|
|
#define DISCOVERY_COM1_RX_PIN GPIO_PIN_6 |
|
#define DISCOVERY_COM1_RX_GPIO_PORT GPIOD |
|
#define DISCOVERY_COM1_RX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE() |
|
#define DISCOVERY_COM1_RX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOD_CLK_DISABLE() |
|
#define DISCOVERY_COM1_RX_AF GPIO_AF7_USART2 |
|
|
|
#define DISCOVERY_COM1_IRQn USART2_IRQn |
|
|
|
|
|
#define DISCOVERY_COMx_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_CLK_ENABLE();}} while(0) |
|
#define DISCOVERY_COMx_CLK_DISABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_CLK_DISABLE();}} while(0) |
|
|
|
#define DISCOVERY_COMx_TX_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_TX_GPIO_CLK_ENABLE();}} while(0) |
|
#define DISCOVERY_COMx_TX_GPIO_CLK_DISABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_TX_GPIO_CLK_DISABLE();}} while(0) |
|
|
|
#define DISCOVERY_COMx_RX_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_RX_GPIO_CLK_ENABLE();}} while(0) |
|
#define DISCOVERY_COMx_RX_GPIO_CLK_DISABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_RX_GPIO_CLK_DISABLE();}} while(0) |
|
|
|
/** |
|
* @} |
|
*/ |
|
|
|
/** @defgroup STM32L496G_DISCOVERY_BUS BUS Constants |
|
* @{ |
|
*/ |
|
|
|
#if defined(HAL_I2C_MODULE_ENABLED) |
|
/*##################### I2C1 ###################################*/ |
|
/* User can use this section to tailor I2C1 instance used and associated |
|
resources */ |
|
/* Definition for I2C1 Pins */ |
|
#define DISCOVERY_I2C1_SCL_GPIO_PORT GPIOG |
|
#define DISCOVERY_I2C1_SDA_GPIO_PORT GPIOG |
|
#define DISCOVERY_I2C1_SCL_PIN GPIO_PIN_14 |
|
#define DISCOVERY_I2C1_SDA_PIN GPIO_PIN_13 |
|
|
|
#define DISCOVERY_I2C1_SCL_SDA_AF GPIO_AF4_I2C1 |
|
|
|
/* Definition for I2C1 clock resources */ |
|
#define DISCOVERY_I2C1 I2C1 |
|
#define DISCOVERY_I2C1_CLK_ENABLE() __HAL_RCC_I2C1_CLK_ENABLE() |
|
#define DISCOVERY_I2C1_CLK_DISABLE() __HAL_RCC_I2C1_CLK_DISABLE() |
|
#define DISCOVERY_I2C1_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOG_CLK_ENABLE() |
|
#define DISCOVERY_I2C1_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOG_CLK_ENABLE() |
|
#define DISCOVERY_I2C1_SDA_GPIO_CLK_DISABLE() __HAL_RCC_GPIOG_CLK_DISABLE() |
|
#define DISCOVERY_I2C1_SCL_GPIO_CLK_DISABLE() __HAL_RCC_GPIOG_CLK_DISABLE() |
|
#define DISCOVERY_I2C1_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET() |
|
#define DISCOVERY_I2C1_RELEASE_RESET() __HAL_RCC_I2C1_RELEASE_RESET() |
|
|
|
/* Definition for I2C1's NVIC */ |
|
#define DISCOVERY_I2C1_EV_IRQn I2C1_EV_IRQn |
|
#define DISCOVERY_I2C1_EV_IRQHandler I2C1_EV_IRQHandler |
|
#define DISCOVERY_I2C1_ER_IRQn I2C1_ER_IRQn |
|
#define DISCOVERY_I2C1_ER_IRQHandler I2C1_ER_IRQHandler |
|
|
|
/* I2C TIMING Register define when I2C clock source is SYSCLK */ |
|
/* I2C TIMING is calculated in case of the I2C Clock source is the SYSCLK = 80 MHz */ |
|
/* Set 0x90112626 value to reach 100 KHz speed (Rise time = 640ns, Fall time = 20ns) */ |
|
#ifndef DISCOVERY_I2C1_TIMING |
|
#define DISCOVERY_I2C1_TIMING 0x90D00e28/* 0x90112626*/ |
|
#endif /* DISCOVERY_I2C1_TIMING */ |
|
|
|
/* I2C clock speed configuration (in Hz) |
|
WARNING: |
|
Make sure that this define is not already declared in other files (ie. |
|
stm324xg_discovery.h file). It can be used in parallel by other modules. */ |
|
#ifndef BSP_I2C_SPEED |
|
#define BSP_I2C_SPEED 100000 |
|
#endif /* BSP_I2C_SPEED */ |
|
|
|
/* Maximum Timeout values for flags waiting loops. These timeouts are not based |
|
on accurate values, they just guarantee that the application will not remain |
|
stuck if the I2C communication is corrupted. |
|
You may modify these timeout values depending on CPU frequency and application |
|
conditions (interrupts routines ...). */ |
|
#define DISCOVERY_I2C1_TIMEOUT_MAX 3000 |
|
|
|
|
|
/*##################### I2C2 ###################################*/ |
|
/* User can use this section to tailor I2C2 instance used and associated |
|
resources */ |
|
/* Definition for I2C2 Pins */ |
|
#define DISCOVERY_I2C2_SCL_PIN GPIO_PIN_4 |
|
#define DISCOVERY_I2C2_SCL_GPIO_PORT GPIOH |
|
#define DISCOVERY_I2C2_SDA_PIN GPIO_PIN_14 |
|
#define DISCOVERY_I2C2_SDA_GPIO_PORT GPIOB |
|
#define DISCOVERY_I2C2_SCL_SDA_AF GPIO_AF4_I2C2 |
|
/* Definition for I2C2 clock resources */ |
|
#define DISCOVERY_I2C2 I2C2 |
|
#define DISCOVERY_I2C2_CLK_ENABLE() __HAL_RCC_I2C2_CLK_ENABLE() |
|
#define DISCOVERY_I2C2_CLK_DISABLE() __HAL_RCC_I2C2_CLK_DISABLE() |
|
#define DISCOVERY_I2C2_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() |
|
#define DISCOVERY_I2C2_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE() |
|
#define DISCOVERY_I2C2_SDA_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() |
|
#define DISCOVERY_I2C2_SCL_GPIO_CLK_DISABLE() __HAL_RCC_GPIOH_CLK_DISABLE() |
|
#define DISCOVERY_I2C2_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET() |
|
#define DISCOVERY_I2C2_RELEASE_RESET() __HAL_RCC_I2C2_RELEASE_RESET() |
|
|
|
/* Definition for I2C2's NVIC */ |
|
#define DISCOVERY_I2C2_EV_IRQn I2C2_EV_IRQn |
|
#define DISCOVERY_I2C2_ER_IRQn I2C2_ER_IRQn |
|
|
|
/* I2C TIMING Register define when I2C clock source is SYSCLK */ |
|
/* I2C TIMING is calculated in case of the I2C Clock source is the SYSCLK = 80 MHz */ |
|
/* Set 0x90112626 value to reach 100 KHz speed (Rise time = 25ns, Fall time = 10ns) */ |
|
#ifndef DISCOVERY_I2C2_TIMING |
|
#define DISCOVERY_I2C2_TIMING 0x40403E5D |
|
#endif /* DISCOVERY_I2C2_TIMING */ |
|
|
|
#define IDD_I2C_ADDRESS ((uint16_t) 0x84) |
|
#define IO1_I2C_ADDRESS ((uint16_t) 0x84) |
|
#define AUDIO_I2C_ADDRESS ((uint16_t) 0x94) |
|
#define TS_I2C_ADDRESS ((uint16_t) 0x70) |
|
#define CAMERA_I2C_ADDRESS ((uint16_t) 0x60) |
|
|
|
/* Maximum Timeout values for flags waiting loops. These timeouts are not based |
|
on accurate values, they just guarantee that the application will not remain |
|
stuck if the I2C communication is corrupted. |
|
You may modify these timeout values depending on CPU frequency and application |
|
conditions (interrupts routines ...). */ |
|
#define DISCOVERY_I2C2_TIMEOUT_MAX 3000 |
|
|
|
|
|
#ifndef DISCOVERY_I2C_TIMING |
|
#define DISCOVERY_I2C_TIMING /*0x90D00e28*/ 0x90112626 |
|
#endif /* DISCOVERY_I2C2_TIMING */ |
|
|
|
/* Written here after to enable compilation only, to be thoroughly reviewed */ |
|
|
|
/* Definition for AUDIO I2Cx resources */ |
|
#define DISCOVERY_AUDIO_I2Cx I2C1 |
|
#define DISCOVERY_AUDIO_I2Cx_CLK_ENABLE() __HAL_RCC_I2C1_CLK_ENABLE() |
|
#define DISCOVERY_AUDIO_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() |
|
#define DISCOVERY_AUDIO_I2Cx_SCL_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() |
|
|
|
#define DISCOVERY_AUDIO_I2Cx_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET() |
|
#define DISCOVERY_AUDIO_I2Cx_RELEASE_RESET() __HAL_RCC_I2C1_RELEASE_RESET() |
|
|
|
/* Definition for I2Cx Pins */ |
|
#define DISCOVERY_AUDIO_I2Cx_SCL_PIN GPIO_PIN_6 |
|
#define DISCOVERY_AUDIO_I2Cx_SCL_SDA_GPIO_PORT GPIOB |
|
#define DISCOVERY_AUDIO_I2Cx_SCL_SDA_AF GPIO_AF4_I2C1 |
|
#define DISCOVERY_AUDIO_I2Cx_SDA_PIN GPIO_PIN_7 |
|
|
|
/* I2C interrupt requests */ |
|
#define DISCOVERY_AUDIO_I2Cx_EV_IRQn I2C1_EV_IRQn |
|
#define DISCOVERY_AUDIO_I2Cx_ER_IRQn I2C1_ER_IRQn |
|
|
|
|
|
/* Definition for TS (Capacitive Touch Panel) I2Cx resources */ |
|
#define DISCOVERY_TS_I2Cx I2C2 |
|
#define DISCOVERY_TS_I2Cx_CLK_ENABLE() __HAL_RCC_I2C2_CLK_ENABLE() |
|
#define DISCOVERY_TS_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() |
|
#define DISCOVERY_TS_I2Cx_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() |
|
#define DISCOVERY_TS_I2Cx_SDA_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() |
|
#define DISCOVERY_TS_I2Cx_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE() |
|
#define DISCOVERY_TS_I2Cx_SCL_GPIO_CLK_DISABLE() __HAL_RCC_GPIOH_CLK_DISABLE() |
|
|
|
#define DISCOVERY_TS_I2Cx_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET() |
|
#define DISCOVERY_TS_I2Cx_RELEASE_RESET() __HAL_RCC_I2C2_RELEASE_RESET() |
|
|
|
/* Definition for I2Cx Pins */ |
|
#define DISCOVERY_TS_I2Cx_SCL_PIN GPIO_PIN_4 |
|
#define DISCOVERY_TS_I2Cx_SCL_GPIO_PORT GPIOH |
|
#define DISCOVERY_TS_I2Cx_SDA_PIN GPIO_PIN_14 |
|
#define DISCOVERY_TS_I2Cx_SDA_GPIO_PORT GPIOB |
|
#define DISCOVERY_TS_I2Cx_SCL_SDA_AF GPIO_AF4_I2C2 |
|
|
|
/* I2C interrupt requests */ |
|
#define DISCOVERY_TS_I2Cx_EV_IRQn I2C2_EV_IRQn |
|
#define DISCOVERY_TS_I2Cx_ER_IRQn I2C2_ER_IRQn |
|
|
|
/* I2C clock setting */ |
|
#define DISCOVERY_TS_RCC_PERIPHCLK_I2C RCC_PERIPHCLK_I2C2 |
|
#define DISCOVERY_TS_RCC_CLKSOURCE_I2C RCC_I2C2CLKSOURCE_SYSCLK |
|
|
|
|
|
|
|
/* Definition for Camera I2Cx resources */ |
|
#define DISCOVERY_CAMERA_I2Cx I2C2 |
|
#define DISCOVERY_CAMERA_I2Cx_CLK_ENABLE() __HAL_RCC_I2C2_CLK_ENABLE() |
|
#define DISCOVERY_CAMERA_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() |
|
#define DISCOVERY_CAMERA_I2Cx_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() |
|
#define DISCOVERY_CAMERA_I2Cx_SDA_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() |
|
#define DISCOVERY_CAMERA_I2Cx_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE() |
|
#define DISCOVERY_CAMERA_I2Cx_SCL_GPIO_CLK_DISABLE() __HAL_RCC_GPIOH_CLK_DISABLE() |
|
|
|
#define DISCOVERY_CAMERA_I2Cx_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET() |
|
#define DISCOVERY_CAMERA_I2Cx_RELEASE_RESET() __HAL_RCC_I2C2_RELEASE_RESET() |
|
|
|
/* Definition for I2Cx Pins */ |
|
#define DISCOVERY_CAMERA_I2Cx_SCL_PIN GPIO_PIN_4 |
|
#define DISCOVERY_CAMERA_I2Cx_SCL_GPIO_PORT GPIOH |
|
#define DISCOVERY_CAMERA_I2Cx_SDA_PIN GPIO_PIN_14 |
|
#define DISCOVERY_CAMERA_I2Cx_SDA_GPIO_PORT GPIOB |
|
#define DISCOVERY_CAMERA_I2Cx_SCL_SDA_AF GPIO_AF4_I2C2 |
|
|
|
/* I2C interrupt requests */ |
|
#define DISCOVERY_CAMERA_I2Cx_EV_IRQn I2C2_EV_IRQn |
|
#define DISCOVERY_CAMERA_I2Cx_ER_IRQn I2C2_ER_IRQn |
|
|
|
/* I2C clock setting */ |
|
#define DISCOVERY_CAMERA_RCC_PERIPHCLK_I2C RCC_PERIPHCLK_I2C2 |
|
#define DISCOVERY_CAMERA_RCC_CLKSOURCE_I2C RCC_I2C2CLKSOURCE_SYSCLK |
|
|
|
|
|
|
|
|
|
|
|
/* Definition for external, camera and Arduino connector I2Cx resources */ /* to be reviewed */ |
|
#define DISCOVERY_EXT_I2Cx I2C2 |
|
#define DISCOVERY_EXT_I2Cx_CLK_ENABLE() __HAL_RCC_I2C2_CLK_ENABLE() |
|
#define DISCOVERY_EXT_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() |
|
#define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() |
|
|
|
#define DISCOVERY_EXT_I2Cx_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET() |
|
#define DISCOVERY_EXT_I2Cx_RELEASE_RESET() __HAL_RCC_I2C2_RELEASE_RESET() |
|
|
|
/* Definition for I2Cx Pins */ |
|
#define DISCOVERY_EXT_I2Cx_SCL_PIN GPIO_PIN_10 |
|
#define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_PORT GPIOB |
|
#define DISCOVERY_EXT_I2Cx_SCL_AF GPIO_AF4_I2C2 |
|
#define DISCOVERY_EXT_I2Cx_SDA_AF GPIO_AF4_I2C2 |
|
#define DISCOVERY_EXT_I2Cx_SDA_PIN GPIO_PIN_9 |
|
|
|
/* I2C interrupt requests */ |
|
#define DISCOVERY_EXT_I2Cx_EV_IRQn I2C2_EV_IRQn |
|
#define DISCOVERY_EXT_I2Cx_ER_IRQn I2C2_ER_IRQn |
|
|
|
#ifndef DISCOVERY_I2C_SPEED |
|
#define DISCOVERY_I2C_SPEED 100000 |
|
#endif /* DISCOVERY_I2C_SPEED */ |
|
|
|
|
|
#endif /* HAL_I2C_MODULE_ENABLED */ |
|
|
|
|
|
|
|
/*##################### Audio Codec ##########################*/ |
|
/** |
|
* @brief Audio codec chip reset definition |
|
*/ |
|
/* Audio codec power on/off macro definition */ |
|
#define CODEC_AUDIO_POWER_OFF() HAL_GPIO_WritePin(AUDIO_RESET_GPIO, AUDIO_RESET_PIN, GPIO_PIN_RESET) |
|
#define CODEC_AUDIO_POWER_ON() HAL_GPIO_WritePin(AUDIO_RESET_GPIO, AUDIO_RESET_PIN, GPIO_PIN_SET) |
|
|
|
/* Audio Reset Pin definition */ |
|
#define AUDIO_RESET_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() |
|
#define AUDIO_RESET_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() |
|
#define AUDIO_RESET_PIN GPIO_PIN_6 |
|
#define AUDIO_RESET_GPIO GPIOC |
|
|
|
|
|
|
|
|
|
/*##################### MFX ##########################*/ |
|
/** |
|
* @brief MFX interface pins |
|
*/ |
|
|
|
#define MFX_INT_GPIO_PORT GPIOC /* GPIOC */ |
|
#define MFX_INT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() |
|
#define MFX_INT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() |
|
#define MFX_INT_PIN GPIO_PIN_5 /* PC.05 */ |
|
#define MFX_INT_EXTI_IRQn EXTI9_5_IRQn |
|
|
|
#define MFX_WAKEUP_GPIO_PORT GPIOH /* GPIOH */ |
|
#define MFX_WAKEUP_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE() |
|
#define MFX_WAKEUP_GPIO_CLK_DISABLE() __HAL_RCC_GPIOH_CLK_DISABLE() |
|
#define MFX_WAKEUP_PIN GPIO_PIN_6 /* PH.06 */ |
|
|
|
|
|
|
|
/* Legacy */ |
|
#define IDD_INT_GPIO_PORT MFX_INT_GPIO_PORT |
|
#define IDD_INT_GPIO_CLK_ENABLE() MFX_INT_GPIO_CLK_ENABLE() |
|
#define IDD_INT_GPIO_CLK_DISABLE() MFX_INT_GPIO_CLK_DISABLE() |
|
#define IDD_INT_PIN MFX_INT_PIN |
|
#define IDD_INT_EXTI_IRQn MFX_INT_EXTI_IRQn |
|
#define IDD_WAKEUP_GPIO_PORT MFX_WAKEUP_GPIO_PORT |
|
#define IDD_WAKEUP_GPIO_CLK_ENABLE() MFX_WAKEUP_GPIO_CLK_ENABLE() |
|
#define IDD_WAKEUP_GPIO_CLK_DISABLE() MFX_WAKEUP_GPIO_CLK_DISABLE() |
|
#define IDD_WAKEUP_PIN MFX_WAKEUP_PIN |
|
|
|
|
|
/** |
|
* @brief Idd current measurement interface pins on MFX |
|
*/ |
|
#define IDD_AMP_CONTROL_PIN AGPIO_PIN_1 |
|
|
|
/** |
|
* @brief TS INT pin |
|
*/ |
|
#define TS_INT_PIN GPIO_PIN_14 |
|
#define TS_INT_GPIO_PORT GPIOG |
|
#define TS_INT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOG_CLK_ENABLE() |
|
#define TS_INT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOG_CLK_DISABLE() |
|
#define TS_INT_EXTI_IRQn EXTI15_10_IRQn |
|
|
|
/** |
|
* @brief TS RST pin |
|
*/ |
|
/* TS RST is accessed thru the MFX */ |
|
#define TS_RST_PIN IO1_PIN_1 |
|
|
|
/** |
|
* @} |
|
*/ |
|
|
|
/** |
|
* @} |
|
*/ |
|
|
|
|
|
/** @defgroup STM32L496G_DISCOVERY_Exported_Functions Exported Functions |
|
* @{ |
|
*/ |
|
uint32_t BSP_GetVersion(void); |
|
void BSP_LED_Init(Led_TypeDef Led); |
|
void BSP_LED_DeInit(Led_TypeDef Led); |
|
void BSP_LED_On(Led_TypeDef Led); |
|
void BSP_LED_Off(Led_TypeDef Led); |
|
void BSP_LED_Toggle(Led_TypeDef Led); |
|
uint8_t BSP_JOY_Init(JOYMode_TypeDef Joy_Mode); |
|
void BSP_JOY_DeInit(void); |
|
JOYState_TypeDef BSP_JOY_GetState(void); |
|
#if defined(HAL_UART_MODULE_ENABLED) |
|
void BSP_COM_Init(COM_TypeDef COM, UART_HandleTypeDef *husart); |
|
void BSP_COM_DeInit(COM_TypeDef COM, UART_HandleTypeDef *huart); |
|
#endif /* HAL_UART_MODULE_ENABLED */ |
|
|
|
/* These __weak functions can be surcharged by application code for specific application needs */ |
|
void BSP_ErrorHandler(void); |
|
|
|
|
|
void FMC_BANK1_MspInit(void); |
|
void FMC_BANK1_MspDeInit(void); |
|
#if defined(HAL_I2C_MODULE_ENABLED) |
|
void I2C2_Init(void); |
|
void I2C2_DeInit(void); |
|
#endif /* HAL_I2C_MODULE_ENABLED */ |
|
|
|
/** |
|
* @} |
|
*/ |
|
|
|
/** |
|
* @} |
|
*/ |
|
|
|
/** |
|
* @} |
|
*/ |
|
|
|
/** |
|
* @} |
|
*/ |
|
|
|
#ifdef __cplusplus |
|
} |
|
#endif |
|
|
|
#endif /* __STM32L496G_DISCOVERY_H */ |
|
|
|
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
|
|