/* ChibiOS - Copyright (C) 2017 Wim Lewis 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_ /* * Setup for the PJRC Teensy 3.5 board. */ /* * Board identifier */ #define BOARD_PJRC_TEENSY_3_5 #define BOARD_NAME "PJRC Teensy 3.5" /* External 16 MHz crystal */ #define KINETIS_XTAL_FREQUENCY 16000000UL /* Use internal capacitors for the crystal */ #define KINETIS_BOARD_OSCILLATOR_SETTING OSC_CR_SC8P|OSC_CR_SC2P /* * MCU type */ #define K64FX512 /* * IO pin assignments */ #define TEENSY_PIN25 5 #define TEENSY_PIN3 12 #define TEENSY_PIN4 13 #define TEENSY_PIN26 14 #define TEENSY_PIN27 15 #define TEENSY_PIN28 16 #define TEENSY_PIN39 17 #define TEENSY_PIN42 26 #define TEENSY_PIN40 28 #define TEENSY_PIN41 29 #define TEENSY_PIN25_IOPORT IOPORT1 #define TEENSY_PIN3_IOPORT IOPORT1 #define TEENSY_PIN4_IOPORT IOPORT1 #define TEENSY_PIN26_IOPORT IOPORT1 #define TEENSY_PIN27_IOPORT IOPORT1 #define TEENSY_PIN28_IOPORT IOPORT1 #define TEENSY_PIN39_IOPORT IOPORT1 #define TEENSY_PIN42_IOPORT IOPORT1 #define TEENSY_PIN40_IOPORT IOPORT1 #define TEENSY_PIN41_IOPORT IOPORT1 #define TEENSY_PIN16 0 #define TEENSY_PIN17 1 #define TEENSY_PIN19 2 #define TEENSY_PIN18 3 #define TEENSY_PIN49 4 #define TEENSY_PIN50 5 #define TEENSY_PIN31 10 #define TEENSY_PIN32 11 #define TEENSY_PIN0 16 #define TEENSY_PIN1 17 #define TEENSY_PIN29 18 #define TEENSY_PIN30 19 #define TEENSY_PIN43 20 #define TEENSY_PIN46 21 #define TEENSY_PIN44 22 #define TEENSY_PIN45 23 #define TEENSY_PIN16_IOPORT IOPORT2 #define TEENSY_PIN17_IOPORT IOPORT2 #define TEENSY_PIN19_IOPORT IOPORT2 #define TEENSY_PIN18_IOPORT IOPORT2 #define TEENSY_PIN49_IOPORT IOPORT2 #define TEENSY_PIN50_IOPORT IOPORT2 #define TEENSY_PIN31_IOPORT IOPORT2 #define TEENSY_PIN32_IOPORT IOPORT2 #define TEENSY_PIN0_IOPORT IOPORT2 #define TEENSY_PIN1_IOPORT IOPORT2 #define TEENSY_PIN29_IOPORT IOPORT2 #define TEENSY_PIN30_IOPORT IOPORT2 #define TEENSY_PIN43_IOPORT IOPORT2 #define TEENSY_PIN46_IOPORT IOPORT2 #define TEENSY_PIN44_IOPORT IOPORT2 #define TEENSY_PIN45_IOPORT IOPORT2 #define TEENSY_PIN15 0 #define TEENSY_PIN22 1 #define TEENSY_PIN23 2 #define TEENSY_PIN9 3 #define TEENSY_PIN10 4 #define TEENSY_PIN13 5 #define TEENSY_PIN11 6 #define TEENSY_PIN12 7 #define TEENSY_PIN35 8 #define TEENSY_PIN36 9 #define TEENSY_PIN37 10 #define TEENSY_PIN38 11 #define TEENSY_PIN15_IOPORT IOPORT3 #define TEENSY_PIN22_IOPORT IOPORT3 #define TEENSY_PIN23_IOPORT IOPORT3 #define TEENSY_PIN9_IOPORT IOPORT3 #define TEENSY_PIN10_IOPORT IOPORT3 #define TEENSY_PIN13_IOPORT IOPORT3 #define TEENSY_PIN11_IOPORT IOPORT3 #define TEENSY_PIN12_IOPORT IOPORT3 #define TEENSY_PIN35_IOPORT IOPORT3 #define TEENSY_PIN36_IOPORT IOPORT3 #define TEENSY_PIN37_IOPORT IOPORT3 #define TEENSY_PIN38_IOPORT IOPORT3 #define TEENSY_PIN2 0 #define TEENSY_PIN14 1 #define TEENSY_PIN7 2 #define TEENSY_PIN8 3 #define TEENSY_PIN6 4 #define TEENSY_PIN20 5 #define TEENSY_PIN21 6 #define TEENSY_PIN5 7 #define TEENSY_PIN47 8 #define TEENSY_PIN48 9 #define TEENSY_PIN55 11 #define TEENSY_PIN53 12 #define TEENSY_PIN52 13 #define TEENSY_PIN51 14 #define TEENSY_PIN54 15 #define TEENSY_PIN2_IOPORT IOPORT4 #define TEENSY_PIN14_IOPORT IOPORT4 #define TEENSY_PIN7_IOPORT IOPORT4 #define TEENSY_PIN8_IOPORT IOPORT4 #define TEENSY_PIN6_IOPORT IOPORT4 #define TEENSY_PIN20_IOPORT IOPORT4 #define TEENSY_PIN21_IOPORT IOPORT4 #define TEENSY_PIN5_IOPORT IOPORT4 #define TEENSY_PIN47_IOPORT IOPORT4 #define TEENSY_PIN48_IOPORT IOPORT4 #define TEENSY_PIN55_IOPORT IOPORT4 #define TEENSY_PIN53_IOPORT IOPORT4 #define TEENSY_PIN52_IOPORT IOPORT4 #define TEENSY_PIN51_IOPORT IOPORT4 #define TEENSY_PIN54_IOPORT IOPORT4 #define TEENSY_PIN56 10 #define TEENSY_PIN57 11 #define TEENSY_PIN33 24 #define TEENSY_PIN34 25 #define TEENSY_PIN24 26 #define TEENSY_PIN56_IOPORT IOPORT5 #define TEENSY_PIN57_IOPORT IOPORT5 #define TEENSY_PIN33_IOPORT IOPORT5 #define TEENSY_PIN34_IOPORT IOPORT5 #define TEENSY_PIN24_IOPORT IOPORT5 #define LINE_PIN1 PAL_LINE(TEENSY_PIN1_IOPORT, TEENSY_PIN1) #define LINE_PIN2 PAL_LINE(TEENSY_PIN2_IOPORT, TEENSY_PIN2) #define LINE_PIN3 PAL_LINE(TEENSY_PIN3_IOPORT, TEENSY_PIN3) #define LINE_PIN4 PAL_LINE(TEENSY_PIN4_IOPORT, TEENSY_PIN4) #define LINE_PIN5 PAL_LINE(TEENSY_PIN5_IOPORT, TEENSY_PIN5) #define LINE_PIN6 PAL_LINE(TEENSY_PIN6_IOPORT, TEENSY_PIN6) #define LINE_PIN7 PAL_LINE(TEENSY_PIN7_IOPORT, TEENSY_PIN7) #define LINE_PIN8 PAL_LINE(TEENSY_PIN8_IOPORT, TEENSY_PIN8) #define LINE_PIN9 PAL_LINE(TEENSY_PIN9_IOPORT, TEENSY_PIN9) #define LINE_PIN10 PAL_LINE(TEENSY_PIN10_IOPORT, TEENSY_PIN10) #define LINE_PIN11 PAL_LINE(TEENSY_PIN11_IOPORT, TEENSY_PIN11) #define LINE_PIN12 PAL_LINE(TEENSY_PIN12_IOPORT, TEENSY_PIN12) #define LINE_PIN13 PAL_LINE(TEENSY_PIN13_IOPORT, TEENSY_PIN13) #define LINE_PIN14 PAL_LINE(TEENSY_PIN14_IOPORT, TEENSY_PIN14) #define LINE_PIN15 PAL_LINE(TEENSY_PIN15_IOPORT, TEENSY_PIN15) #define LINE_PIN16 PAL_LINE(TEENSY_PIN16_IOPORT, TEENSY_PIN16) #define LINE_PIN17 PAL_LINE(TEENSY_PIN17_IOPORT, TEENSY_PIN17) #define LINE_PIN18 PAL_LINE(TEENSY_PIN18_IOPORT, TEENSY_PIN18) #define LINE_PIN19 PAL_LINE(TEENSY_PIN19_IOPORT, TEENSY_PIN19) #define LINE_PIN20 PAL_LINE(TEENSY_PIN20_IOPORT, TEENSY_PIN20) #define LINE_PIN21 PAL_LINE(TEENSY_PIN21_IOPORT, TEENSY_PIN21) #define LINE_PIN22 PAL_LINE(TEENSY_PIN22_IOPORT, TEENSY_PIN22) #define LINE_PIN23 PAL_LINE(TEENSY_PIN23_IOPORT, TEENSY_PIN23) #define LINE_PIN24 PAL_LINE(TEENSY_PIN24_IOPORT, TEENSY_PIN24) #define LINE_PIN25 PAL_LINE(TEENSY_PIN25_IOPORT, TEENSY_PIN25) #define LINE_PIN25 PAL_LINE(TEENSY_PIN25_IOPORT, TEENSY_PIN25) #define LINE_PIN26 PAL_LINE(TEENSY_PIN26_IOPORT, TEENSY_PIN26) #define LINE_PIN27 PAL_LINE(TEENSY_PIN27_IOPORT, TEENSY_PIN27) #define LINE_PIN28 PAL_LINE(TEENSY_PIN28_IOPORT, TEENSY_PIN28) #define LINE_PIN29 PAL_LINE(TEENSY_PIN29_IOPORT, TEENSY_PIN29) #define LINE_PIN30 PAL_LINE(TEENSY_PIN30_IOPORT, TEENSY_PIN30) #define LINE_PIN31 PAL_LINE(TEENSY_PIN31_IOPORT, TEENSY_PIN31) #define LINE_PIN32 PAL_LINE(TEENSY_PIN32_IOPORT, TEENSY_PIN32) #define LINE_PIN33 PAL_LINE(TEENSY_PIN33_IOPORT, TEENSY_PIN33) #define LINE_PIN34 PAL_LINE(TEENSY_PIN34_IOPORT, TEENSY_PIN34) #define LINE_PIN35 PAL_LINE(TEENSY_PIN35_IOPORT, TEENSY_PIN35) #define LINE_PIN36 PAL_LINE(TEENSY_PIN36_IOPORT, TEENSY_PIN36) #define LINE_PIN37 PAL_LINE(TEENSY_PIN37_IOPORT, TEENSY_PIN37) #define LINE_PIN38 PAL_LINE(TEENSY_PIN38_IOPORT, TEENSY_PIN38) #define LINE_PIN39 PAL_LINE(TEENSY_PIN39_IOPORT, TEENSY_PIN39) #define LINE_PIN40 PAL_LINE(TEENSY_PIN40_IOPORT, TEENSY_PIN40) #define LINE_PIN41 PAL_LINE(TEENSY_PIN41_IOPORT, TEENSY_PIN41) #define LINE_PIN42 PAL_LINE(TEENSY_PIN42_IOPORT, TEENSY_PIN42) #define LINE_PIN43 PAL_LINE(TEENSY_PIN43_IOPORT, TEENSY_PIN43) #define LINE_PIN44 PAL_LINE(TEENSY_PIN44_IOPORT, TEENSY_PIN44) #define LINE_PIN45 PAL_LINE(TEENSY_PIN45_IOPORT, TEENSY_PIN45) #define LINE_PIN46 PAL_LINE(TEENSY_PIN46_IOPORT, TEENSY_PIN46) #define LINE_PIN47 PAL_LINE(TEENSY_PIN47_IOPORT, TEENSY_PIN47) #define LINE_PIN48 PAL_LINE(TEENSY_PIN48_IOPORT, TEENSY_PIN48) #define LINE_PIN49 PAL_LINE(TEENSY_PIN49_IOPORT, TEENSY_PIN49) #define LINE_PIN50 PAL_LINE(TEENSY_PIN50_IOPORT, TEENSY_PIN50) #define LINE_PIN51 PAL_LINE(TEENSY_PIN51_IOPORT, TEENSY_PIN51) #define LINE_PIN52 PAL_LINE(TEENSY_PIN52_IOPORT, TEENSY_PIN52) #define LINE_PIN53 PAL_LINE(TEENSY_PIN53_IOPORT, TEENSY_PIN53) #define LINE_PIN54 PAL_LINE(TEENSY_PIN54_IOPORT, TEENSY_PIN54) #define LINE_PIN55 PAL_LINE(TEENSY_PIN55_IOPORT, TEENSY_PIN55) #define LINE_PIN56 PAL_LINE(TEENSY_PIN56_IOPORT, TEENSY_PIN56) #define LINE_PIN57 PAL_LINE(TEENSY_PIN57_IOPORT, TEENSY_PIN57) #define LINE_LED LINE_PIN13 #if !defined(_FROM_ASM_) #ifdef __cplusplus extern "C" { #endif void boardInit(void); #ifdef __cplusplus } #endif #endif /* _FROM_ASM_ */ #endif /* _BOARD_H_ */