# hw definition file for processing by chibios_hwdef.py
# for the HolybroV6C hardware

# MCU class and specific type
MCU STM32H7xx STM32H743xx

# crystal frequency
OSCILLATOR_HZ 16000000

# USB setup
USB_VENDOR 0x3162 # ONLY FOR USE BY Holybro
USB_PRODUCT 0x0053
USB_STRING_MANUFACTURER "Holybro"

# board ID for firmware load
APJ_BOARD_ID 56

# bootloader is installed at zero offset
FLASH_RESERVE_START_KB 0

# the location where the bootloader will put the firmware
FLASH_BOOTLOADER_LOAD_KB 128

# flash size
FLASH_SIZE_KB 2048

env OPTIMIZE -Os

# order of UARTs (and USB)
SERIAL_ORDER OTG1 UART7 UART5 USART3

# default to all pins low to avoid ESD issues
DEFAULTGPIO OUTPUT LOW PULLDOWN

# USB
PA11 OTG_FS_DM OTG1
PA12 OTG_FS_DP OTG1
PA9 VBUS INPUT OPENDRAIN

# pins for SWD debugging
PA13 JTMS-SWDIO SWD
PA14 JTCK-SWCLK SWD

# CS pins
PC13 ICM42688_CS CS
PC14 BMI055_G_CS CS
PC15 BMI055_A_CS CS
PD4 FRAM_CS CS

# telem1
PE8  UART7_TX UART7
PE7  UART7_RX UART7

# telem2
PC12 UART5_TX UART5
PD2 UART5_RX UART5

# debug uart
PD8 USART3_TX USART3
PD9 USART3_RX USART3

# start peripheral power off
PC10 nVDD_5V_HIPOWER_EN OUTPUT HIGH
PE2  nVDD_5V_PERIPH_EN  OUTPUT HIGH

# LEDs
PD10 LED_ACTIVITY OUTPUT OPENDRAIN GPIO(90) HIGH # red
PD11 LED_BOOTLOADER OUTPUT OPENDRAIN GPIO(92) HIGH # blue
define HAL_LED_ON 0

define HAL_USE_EMPTY_STORAGE 1
define HAL_STORAGE_SIZE 16384