From de39c484d06ee6436746caea8a6afbcca68d182f Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Tue, 1 Nov 2011 11:41:20 +0900 Subject: [PATCH] support FST-01 8MHz --- ChangeLog | 2 + boards/FST_01_00/board.c | 36 +++++++++++ boards/FST_01_00/board.h | 129 +++++++++++++++++++++++++++++++++++++ boards/FST_01_00/mcuconf.h | 15 +++++ 4 files changed, 182 insertions(+) create mode 100644 boards/FST_01_00/board.c create mode 100644 boards/FST_01_00/board.h create mode 100644 boards/FST_01_00/mcuconf.h diff --git a/ChangeLog b/ChangeLog index 10057a9..93136de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2011-11-01 Niibe Yutaka + * boards/FST_01_00: New (for 8MHz FST-01). + * src/ac.c (calc_md): Fix comparison. * src/call-rsa.c (RSA_SIGNATURE_LENGTH): Use KEY_CONTENT_LEN. diff --git a/boards/FST_01_00/board.c b/boards/FST_01_00/board.c new file mode 100644 index 0000000..2425ffe --- /dev/null +++ b/boards/FST_01_00/board.c @@ -0,0 +1,36 @@ +#include "config.h" +#include "ch.h" +#include "hal.h" + +#include "../common/hwinit.c" + +void +hwinit0 (void) +{ + hwinit0_common (); +} + +void +hwinit1 (void) +{ + hwinit1_common (); +} + + +void +USB_Cable_Config (int NewState) +{ + if (NewState != DISABLE) + palSetPad (IOPORT1, GPIOA_USB_ENABLE); + else + palClearPad (IOPORT1, GPIOA_USB_ENABLE); +} + +void +set_led (int value) +{ + if (value) + palSetPad (IOPORT1, GPIOA_LED); + else + palClearPad (IOPORT1, GPIOA_LED); +} diff --git a/boards/FST_01_00/board.h b/boards/FST_01_00/board.h new file mode 100644 index 0000000..a938218 --- /dev/null +++ b/boards/FST_01_00/board.h @@ -0,0 +1,129 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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. + + ChibiOS/RT 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 . + + --- + + A special exception to the GPL can be applied should you wish to distribute + a combined work that includes ChibiOS/RT, without being obliged to provide + the source code for any proprietary components. See the file exception.txt + for full details of how and when the exception can be applied. +*/ + +#ifndef _BOARD_H_ +#define _BOARD_H_ + +/* + * Setup for the FST-01 board (experimental version 00). + */ + +/* + * Board identifier. + */ +#define BOARD_FST_01 +#define BOARD_NAME "FST-01-00" + +/* + * Board frequencies. + */ +#define STM32_LSECLK 32768 +#define STM32_HSECLK 8000000 + +/* + * MCU type, this macro is used by both the ST library and the ChibiOS/RT + * native STM32 HAL. + */ +#define STM32F10X_MD +#define CPU_WITH_NO_GPIOE 1 + +/* + * IO pins assignments. + */ +#define GPIOA_LED 8 +#define GPIOA_USB_ENABLE 10 + +/* + * I/O ports initial setup, this configuration is established soon after reset + * in the initialization code. + * + * The digits have the following meaning: + * 0 - Analog input. + * 1 - Push Pull output 10MHz. + * 2 - Push Pull output 2MHz. + * 3 - Push Pull output 50MHz. + * 4 - Digital input. + * 5 - Open Drain output 10MHz. + * 6 - Open Drain output 2MHz. + * 7 - Open Drain output 50MHz. + * 8 - Digital input with PullUp or PullDown resistor depending on ODR. + * 9 - Alternate Push Pull output 10MHz. + * A - Alternate Push Pull output 2MHz. + * B - Alternate Push Pull output 50MHz. + * C - Reserved. + * D - Alternate Open Drain output 10MHz. + * E - Alternate Open Drain output 2MHz. + * F - Alternate Open Drain output 50MHz. + * Please refer to the STM32 Reference Manual for details. + */ + +/* + * Port A setup. + * PA11 - input with pull-up (USBDM) + * PA12 - input with pull-up (USBDP) + * Everything input with pull-up except: + * PA8 - Push pull output (LED 1:ON 0:OFF) + * PA10 - Push pull output (USB 1:ON 0:OFF) + */ +#define VAL_GPIOACRL 0x88888888 /* PA7...PA0 */ +#define VAL_GPIOACRH 0x88888383 /* PA15...PA8 */ +#define VAL_GPIOAODR 0xFFFFFFFF + +/* + * Port B setup. + * Everything input with pull-up except: + */ +#define VAL_GPIOBCRL 0x88888888 /* PB7...PB0 */ +#define VAL_GPIOBCRH 0x88888888 /* PB15...PB8 */ +#define VAL_GPIOBODR 0xFFFFFFFF + +/* + * Port C setup. + * Everything input with pull-up except: + */ +#define VAL_GPIOCCRL 0x88888888 /* PC7...PC0 */ +#define VAL_GPIOCCRH 0x88888888 /* PC15...PC8 */ +#define VAL_GPIOCODR 0xFFFFFFFF + +/* + * Port D setup. + * Everything input with pull-up except: + * PD0 - Normal input (XTAL). + * PD1 - Normal input (XTAL). + */ +#define VAL_GPIODCRL 0x88888844 /* PD7...PD0 */ +#define VAL_GPIODCRH 0x88888888 /* PD15...PD8 */ +#define VAL_GPIODODR 0xFFFFFFFF + +/* + * Port E setup. + * Everything input with pull-up except: + */ +#define VAL_GPIOECRL 0x88888888 /* PE7...PE0 */ +#define VAL_GPIOECRH 0x88888888 /* PE15...PE8 */ +#define VAL_GPIOEODR 0xFFFFFFFF + +#endif /* _BOARD_H_ */ diff --git a/boards/FST_01_00/mcuconf.h b/boards/FST_01_00/mcuconf.h new file mode 100644 index 0000000..acfb005 --- /dev/null +++ b/boards/FST_01_00/mcuconf.h @@ -0,0 +1,15 @@ +/* + * HAL driver system settings. + */ +#define STM32_SW STM32_SW_PLL +#define STM32_PLLSRC STM32_PLLSRC_HSE +#define STM32_PLLXTPRE STM32_PLLXTPRE_DIV1 +#define STM32_PLLMUL_VALUE 9 +#define STM32_HPRE STM32_HPRE_DIV1 +#define STM32_PPRE1 STM32_PPRE1_DIV2 +#define STM32_PPRE2 STM32_PPRE2_DIV2 +#define STM32_ADCPRE STM32_ADCPRE_DIV4 +#define STM32_USBPRE STM32_USBPRE_DIV1P5 +#define STM32_MCO STM32_MCO_NOCLOCK + +#include "mcuconf-common.h"