Added support for Wb32fq95 (#16871)
This commit is contained in:
		
							parent
							
								
									1182f5b4be
								
							
						
					
					
						commit
						1c7e8b9a9d
					
				
					 15 changed files with 411 additions and 8 deletions
				
			
		
							
								
								
									
										82
									
								
								platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,82 @@
 | 
			
		|||
/*
 | 
			
		||||
    Copyright (C) 2022 Westberry Technology (ChangZhou) Corp., Ltd
 | 
			
		||||
 | 
			
		||||
    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.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * This file has been automatically generated using ChibiStudio board
 | 
			
		||||
 * generator plugin. Do not edit manually.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "hal.h"
 | 
			
		||||
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
/* Driver local definitions.                                                 */
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
/* Driver exported variables.                                                */
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
/* Driver local variables and types.                                         */
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
/* Driver local functions.                                                   */
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
 | 
			
		||||
static void wb32_gpio_init(void) {
 | 
			
		||||
 | 
			
		||||
#if WB32_HAS_GPIOA
 | 
			
		||||
  rccEnableAPB1(RCC_APB1ENR_GPIOAEN);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if WB32_HAS_GPIOB
 | 
			
		||||
  rccEnableAPB1(RCC_APB1ENR_GPIOBEN);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if WB32_HAS_GPIOC
 | 
			
		||||
  rccEnableAPB1(RCC_APB1ENR_GPIOCEN);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if WB32_HAS_GPIOD
 | 
			
		||||
  rccEnableAPB1(RCC_APB1ENR_GPIODEN);
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
/* Driver interrupt handlers.                                                */
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
/* Driver exported functions.                                                */
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
/*
 | 
			
		||||
 * Early initialization code.
 | 
			
		||||
 * This initialization must be performed just after stack setup and before
 | 
			
		||||
 * any other initialization.
 | 
			
		||||
 */
 | 
			
		||||
void __early_init(void) {
 | 
			
		||||
 | 
			
		||||
  wb32_clock_init();
 | 
			
		||||
  wb32_gpio_init();
 | 
			
		||||
}
 | 
			
		||||
/**
 | 
			
		||||
 * @brief   Board-specific initialization code.
 | 
			
		||||
 * @note    You can add your board-specific code here.
 | 
			
		||||
 */
 | 
			
		||||
void boardInit(void) {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										59
									
								
								platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,59 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
/*
 | 
			
		||||
    Copyright (C) 2022 Westberry Technology (ChangZhou) Corp., Ltd
 | 
			
		||||
 | 
			
		||||
    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.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * This file has been automatically generated using ChibiStudio board
 | 
			
		||||
 * generator plugin. Do not edit manually.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef BOARD_H
 | 
			
		||||
#define BOARD_H
 | 
			
		||||
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
/* Driver constants.                                                         */
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Setup board.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Board identifier.
 | 
			
		||||
 */
 | 
			
		||||
#if !(defined(WB32FQ95x9) || defined(WB32FQ95xB) || defined(WB32FQ95xC))
 | 
			
		||||
  #define WB32FQ95xB
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(WB32FQ95xx)
 | 
			
		||||
  #define WB32FQ95xx
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
/* External declarations.                                                    */
 | 
			
		||||
/*===========================================================================*/
 | 
			
		||||
 | 
			
		||||
#if !defined(_FROM_ASM_)
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
  void boardInit(void);
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
#endif /* _FROM_ASM_ */
 | 
			
		||||
 | 
			
		||||
#endif /* BOARD_H */
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
# List of all the board related files.
 | 
			
		||||
BOARDSRC = $(BOARD_PATH)/board/board.c
 | 
			
		||||
 | 
			
		||||
# Required include directories
 | 
			
		||||
BOARDINC = $(BOARD_PATH)/board
 | 
			
		||||
 | 
			
		||||
# Shared variables
 | 
			
		||||
ALLCSRC += $(BOARDSRC)
 | 
			
		||||
ALLINC  += $(BOARDINC)
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,26 @@
 | 
			
		|||
/* Copyright 2020 QMK
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * This file was auto-generated by:
 | 
			
		||||
 *    `qmk chibios-confmigrate -i platforms/chibios/boards/GENERIC_WB32_F3G71XX/configs/chconf.h -r platforms/chibios/boards/common/configs/chconf.h`
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#define CH_CFG_ST_TIMEDELTA 0
 | 
			
		||||
 | 
			
		||||
#include_next <chconf.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
/*  Copyright (C) 2022 Westberry Technology (ChangZhou) Corp., Ltd
 | 
			
		||||
 *
 | 
			
		||||
 *  This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 *  it under the terms of the GNU General Public License as published by
 | 
			
		||||
 *  the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
 *  (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 *  This program is distributed in the hope that it will be useful,
 | 
			
		||||
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 *  GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 *  You should have received a copy of the GNU General Public License
 | 
			
		||||
 *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP
 | 
			
		||||
#    define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										168
									
								
								platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/mcuconf.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										168
									
								
								platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/mcuconf.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,168 @@
 | 
			
		|||
/*
 | 
			
		||||
    Copyright (C) 2022 Westberry Technology (ChangZhou) Corp., Ltd
 | 
			
		||||
 | 
			
		||||
    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.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef MCUCONF_H
 | 
			
		||||
#define MCUCONF_H
 | 
			
		||||
 | 
			
		||||
#define WB32FQ95xx_MCUCONF  TRUE
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * WB32FQ95 drivers configuration.
 | 
			
		||||
 * The following settings override the default settings present in
 | 
			
		||||
 * the various device driver implementation headers.
 | 
			
		||||
 * Note that the settings for each driver only have effect if the whole
 | 
			
		||||
 * driver is enabled in halconf.h.
 | 
			
		||||
 *
 | 
			
		||||
 * IRQ priorities:
 | 
			
		||||
 * 15...0       Lowest...Highest.
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @name    Internal clock sources
 | 
			
		||||
 * @{
 | 
			
		||||
 */
 | 
			
		||||
#define WB32_HSECLK                        12000000
 | 
			
		||||
#define WB32_LSECLK                        32768
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * HAL driver system settings.
 | 
			
		||||
 */
 | 
			
		||||
#define WB32_NO_INIT                       FALSE
 | 
			
		||||
#define WB32_MHSI_ENABLED                  TRUE
 | 
			
		||||
#define WB32_FHSI_ENABLED                  FALSE
 | 
			
		||||
#define WB32_LSI_ENABLED                   FALSE
 | 
			
		||||
#define WB32_HSE_ENABLED                   TRUE
 | 
			
		||||
#define WB32_LSE_ENABLED                   FALSE
 | 
			
		||||
#define WB32_PLL_ENABLED                   TRUE
 | 
			
		||||
#define WB32_MAINCLKSRC                    WB32_MAINCLKSRC_PLL
 | 
			
		||||
#define WB32_PLLSRC                        WB32_PLLSRC_HSE
 | 
			
		||||
#define WB32_PLLDIV_VALUE                  2
 | 
			
		||||
#define WB32_PLLMUL_VALUE                  12     //The allowed range is 12,16,20,24.
 | 
			
		||||
#define WB32_HPRE                          1
 | 
			
		||||
#define WB32_PPRE1                         1
 | 
			
		||||
#define WB32_PPRE2                         1
 | 
			
		||||
#define WB32_USBPRE                        WB32_USBPRE_DIV1P5
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * EXTI driver system settings.
 | 
			
		||||
 */
 | 
			
		||||
#define WB32_IRQ_EXTI0_PRIORITY            6
 | 
			
		||||
#define WB32_IRQ_EXTI1_PRIORITY            6
 | 
			
		||||
#define WB32_IRQ_EXTI2_PRIORITY            6
 | 
			
		||||
#define WB32_IRQ_EXTI3_PRIORITY            6
 | 
			
		||||
#define WB32_IRQ_EXTI4_PRIORITY            6
 | 
			
		||||
#define WB32_IRQ_EXTI5_9_PRIORITY          6
 | 
			
		||||
#define WB32_IRQ_EXTI10_15_PRIORITY        6
 | 
			
		||||
#define WB32_IRQ_EXTI16_PRIORITY           6
 | 
			
		||||
#define WB32_IRQ_EXTI17_PRIORITY           6
 | 
			
		||||
#define WB32_IRQ_EXTI18_PRIORITY           6
 | 
			
		||||
#define WB32_IRQ_EXTI19_PRIORITY           6
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * GPT driver system settings.
 | 
			
		||||
 */
 | 
			
		||||
#define WB32_TIM_MAX_CHANNELS              4
 | 
			
		||||
#define WB32_GPT_USE_TIM1                  FALSE
 | 
			
		||||
#define WB32_GPT_USE_TIM2                  FALSE
 | 
			
		||||
#define WB32_GPT_USE_TIM3                  FALSE
 | 
			
		||||
#define WB32_GPT_USE_TIM4                  FALSE
 | 
			
		||||
#define WB32_GPT_TIM1_IRQ_PRIORITY         7
 | 
			
		||||
#define WB32_GPT_TIM2_IRQ_PRIORITY         7
 | 
			
		||||
#define WB32_GPT_TIM3_IRQ_PRIORITY         7
 | 
			
		||||
#define WB32_GPT_TIM4_IRQ_PRIORITY         7
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * ICU driver system settings.
 | 
			
		||||
 */
 | 
			
		||||
#define WB32_ICU_USE_TIM1                  FALSE
 | 
			
		||||
#define WB32_ICU_USE_TIM2                  FALSE
 | 
			
		||||
#define WB32_ICU_USE_TIM3                  FALSE
 | 
			
		||||
#define WB32_ICU_USE_TIM4                  FALSE
 | 
			
		||||
#define WB32_ICU_TIM1_IRQ_PRIORITY         7
 | 
			
		||||
#define WB32_ICU_TIM2_IRQ_PRIORITY         7
 | 
			
		||||
#define WB32_ICU_TIM3_IRQ_PRIORITY         7
 | 
			
		||||
#define WB32_ICU_TIM4_IRQ_PRIORITY         7
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * PWM driver system settings.
 | 
			
		||||
 */
 | 
			
		||||
#define WB32_PWM_USE_ADVANCED              FALSE
 | 
			
		||||
#define WB32_PWM_USE_TIM1                  FALSE
 | 
			
		||||
#define WB32_PWM_USE_TIM2                  FALSE
 | 
			
		||||
#define WB32_PWM_USE_TIM3                  FALSE
 | 
			
		||||
#define WB32_PWM_USE_TIM4                  FALSE
 | 
			
		||||
#define WB32_PWM_TIM1_IRQ_PRIORITY         7
 | 
			
		||||
#define WB32_PWM_TIM2_IRQ_PRIORITY         7
 | 
			
		||||
#define WB32_PWM_TIM3_IRQ_PRIORITY         7
 | 
			
		||||
#define WB32_PWM_TIM4_IRQ_PRIORITY         7
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * I2C driver system settings.
 | 
			
		||||
 */
 | 
			
		||||
#define WB32_I2C_USE_I2C1                  FALSE
 | 
			
		||||
#define WB32_I2C_USE_I2C2                  FALSE
 | 
			
		||||
#define WB32_I2C_BUSY_TIMEOUT              50
 | 
			
		||||
#define WB32_I2C_I2C1_IRQ_PRIORITY         5
 | 
			
		||||
#define WB32_I2C_I2C2_IRQ_PRIORITY         5
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * SERIAL driver system settings.
 | 
			
		||||
 */
 | 
			
		||||
#define WB32_SERIAL_USE_UART1             FALSE
 | 
			
		||||
#define WB32_SERIAL_USE_UART2             FALSE
 | 
			
		||||
#define WB32_SERIAL_USE_UART3             FALSE
 | 
			
		||||
#define WB32_SERIAL_USART1_PRIORITY        12
 | 
			
		||||
#define WB32_SERIAL_USART2_PRIORITY        12
 | 
			
		||||
#define WB32_SERIAL_USART3_PRIORITY        12
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * SPI driver system settings.
 | 
			
		||||
 */
 | 
			
		||||
#define WB32_SPI_USE_QSPI                   FALSE
 | 
			
		||||
#define WB32_SPI_USE_SPIM2                  FALSE
 | 
			
		||||
#define WB32_SPI_USE_SPIS1                  FALSE
 | 
			
		||||
#define WB32_SPI_USE_SPIS2                  FALSE
 | 
			
		||||
#define WB32_SPI_QSPI_IRQ_PRIORITY          10
 | 
			
		||||
#define WB32_SPI_SPIM2_IRQ_PRIORITY         10
 | 
			
		||||
#define WB32_SPI_SPIS1_IRQ_PRIORITY         10
 | 
			
		||||
#define WB32_SPI_SPIS2_IRQ_PRIORITY         10
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * ST driver system settings.
 | 
			
		||||
 */
 | 
			
		||||
#define WB32_ST_IRQ_PRIORITY                8
 | 
			
		||||
#define WB32_ST_USE_TIMER                   2
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * UART driver system settings.
 | 
			
		||||
 */
 | 
			
		||||
#define WB32_UART_USE_UART1                 FALSE
 | 
			
		||||
#define WB32_UART_USE_UART2                 FALSE
 | 
			
		||||
#define WB32_UART_USE_UART3                 FALSE
 | 
			
		||||
#define WB32_UART_UART1_IRQ_PRIORITY        12
 | 
			
		||||
#define WB32_UART_UART2_IRQ_PRIORITY        12
 | 
			
		||||
#define WB32_UART_UART3_IRQ_PRIORITY        12
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * USB driver system settings.
 | 
			
		||||
 */
 | 
			
		||||
#define WB32_USB_USE_USB1                   TRUE
 | 
			
		||||
#define WB32_USB_USB1_IRQ_PRIORITY          13
 | 
			
		||||
#define WB32_USB_HOST_WAKEUP_DURATION       10
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#endif /* MCUCONF_H */
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue