1*91f16700Schasinglulu /* 2*91f16700Schasinglulu * Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu #include <stdint.h> 8*91f16700Schasinglulu 9*91f16700Schasinglulu #include "aml_private.h" 10*91f16700Schasinglulu 11*91f16700Schasinglulu #define EFUSE_BASE 0x140 12*91f16700Schasinglulu #define EFUSE_SIZE 0xC0 13*91f16700Schasinglulu 14*91f16700Schasinglulu uint64_t aml_efuse_read(void *dst, uint32_t offset, uint32_t size) 15*91f16700Schasinglulu { 16*91f16700Schasinglulu if ((uint64_t)(offset + size) > (uint64_t)EFUSE_SIZE) 17*91f16700Schasinglulu return 0; 18*91f16700Schasinglulu 19*91f16700Schasinglulu return aml_scpi_efuse_read(dst, offset + EFUSE_BASE, size); 20*91f16700Schasinglulu } 21*91f16700Schasinglulu 22*91f16700Schasinglulu uint64_t aml_efuse_user_max(void) 23*91f16700Schasinglulu { 24*91f16700Schasinglulu return EFUSE_SIZE; 25*91f16700Schasinglulu } 26