1*afad5214SPatrick Delaunay /* 2*afad5214SPatrick Delaunay * Copyright (c) 2021, STMicroelectronics - All Rights Reserved 3*afad5214SPatrick Delaunay * 4*afad5214SPatrick Delaunay * SPDX-License-Identifier: BSD-3-Clause 5*afad5214SPatrick Delaunay */ 6*afad5214SPatrick Delaunay 7*afad5214SPatrick Delaunay #ifndef STM32CUBEPROGRAMMER_H 8*afad5214SPatrick Delaunay #define STM32CUBEPROGRAMMER_H 9*afad5214SPatrick Delaunay 10*afad5214SPatrick Delaunay #include <stdint.h> 11*afad5214SPatrick Delaunay 12*afad5214SPatrick Delaunay #include <usb_dfu.h> 13*afad5214SPatrick Delaunay 14*afad5214SPatrick Delaunay /* Phase definition */ 15*afad5214SPatrick Delaunay #define PHASE_FLASHLAYOUT 0U 16*afad5214SPatrick Delaunay #define PHASE_SSBL 3U 17*afad5214SPatrick Delaunay #define PHASE_CMD 0xF1U 18*afad5214SPatrick Delaunay #define PHASE_RESET 0xFFU 19*afad5214SPatrick Delaunay 20*afad5214SPatrick Delaunay /* Functions provided by plat */ 21*afad5214SPatrick Delaunay uint8_t usb_dfu_get_phase(uint8_t alt); 22*afad5214SPatrick Delaunay 23*afad5214SPatrick Delaunay int stm32cubeprog_usb_load(struct usb_handle *usb_core_handle, 24*afad5214SPatrick Delaunay uintptr_t ssbl_base, 25*afad5214SPatrick Delaunay size_t ssbl_len); 26*afad5214SPatrick Delaunay 27*afad5214SPatrick Delaunay #endif /* STM32CUBEPROGRAMMER_H */ 28