// See LICENSE for license details. #ifndef _SIFIVE_HIFIVE1_H #define _SIFIVE_HIFIVE1_H #include /**************************************************************************** * 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, unsigned long int hex); #endif /* _SIFIVE_HIFIVE1_H */