Skip to content

Commit

Permalink
Merge pull request #13906 from jeromecoutant/PR_G070
Browse files Browse the repository at this point in the history
STM32G070: generic target creation
  • Loading branch information
0xc0170 authored Nov 27, 2020
2 parents 28eeee2 + b79b8f5 commit 33a7e66
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 12 deletions.
2 changes: 2 additions & 0 deletions targets/TARGET_STM/TARGET_STM32G0/objects.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
extern "C" {
#endif

#define RTC_WKUP_IRQn RTC_TAMP_IRQn

struct gpio_irq_s {
IRQn_Type irq_n;
uint32_t irq_index;
Expand Down
28 changes: 22 additions & 6 deletions targets/TARGET_STM/TARGET_STM32G0/serial_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -129,24 +129,32 @@ void serial_irq_set(serial_t *obj, SerialIrq irq, uint32_t enable)

#if defined(USART3_BASE)
if (obj_s->uart == UART_3) {
#if defined(LPUART1_BASE)
irq_n = USART3_4_LPUART1_IRQn;
#else
irq_n = USART3_4_IRQn;
#endif
vector = (uint32_t)&uart3_irq;
}
#endif

#if defined(USART4_BASE)
if (obj_s->uart == UART_4) {
#if defined(LPUART1_BASE)
irq_n = USART3_4_LPUART1_IRQn;
#else
irq_n = USART3_4_IRQn;
#endif
vector = (uint32_t)&uart4_irq;
}
#endif

#if defined(LPUART1_BASE)
if (obj_s->uart == LPUART_1) {
#if defined(STM32G031xx)
irq_n = LPUART1_IRQn;
#else
#if defined(USART3_BASE)
irq_n = USART3_4_LPUART1_IRQn;
#else
irq_n = LPUART1_IRQn;
#endif
vector = (uint32_t)&lpuart1_irq;
}
Expand Down Expand Up @@ -326,21 +334,29 @@ static IRQn_Type serial_get_irq_n(UARTName uart_name)
#endif
#if defined(USART3_BASE)
case UART_3:
#if defined(LPUART1_BASE)
irq_n = USART3_4_LPUART1_IRQn;
#else
irq_n = USART3_4_IRQn;
#endif
break;
#endif
#if defined(USART4_BASE)
case UART_4:
#if defined(LPUART1_BASE)
irq_n = USART3_4_LPUART1_IRQn;
#else
irq_n = USART3_4_IRQn;
#endif
break;
#endif

#if defined(LPUART1_BASE)
case LPUART_1:
#if defined(STM32G031xx)
irq_n = LPUART1_IRQn;
#else
#if defined(USART3_BASE)
irq_n = USART3_4_LPUART1_IRQn;
#else
irq_n = LPUART1_IRQn;
#endif
break;
#endif
Expand Down
26 changes: 20 additions & 6 deletions targets/TARGET_STM/TARGET_STM32G0/us_ticker_data.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
* SPDX-License-Identifier: BSD-3-Clause
******************************************************************************
*
* Copyright (c) 2017 STMicroelectronics.
* Copyright (c) 2017 STMicroelectronics.
* All rights reserved.
*
* 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
* 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
*
Expand All @@ -16,13 +16,15 @@
#define __US_TICKER_DATA_H

#ifdef __cplusplus
extern "C" {
extern "C" {
#endif

#include "stm32g0xx.h"
#include "stm32g0xx_ll_tim.h"
#include "cmsis_nvic.h"


#if defined TIM2_BASE

#define TIM_MST TIM2
#define TIM_MST_IRQ TIM2_IRQn
#define TIM_MST_RCC __TIM2_CLK_ENABLE()
Expand All @@ -33,12 +35,24 @@

#define TIM_MST_BIT_WIDTH 32 // 16 or 32

#define TIM_MST_PCLK 1 // Select the peripheral clock number (1 or 2)
#else // TIM2_BASE

#define TIM_MST TIM3
#define TIM_MST_IRQ TIM3_IRQn
#define TIM_MST_RCC __TIM3_CLK_ENABLE()
#define TIM_MST_DBGMCU_FREEZE __HAL_DBGMCU_FREEZE_TIM3()

#define TIM_MST_RESET_ON __TIM3_FORCE_RESET()
#define TIM_MST_RESET_OFF __TIM3_RELEASE_RESET()

#define TIM_MST_BIT_WIDTH 16 // 16 or 32

#endif // TIM2_BASE

#define TIM_MST_PCLK 1 // Select the peripheral clock number (1 or 2)

#ifdef __cplusplus
}
#endif

#endif // __US_TICKER_DATA_H

20 changes: 20 additions & 0 deletions targets/targets.json
Original file line number Diff line number Diff line change
Expand Up @@ -2472,6 +2472,26 @@
],
"device_name": "STM32G031K8Tx"
},
"MCU_STM32G070xx": {
"inherits": [
"MCU_STM32G0"
],
"public": false,
"extra_labels_add": [
"STM32G070xx"
],
"macros_add": [
"STM32G070xx"
],
"macros_remove": [
"EXTRA_IDLE_STACK_REQUIRED",
"MBED_TICKLESS"
],
"overrides": {
"lpticker_delay_ticks": 1,
"lpticker_lptim": "0"
}
},
"MCU_STM32G071xx": {
"inherits": [
"MCU_STM32G0"
Expand Down

0 comments on commit 33a7e66

Please sign in to comment.