123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- // 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, unsigned long int hex);
- #endif /* _SIFIVE_HIFIVE1_H */
|