# hw definition file for processing by chibios_hwdef.py
# for A6SE_YJUAV board

# MCU class and specific type
MCU STM32H7xx STM32H750xx

# crystal frequency
OSCILLATOR_HZ 16000000

# board ID for firmware load
APJ_BOARD_ID 1127

FLASH_SIZE_KB 128
FLASH_RESERVE_START_KB 0
FLASH_RESERVE_END_KB 0
FLASH_BOOTLOADER_LOAD_KB 128

# 16MB external flash
EXT_FLASH_SIZE_MB 16
EXT_FLASH_RESERVE_START_KB 1024
EXT_FLASH_RESERVE_END_KB 448

# QuadSPI Flash
PD11 QUADSPI_BK1_IO0 QUADSPI1 SPEED_HIGH
PD12 QUADSPI_BK1_IO1 QUADSPI1 SPEED_HIGH
PE2  QUADSPI_BK1_IO2 QUADSPI1 SPEED_HIGH
PD13 QUADSPI_BK1_IO3 QUADSPI1 SPEED_HIGH
PB6  QUADSPI_BK1_NCS QUADSPI1 SPEED_HIGH
PB2  QUADSPI_CLK     QUADSPI1 SPEED_HIGH

# IFace  Device Name  Bus      QSPI Mode  Clk Freq  Size (Pow2)  NCS Delay
QSPIDEV  w25q-dtr     QUADSPI1 MODE3      100*MHZ   24           1

# order of UARTs (and USB). Allow bootloading on USB and Debug
SERIAL_ORDER OTG1 UART7

# UART7 DEBUG
PE7  UART7_RX UART7 NODMA
PE8  UART7_TX UART7 NODMA
define BOOTLOADER_DEBUG SD7

# USB
PA11 OTG_FS_DM OTG1
PA12 OTG_FS_DP OTG1

PA13 JTMS-SWDIO SWD
PA14 JTCK-SWCLK SWD

PE15 LED_RED OUTPUT OPENDRAIN HIGH # red
PD10 LED_BOOTLOADER OUTPUT OPENDRAIN HIGH # green 
PG0 LED_ACTIVITY OUTPUT OPENDRAIN HIGH # blue
define HAL_LED_ON 0


# Add CS pins to ensure they are high in bootloader
PE4  IMU1_CS CS
PA0  IMU2_CS CS
PE10  FRAM_CS CS
PE9  BAROMETER_CS CS
PE3  COMPASS_CS CS
PC15 RESERVE_CS CS

# Extra SPI CS
PE5 EXT_CS CS