mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 19:11:53 +00:00
stm32mp: stm32prog: add otp update support
Add a virtual partition to update the STM32MP15x OTP based on SMC service provided by TF-A. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
This commit is contained in:
parent
2bad5d082d
commit
936f1aea80
3 changed files with 151 additions and 1 deletions
|
@ -11,12 +11,15 @@
|
|||
#define PHASE_FIRST_USER 0x10
|
||||
#define PHASE_LAST_USER 0xF0
|
||||
#define PHASE_CMD 0xF1
|
||||
#define PHASE_OTP 0xF2
|
||||
#define PHASE_END 0xFE
|
||||
#define PHASE_RESET 0xFF
|
||||
#define PHASE_DO_RESET 0x1FF
|
||||
|
||||
#define DEFAULT_ADDRESS 0xFFFFFFFF
|
||||
|
||||
#define OTP_SIZE 1024
|
||||
|
||||
enum stm32prog_target {
|
||||
STM32PROG_NONE,
|
||||
STM32PROG_MMC,
|
||||
|
@ -116,6 +119,7 @@ struct stm32prog_data {
|
|||
u32 offset;
|
||||
char error[255];
|
||||
struct stm32prog_part_t *cur_part;
|
||||
u32 *otp_part;
|
||||
|
||||
/* STM32 header information */
|
||||
struct raw_header_s *header_data;
|
||||
|
@ -124,6 +128,13 @@ struct stm32prog_data {
|
|||
|
||||
extern struct stm32prog_data *stm32prog_data;
|
||||
|
||||
/* OTP access */
|
||||
int stm32prog_otp_write(struct stm32prog_data *data, u32 offset,
|
||||
u8 *buffer, long *size);
|
||||
int stm32prog_otp_read(struct stm32prog_data *data, u32 offset,
|
||||
u8 *buffer, long *size);
|
||||
int stm32prog_otp_start(struct stm32prog_data *data);
|
||||
|
||||
/* generic part*/
|
||||
u8 stm32prog_header_check(struct raw_header_s *raw_header,
|
||||
struct image_header_s *header);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue