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.
		
		
		
		
		
			
		
			
				
					143 lines
				
				3.9 KiB
			
		
		
			
		
	
	
					143 lines
				
				3.9 KiB
			| 
								 
											8 years ago
										 
									 | 
							
								/*
							 | 
						||
| 
								 | 
							
								    ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    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 _BOARD_H_
							 | 
						||
| 
								 | 
							
								#define _BOARD_H_
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Board identifier.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define BOARD_JM60
							 | 
						||
| 
								 | 
							
								#define BOARD_NAME              "JM60 keyboard"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Board frequencies.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define STM32_LSECLK            32768
							 | 
						||
| 
								 | 
							
								#define STM32_HSECLK            8000000
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * MCU type, supported types are defined in ./os/hal/platforms/hal_lld.h.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Only xB (128KB Flash) is defined, but it's identical to the
							 | 
						||
| 
								 | 
							
								 * x8 version (64KB Flash) except for the Flash region size in the
							 | 
						||
| 
								 | 
							
								 * linker script. For x8 parts use xB here and change to the x8 linker
							 | 
						||
| 
								 | 
							
								 * script in the project Makefile.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define STM32F103xB
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * IO pins assignments
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * numbering is sorted by onboard/connectors, as from the schematics in
							 | 
						||
| 
								 | 
							
								 * http://www.vcc-gnd.com/read.php?tid=369
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* on-board */
							 | 
						||
| 
								 | 
							
								#define GPIOA_USBDM             11      // pin 8
							 | 
						||
| 
								 | 
							
								#define GPIOA_USBDP             12      // pin 9
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define GPIOC_OSC32_IN          14
							 | 
						||
| 
								 | 
							
								#define GPIOC_OSC32_OUT         15
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * 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.
							 | 
						||
| 
								 | 
							
								 * Everything input with pull-up except:
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define VAL_GPIOACRL            0x88888888      /*  PA7...PA0 */
							 | 
						||
| 
								 | 
							
								#define VAL_GPIOACRH            0x88888888      /* 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
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * USB bus activation macro, required by the USB driver.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define usb_lld_connect_bus(usbp)	/* always connected */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * USB bus de-activation macro, required by the USB driver.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define usb_lld_disconnect_bus(usbp)	/* always connected */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if !defined(_FROM_ASM_)
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								extern "C" {
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								  void boardInit(void);
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								#endif /* _FROM_ASM_ */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* _BOARD_H_ */
							 |