/* * Copyright (c) 2016, Fuzhou Rockchip Electronics Co., Ltd * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or (at * your option) any later version. */ #ifndef __PLAT_RK_VENDOR_STORAGE_H #define __PLAT_RK_VENDOR_STORAGE_H #define RSV_ID 0 #define SN_ID 1 #define WIFI_MAC_ID 2 #define LAN_MAC_ID 3 #define BT_MAC_ID 4 #define HDCP_14_HDMI_ID 5 #define HDCP_14_DP_ID 6 #define HDCP_2X_ID 7 #define DRM_KEY_ID 8 #define PLAYREADY_CERT_ID 9 #define ATTENTION_KEY_ID 10 #define PLAYREADY_ROOT_KEY_0_ID 11 #define PLAYREADY_ROOT_KEY_1_ID 12 #define HDCP_14_HDMIRX_ID 13 #define SENSOR_CALIBRATION_ID 14 #define IMEI_ID 15 #define LAN_RGMII_DL_ID 16 #define EINK_VCOM_ID 17 #define VENDOR_HEAD_TAG 0x524B5644 #define FLASH_VENDOR_PART_SIZE 8 #define VENDOR_PART_SIZE 128 struct vendor_item { u16 id; u16 offset; u16 size; u16 flag; }; struct vendor_info { u32 tag; u32 version; u16 next_index; u16 item_num; u16 free_offset; u16 free_size; struct vendor_item item[126]; /* 126 * 8 */ u8 data[VENDOR_PART_SIZE * 512 - 1024 - 8]; u32 hash; u32 version2; }; struct flash_vendor_info { u32 tag; u32 version; u16 next_index; u16 item_num; u16 free_offset; u16 free_size; struct vendor_item item[62]; /* 62 * 8 */ u8 data[FLASH_VENDOR_PART_SIZE * 512 - 512 - 8]; u32 hash; u32 version2; }; int rk_vendor_read(u32 id, void *pbuf, u32 size); int rk_vendor_write(u32 id, void *pbuf, u32 size); int rk_vendor_register(void *read, void *write); bool is_rk_vendor_ready(void); #endif