diff options
author | Tom Rini <trini@konsulko.com> | 2017-02-01 06:57:35 -0500 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2017-02-01 06:57:35 -0500 |
commit | f77309d34325369dbdf0bf62387c9e974f1b37da (patch) | |
tree | e78043de1b4f3659f755074887fbc52ba95fc0a2 /arch/arm/mach-mvebu/include/mach/efuse.h | |
parent | dd3b64eb56dae10016bd314e59a650da511c1a4e (diff) | |
parent | a1b6b0a9c1f91756b93e6d804837dc178d79d39e (diff) | |
download | u-boot-imx-f77309d34325369dbdf0bf62387c9e974f1b37da.zip u-boot-imx-f77309d34325369dbdf0bf62387c9e974f1b37da.tar.gz u-boot-imx-f77309d34325369dbdf0bf62387c9e974f1b37da.tar.bz2 |
Merge git://www.denx.de/git/u-boot-marvell
Diffstat (limited to 'arch/arm/mach-mvebu/include/mach/efuse.h')
-rw-r--r-- | arch/arm/mach-mvebu/include/mach/efuse.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/arch/arm/mach-mvebu/include/mach/efuse.h b/arch/arm/mach-mvebu/include/mach/efuse.h new file mode 100644 index 0000000..ef693e6 --- /dev/null +++ b/arch/arm/mach-mvebu/include/mach/efuse.h @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2015 Reinhard Pfau <reinhard.pfau@gdsys.cc> + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef _MVEBU_EFUSE_H +#define _MVEBU_EFUSE_H + +#include <common.h> + +struct efuse_val { + union { + struct { + u8 d[8]; + } bytes; + struct { + u16 d[4]; + } words; + struct { + u32 d[2]; + } dwords; + }; + u32 lock; +}; + +#if defined(CONFIG_ARMADA_38X) + +enum efuse_line { + EFUSE_LINE_SECURE_BOOT = 24, + EFUSE_LINE_PUBKEY_DIGEST_0 = 26, + EFUSE_LINE_PUBKEY_DIGEST_1 = 27, + EFUSE_LINE_PUBKEY_DIGEST_2 = 28, + EFUSE_LINE_PUBKEY_DIGEST_3 = 29, + EFUSE_LINE_PUBKEY_DIGEST_4 = 30, + EFUSE_LINE_CSK_0_VALID = 31, + EFUSE_LINE_CSK_1_VALID = 32, + EFUSE_LINE_CSK_2_VALID = 33, + EFUSE_LINE_CSK_3_VALID = 34, + EFUSE_LINE_CSK_4_VALID = 35, + EFUSE_LINE_CSK_5_VALID = 36, + EFUSE_LINE_CSK_6_VALID = 37, + EFUSE_LINE_CSK_7_VALID = 38, + EFUSE_LINE_CSK_8_VALID = 39, + EFUSE_LINE_CSK_9_VALID = 40, + EFUSE_LINE_CSK_10_VALID = 41, + EFUSE_LINE_CSK_11_VALID = 42, + EFUSE_LINE_CSK_12_VALID = 43, + EFUSE_LINE_CSK_13_VALID = 44, + EFUSE_LINE_CSK_14_VALID = 45, + EFUSE_LINE_CSK_15_VALID = 46, + EFUSE_LINE_FLASH_ID = 47, + EFUSE_LINE_BOX_ID = 48, + + EFUSE_LINE_MIN = 0, + EFUSE_LINE_MAX = 63, +}; + +#endif + +int mvebu_efuse_init_hw(void); + +int mvebu_read_efuse(int nr, struct efuse_val *val); + +int mvebu_write_efuse(int nr, struct efuse_val *val); + +int mvebu_lock_efuse(int nr); + +#endif |