| // See LICENSE for license details. |
| |
| #ifndef _SIFIVE_HIFIVE1_H |
| #define _SIFIVE_HIFIVE1_H |
| |
| #include <stdint.h> |
| |
| /**************************************************************************** |
| * GPIO Connections |
| *****************************************************************************/ |
| |
| // These are the GPIO bit offsets for the RGB LED on HiFive1 Board. |
| // These are also mapped to RGB LEDs on the Freedom E300 Arty |
| // FPGA |
| // Dev Kit. |
| |
| #define RED_LED_OFFSET 22 |
| #define GREEN_LED_OFFSET 19 |
| #define BLUE_LED_OFFSET 21 |
| |
| // These are the GPIO bit offsets for the differen digital pins |
| // on the headers for both the HiFive1 Board and the Freedom E300 Arty FPGA Dev Kit. |
| #define PIN_0_OFFSET 16 |
| #define PIN_1_OFFSET 17 |
| #define PIN_2_OFFSET 18 |
| #define PIN_3_OFFSET 19 |
| #define PIN_4_OFFSET 20 |
| #define PIN_5_OFFSET 21 |
| #define PIN_6_OFFSET 22 |
| #define PIN_7_OFFSET 23 |
| #define PIN_8_OFFSET 0 |
| #define PIN_9_OFFSET 1 |
| #define PIN_10_OFFSET 2 |
| #define PIN_11_OFFSET 3 |
| #define PIN_12_OFFSET 4 |
| #define PIN_13_OFFSET 5 |
| //#define PIN_14_OFFSET 8 //This pin is not connected on either board. |
| #define PIN_15_OFFSET 9 |
| #define PIN_16_OFFSET 10 |
| #define PIN_17_OFFSET 11 |
| #define PIN_18_OFFSET 12 |
| #define PIN_19_OFFSET 13 |
| |
| // These are *PIN* numbers, not |
| // GPIO Offset Numbers. |
| #define PIN_SPI1_SCK (13u) |
| #define PIN_SPI1_MISO (12u) |
| #define PIN_SPI1_MOSI (11u) |
| #define PIN_SPI1_SS0 (10u) |
| #define PIN_SPI1_SS1 (14u) |
| #define PIN_SPI1_SS2 (15u) |
| #define PIN_SPI1_SS3 (16u) |
| |
| #define SS_PIN_TO_CS_ID(x) \ |
| ((x==PIN_SPI1_SS0 ? 0 : \ |
| (x==PIN_SPI1_SS1 ? 1 : \ |
| (x==PIN_SPI1_SS2 ? 2 : \ |
| (x==PIN_SPI1_SS3 ? 3 : \ |
| -1))))) |
| |
| |
| // These buttons are present only on the Freedom E300 Arty Dev Kit. |
| #ifdef HAS_BOARD_BUTTONS |
| #define BUTTON_0_OFFSET 15 |
| #define BUTTON_1_OFFSET 30 |
| #define BUTTON_2_OFFSET 31 |
| |
| #define INT_DEVICE_BUTTON_0 (INT_GPIO_BASE + BUTTON_0_OFFSET) |
| #define INT_DEVICE_BUTTON_1 (INT_GPIO_BASE + BUTTON_1_OFFSET) |
| #define INT_DEVICE_BUTTON_2 (INT_GPIO_BASE + BUTTON_2_OFFSET) |
| |
| #endif |
| |
| #define HAS_HFXOSC 1 |
| #define HAS_LFROSC_BYPASS 1 |
| |
| #define RTC_FREQ 32768 |
| |
| void write_hex(int fd, long int hex); |
| |
| #endif /* _SIFIVE_HIFIVE1_H */ |