Firmware
|
One TIme Programmable ( OTP ) Flash routine/s. More...
#include <unistd.h>
#include <stdint.h>
#include <stdio.h>
Go to the source code of this file.
Classes | |
struct | flash_registers |
struct | otp |
struct | otp_lock |
union | udid |
Macros | |
#define | ADDR_OTP_START 0x1FFF7800 |
#define | ADDR_OTP_LOCK_START 0x1FFF7A00 |
#define | OTP_LOCK_LOCKED 0x00 |
#define | OTP_LOCK_UNLOCKED 0xFF |
#define | F_BUSY 1 |
#define | F_ERROR_WRP 2 |
#define | F_ERROR_PROGRAM 3 |
#define | F_ERROR_OPERATION 4 |
#define | F_COMPLETE 5 |
#define | PERIPH_BASE ((unsigned long)0x40000000) |
#define | AHB1PERIPH_BASE (PERIPH_BASE + 0x00020000) |
#define | F_R_BASE (AHB1PERIPH_BASE + 0x3C00) |
#define | FLASH ((flash_registers *) F_R_BASE) |
#define | F_BSY ((unsigned long)0x00010000) |
#define | F_OPERR ((unsigned long)0x00000002) |
#define | F_WRPERR ((unsigned long)0x00000010) |
#define | CR_PSIZE_MASK ((unsigned long)0xFFFFFCFF) |
#define | F_PSIZE_WORD ((unsigned long)0x00000200) |
#define | F_PSIZE_BYTE ((unsigned long)0x00000000) |
#define | F_CR_PG ((unsigned long)0x00000001) |
#define | F_CR_LOCK ((unsigned long)0x80000000) |
#define | F_KEY1 ((unsigned long)0x45670123) |
#define | F_KEY2 ((unsigned long)0xCDEF89AB) |
#define | IS_F_ADDRESS(ADDRESS) ((((ADDRESS) >= 0x08000000) && ((ADDRESS) < 0x080FFFFF)) || (((ADDRESS) >= 0x1FFF7800) && ((ADDRESS) < 0x1FFF7A0F))) |
#define | ADDR_F_SIZE 0x1FFF7A22 |
One TIme Programmable ( OTP ) Flash routine/s.