Update whitefox to use the K-Type teensy workaround
This commit is contained in:
		
							parent
							
								
									67053712f8
								
							
						
					
					
						commit
						f6b3c67678
					
				
					 8 changed files with 17 additions and 10 deletions
				
			
		
							
								
								
									
										191
									
								
								drivers/boards/IC_TEENSY_3_1/board.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										191
									
								
								drivers/boards/IC_TEENSY_3_1/board.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,191 @@
 | 
			
		|||
/*
 | 
			
		||||
    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.
 | 
			
		||||
*/
 | 
			
		||||
#include "hal.h"
 | 
			
		||||
 | 
			
		||||
#if HAL_USE_PAL || defined(__DOXYGEN__)
 | 
			
		||||
/**
 | 
			
		||||
 * @brief   PAL setup.
 | 
			
		||||
 * @details Digital I/O ports static configuration as defined in @p board.h.
 | 
			
		||||
 *          This variable is used by the HAL when initializing the PAL driver.
 | 
			
		||||
 */
 | 
			
		||||
const PALConfig pal_default_config =
 | 
			
		||||
{
 | 
			
		||||
    .ports = {
 | 
			
		||||
        {
 | 
			
		||||
            /*
 | 
			
		||||
             * PORTA setup.
 | 
			
		||||
             *
 | 
			
		||||
             * PTA4  - PIN33
 | 
			
		||||
             * PTA5  - PIN24
 | 
			
		||||
             * PTA12 - PIN3
 | 
			
		||||
             * PTA13 - PIN4
 | 
			
		||||
             *
 | 
			
		||||
             * PTA18/19 crystal
 | 
			
		||||
             * PTA0/3 SWD
 | 
			
		||||
             */
 | 
			
		||||
            .port = IOPORT1,
 | 
			
		||||
            .pads = {
 | 
			
		||||
                PAL_MODE_ALTERNATIVE_7,     PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_ALTERNATIVE_7,     PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_INPUT_ANALOG,      PAL_MODE_INPUT_ANALOG,      PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            /*
 | 
			
		||||
             * PORTB setup.
 | 
			
		||||
             *
 | 
			
		||||
             * PTB0  - PIN16
 | 
			
		||||
             * PTB1  - PIN17
 | 
			
		||||
             * PTB2  - PIN19
 | 
			
		||||
             * PTB3  - PIN18
 | 
			
		||||
             * PTB16 - PIN0 - UART0_TX
 | 
			
		||||
             * PTB17 - PIN1 - UART0_RX
 | 
			
		||||
             * PTB18 - PIN32
 | 
			
		||||
             * PTB19 - PIN25
 | 
			
		||||
             */
 | 
			
		||||
            .port = IOPORT2,
 | 
			
		||||
            .pads = {
 | 
			
		||||
                PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,
 | 
			
		||||
                PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_ALTERNATIVE_3,     PAL_MODE_ALTERNATIVE_3,
 | 
			
		||||
                PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            /*
 | 
			
		||||
             * PORTC setup.
 | 
			
		||||
             *
 | 
			
		||||
             * PTC0  - PIN15
 | 
			
		||||
             * PTC1  - PIN22
 | 
			
		||||
             * PTC2  - PIN23
 | 
			
		||||
             * PTC3  - PIN9
 | 
			
		||||
             * PTC4  - PIN10
 | 
			
		||||
             * PTC5  - PIN13
 | 
			
		||||
             * PTC6  - PIN11
 | 
			
		||||
             * PTC7  - PIN12
 | 
			
		||||
             * PTC8  - PIN28
 | 
			
		||||
             * PTC9  - PIN27
 | 
			
		||||
             * PTC10 - PIN29
 | 
			
		||||
             * PTC11 - PIN30
 | 
			
		||||
             */
 | 
			
		||||
            .port = IOPORT3,
 | 
			
		||||
            .pads = {
 | 
			
		||||
                PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,
 | 
			
		||||
                PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,
 | 
			
		||||
                PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,
 | 
			
		||||
                PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            /*
 | 
			
		||||
             * PORTD setup.
 | 
			
		||||
             *
 | 
			
		||||
             * PTD0  - PIN2
 | 
			
		||||
             * PTD1  - PIN14
 | 
			
		||||
             * PTD2  - PIN7
 | 
			
		||||
             * PTD3  - PIN8
 | 
			
		||||
             * PTD4  - PIN6
 | 
			
		||||
             * PTD5  - PIN20
 | 
			
		||||
             * PTD6  - PIN21
 | 
			
		||||
             * PTD7  - PIN5
 | 
			
		||||
             */
 | 
			
		||||
            .port = IOPORT4,
 | 
			
		||||
            .pads = {
 | 
			
		||||
                PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,
 | 
			
		||||
                PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,
 | 
			
		||||
                PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            /*
 | 
			
		||||
             * PORTE setup.
 | 
			
		||||
             *
 | 
			
		||||
             * PTE0  - PIN31
 | 
			
		||||
             * PTE1  - PIN26
 | 
			
		||||
             */
 | 
			
		||||
            .port = IOPORT5,
 | 
			
		||||
            .pads = {
 | 
			
		||||
                PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_OUTPUT_PUSHPULL,   PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
                PAL_MODE_UNCONNECTED,       PAL_MODE_UNCONNECTED,
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
    },
 | 
			
		||||
};
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// NOTE: This value comes from kiibohd/controller and is the location of a value
 | 
			
		||||
// which needs to be checked before disabling the watchdog (which happens in
 | 
			
		||||
// k20x_clock_init)
 | 
			
		||||
#define WDOG_TMROUTL            *(volatile uint16_t *)0x40052012
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @brief   Early initialization code.
 | 
			
		||||
 * @details This initialization must be performed just after stack setup
 | 
			
		||||
 *          and before any other initialization.
 | 
			
		||||
 */
 | 
			
		||||
void __early_init(void) {
 | 
			
		||||
  // This is a dirty hack and should only be used as a temporary fix until this
 | 
			
		||||
  // is upstreamed.
 | 
			
		||||
  while (WDOG_TMROUTL < 2); // Must wait for WDOG timer if already running, before jumping
 | 
			
		||||
 | 
			
		||||
  k20x_clock_init();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @brief   Board-specific initialization code.
 | 
			
		||||
 * @todo    Add your board-specific code, if any.
 | 
			
		||||
 */
 | 
			
		||||
void boardInit(void) {
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue