diff options
author | Paul Selkirk <paul@psgd.org> | 2016-05-24 18:13:26 -0400 |
---|---|---|
committer | Paul Selkirk <paul@psgd.org> | 2016-05-24 18:15:07 -0400 |
commit | ebe70741a4771698423e4c61939e88d6db66460d (patch) | |
tree | bf78c5e845c809e6dff113e0b2e46c94972317f4 /stm-fmc.h | |
parent | 9bb798876768f702c5940dcf67feffc6d0e9a0a4 (diff) | |
parent | 6265025f7cd7f606b6da62c7add13a6008500cf7 (diff) |
Merge branch 'master' of git.cryptech.is:sw/stm32
Diffstat (limited to 'stm-fmc.h')
-rw-r--r-- | stm-fmc.h | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -35,9 +35,27 @@ #ifndef __STM_FMC_H #define __STM_FMC_H -#include <stdint.h> +#define FMC_FPGA_BASE_ADDR 0x60000000 +#define FMC_FPGA_ADDR_MASK 0x03FFFFFC // there are 26 physical lines, but "only" 24 usable for now +#define FMC_FPGA_NWAIT_MAX_POLL_TICKS 10 -extern void fmc_init(void); +#define FMC_GPIO_PORT_NWAIT GPIOD +#define FMC_GPIO_PIN_NWAIT GPIO_PIN_6 + +#define FMC_NWAIT_IDLE GPIO_PIN_SET + +#define fmc_af_gpio(port, pins) \ + GPIO_InitStruct.Pin = pins; \ + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; \ + GPIO_InitStruct.Pull = GPIO_NOPULL; \ + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; \ + GPIO_InitStruct.Alternate = GPIO_AF12_FMC; \ + __HAL_RCC_##port##_CLK_ENABLE(); \ + HAL_GPIO_Init(port, &GPIO_InitStruct) + + +extern HAL_StatusTypeDef fmc_init(void); +extern void fmc_init_gpio(void); extern int fmc_write_32(uint32_t addr, uint32_t *data); extern int fmc_read_32(uint32_t addr, uint32_t *data); |