1525c44eeSSandeep Tripathy /* SPDX-License-Identifier: BSD-2-Clause */ 2525c44eeSSandeep Tripathy /* 3525c44eeSSandeep Tripathy * Copyright 2019 Broadcom. 4525c44eeSSandeep Tripathy */ 5525c44eeSSandeep Tripathy 6*fbe66cf8SEtienne Carriere #ifndef __DRIVERS_BCM_SOTP_H 7*fbe66cf8SEtienne Carriere #define __DRIVERS_BCM_SOTP_H 8525c44eeSSandeep Tripathy 9525c44eeSSandeep Tripathy #include <stdint.h> 10525c44eeSSandeep Tripathy #include <tee_api.h> 11525c44eeSSandeep Tripathy 1248ca91edSVahid Dukandar #define SOTP_ECC_ERR_DETECT BIT64(63) 1348ca91edSVahid Dukandar 1448ca91edSVahid Dukandar /** 1548ca91edSVahid Dukandar * Reads from sotp fuse at given row address. 1648ca91edSVahid Dukandar * @row_addr: row address 1748ca91edSVahid Dukandar * @sotp_add_ecc: ecc memory support flag 1848ca91edSVahid Dukandar * @rdata: pointer to sotp data value 1948ca91edSVahid Dukandar * @returns TEE_Result value 2048ca91edSVahid Dukandar */ 2148ca91edSVahid Dukandar TEE_Result bcm_iproc_sotp_mem_read(uint32_t row_addr, bool sotp_add_ecc, 22525c44eeSSandeep Tripathy uint64_t *rdata); 23525c44eeSSandeep Tripathy 2448ca91edSVahid Dukandar /** 2548ca91edSVahid Dukandar * Writes to sotp fuse at given row address. 2648ca91edSVahid Dukandar * @row_addr: row address 2748ca91edSVahid Dukandar * @sotp_add_ecc: ecc memory support flag 2848ca91edSVahid Dukandar * @wdata: data to be written to sotp fuse 2948ca91edSVahid Dukandar * @returns TEE_Result value 3048ca91edSVahid Dukandar */ 3148ca91edSVahid Dukandar TEE_Result bcm_iproc_sotp_mem_write(uint32_t row_addr, bool sotp_add_ecc, 3248ca91edSVahid Dukandar uint64_t wdata); 3348ca91edSVahid Dukandar 34525c44eeSSandeep Tripathy #endif 35