forked from mfulz_github/qmk_firmware
Auto-configure AVRISP programmer configuration when built for the XPLAIN board to match the XPLAIN hardware connections.
This commit is contained in:
parent
a5adbae652
commit
f1baf12fae
|
@ -61,7 +61,11 @@
|
|||
* set to an appropriate ADC channel number in the project makefile for VTARGET detection to operate correctly. On models
|
||||
* without an ADC converter, VTARGET will report at a fixed 5V level.
|
||||
*
|
||||
* Connections to the device are simple for SPI programming:
|
||||
* When compiled for the XPLAIN board target, this will automatically configure itself for the correct connections to the
|
||||
* XPLAIN's XMEGA AVR, and will enable only PDI programming support.
|
||||
*
|
||||
*
|
||||
* Connections to the device for SPI programming (when enabled):
|
||||
*
|
||||
* <table>
|
||||
* <tr>
|
||||
|
@ -105,7 +109,7 @@
|
|||
* <b><sup>2</sup></b> <i>See \ref SSec_Options section</i>
|
||||
*
|
||||
*
|
||||
* Connections to the device are simple for SPI programming:
|
||||
* Connections to the device for PDI programming (when enabled):
|
||||
*
|
||||
* <table>
|
||||
* <tr>
|
||||
|
@ -158,19 +162,20 @@
|
|||
* <tr>
|
||||
* <td>RESET_LINE_PORT</td>
|
||||
* <td>Makefile CDEFS</td>
|
||||
* <td>PORT register for the programmer's target RESET line.</td>
|
||||
* <td>PORT register for the programmer's target RESET line. <i>Ignored when compiled for the XPLAIN board.</i></td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>RESET_LINE_DDR</td>
|
||||
* <td>Makefile CDEFS</td>
|
||||
* <td>DDR register for the programmer's target RESET line.</td>
|
||||
* <td>DDR register for the programmer's target RESET line. <i>Ignored when compiled for the XPLAIN board.</i></td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>RESET_LINE_MASK</td>
|
||||
* <td>Makefile CDEFS</td>
|
||||
* <td>Mask for the programmer's target RESET line on the chosen port. <b>Must not be the AVR's /SS pin</b>, as the
|
||||
* target pins are tri-stated when not in use, and low signals on the /SS pin will force SPI slave mode when the
|
||||
* pin is configured as an input. When in PDI programming mode, this is the target clock pin.</td>
|
||||
* pin is configured as an input. When in PDI programming mode, this is the target clock pin.
|
||||
* <i>Ignored when compiled for the XPLAIN board.</i></td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>VTARGET_ADC_CHANNEL</td>
|
||||
|
@ -180,12 +185,12 @@
|
|||
* <tr>
|
||||
* <td>ENABLE_SPI_PROTOCOL</td>
|
||||
* <td>Makefile CDEFS</td>
|
||||
* <td>Define to enable SPI programming protocol support.</td>
|
||||
* <td>Define to enable SPI programming protocol support. <i>Ignored when compiled for the XPLAIN board.</i></td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>ENABLE_XPROG_PROTOCOL</td>
|
||||
* <td>Makefile CDEFS</td>
|
||||
* <td>Define to enable XMEGA PDI programming protocol support.</td>
|
||||
* <td>Define to enable XMEGA PDI programming protocol support. <i>Ignored when compiled for the XPLAIN board.</i></td>
|
||||
* </tr>
|
||||
* </table>
|
||||
*/
|
||||
|
|
|
@ -40,6 +40,12 @@
|
|||
#include <avr/io.h>
|
||||
|
||||
#include "V2Protocol.h"
|
||||
|
||||
/* Preprocessor Checks: */
|
||||
#if BOARD == BOARD_XPLAIN
|
||||
#undef ENABLE_SPI_PROTOCOL
|
||||
#define ENABLE_PDI_PROTOCOL
|
||||
#endif
|
||||
|
||||
/* Macros: */
|
||||
/** Mask for the reading or writing of the high byte in a FLASH word when issuing a low-level programming command */
|
||||
|
|
|
@ -47,6 +47,12 @@
|
|||
#include "V2ProtocolConstants.h"
|
||||
#include "V2ProtocolParams.h"
|
||||
|
||||
/* Preprocessor Checks: */
|
||||
#if BOARD == BOARD_XPLAIN
|
||||
#undef ENABLE_SPI_PROTOCOL
|
||||
#define ENABLE_PDI_PROTOCOL
|
||||
#endif
|
||||
|
||||
/* Macros: */
|
||||
/** Total number of allowable ISP programming speeds supported by the device */
|
||||
#define TOTAL_ISP_PROGRAMMING_SPEEDS 7
|
||||
|
|
|
@ -43,6 +43,12 @@
|
|||
#include "V2Protocol.h"
|
||||
#include "PDITarget.h"
|
||||
|
||||
/* Preprocessor Checks: */
|
||||
#if BOARD == BOARD_XPLAIN
|
||||
#undef ENABLE_SPI_PROTOCOL
|
||||
#define ENABLE_PDI_PROTOCOL
|
||||
#endif
|
||||
|
||||
/* Macros: */
|
||||
#define XPRG_CMD_ENTER_PROGMODE 0x01
|
||||
#define XPRG_CMD_LEAVE_PROGMODE 0x02
|
||||
|
|
|
@ -42,16 +42,33 @@
|
|||
|
||||
#include <LUFA/Common/Common.h>
|
||||
|
||||
/* Defines: */
|
||||
#define PDIDATA_LINE_PORT PORTB
|
||||
#define PDIDATA_LINE_DDR DDRB
|
||||
#define PDIDATA_LINE_PIN PINB
|
||||
#define PDIDATA_LINE_MASK (1 << 2)
|
||||
|
||||
#define PDICLOCK_LINE_PORT RESET_LINE_PORT
|
||||
#define PDICLOCK_LINE_DDR RESET_LINE_DDR
|
||||
#define PDICLOCK_LINE_MASK RESET_LINE_MASK
|
||||
/* Preprocessor Checks: */
|
||||
#if BOARD == BOARD_XPLAIN
|
||||
#undef ENABLE_SPI_PROTOCOL
|
||||
#define ENABLE_PDI_PROTOCOL
|
||||
#endif
|
||||
|
||||
/* Defines: */
|
||||
#if BOARD == BOARD_XPLAIN
|
||||
#define PDIDATA_LINE_PORT PORTD
|
||||
#define PDIDATA_LINE_DDR DDRD
|
||||
#define PDIDATA_LINE_PIN PIND
|
||||
#define PDIDATA_LINE_MASK (1 << 2)
|
||||
|
||||
#define PDICLOCK_LINE_PORT PORTD
|
||||
#define PDICLOCK_LINE_DDR DDRD
|
||||
#define PDICLOCK_LINE_MASK (1 << 5)
|
||||
#else
|
||||
#define PDIDATA_LINE_PORT PORTB
|
||||
#define PDIDATA_LINE_DDR DDRB
|
||||
#define PDIDATA_LINE_PIN PINB
|
||||
#define PDIDATA_LINE_MASK (1 << 2)
|
||||
|
||||
#define PDICLOCK_LINE_PORT RESET_LINE_PORT
|
||||
#define PDICLOCK_LINE_DDR RESET_LINE_DDR
|
||||
#define PDICLOCK_LINE_MASK RESET_LINE_MASK
|
||||
#endif
|
||||
|
||||
#define PDI_CMD_LDS 0x00
|
||||
#define PDI_CMD_LD 0x20
|
||||
#define PDI_CMD_STS 0x40
|
||||
|
|
|
@ -45,6 +45,12 @@
|
|||
#include "V2ProtocolParams.h"
|
||||
#include "ISPProtocol.h"
|
||||
#include "PDIProtocol.h"
|
||||
|
||||
/* Preprocessor Checks: */
|
||||
#if BOARD == BOARD_XPLAIN
|
||||
#undef ENABLE_SPI_PROTOCOL
|
||||
#define ENABLE_PDI_PROTOCOL
|
||||
#endif
|
||||
|
||||
/* Macros: */
|
||||
/** Programmer ID string, returned to the host during the CMD_SIGN_ON command processing */
|
||||
|
|
Loading…
Reference in New Issue