diff options
Diffstat (limited to 'keyboards/ergodox_stm32/boards/ERGODOX_STM32_BOARD/board.h')
| -rw-r--r-- | keyboards/ergodox_stm32/boards/ERGODOX_STM32_BOARD/board.h | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/keyboards/ergodox_stm32/boards/ERGODOX_STM32_BOARD/board.h b/keyboards/ergodox_stm32/boards/ERGODOX_STM32_BOARD/board.h new file mode 100644 index 000000000..307a17e38 --- /dev/null +++ b/keyboards/ergodox_stm32/boards/ERGODOX_STM32_BOARD/board.h | |||
| @@ -0,0 +1,142 @@ | |||
| 1 | /* | ||
| 2 | ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio | ||
| 3 | |||
| 4 | Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 5 | you may not use this file except in compliance with the License. | ||
| 6 | You may obtain a copy of the License at | ||
| 7 | |||
| 8 | http://www.apache.org/licenses/LICENSE-2.0 | ||
| 9 | |||
| 10 | Unless required by applicable law or agreed to in writing, software | ||
| 11 | distributed under the License is distributed on an "AS IS" BASIS, | ||
| 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 13 | See the License for the specific language governing permissions and | ||
| 14 | limitations under the License. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #ifndef _BOARD_H_ | ||
| 18 | #define _BOARD_H_ | ||
| 19 | |||
| 20 | /* | ||
| 21 | * Board identifier. | ||
| 22 | */ | ||
| 23 | #define BOARD_JM60 | ||
| 24 | #define BOARD_NAME "ErgoDox STM32 Keyboard" | ||
| 25 | |||
| 26 | /* | ||
| 27 | * Board frequencies. | ||
| 28 | */ | ||
| 29 | #define STM32_LSECLK 0 | ||
| 30 | #define STM32_HSECLK 8000000 | ||
| 31 | |||
| 32 | /* | ||
| 33 | * MCU type, supported types are defined in ./os/hal/platforms/hal_lld.h. | ||
| 34 | * | ||
| 35 | * Only xB (128KB Flash) is defined, but it's identical to the | ||
| 36 | * x8 version (64KB Flash) except for the Flash region size in the | ||
| 37 | * linker script. For x8 parts use xB here and change to the x8 linker | ||
| 38 | * script in the project Makefile. | ||
| 39 | */ | ||
| 40 | #define STM32F103xB | ||
| 41 | |||
| 42 | /* | ||
| 43 | * IO pins assignments | ||
| 44 | * | ||
| 45 | * numbering is sorted by onboard/connectors, as from the schematics in | ||
| 46 | * http://www.vcc-gnd.com/read.php?tid=369 | ||
| 47 | */ | ||
| 48 | |||
| 49 | /* on-board */ | ||
| 50 | #define GPIOA_USBDM 11 // pin 8 | ||
| 51 | #define GPIOA_USBDP 12 // pin 9 | ||
| 52 | |||
| 53 | #define GPIOC_OSC32_IN 14 | ||
| 54 | #define GPIOC_OSC32_OUT 15 | ||
| 55 | |||
| 56 | /* | ||
| 57 | * I/O ports initial setup, this configuration is established soon after reset | ||
| 58 | * in the initialization code. | ||
| 59 | * | ||
| 60 | * The digits have the following meaning: | ||
| 61 | * 0 - Analog input. | ||
| 62 | * 1 - Push Pull output 10MHz. | ||
| 63 | * 2 - Push Pull output 2MHz. | ||
| 64 | * 3 - Push Pull output 50MHz. | ||
| 65 | * 4 - Digital input. | ||
| 66 | * 5 - Open Drain output 10MHz. | ||
| 67 | * 6 - Open Drain output 2MHz. | ||
| 68 | * 7 - Open Drain output 50MHz. | ||
| 69 | * 8 - Digital input with PullUp or PullDown resistor depending on ODR. | ||
| 70 | * 9 - Alternate Push Pull output 10MHz. | ||
| 71 | * A - Alternate Push Pull output 2MHz. | ||
| 72 | * B - Alternate Push Pull output 50MHz. | ||
| 73 | * C - Reserved. | ||
| 74 | * D - Alternate Open Drain output 10MHz. | ||
| 75 | * E - Alternate Open Drain output 2MHz. | ||
| 76 | * F - Alternate Open Drain output 50MHz. | ||
| 77 | * Please refer to the STM32 Reference Manual for details. | ||
| 78 | */ | ||
| 79 | |||
| 80 | /* | ||
| 81 | * Port A setup. | ||
| 82 | * Everything input with pull-up except: | ||
| 83 | */ | ||
| 84 | #define VAL_GPIOACRL 0x88888888 /* PA7...PA0 */ | ||
| 85 | #define VAL_GPIOACRH 0x88888888 /* PA15...PA8 */ | ||
| 86 | #define VAL_GPIOAODR 0xFFFFFFFF | ||
| 87 | |||
| 88 | /* | ||
| 89 | * Port B setup. | ||
| 90 | * Everything input with pull-up except: | ||
| 91 | */ | ||
| 92 | #define VAL_GPIOBCRL 0x88888888 /* PB7...PB0 */ | ||
| 93 | #define VAL_GPIOBCRH 0x88888888 /* PB15...PB8 */ | ||
| 94 | #define VAL_GPIOBODR 0xFFFFFFFF | ||
| 95 | |||
| 96 | /* | ||
| 97 | * Port C setup. | ||
| 98 | * Everything input with pull-up except: | ||
| 99 | */ | ||
| 100 | #define VAL_GPIOCCRL 0x88888888 /* PC7...PC0 */ | ||
| 101 | #define VAL_GPIOCCRH 0x88888888 /* PC15...PC8 */ | ||
| 102 | #define VAL_GPIOCODR 0xFFFFFFFF | ||
| 103 | |||
| 104 | /* | ||
| 105 | * Port D setup. | ||
| 106 | * Everything input with pull-up except: | ||
| 107 | * PD0 - Normal input (XTAL). | ||
| 108 | * PD1 - Normal input (XTAL). | ||
| 109 | */ | ||
| 110 | #define VAL_GPIODCRL 0x88888844 /* PD7...PD0 */ | ||
| 111 | #define VAL_GPIODCRH 0x88888888 /* PD15...PD8 */ | ||
| 112 | #define VAL_GPIODODR 0xFFFFFFFF | ||
| 113 | |||
| 114 | /* | ||
| 115 | * Port E setup. | ||
| 116 | * Everything input with pull-up except: | ||
| 117 | */ | ||
| 118 | #define VAL_GPIOECRL 0x88888888 /* PE7...PE0 */ | ||
| 119 | #define VAL_GPIOECRH 0x88888888 /* PE15...PE8 */ | ||
| 120 | #define VAL_GPIOEODR 0xFFFFFFFF | ||
| 121 | |||
| 122 | /* | ||
| 123 | * USB bus activation macro, required by the USB driver. | ||
| 124 | */ | ||
| 125 | #define usb_lld_connect_bus(usbp) /* always connected */ | ||
| 126 | |||
| 127 | /* | ||
| 128 | * USB bus de-activation macro, required by the USB driver. | ||
| 129 | */ | ||
| 130 | #define usb_lld_disconnect_bus(usbp) /* always connected */ | ||
| 131 | |||
| 132 | #if !defined(_FROM_ASM_) | ||
| 133 | #ifdef __cplusplus | ||
| 134 | extern "C" { | ||
| 135 | #endif | ||
| 136 | void boardInit(void); | ||
| 137 | #ifdef __cplusplus | ||
| 138 | } | ||
| 139 | #endif | ||
| 140 | #endif /* _FROM_ASM_ */ | ||
| 141 | |||
| 142 | #endif /* _BOARD_H_ */ | ||
