/* * devices.c * * Created on: Aug 15, 2020 * Author: eyck */ #ifndef _BSP_EHRENBERG_DEVICES_C_ #define _BSP_EHRENBERG_DEVICES_C_ #define APB_BUS #include "devices/gpio.h" #include "devices/interrupt.h" #include "devices/timer.h" #include "devices/uart.h" #include "devices/qspi.h" #define PERIPH(TYPE, ADDR) ((volatile TYPE*) (ADDR)) #define APB_BASE 0xF0000000 #define TIMER_BASE (APB_BASE+0x30000) #define gpio_a PERIPH(gpio_t, APB_BASE+0x00000) //#define gpio_b PERIPH(gpio_t, APB_BASE+0x10000) #define uart PERIPH(uart_t, APB_BASE+0x10000) #define prescaler PERIPH(uart_t, TIMER_BASE+0x0) #define timer_a PERIPH(uart_t, TIMER_BASE+0x10) #define timer_b PERIPH(uart_t, TIMER_BASE+0x20) #define mtimer PERIPH(mtimer_t, APB_BASE+0x30000) #define irq PERIPH(irq_t, APB_BASE+0x40000) #define qspi PERIPH(qspi_t, APB_BASE+0x50000) //volatile qspi_t* const qspi = (qspi_t*)(APB_BASE+0x50000); #define XIP_START_LOC 0xE0040000 #endif /* _BSP_EHRENBERG_DEVICES_C_ */