board.h (8245B)
- /*
- ChibiOS - Copyright (C) 2015 RedoX https://github.com/RedoXyde
- 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.1 board.
- */
- /*
- * Board identifier.
- */
- #define BOARD_PJRC_TEENSY_3_1
- #define BOARD_NAME "PJRC Teensy 3.1"
- /* 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 K20x7
- /*
- * IO pins assignments.
- */
- #define PORTA_PIN0 0
- #define PORTA_PIN1 1
- #define PORTA_PIN2 2
- #define PORTA_PIN3 3
- #define TEENSY_PIN33 4
- #define TEENSY_PIN24 5
- #define PORTA_PIN6 6
- #define PORTA_PIN7 7
- #define PORTA_PIN8 8
- #define PORTA_PIN9 9
- #define PORTA_PIN10 10
- #define PORTA_PIN11 11
- #define TEENSY_PIN3 12
- #define TEENSY_PIN4 13
- #define PORTA_PIN14 14
- #define PORTA_PIN15 15
- #define PORTA_PIN16 16
- #define PORTA_PIN17 17
- #define PORTA_PIN18 18
- #define PORTA_PIN19 19
- #define PORTA_PIN20 20
- #define PORTA_PIN21 21
- #define PORTA_PIN22 22
- #define PORTA_PIN23 23
- #define PORTA_PIN24 24
- #define PORTA_PIN25 25
- #define PORTA_PIN26 26
- #define PORTA_PIN27 27
- #define PORTA_PIN28 28
- #define PORTA_PIN29 29
- #define PORTA_PIN30 30
- #define PORTA_PIN31 31
- #define TEENSY_PIN3_IOPORT IOPORT1
- #define TEENSY_PIN4_IOPORT IOPORT1
- #define TEENSY_PIN24_IOPORT IOPORT1
- #define TEENSY_PIN33_IOPORT IOPORT1
- #define TEENSY_PIN16 0
- #define TEENSY_PIN17 1
- #define TEENSY_PIN19 2
- #define TEENSY_PIN18 3
- #define PORTB_PIN4 4
- #define PORTB_PIN5 5
- #define PORTB_PIN6 6
- #define PORTB_PIN7 7
- #define PORTB_PIN8 8
- #define PORTB_PIN9 9
- #define PORTB_PIN10 10
- #define PORTB_PIN11 11
- #define PORTB_PIN12 12
- #define PORTB_PIN13 13
- #define PORTB_PIN14 14
- #define PORTB_PIN15 15
- #define TEENSY_PIN0 16
- #define TEENSY_PIN1 17
- #define TEENSY_PIN32 18
- #define TEENSY_PIN25 19
- #define PORTB_PIN20 20
- #define PORTB_PIN21 21
- #define PORTB_PIN22 22
- #define PORTB_PIN23 23
- #define PORTB_PIN24 24
- #define PORTB_PIN25 25
- #define PORTB_PIN26 26
- #define PORTB_PIN27 27
- #define PORTB_PIN28 28
- #define PORTB_PIN29 29
- #define PORTB_PIN30 30
- #define PORTB_PIN31 31
- #define TEENSY_PIN0_IOPORT IOPORT2
- #define TEENSY_PIN1_IOPORT IOPORT2
- #define TEENSY_PIN16_IOPORT IOPORT2
- #define TEENSY_PIN17_IOPORT IOPORT2
- #define TEENSY_PIN18_IOPORT IOPORT2
- #define TEENSY_PIN19_IOPORT IOPORT2
- #define TEENSY_PIN25_IOPORT IOPORT2
- #define TEENSY_PIN32_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_PIN28 8
- #define TEENSY_PIN27 9
- #define TEENSY_PIN29 10
- #define TEENSY_PIN30 11
- #define PORTC_PIN12 12
- #define PORTC_PIN13 13
- #define PORTC_PIN14 14
- #define PORTC_PIN15 15
- #define PORTC_PIN16 16
- #define PORTC_PIN17 17
- #define PORTC_PIN18 18
- #define PORTC_PIN19 19
- #define PORTC_PIN20 20
- #define PORTC_PIN21 21
- #define PORTC_PIN22 22
- #define PORTC_PIN23 23
- #define PORTC_PIN24 24
- #define PORTC_PIN25 25
- #define PORTC_PIN26 26
- #define PORTC_PIN27 27
- #define PORTC_PIN28 28
- #define PORTC_PIN29 29
- #define PORTC_PIN30 30
- #define PORTC_PIN31 31
- #define TEENSY_PIN9_IOPORT IOPORT3
- #define TEENSY_PIN10_IOPORT IOPORT3
- #define TEENSY_PIN11_IOPORT IOPORT3
- #define TEENSY_PIN12_IOPORT IOPORT3
- #define TEENSY_PIN13_IOPORT IOPORT3
- #define TEENSY_PIN15_IOPORT IOPORT3
- #define TEENSY_PIN22_IOPORT IOPORT3
- #define TEENSY_PIN23_IOPORT IOPORT3
- #define TEENSY_PIN27_IOPORT IOPORT3
- #define TEENSY_PIN28_IOPORT IOPORT3
- #define TEENSY_PIN29_IOPORT IOPORT3
- #define TEENSY_PIN30_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 PORTD_PIN8 8
- #define PORTD_PIN9 9
- #define PORTD_PIN10 10
- #define PORTD_PIN11 11
- #define PORTD_PIN12 12
- #define PORTD_PIN13 13
- #define PORTD_PIN14 14
- #define PORTD_PIN15 15
- #define PORTD_PIN16 16
- #define PORTD_PIN17 17
- #define PORTD_PIN18 18
- #define PORTD_PIN19 19
- #define PORTD_PIN20 20
- #define PORTD_PIN21 21
- #define PORTD_PIN22 22
- #define PORTD_PIN23 23
- #define PORTD_PIN24 24
- #define PORTD_PIN25 25
- #define PORTD_PIN26 26
- #define PORTD_PIN27 27
- #define PORTD_PIN28 28
- #define PORTD_PIN29 29
- #define PORTD_PIN30 30
- #define PORTD_PIN31 31
- #define TEENSY_PIN2_IOPORT IOPORT4
- #define TEENSY_PIN5_IOPORT IOPORT4
- #define TEENSY_PIN6_IOPORT IOPORT4
- #define TEENSY_PIN7_IOPORT IOPORT4
- #define TEENSY_PIN8_IOPORT IOPORT4
- #define TEENSY_PIN14_IOPORT IOPORT4
- #define TEENSY_PIN20_IOPORT IOPORT4
- #define TEENSY_PIN21_IOPORT IOPORT4
- #define TEENSY_PIN31 0
- #define TEENSY_PIN26 1
- #define PORTE_PIN2 2
- #define PORTE_PIN3 3
- #define PORTE_PIN4 4
- #define PORTE_PIN5 5
- #define PORTE_PIN6 6
- #define PORTE_PIN7 7
- #define PORTE_PIN8 8
- #define PORTE_PIN9 9
- #define PORTE_PIN10 10
- #define PORTE_PIN11 11
- #define PORTE_PIN12 12
- #define PORTE_PIN13 13
- #define PORTE_PIN14 14
- #define PORTE_PIN15 15
- #define PORTE_PIN16 16
- #define PORTE_PIN17 17
- #define PORTE_PIN18 18
- #define PORTE_PIN19 19
- #define PORTE_PIN20 20
- #define PORTE_PIN21 21
- #define PORTE_PIN22 22
- #define PORTE_PIN23 23
- #define PORTE_PIN24 24
- #define PORTE_PIN25 25
- #define PORTE_PIN26 26
- #define PORTE_PIN27 27
- #define PORTE_PIN28 28
- #define PORTE_PIN29 29
- #define PORTE_PIN30 30
- #define PORTE_PIN31 31
- #define TEENSY_PIN26_IOPORT IOPORT5
- #define TEENSY_PIN31_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_LED LINE_PIN13
- #if !defined(_FROM_ASM_)
- # ifdef __cplusplus
- extern "C" {
- # endif
- void boardInit(void);
- # ifdef __cplusplus
- }
- # endif
- #endif /* _FROM_ASM_ */
- #endif /* _BOARD_H_ */