ardupilot/Tools/AP_Bootloader/mcu_f4.h

42 lines
1.1 KiB
C

/*
support tables for STM32F4
*/
#if defined(STM32F4)
/* magic numbers from reference manual */
enum {
MCU_REV_STM32F4_REV_A = 0x1000,
MCU_REV_STM32F4_REV_Z = 0x1001,
MCU_REV_STM32F4_REV_Y = 0x1003,
MCU_REV_STM32F4_REV_1 = 0x1007,
MCU_REV_STM32F4_REV_3 = 0x2001
};
#define STM32_UNKNOWN 0
#define STM32F40x_41x 0x413
#define STM32F42x_43x 0x419
#define STM32F42x_446xx 0x421
// The default CPU ID of STM32_UNKNOWN is 0 and is in offset 0
// Before a rev is known it is set to ?
// There for new silicon will result in STM32F4..,?
const mcu_des_t mcu_descriptions[] = {
{ STM32_UNKNOWN, "STM32F???", '?'},
{ STM32F40x_41x, "STM32F40x", '?'},
{ STM32F42x_43x, "STM32F42x", '?'},
{ STM32F42x_446xx, "STM32F446XX", '?'},
};
const mcu_rev_t silicon_revs[] = {
{MCU_REV_STM32F4_REV_3, '3', false}, /* Revision 3 */
{MCU_REV_STM32F4_REV_A, 'A', true}, /* Revision A */
{MCU_REV_STM32F4_REV_Z, 'Z', true}, /* Revision Z */
{MCU_REV_STM32F4_REV_Y, 'Y', true}, /* Revision Y */
{MCU_REV_STM32F4_REV_1, '1', true}, /* Revision 1 */
};
#endif // STM32F4