145 lines
4.7 KiB
C
145 lines
4.7 KiB
C
/* ----------------------------------------------------------------------------
|
|
* ATMEL Microcontroller Software Support
|
|
* ----------------------------------------------------------------------------
|
|
* Copyright (c) 2008, Atmel Corporation
|
|
*
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions are met:
|
|
*
|
|
* - Redistributions of source code must retain the above copyright notice,
|
|
* this list of conditions and the disclaimer below.
|
|
*
|
|
* Atmel's name may not be used to endorse or promote products derived from
|
|
* this software without specific prior written permission.
|
|
*
|
|
* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
|
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
|
* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
|
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
* ----------------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef FPGA_H
|
|
#define FPGA_H
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Definitions - PIOA connection to FPGA I/Os.
|
|
// This fpga.h file is used in conjuction with the verilog (*.v) file for
|
|
// FPGA interface I/O conneciton.
|
|
//------------------------------------------------------------------------------
|
|
|
|
|
|
/************/
|
|
/* LEDs */
|
|
/************/
|
|
|
|
/// LED #0 pin definition.
|
|
#define PIN_LED_DS1 {1 << 10, AT91C_BASE_PIOB, AT91C_ID_PIOB, PIO_OUTPUT_1, PIO_DEFAULT}
|
|
|
|
/// LED #1 pin definition.
|
|
#define PIN_LED_DS2 {1 << 11, AT91C_BASE_PIOB, AT91C_ID_PIOB, PIO_OUTPUT_1, PIO_DEFAULT}
|
|
|
|
|
|
|
|
#define PINS_LEDS PIN_LED_DS1, PIN_LED_DS2 //, PIN_LED_DS3, PIN_LED_DS4, PIN_LED_DS5, PIN_LED_DS6, PIN_LED_DS7
|
|
|
|
|
|
|
|
/// LED DS1 index.
|
|
#define LED_DS1 0
|
|
|
|
/// LED DS2 index.
|
|
#define LED_DS2 1
|
|
|
|
|
|
|
|
/********************/
|
|
/* Push Buttons */
|
|
/********************/
|
|
|
|
|
|
/// Push button #0 definition.
|
|
#define PIN_PUSHBUTTON_1 {1 << 8, AT91C_BASE_PIOB, AT91C_ID_PIOB, PIO_INPUT, PIO_DEGLITCH | PIO_PULLUP}
|
|
|
|
/// Push button #1 definition.
|
|
#define PIN_PUSHBUTTON_2 {1 << 9, AT91C_BASE_PIOB, AT91C_ID_PIOB, PIO_INPUT, PIO_DEGLITCH | PIO_PULLUP}
|
|
|
|
|
|
|
|
/// List of all push button definitions.
|
|
|
|
|
|
#define PINS_PUSHBUTTONS PIN_PUSHBUTTON_1, PIN_PUSHBUTTON_2 // , PIN_PUSHBUTTON_3, PIN_PUSHBUTTON_4
|
|
|
|
|
|
/// Push button #0 index.
|
|
#define PUSHBUTTON_BP1 0
|
|
|
|
/// Push button #1 index.
|
|
#define PUSHBUTTON_BP2 1
|
|
|
|
|
|
/// Push button #2 index.
|
|
/// #define PUSHBUTTON_BP3 2
|
|
|
|
/// Push button #3 index.
|
|
/// #define PUSHBUTTON_BP4 3
|
|
|
|
|
|
/***********************/
|
|
/* Joystick control */
|
|
/***********************/
|
|
|
|
// Joystick UP.
|
|
#define PIN_JOYSTICK_UP {1 << 20, AT91C_BASE_PIOB, AT91C_ID_PIOB, PIO_INPUT, PIO_PULLUP}
|
|
// Joystick DOWN.
|
|
#define PIN_JOYSTICK_DOWN {1 << 23, AT91C_BASE_PIOB, AT91C_ID_PIOB, PIO_INPUT, PIO_PULLUP}
|
|
// Joystick LEFT.
|
|
#define PIN_JOYSTICK_LEFT {1 << 22, AT91C_BASE_PIOB, AT91C_ID_PIOB, PIO_INPUT, PIO_PULLUP}
|
|
// Joystick RIGHT.
|
|
#define PIN_JOYSTICK_RIGHT {1 << 21, AT91C_BASE_PIOB, AT91C_ID_PIOB, PIO_INPUT, PIO_PULLUP}
|
|
// Joystick LEFT clic.
|
|
#define PIN_JOYSTICK_LCLIC {1 << 24, AT91C_BASE_PIOB, AT91C_ID_PIOB, PIO_INPUT, PIO_PULLUP}
|
|
// Joystick PUSH button.
|
|
#define PIN_JOYSTICK_PUSH PIN_JOYSTICK_LCLIC
|
|
// List of all Joystick click definitions
|
|
#define PINS_JOYSTICK_CLIC PIN_JOYSTICK_LCLIC
|
|
// List of all Joystick movement direction definitions
|
|
#define PINS_JOYSTICK_MOVE PIN_JOYSTICK_UP, PIN_JOYSTICK_DOWN, \
|
|
PIN_JOYSTICK_LEFT, PIN_JOYSTICK_RIGHT
|
|
// List of all Joystick definitions
|
|
#define PINS_JOYSTICK PINS_JOYSTICK_MOVE, \
|
|
PINS_JOYSTICK_CLIC
|
|
// Joystick UP index.
|
|
#define JOYSTICK_UP 0
|
|
// Joystick DOWN index.
|
|
#define JOYSTICK_DOWN 1
|
|
// Joystick LEFT index.
|
|
#define JOYSTICK_LEFT 2
|
|
// Joystick RIGHT index.
|
|
#define JOYSTICK_RIGHT 3
|
|
// Joystick LEFT CLICK index.
|
|
#define JOYSTICK_LCLIC 4
|
|
// Joystick PUSH button index.
|
|
#define JOYSTICK_PUSH 4
|
|
|
|
|
|
#endif //#ifndef FPGA_H
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|