/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ /* * Copyright (c) 2019 Amlogic, Inc. All rights reserved. */ #ifndef __EFUSE_AMLOGIC_H #define __EFUSE_AMLOGIC_H #define EFUSE_KEY_NAME_LEN 32 #define EFUSE_READ_CALI_ITEM 0x8200003E #define EFUSE_CALI_SUBITEM_WHOBURN 0x100 #define EFUSE_CALI_SUBITEM_SENSOR0 0x101 #define EFUSE_CALI_SUBITEM_SARADC 0x102 #define EFUSE_CALI_SUBITEM_USBPHY 0x103 #define EFUSE_CALI_SUBITEM_MIPICSI 0x104 #define EFUSE_CALI_SUBITEM_HDMIRX 0x105 #define EFUSE_CALI_SUBITEM_ETHERNET 0x106 #define EFUSE_CALI_SUBITEM_CVBS 0x107 #define EFUSE_CALI_SUBITEM_EARCRX 0x108 #define EFUSE_CALI_SUBITEM_EARCTX 0x109 #define EFUSE_CALI_SUBITEM_USBCCLOGIC 0x10A #define EFUSE_CALI_SUBITEM_BC 0x10B #define EFUSE_CALI_SUBITEM_HDMITX 0x10C #define EFUSE_CALI_SUBITEM_DEMODADC 0x10D #define EFUSE_CALI_SUBITEM_HDMIRX21 0x10E #define EFUSE_CALI_SUBITEM_SENSOR1 0x10F #define EFUSE_CALI_SUBITEM_ODIO33 0x110 #define EFUSE_CALI_SUBITEM_SARADC_VREF 0x111 #define EFUSE_CALI_SUBITEM_SARADC_MIN 0x112 #define EFUSE_CALI_SUBITEM_SARADC_MAX 0x113 #define EFUSE_CALI_SUBITEM_VREF14 0x114 #define EFUSE_CALI_SUBITEM_ETH_TXAMP 0x115 #define EFUSE_CALI_SUBITEM_ETH_RESCTL 0x116 #define EFUSE_CALI_SUBITEM_U3PCIE_TX 0x117 #define EFUSE_CALI_SUBITEM_U3PCIE_RX 0x118 #define EFUSE_CALI_SUBITEM_DSI 0x119 #define EFUSE_CALI_SUBITEM_CSI 0x11A #define EFUSE_CALI_SUBITEM_MISC_PZQ 0x11B #define EFUSE_CALI_SUBITEM_P2P_VINLP 0x11C #define EFUSE_CALI_SUBITEM_P2P_COMMON 0x11D #define EFUSE_CALI_SUBITEM_UPCTX_IO 0x11E #define EFUSE_CALI_SUBITEM_UPCTX_BOOTST 0x11F #define EFUSE_CALI_SUBITEM_UPCREG_DCHA 0x120 #define EFUSE_CALI_SUBITEM_P2P_VINLPVML 0x121 #define EFUSE_CALI_SUBITEM_CEC_IO 0x122 #define EFUSE_CALI_SUBITEM_PCIE_UPCTX_CALIBDRV 0x123 #define EFUSE_CALI_SUBITEM_PCIE_UPCTX_BOOTST 0x124 #define EFUSE_CALI_SUBITEM_PCIE_UPCREG_DCHA 0x125 #define EFUSE_CALI_SUBITEM_ETH_A_GPHY_REXT 0x126 #define EFUSE_CALI_SUBITEM_ETH_A_GPHY_DRIVER 0x127 #define EFUSE_CALI_SUBITEM_ETH_B_GPHY_DRIVER 0x128 #define EFUSE_CALI_SUBITEM_ETH_C_GPHY_DRIVER 0x129 #define EFUSE_CALI_SUBITEM_ETH_D_GPHY_DRIVER 0x12A #define EFUSE_CALI_SUBITEM_SARADC_RSV2 0x12B #define EFUSE_CALI_SUBITEM_VPU_MAXFREQ 0x12C #define EFUSE_CALI_SUBITEM_IDD_EE 0x12D #define EFUSE_CALI_SUBITEM_IDD_CPU 0x12E #define EFUSE_CALI_SUBITEM_AOOSC 0x12F #define EFUSE_CALI_SUBITEM_SENSOR2 0x130 #define EFUSE_CALI_SUBITEM_SENSOR3 0x131 #define EFUSE_CALI_SUBITEM_DPAUX_TX 0x132 #define EFUSE_CALI_SUBITEM_UPCDP_TX_IO 0x133 #define EFUSE_CALI_SUBITEM_UPCDP_TX_BOOTST 0x134 #define EFUSE_CALI_SUBITEM_UPCDP_REG_DCHA 0x135 #define EFUSE_CALI_SUBITEM_COMB_VML_RES 0x136 #define EFUSE_CALI_SUBITEM_COMB_LVDS_RES 0x137 #define EFUSE_CALI_SUBITEM_COMB_CURRENT 0x138 #define EFUSE_CALI_SUBITEM_RTC_OSC 0x139 #define EFUSE_CALI_SUBITEM_MAX 0x0fff #define EFUSE_LOCK_SUBITEM_BASE 0x1000 #define EFUSE_LOCK_SUBITEM_DGPK1_KEY 0x1000 #define EFUSE_LOCK_SUBITEM_DGPK2_KEY 0x1001 #define EFUSE_LOCK_SUBITEM_AUDIO_V_ID 0x1002 #define EFUSE_LOCK_SUBITEM_MAX 0X1FFF struct efusekey_info { char keyname[EFUSE_KEY_NAME_LEN]; unsigned int offset; unsigned int size; }; int efuse_getinfo(char *item, struct efusekey_info *info); ssize_t efuse_user_attr_show(char *name, char *buf); ssize_t efuse_user_attr_store(char *name, const char *buf, size_t count); ssize_t efuse_user_attr_read(char *name, char *buf); int efuse_amlogic_cali_item_read(unsigned int item); int efuse_amlogic_check_lockable_item(unsigned int item); #endif