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