xref: /rk3399_ARM-atf/plat/st/common/include/stm32cubeprogrammer.h (revision afad5214a79259f56bc2003b00859abfe8a18d4d)
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