xref: /optee_os/core/include/drivers/rockchip_otp.h (revision d2c909e8962b3b61cd3b8718221c7923857dd3f5)
1*d2c909e8SMichael Tretter /* SPDX-License-Identifier: BSD-2-Clause */
2*d2c909e8SMichael Tretter /*
3*d2c909e8SMichael Tretter  * Copyright (C) 2025 Pengutronix, Michael Tretter <m.tretter@pengutronix.de>
4*d2c909e8SMichael Tretter  */
5*d2c909e8SMichael Tretter 
6*d2c909e8SMichael Tretter #ifndef __DRIVERS_ROCKCHIP_OTP_H
7*d2c909e8SMichael Tretter #define __DRIVERS_ROCKCHIP_OTP_H
8*d2c909e8SMichael Tretter 
9*d2c909e8SMichael Tretter #include <tee_api_types.h>
10*d2c909e8SMichael Tretter 
11*d2c909e8SMichael Tretter /*
12*d2c909e8SMichael Tretter  * Read the OTP fuses at index
13*d2c909e8SMichael Tretter  *
14*d2c909e8SMichael Tretter  * @[out]value	destination for the values that are read from the OTP fuses
15*d2c909e8SMichael Tretter  * @index	index of the first word to read in 32 bit words
16*d2c909e8SMichael Tretter  * @count	number of 32 bit words to read
17*d2c909e8SMichael Tretter  */
18*d2c909e8SMichael Tretter TEE_Result rockchip_otp_read_secure(uint32_t *value, uint32_t index,
19*d2c909e8SMichael Tretter 				    uint32_t count);
20*d2c909e8SMichael Tretter 
21*d2c909e8SMichael Tretter /*
22*d2c909e8SMichael Tretter  * Write the OTP fuses at index
23*d2c909e8SMichael Tretter  *
24*d2c909e8SMichael Tretter  * @value	pointer to values that are written to the OTP fuses
25*d2c909e8SMichael Tretter  * @index	index of the first word to write in 32 bit words
26*d2c909e8SMichael Tretter  * @count	number of 32 bit words to write
27*d2c909e8SMichael Tretter  */
28*d2c909e8SMichael Tretter TEE_Result rockchip_otp_write_secure(const uint32_t *value, uint32_t index,
29*d2c909e8SMichael Tretter 				     uint32_t count);
30*d2c909e8SMichael Tretter 
31*d2c909e8SMichael Tretter #endif /* __DRIVERS_ROCKCHIP_OTP_H */
32