summaryrefslogtreecommitdiff
path: root/boards/at91cap7-stk/fpga.h
diff options
context:
space:
mode:
Diffstat (limited to 'boards/at91cap7-stk/fpga.h')
-rw-r--r--boards/at91cap7-stk/fpga.h144
1 files changed, 144 insertions, 0 deletions
diff --git a/boards/at91cap7-stk/fpga.h b/boards/at91cap7-stk/fpga.h
new file mode 100644
index 0000000..6f017b3
--- /dev/null
+++ b/boards/at91cap7-stk/fpga.h
@@ -0,0 +1,144 @@
+/* ----------------------------------------------------------------------------
+ * 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
+
+
+
+
+
+
+
+
personal git repositories of Harald Welte. Your mileage may vary