arm: mvebu: Add support for reading LD0 and LD1 eFuse
authorPali Rohár <pali@kernel.org>
Wed, 6 Apr 2022 12:18:18 +0000 (14:18 +0200)
committerStefan Roese <sr@denx.de>
Thu, 21 Apr 2022 10:31:36 +0000 (12:31 +0200)
commit8b3d7ecdfec30d63684d86bd76632929b72d8a84
treec58aab7bc8c7670ff6547b18c9ebbb2dca71e680
parent7001ea3ec408cbc801fc21054927ca1f4840ff79
arm: mvebu: Add support for reading LD0 and LD1 eFuse

Armada 385 contains 64 lines of HD eFuse and 2 lines of LD eFuse. HD eFuse
is used for secure boot and each line is 64 bits long + 1 lock bit. LD
eFuse lines are 256 bits long + 1 lock bit. LD 0 line is reserved for
Marvell Internal Use and LD 1 line is for General Purpose Data. U-Boot
already contains HD eFuse reading and programming support.

This patch implements LD eFuse reading support. LD 0 line is mapped to
U-Boot fuse bank 64 and LD 1 line to fuse bank 65.

LD 0 Marvell Internal Use line seems that was burned in factory with some
data and can be read by U-Boot fuse command:

  => fuse read 64 0 9

LD 1 General Purpose Data line is by default empty and can be read by
U-Boot fuse command:

  => fuse read 65 0 9

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Marek Behún <marek.behun@nic.cz>
arch/arm/mach-mvebu/efuse.c
arch/arm/mach-mvebu/include/mach/efuse.h