21 #ifndef STM32L4xx_HAL_OSPI_H 22 #define STM32L4xx_HAL_OSPI_H 31 #if defined(OCTOSPI) || defined(OCTOSPI1) || defined(OCTOSPI2) 51 uint32_t FifoThreshold;
64 uint32_t ChipSelectHighTime;
67 uint32_t FreeRunningClock;
73 uint32_t ClockPrescaler;
76 uint32_t SampleShifting;
79 uint32_t DelayHoldQuarterCycle;
81 uint32_t ChipSelectBoundary;
100 #if defined (USE_HAL_OSPI_REGISTER_CALLBACKS) && (USE_HAL_OSPI_REGISTER_CALLBACKS == 1U) 247 #if defined (USE_HAL_OSPI_REGISTER_CALLBACKS) && (USE_HAL_OSPI_REGISTER_CALLBACKS == 1U) 285 #define HAL_OSPI_STATE_RESET ((uint32_t)0x00000000U) 286 #define HAL_OSPI_STATE_HYPERBUS_INIT ((uint32_t)0x00000001U) 287 #define HAL_OSPI_STATE_READY ((uint32_t)0x00000002U) 288 #define HAL_OSPI_STATE_CMD_CFG ((uint32_t)0x00000004U) 289 #define HAL_OSPI_STATE_READ_CMD_CFG ((uint32_t)0x00000014U) 290 #define HAL_OSPI_STATE_WRITE_CMD_CFG ((uint32_t)0x00000024U) 291 #define HAL_OSPI_STATE_BUSY_CMD ((uint32_t)0x00000008U) 292 #define HAL_OSPI_STATE_BUSY_TX ((uint32_t)0x00000018U) 293 #define HAL_OSPI_STATE_BUSY_RX ((uint32_t)0x00000028U) 294 #define HAL_OSPI_STATE_BUSY_AUTO_POLLING ((uint32_t)0x00000048U) 295 #define HAL_OSPI_STATE_BUSY_MEM_MAPPED ((uint32_t)0x00000088U) 296 #define HAL_OSPI_STATE_ABORT ((uint32_t)0x00000100U) 297 #define HAL_OSPI_STATE_ERROR ((uint32_t)0x00000200U) 305 #define HAL_OSPI_ERROR_NONE ((uint32_t)0x00000000U) 306 #define HAL_OSPI_ERROR_TIMEOUT ((uint32_t)0x00000001U) 307 #define HAL_OSPI_ERROR_TRANSFER ((uint32_t)0x00000002U) 308 #define HAL_OSPI_ERROR_DMA ((uint32_t)0x00000004U) 309 #define HAL_OSPI_ERROR_INVALID_PARAM ((uint32_t)0x00000008U) 310 #define HAL_OSPI_ERROR_INVALID_SEQUENCE ((uint32_t)0x00000010U) 311 #if defined (USE_HAL_OSPI_REGISTER_CALLBACKS) && (USE_HAL_OSPI_REGISTER_CALLBACKS == 1U) 312 #define HAL_OSPI_ERROR_INVALID_CALLBACK ((uint32_t)0x00000020U) 321 #define HAL_OSPI_DUALQUAD_DISABLE ((uint32_t)0x00000000U) 322 #define HAL_OSPI_DUALQUAD_ENABLE ((uint32_t)OCTOSPI_CR_DQM) 330 #define HAL_OSPI_MEMTYPE_MICRON ((uint32_t)0x00000000U) 331 #define HAL_OSPI_MEMTYPE_MACRONIX ((uint32_t)OCTOSPI_DCR1_MTYP_0) 332 #if !defined(STM32L4R5xx)&&!defined(STM32L4R7xx)&&!defined(STM32L4R9xx)&&!defined(STM32L4S5xx)&&!defined(STM32L4S7xx)&&!defined(STM32L4S9xx) 333 #define HAL_OSPI_MEMTYPE_APMEMORY ((uint32_t)OCTOSPI_DCR1_MTYP_1) 335 #define HAL_OSPI_MEMTYPE_MACRONIX_RAM ((uint32_t)(OCTOSPI_DCR1_MTYP_1 | OCTOSPI_DCR1_MTYP_0)) 336 #define HAL_OSPI_MEMTYPE_HYPERBUS ((uint32_t)OCTOSPI_DCR1_MTYP_2) 344 #define HAL_OSPI_FREERUNCLK_DISABLE ((uint32_t)0x00000000U) 345 #define HAL_OSPI_FREERUNCLK_ENABLE ((uint32_t)OCTOSPI_DCR1_FRCK) 353 #define HAL_OSPI_CLOCK_MODE_0 ((uint32_t)0x00000000U) 354 #define HAL_OSPI_CLOCK_MODE_3 ((uint32_t)OCTOSPI_DCR1_CKMODE) 362 #define HAL_OSPI_WRAP_NOT_SUPPORTED ((uint32_t)0x00000000U) 363 #define HAL_OSPI_WRAP_16_BYTES ((uint32_t)OCTOSPI_DCR2_WRAPSIZE_1) 364 #define HAL_OSPI_WRAP_32_BYTES ((uint32_t)(OCTOSPI_DCR2_WRAPSIZE_0 | OCTOSPI_DCR2_WRAPSIZE_1)) 365 #define HAL_OSPI_WRAP_64_BYTES ((uint32_t)OCTOSPI_DCR2_WRAPSIZE_2) 366 #define HAL_OSPI_WRAP_128_BYTES ((uint32_t)(OCTOSPI_DCR2_WRAPSIZE_0 | OCTOSPI_DCR2_WRAPSIZE_2)) 374 #define HAL_OSPI_SAMPLE_SHIFTING_NONE ((uint32_t)0x00000000U) 375 #define HAL_OSPI_SAMPLE_SHIFTING_HALFCYCLE ((uint32_t)OCTOSPI_TCR_SSHIFT) 383 #define HAL_OSPI_DHQC_DISABLE ((uint32_t)0x00000000U) 384 #define HAL_OSPI_DHQC_ENABLE ((uint32_t)OCTOSPI_TCR_DHQC) 392 #define HAL_OSPI_OPTYPE_COMMON_CFG ((uint32_t)0x00000000U) 393 #define HAL_OSPI_OPTYPE_READ_CFG ((uint32_t)0x00000001U) 394 #define HAL_OSPI_OPTYPE_WRITE_CFG ((uint32_t)0x00000002U) 402 #define HAL_OSPI_FLASH_ID_1 ((uint32_t)0x00000000U) 403 #define HAL_OSPI_FLASH_ID_2 ((uint32_t)OCTOSPI_CR_FSEL) 411 #define HAL_OSPI_INSTRUCTION_NONE ((uint32_t)0x00000000U) 412 #define HAL_OSPI_INSTRUCTION_1_LINE ((uint32_t)OCTOSPI_CCR_IMODE_0) 413 #define HAL_OSPI_INSTRUCTION_2_LINES ((uint32_t)OCTOSPI_CCR_IMODE_1) 414 #define HAL_OSPI_INSTRUCTION_4_LINES ((uint32_t)(OCTOSPI_CCR_IMODE_0 | OCTOSPI_CCR_IMODE_1)) 415 #define HAL_OSPI_INSTRUCTION_8_LINES ((uint32_t)OCTOSPI_CCR_IMODE_2) 423 #define HAL_OSPI_INSTRUCTION_8_BITS ((uint32_t)0x00000000U) 424 #define HAL_OSPI_INSTRUCTION_16_BITS ((uint32_t)OCTOSPI_CCR_ISIZE_0) 425 #define HAL_OSPI_INSTRUCTION_24_BITS ((uint32_t)OCTOSPI_CCR_ISIZE_1) 426 #define HAL_OSPI_INSTRUCTION_32_BITS ((uint32_t)OCTOSPI_CCR_ISIZE) 434 #define HAL_OSPI_INSTRUCTION_DTR_DISABLE ((uint32_t)0x00000000U) 435 #define HAL_OSPI_INSTRUCTION_DTR_ENABLE ((uint32_t)OCTOSPI_CCR_IDTR) 443 #define HAL_OSPI_ADDRESS_NONE ((uint32_t)0x00000000U) 444 #define HAL_OSPI_ADDRESS_1_LINE ((uint32_t)OCTOSPI_CCR_ADMODE_0) 445 #define HAL_OSPI_ADDRESS_2_LINES ((uint32_t)OCTOSPI_CCR_ADMODE_1) 446 #define HAL_OSPI_ADDRESS_4_LINES ((uint32_t)(OCTOSPI_CCR_ADMODE_0 | OCTOSPI_CCR_ADMODE_1)) 447 #define HAL_OSPI_ADDRESS_8_LINES ((uint32_t)OCTOSPI_CCR_ADMODE_2) 455 #define HAL_OSPI_ADDRESS_8_BITS ((uint32_t)0x00000000U) 456 #define HAL_OSPI_ADDRESS_16_BITS ((uint32_t)OCTOSPI_CCR_ADSIZE_0) 457 #define HAL_OSPI_ADDRESS_24_BITS ((uint32_t)OCTOSPI_CCR_ADSIZE_1) 458 #define HAL_OSPI_ADDRESS_32_BITS ((uint32_t)OCTOSPI_CCR_ADSIZE) 466 #define HAL_OSPI_ADDRESS_DTR_DISABLE ((uint32_t)0x00000000U) 467 #define HAL_OSPI_ADDRESS_DTR_ENABLE ((uint32_t)OCTOSPI_CCR_ADDTR) 475 #define HAL_OSPI_ALTERNATE_BYTES_NONE ((uint32_t)0x00000000U) 476 #define HAL_OSPI_ALTERNATE_BYTES_1_LINE ((uint32_t)OCTOSPI_CCR_ABMODE_0) 477 #define HAL_OSPI_ALTERNATE_BYTES_2_LINES ((uint32_t)OCTOSPI_CCR_ABMODE_1) 478 #define HAL_OSPI_ALTERNATE_BYTES_4_LINES ((uint32_t)(OCTOSPI_CCR_ABMODE_0 | OCTOSPI_CCR_ABMODE_1)) 479 #define HAL_OSPI_ALTERNATE_BYTES_8_LINES ((uint32_t)OCTOSPI_CCR_ABMODE_2) 487 #define HAL_OSPI_ALTERNATE_BYTES_8_BITS ((uint32_t)0x00000000U) 488 #define HAL_OSPI_ALTERNATE_BYTES_16_BITS ((uint32_t)OCTOSPI_CCR_ABSIZE_0) 489 #define HAL_OSPI_ALTERNATE_BYTES_24_BITS ((uint32_t)OCTOSPI_CCR_ABSIZE_1) 490 #define HAL_OSPI_ALTERNATE_BYTES_32_BITS ((uint32_t)OCTOSPI_CCR_ABSIZE) 498 #define HAL_OSPI_ALTERNATE_BYTES_DTR_DISABLE ((uint32_t)0x00000000U) 499 #define HAL_OSPI_ALTERNATE_BYTES_DTR_ENABLE ((uint32_t)OCTOSPI_CCR_ABDTR) 507 #define HAL_OSPI_DATA_NONE ((uint32_t)0x00000000U) 508 #define HAL_OSPI_DATA_1_LINE ((uint32_t)OCTOSPI_CCR_DMODE_0) 509 #define HAL_OSPI_DATA_2_LINES ((uint32_t)OCTOSPI_CCR_DMODE_1) 510 #define HAL_OSPI_DATA_4_LINES ((uint32_t)(OCTOSPI_CCR_DMODE_0 | OCTOSPI_CCR_DMODE_1)) 511 #define HAL_OSPI_DATA_8_LINES ((uint32_t)OCTOSPI_CCR_DMODE_2) 519 #define HAL_OSPI_DATA_DTR_DISABLE ((uint32_t)0x00000000U) 520 #define HAL_OSPI_DATA_DTR_ENABLE ((uint32_t)OCTOSPI_CCR_DDTR) 528 #define HAL_OSPI_DQS_DISABLE ((uint32_t)0x00000000U) 529 #define HAL_OSPI_DQS_ENABLE ((uint32_t)OCTOSPI_CCR_DQSE) 537 #define HAL_OSPI_SIOO_INST_EVERY_CMD ((uint32_t)0x00000000U) 538 #define HAL_OSPI_SIOO_INST_ONLY_FIRST_CMD ((uint32_t)OCTOSPI_CCR_SIOO) 546 #define HAL_OSPI_LATENCY_ON_WRITE ((uint32_t)0x00000000U) 547 #define HAL_OSPI_NO_LATENCY_ON_WRITE ((uint32_t)OCTOSPI_HLCR_WZL) 555 #define HAL_OSPI_VARIABLE_LATENCY ((uint32_t)0x00000000U) 556 #define HAL_OSPI_FIXED_LATENCY ((uint32_t)OCTOSPI_HLCR_LM) 564 #define HAL_OSPI_MEMORY_ADDRESS_SPACE ((uint32_t)0x00000000U) 565 #define HAL_OSPI_REGISTER_ADDRESS_SPACE ((uint32_t)OCTOSPI_DCR1_MTYP_0) 573 #define HAL_OSPI_MATCH_MODE_AND ((uint32_t)0x00000000U) 574 #define HAL_OSPI_MATCH_MODE_OR ((uint32_t)OCTOSPI_CR_PMM) 582 #define HAL_OSPI_AUTOMATIC_STOP_DISABLE ((uint32_t)0x00000000U) 583 #define HAL_OSPI_AUTOMATIC_STOP_ENABLE ((uint32_t)OCTOSPI_CR_APMS) 591 #define HAL_OSPI_TIMEOUT_COUNTER_DISABLE ((uint32_t)0x00000000U) 592 #define HAL_OSPI_TIMEOUT_COUNTER_ENABLE ((uint32_t)OCTOSPI_CR_TCEN) 600 #define HAL_OSPI_FLAG_BUSY OCTOSPI_SR_BUSY 601 #define HAL_OSPI_FLAG_TO OCTOSPI_SR_TOF 602 #define HAL_OSPI_FLAG_SM OCTOSPI_SR_SMF 603 #define HAL_OSPI_FLAG_FT OCTOSPI_SR_FTF 604 #define HAL_OSPI_FLAG_TC OCTOSPI_SR_TCF 605 #define HAL_OSPI_FLAG_TE OCTOSPI_SR_TEF 613 #define HAL_OSPI_IT_TO OCTOSPI_CR_TOIE 614 #define HAL_OSPI_IT_SM OCTOSPI_CR_SMIE 615 #define HAL_OSPI_IT_FT OCTOSPI_CR_FTIE 616 #define HAL_OSPI_IT_TC OCTOSPI_CR_TCIE 617 #define HAL_OSPI_IT_TE OCTOSPI_CR_TEIE 625 #define HAL_OSPI_TIMEOUT_DEFAULT_VALUE ((uint32_t)5000U) 633 #define HAL_OSPIM_IOPORT_1_LOW ((uint32_t)(OCTOSPIM_PCR_IOLEN | 0x1U)) 634 #define HAL_OSPIM_IOPORT_1_HIGH ((uint32_t)(OCTOSPIM_PCR_IOHEN | 0x1U)) 635 #define HAL_OSPIM_IOPORT_2_LOW ((uint32_t)(OCTOSPIM_PCR_IOLEN | 0x2U)) 636 #define HAL_OSPIM_IOPORT_2_HIGH ((uint32_t)(OCTOSPIM_PCR_IOHEN | 0x2U)) 652 #if defined (USE_HAL_OSPI_REGISTER_CALLBACKS) && (USE_HAL_OSPI_REGISTER_CALLBACKS == 1U) 653 #define __HAL_OSPI_RESET_HANDLE_STATE(__HANDLE__) do { \ 654 (__HANDLE__)->State = HAL_OSPI_STATE_RESET; \ 655 (__HANDLE__)->MspInitCallback = NULL; \ 656 (__HANDLE__)->MspDeInitCallback = NULL; \ 659 #define __HAL_OSPI_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_OSPI_STATE_RESET) 666 #define __HAL_OSPI_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CR, OCTOSPI_CR_EN) 672 #define __HAL_OSPI_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CR, OCTOSPI_CR_EN) 685 #define __HAL_OSPI_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT((__HANDLE__)->Instance->CR, (__INTERRUPT__)) 699 #define __HAL_OSPI_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT((__HANDLE__)->Instance->CR, (__INTERRUPT__)) 712 #define __HAL_OSPI_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (READ_BIT((__HANDLE__)->Instance->CR, (__INTERRUPT__)) == (__INTERRUPT__)) 727 #define __HAL_OSPI_GET_FLAG(__HANDLE__, __FLAG__) ((READ_BIT((__HANDLE__)->Instance->SR, (__FLAG__)) != 0U) ? SET : RESET) 739 #define __HAL_OSPI_CLEAR_FLAG(__HANDLE__, __FLAG__) WRITE_REG((__HANDLE__)->Instance->FCR, (__FLAG__)) 809 #if defined (USE_HAL_OSPI_REGISTER_CALLBACKS) && (USE_HAL_OSPI_REGISTER_CALLBACKS == 1U) 853 #define IS_OSPI_FIFO_THRESHOLD(THRESHOLD) (((THRESHOLD) >= 1U) && ((THRESHOLD) <= 32U)) 855 #define IS_OSPI_DUALQUAD_MODE(MODE) (((MODE) == HAL_OSPI_DUALQUAD_DISABLE) || \ 856 ((MODE) == HAL_OSPI_DUALQUAD_ENABLE)) 858 #if defined(STM32L4R5xx) || defined(STM32L4R7xx) || defined(STM32L4R9xx) || defined(STM32L4S5xx) || defined(STM32L4S7xx) || defined(STM32L4S9xx) 859 #define IS_OSPI_MEMORY_TYPE(TYPE) (((TYPE) == HAL_OSPI_MEMTYPE_MICRON) || \ 860 ((TYPE) == HAL_OSPI_MEMTYPE_MACRONIX) || \ 861 ((TYPE) == HAL_OSPI_MEMTYPE_MACRONIX_RAM) || \ 862 ((TYPE) == HAL_OSPI_MEMTYPE_HYPERBUS)) 864 #define IS_OSPI_MEMORY_TYPE(TYPE) (((TYPE) == HAL_OSPI_MEMTYPE_MICRON) || \ 865 ((TYPE) == HAL_OSPI_MEMTYPE_MACRONIX) || \ 866 ((TYPE) == HAL_OSPI_MEMTYPE_APMEMORY) || \ 867 ((TYPE) == HAL_OSPI_MEMTYPE_MACRONIX_RAM) || \ 868 ((TYPE) == HAL_OSPI_MEMTYPE_HYPERBUS)) 871 #define IS_OSPI_DEVICE_SIZE(SIZE) (((SIZE) >= 1U) && ((SIZE) <= 32U)) 873 #define IS_OSPI_CS_HIGH_TIME(TIME) (((TIME) >= 1U) && ((TIME) <= 8U)) 875 #define IS_OSPI_FREE_RUN_CLK(CLK) (((CLK) == HAL_OSPI_FREERUNCLK_DISABLE) || \ 876 ((CLK) == HAL_OSPI_FREERUNCLK_ENABLE)) 878 #define IS_OSPI_CLOCK_MODE(MODE) (((MODE) == HAL_OSPI_CLOCK_MODE_0) || \ 879 ((MODE) == HAL_OSPI_CLOCK_MODE_3)) 881 #define IS_OSPI_WRAP_SIZE(SIZE) (((SIZE) == HAL_OSPI_WRAP_NOT_SUPPORTED) || \ 882 ((SIZE) == HAL_OSPI_WRAP_16_BYTES) || \ 883 ((SIZE) == HAL_OSPI_WRAP_32_BYTES) || \ 884 ((SIZE) == HAL_OSPI_WRAP_64_BYTES) || \ 885 ((SIZE) == HAL_OSPI_WRAP_128_BYTES)) 887 #define IS_OSPI_CLK_PRESCALER(PRESCALER) (((PRESCALER) >= 1U) && ((PRESCALER) <= 256U)) 889 #define IS_OSPI_SAMPLE_SHIFTING(CYCLE) (((CYCLE) == HAL_OSPI_SAMPLE_SHIFTING_NONE) || \ 890 ((CYCLE) == HAL_OSPI_SAMPLE_SHIFTING_HALFCYCLE)) 892 #define IS_OSPI_DHQC(CYCLE) (((CYCLE) == HAL_OSPI_DHQC_DISABLE) || \ 893 ((CYCLE) == HAL_OSPI_DHQC_ENABLE)) 895 #define IS_OSPI_OPERATION_TYPE(TYPE) (((TYPE) == HAL_OSPI_OPTYPE_COMMON_CFG) || \ 896 ((TYPE) == HAL_OSPI_OPTYPE_READ_CFG) || \ 897 ((TYPE) == HAL_OSPI_OPTYPE_WRITE_CFG)) 899 #define IS_OSPI_FLASH_ID(FLASHID) (((FLASHID) == HAL_OSPI_FLASH_ID_1) || \ 900 ((FLASHID) == HAL_OSPI_FLASH_ID_2)) 902 #define IS_OSPI_INSTRUCTION_MODE(MODE) (((MODE) == HAL_OSPI_INSTRUCTION_NONE) || \ 903 ((MODE) == HAL_OSPI_INSTRUCTION_1_LINE) || \ 904 ((MODE) == HAL_OSPI_INSTRUCTION_2_LINES) || \ 905 ((MODE) == HAL_OSPI_INSTRUCTION_4_LINES) || \ 906 ((MODE) == HAL_OSPI_INSTRUCTION_8_LINES)) 908 #define IS_OSPI_INSTRUCTION_SIZE(SIZE) (((SIZE) == HAL_OSPI_INSTRUCTION_8_BITS) || \ 909 ((SIZE) == HAL_OSPI_INSTRUCTION_16_BITS) || \ 910 ((SIZE) == HAL_OSPI_INSTRUCTION_24_BITS) || \ 911 ((SIZE) == HAL_OSPI_INSTRUCTION_32_BITS)) 913 #define IS_OSPI_INSTRUCTION_DTR_MODE(MODE) (((MODE) == HAL_OSPI_INSTRUCTION_DTR_DISABLE) || \ 914 ((MODE) == HAL_OSPI_INSTRUCTION_DTR_ENABLE)) 916 #define IS_OSPI_ADDRESS_MODE(MODE) (((MODE) == HAL_OSPI_ADDRESS_NONE) || \ 917 ((MODE) == HAL_OSPI_ADDRESS_1_LINE) || \ 918 ((MODE) == HAL_OSPI_ADDRESS_2_LINES) || \ 919 ((MODE) == HAL_OSPI_ADDRESS_4_LINES) || \ 920 ((MODE) == HAL_OSPI_ADDRESS_8_LINES)) 922 #define IS_OSPI_ADDRESS_SIZE(SIZE) (((SIZE) == HAL_OSPI_ADDRESS_8_BITS) || \ 923 ((SIZE) == HAL_OSPI_ADDRESS_16_BITS) || \ 924 ((SIZE) == HAL_OSPI_ADDRESS_24_BITS) || \ 925 ((SIZE) == HAL_OSPI_ADDRESS_32_BITS)) 927 #define IS_OSPI_ADDRESS_DTR_MODE(MODE) (((MODE) == HAL_OSPI_ADDRESS_DTR_DISABLE) || \ 928 ((MODE) == HAL_OSPI_ADDRESS_DTR_ENABLE)) 930 #define IS_OSPI_ALT_BYTES_MODE(MODE) (((MODE) == HAL_OSPI_ALTERNATE_BYTES_NONE) || \ 931 ((MODE) == HAL_OSPI_ALTERNATE_BYTES_1_LINE) || \ 932 ((MODE) == HAL_OSPI_ALTERNATE_BYTES_2_LINES) || \ 933 ((MODE) == HAL_OSPI_ALTERNATE_BYTES_4_LINES) || \ 934 ((MODE) == HAL_OSPI_ALTERNATE_BYTES_8_LINES)) 936 #define IS_OSPI_ALT_BYTES_SIZE(SIZE) (((SIZE) == HAL_OSPI_ALTERNATE_BYTES_8_BITS) || \ 937 ((SIZE) == HAL_OSPI_ALTERNATE_BYTES_16_BITS) || \ 938 ((SIZE) == HAL_OSPI_ALTERNATE_BYTES_24_BITS) || \ 939 ((SIZE) == HAL_OSPI_ALTERNATE_BYTES_32_BITS)) 941 #define IS_OSPI_ALT_BYTES_DTR_MODE(MODE) (((MODE) == HAL_OSPI_ALTERNATE_BYTES_DTR_DISABLE) || \ 942 ((MODE) == HAL_OSPI_ALTERNATE_BYTES_DTR_ENABLE)) 944 #define IS_OSPI_DATA_MODE(MODE) (((MODE) == HAL_OSPI_DATA_NONE) || \ 945 ((MODE) == HAL_OSPI_DATA_1_LINE) || \ 946 ((MODE) == HAL_OSPI_DATA_2_LINES) || \ 947 ((MODE) == HAL_OSPI_DATA_4_LINES) || \ 948 ((MODE) == HAL_OSPI_DATA_8_LINES)) 950 #define IS_OSPI_NUMBER_DATA(NUMBER) ((NUMBER) >= 1U) 952 #define IS_OSPI_DATA_DTR_MODE(MODE) (((MODE) == HAL_OSPI_DATA_DTR_DISABLE) || \ 953 ((MODE) == HAL_OSPI_DATA_DTR_ENABLE)) 955 #define IS_OSPI_DUMMY_CYCLES(NUMBER) ((NUMBER) <= 31U) 957 #define IS_OSPI_DQS_MODE(MODE) (((MODE) == HAL_OSPI_DQS_DISABLE) || \ 958 ((MODE) == HAL_OSPI_DQS_ENABLE)) 960 #define IS_OSPI_SIOO_MODE(MODE) (((MODE) == HAL_OSPI_SIOO_INST_EVERY_CMD) || \ 961 ((MODE) == HAL_OSPI_SIOO_INST_ONLY_FIRST_CMD)) 963 #define IS_OSPI_RW_RECOVERY_TIME(NUMBER) ((NUMBER) <= 255U) 965 #define IS_OSPI_ACCESS_TIME(NUMBER) ((NUMBER) <= 255U) 967 #define IS_OSPI_WRITE_ZERO_LATENCY(MODE) (((MODE) == HAL_OSPI_LATENCY_ON_WRITE) || \ 968 ((MODE) == HAL_OSPI_NO_LATENCY_ON_WRITE)) 970 #define IS_OSPI_LATENCY_MODE(MODE) (((MODE) == HAL_OSPI_VARIABLE_LATENCY) || \ 971 ((MODE) == HAL_OSPI_FIXED_LATENCY)) 973 #define IS_OSPI_ADDRESS_SPACE(SPACE) (((SPACE) == HAL_OSPI_MEMORY_ADDRESS_SPACE) || \ 974 ((SPACE) == HAL_OSPI_REGISTER_ADDRESS_SPACE)) 976 #define IS_OSPI_MATCH_MODE(MODE) (((MODE) == HAL_OSPI_MATCH_MODE_AND) || \ 977 ((MODE) == HAL_OSPI_MATCH_MODE_OR)) 979 #define IS_OSPI_AUTOMATIC_STOP(MODE) (((MODE) == HAL_OSPI_AUTOMATIC_STOP_ENABLE) || \ 980 ((MODE) == HAL_OSPI_AUTOMATIC_STOP_DISABLE)) 982 #define IS_OSPI_INTERVAL(INTERVAL) ((INTERVAL) <= 0xFFFFU) 984 #define IS_OSPI_STATUS_BYTES_SIZE(SIZE) (((SIZE) >= 1U) && ((SIZE) <= 4U)) 986 #define IS_OSPI_TIMEOUT_ACTIVATION(MODE) (((MODE) == HAL_OSPI_TIMEOUT_COUNTER_DISABLE) || \ 987 ((MODE) == HAL_OSPI_TIMEOUT_COUNTER_ENABLE)) 989 #define IS_OSPI_TIMEOUT_PERIOD(PERIOD) ((PERIOD) <= 0xFFFFU) 991 #define IS_OSPI_CS_BOUNDARY(BOUNDARY) ((BOUNDARY) <= 31U) 993 #define IS_OSPIM_PORT(NUMBER) (((NUMBER) >= 1U) && ((NUMBER) <= 2U)) 995 #define IS_OSPIM_IO_PORT(PORT) (((PORT) == HAL_OSPIM_IOPORT_1_LOW) || \ 996 ((PORT) == HAL_OSPIM_IOPORT_1_HIGH) || \ 997 ((PORT) == HAL_OSPIM_IOPORT_2_LOW) || \ 998 ((PORT) == HAL_OSPIM_IOPORT_2_HIGH)) HAL_OSPI_CallbackIDTypeDef
HAL OSPI Callback ID enumeration definition.
HAL_StatusTypeDef HAL_OSPI_Receive_IT(OSPI_HandleTypeDef *hospi, uint8_t *pData)
Receive an amount of data in non-blocking mode with interrupt.
uint32_t AlternateBytesMode
uint32_t HAL_OSPI_GetError(OSPI_HandleTypeDef *hospi)
Return the OSPI error code.
HAL_StatusTypeDef HAL_OSPI_Receive_DMA(OSPI_HandleTypeDef *hospi, uint8_t *pData)
Receive an amount of data in non-blocking mode with DMA.
void(* TimeOutCallback)(struct __OSPI_HandleTypeDef *hospi)
HAL OSPI IO Manager Configuration structure definition.
HAL_StatusTypeDef HAL_OSPI_AutoPolling(OSPI_HandleTypeDef *hospi, OSPI_AutoPollingTypeDef *cfg, uint32_t Timeout)
Configure the OSPI Automatic Polling Mode in blocking mode.
HAL_StatusTypeDef HAL_OSPI_UnRegisterCallback(OSPI_HandleTypeDef *hospi, HAL_OSPI_CallbackIDTypeDef CallbackID)
Unregister a User OSPI Callback OSPI Callback is redirected to the weak (surcharged) predefined callb...
HAL OSPI Hyperbus Command Structure definition.
void HAL_OSPI_StatusMatchCallback(OSPI_HandleTypeDef *hospi)
Status Match callback.
void(* RxHalfCpltCallback)(struct __OSPI_HandleTypeDef *hospi)
void(* FifoThresholdCallback)(struct __OSPI_HandleTypeDef *hospi)
void(* CmdCpltCallback)(struct __OSPI_HandleTypeDef *hospi)
void(* MspDeInitCallback)(struct __OSPI_HandleTypeDef *hospi)
DMA handle Structure definition.
HAL_StatusTypeDef HAL_OSPI_HyperbusCfg(OSPI_HandleTypeDef *hospi, OSPI_HyperbusCfgTypeDef *cfg, uint32_t Timeout)
Configure the Hyperbus parameters.
uint32_t HAL_OSPI_GetState(OSPI_HandleTypeDef *hospi)
Return the OSPI handle state.
void HAL_OSPI_CmdCpltCallback(OSPI_HandleTypeDef *hospi)
Command completed callback.
HAL_StatusTypeDef HAL_OSPI_AutoPolling_IT(OSPI_HandleTypeDef *hospi, OSPI_AutoPollingTypeDef *cfg)
Configure the OSPI Automatic Polling Mode in non-blocking mode.
HAL_StatusTypeDef HAL_OSPI_HyperbusCmd(OSPI_HandleTypeDef *hospi, OSPI_HyperbusCmdTypeDef *cmd, uint32_t Timeout)
Set the Hyperbus command configuration.
HAL OSPI Handle Structure definition.
HAL_StatusTypeDef HAL_OSPI_MemoryMapped(OSPI_HandleTypeDef *hospi, OSPI_MemoryMappedTypeDef *cfg)
Configure the Memory Mapped mode.
HAL_StatusTypeDef HAL_OSPI_Transmit(OSPI_HandleTypeDef *hospi, uint8_t *pData, uint32_t Timeout)
Transmit an amount of data in blocking mode.
uint32_t TimeOutActivation
HAL_StatusTypeDef HAL_OSPI_Command(OSPI_HandleTypeDef *hospi, OSPI_RegularCmdTypeDef *cmd, uint32_t Timeout)
Set the command configuration.
HAL_StatusTypeDef HAL_OSPI_Receive(OSPI_HandleTypeDef *hospi, uint8_t *pData, uint32_t Timeout)
Receive an amount of data in blocking mode.
This file contains HAL common defines, enumeration, macros and structures definitions.
void HAL_OSPI_IRQHandler(OSPI_HandleTypeDef *hospi)
Handle OSPI interrupt request.
void HAL_OSPI_TxCpltCallback(OSPI_HandleTypeDef *hospi)
Tx Transfer completed callback.
void(* RxCpltCallback)(struct __OSPI_HandleTypeDef *hospi)
HAL_StatusTypeDef HAL_OSPI_Transmit_DMA(OSPI_HandleTypeDef *hospi, uint8_t *pData)
Send an amount of data in non-blocking mode with DMA.
HAL OSPI Hyperbus Configuration Structure definition.
void(* TxHalfCpltCallback)(struct __OSPI_HandleTypeDef *hospi)
HAL_StatusTypeDef HAL_OSPI_SetTimeout(OSPI_HandleTypeDef *hospi, uint32_t Timeout)
Set OSPI timeout.
void HAL_OSPI_FifoThresholdCallback(OSPI_HandleTypeDef *hospi)
FIFO Threshold callback.
HAL OSPI Regular Command Structure definition.
uint32_t AlternateBytesDtrMode
uint32_t HAL_OSPI_GetFifoThreshold(OSPI_HandleTypeDef *hospi)
Get OSPI Fifo threshold.
HAL_StatusTypeDef HAL_OSPI_Abort_IT(OSPI_HandleTypeDef *hospi)
Abort the current transmission (non-blocking function)
uint32_t WriteZeroLatency
void HAL_OSPI_TimeOutCallback(OSPI_HandleTypeDef *hospi)
Timeout callback.
struct __OSPI_HandleTypeDef OSPI_HandleTypeDef
HAL OSPI Handle Structure definition.
void HAL_OSPI_MspInit(OSPI_HandleTypeDef *hospi)
Initialize the OSPI MSP.
HAL_StatusTypeDef HAL_OSPI_Transmit_IT(OSPI_HandleTypeDef *hospi, uint8_t *pData)
Send an amount of data in non-blocking mode with interrupt.
void(* StatusMatchCallback)(struct __OSPI_HandleTypeDef *hospi)
HAL_StatusTypeDef HAL_OSPI_Init(OSPI_HandleTypeDef *hospi)
Initialize the OSPI mode according to the specified parameters in the OSPI_InitTypeDef and initialize...
HAL_StatusTypeDef HAL_OSPI_SetFifoThreshold(OSPI_HandleTypeDef *hospi, uint32_t Threshold)
Set OSPI Fifo threshold.
HAL_StatusTypeDef HAL_OSPI_Abort(OSPI_HandleTypeDef *hospi)
Abort the current transmission.
void HAL_OSPI_TxHalfCpltCallback(OSPI_HandleTypeDef *hospi)
Tx Half Transfer completed callback.
HAL_StatusTypeDef HAL_OSPI_Command_IT(OSPI_HandleTypeDef *hospi, OSPI_RegularCmdTypeDef *cmd)
Set the command configuration in interrupt mode.
void(* AbortCpltCallback)(struct __OSPI_HandleTypeDef *hospi)
void(* pOSPI_CallbackTypeDef)(OSPI_HandleTypeDef *hospi)
HAL OSPI Callback pointer definition.
HAL OSPI Auto Polling mode configuration structure definition.
uint32_t AlternateBytesSize
void(* TxCpltCallback)(struct __OSPI_HandleTypeDef *hospi)
void HAL_OSPI_RxCpltCallback(OSPI_HandleTypeDef *hospi)
Rx Transfer completed callback.
void(* ErrorCallback)(struct __OSPI_HandleTypeDef *hospi)
void HAL_OSPI_MspDeInit(OSPI_HandleTypeDef *hospi)
DeInitialize the OSPI MSP.
HAL_StatusTypeDef HAL_OSPI_RegisterCallback(OSPI_HandleTypeDef *hospi, HAL_OSPI_CallbackIDTypeDef CallbackID, pOSPI_CallbackTypeDef pCallback)
Register a User OSPI Callback To be used instead of the weak (surcharged) predefined callback...
void HAL_OSPI_RxHalfCpltCallback(OSPI_HandleTypeDef *hospi)
Rx Half Transfer completed callback.
HAL_StatusTypeDef HAL_OSPI_DeInit(OSPI_HandleTypeDef *hospi)
De-Initialize the OSPI peripheral.
HAL OSPI Memory Mapped mode configuration structure definition.
HAL_StatusTypeDef HAL_OSPIM_Config(OSPI_HandleTypeDef *hospi, OSPIM_CfgTypeDef *cfg, uint32_t Timeout)
Configure the OctoSPI IO manager.
OCTOSPI_TypeDef * Instance
void(* MspInitCallback)(struct __OSPI_HandleTypeDef *hospi)
void HAL_OSPI_AbortCpltCallback(OSPI_HandleTypeDef *hospi)
Abort completed callback.
uint32_t InstructionDtrMode
void HAL_OSPI_ErrorCallback(OSPI_HandleTypeDef *hospi)
Transfer Error callback.