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