1*54fd6939SJiyong Park /* 2*54fd6939SJiyong Park * Copyright (c) 2016 - 2020, Broadcom 3*54fd6939SJiyong Park * 4*54fd6939SJiyong Park * SPDX-License-Identifier: BSD-3-Clause 5*54fd6939SJiyong Park */ 6*54fd6939SJiyong Park 7*54fd6939SJiyong Park #ifndef OCOTP_H 8*54fd6939SJiyong Park #define OCOTP_H 9*54fd6939SJiyong Park 10*54fd6939SJiyong Park #include <stdint.h> 11*54fd6939SJiyong Park 12*54fd6939SJiyong Park struct otpc_map { 13*54fd6939SJiyong Park /* in words. */ 14*54fd6939SJiyong Park uint32_t otpc_row_size; 15*54fd6939SJiyong Park /* 128 bit row / 4 words support. */ 16*54fd6939SJiyong Park uint16_t data_r_offset[4]; 17*54fd6939SJiyong Park /* 128 bit row / 4 words support. */ 18*54fd6939SJiyong Park uint16_t data_w_offset[4]; 19*54fd6939SJiyong Park int word_size; 20*54fd6939SJiyong Park int stride; 21*54fd6939SJiyong Park }; 22*54fd6939SJiyong Park 23*54fd6939SJiyong Park int bcm_otpc_init(struct otpc_map *map); 24*54fd6939SJiyong Park int bcm_otpc_read(unsigned int offset, void *val, uint32_t bytes, 25*54fd6939SJiyong Park uint32_t ecc_flag); 26*54fd6939SJiyong Park 27*54fd6939SJiyong Park #endif /* OCOTP_H */ 28