2018-06-21 19:06:29 -03:00
|
|
|
/*
|
|
|
|
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[] = {
|
2022-10-04 03:43:46 -03:00
|
|
|
{MCU_REV_STM32F4_REV_3, '3'}, /* Revision 3 */
|
2018-06-21 19:06:29 -03:00
|
|
|
|
2022-10-04 03:43:46 -03:00
|
|
|
{MCU_REV_STM32F4_REV_A, 'A'}, /* Revision A */
|
|
|
|
{MCU_REV_STM32F4_REV_Z, 'Z'}, /* Revision Z */
|
|
|
|
{MCU_REV_STM32F4_REV_Y, 'Y'}, /* Revision Y */
|
|
|
|
{MCU_REV_STM32F4_REV_1, '1'}, /* Revision 1 */
|
2018-06-21 19:06:29 -03:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // STM32F4
|
|
|
|
|