1*c6d054ebSManorit Chawdhry /* SPDX-License-Identifier: BSD-2-Clause */ 2*c6d054ebSManorit Chawdhry /* 3*c6d054ebSManorit Chawdhry * Texas Instruments System Control Interface Driver 4*c6d054ebSManorit Chawdhry * 5*c6d054ebSManorit Chawdhry * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/ 6*c6d054ebSManorit Chawdhry * Manorit Chawdhry <m-chawdhry@ti.com> 7*c6d054ebSManorit Chawdhry */ 8*c6d054ebSManorit Chawdhry 9*c6d054ebSManorit Chawdhry #ifndef __K3_OTP_KEYWRITING_TA_H__ 10*c6d054ebSManorit Chawdhry #define __K3_OTP_KEYWRITING_TA_H__ 11*c6d054ebSManorit Chawdhry 12*c6d054ebSManorit Chawdhry /* UUID of the trusted application */ 13*c6d054ebSManorit Chawdhry #define PTA_K3_OTP_KEYWRITING_UUID \ 14*c6d054ebSManorit Chawdhry { 0xacc50f40, 0x0613, 0x4abd, \ 15*c6d054ebSManorit Chawdhry { 0x8d, 0xfe, 0xa9, 0x64, 0xcb, 0x74, 0xeb, 0x69} } 16*c6d054ebSManorit Chawdhry 17*c6d054ebSManorit Chawdhry #define PTA_K3_OTP_KEYWRITING_NAME "pta_k3_otp.ta" 18*c6d054ebSManorit Chawdhry 19*c6d054ebSManorit Chawdhry /* 20*c6d054ebSManorit Chawdhry * TA_OTP_KEYWRITING_CMD_READ_MMR - Read an extended OTP bit 21*c6d054ebSManorit Chawdhry * param[0] (value/input) 32-bit MMR index 22*c6d054ebSManorit Chawdhry * param[1] (value/output) OTP value written in efuse 23*c6d054ebSManorit Chawdhry * param[2] unused 24*c6d054ebSManorit Chawdhry * param[3] unused 25*c6d054ebSManorit Chawdhry */ 26*c6d054ebSManorit Chawdhry #define TA_OTP_KEYWRITING_CMD_READ_MMR 0 27*c6d054ebSManorit Chawdhry 28*c6d054ebSManorit Chawdhry /* 29*c6d054ebSManorit Chawdhry * TA_OTP_KEYWRITING_CMD_WRITE_ROW - Write into extended OTP row 30*c6d054ebSManorit Chawdhry * param[0] (value/input) Row index 31*c6d054ebSManorit Chawdhry * param[1].a (value/input) Value to be written 32*c6d054ebSManorit Chawdhry * param[1].b (value/input) Mask for the value 33*c6d054ebSManorit Chawdhry * param[2] unused 34*c6d054ebSManorit Chawdhry * param[3] unused 35*c6d054ebSManorit Chawdhry */ 36*c6d054ebSManorit Chawdhry #define TA_OTP_KEYWRITING_CMD_WRITE_ROW 1 37*c6d054ebSManorit Chawdhry 38*c6d054ebSManorit Chawdhry /* 39*c6d054ebSManorit Chawdhry * TA_OTP_KEYWRITING_CMD_LOCK_ROW - Lock an extended OTP row 40*c6d054ebSManorit Chawdhry * param[0].a (value/input) Row index 41*c6d054ebSManorit Chawdhry * param[0].b (value/input) 42*c6d054ebSManorit Chawdhry * BIT(0) - soft_lock 43*c6d054ebSManorit Chawdhry * BIT(1) - hw_read_lock 44*c6d054ebSManorit Chawdhry * BIT(2) - hw_write_lock 45*c6d054ebSManorit Chawdhry * param[1] unused 46*c6d054ebSManorit Chawdhry * param[2] unused 47*c6d054ebSManorit Chawdhry * param[3] unused 48*c6d054ebSManorit Chawdhry */ 49*c6d054ebSManorit Chawdhry #define TA_OTP_KEYWRITING_CMD_LOCK_ROW 2 50*c6d054ebSManorit Chawdhry 51*c6d054ebSManorit Chawdhry #define K3_OTP_KEYWRITING_SOFT_LOCK BIT(0) 52*c6d054ebSManorit Chawdhry #define K3_OTP_KEYWRITING_HW_READ_LOCK BIT(1) 53*c6d054ebSManorit Chawdhry #define K3_OTP_KEYWRITING_HW_WRITE_LOCK BIT(2) 54*c6d054ebSManorit Chawdhry 55*c6d054ebSManorit Chawdhry #endif /* __K3_OTP_KEYWRITING_TA_H__ */ 56