xref: /aosp_15_r20/external/arm-trusted-firmware/include/drivers/brcm/ocotp.h (revision 54fd6939e177f8ff529b10183254802c76df6d08)
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