| /*******************************************************************/ |
| /************************* File Description ************************/ |
| /*******************************************************************/ |
| /* File Name: $Workfile: hmx_uprade_nvram.h $ |
| * Version: $Revision: 1.0 $ |
| * Original Author: Yang Hyun Uk $ |
| * Current Author: $Author: huyang@humaxdigital.com $ |
| * Date: $Date: 2011.11.07 |
| * File Description: Upgrade APIs |
| * Module: |
| * Remarks: |
| */ |
| |
| |
| /** |
| * @author Hyunuk Yang(huyang@humaxdigital.com) |
| * @date 07 Nov 2011 |
| */ |
| |
| /** |
| * @note |
| * Copyright (C) 2011 Humax Corporation. All Rights Reserved. <br> |
| * This software is the confidential and proprietary information |
| * of Humax Corporation. You may not use or distribute this software |
| * except in compliance with the terms and conditions of any applicable license |
| * agreement in writing between Humax Corporation and you. |
| */ |
| |
| /*@{*/ |
| |
| /** |
| * @file hmx_upgrade_nvram.h |
| */ |
| |
| #ifndef HMX_UPGRADE_NVRAM_H_ |
| #define HMX_UPGRADE_NVRAM_H_ |
| /*******************************************************************/ |
| /**************************** Header Files**************************/ |
| /*******************************************************************/ |
| /* Start Including Header Files */ |
| /* End Including Headers*/ |
| |
| /*******************************************************************/ |
| /************************ Extern variables *************************/ |
| /*******************************************************************/ |
| /* Start Extern variablee */ |
| extern int libupgrade_verbose; |
| |
| /* End Extern variable */ |
| |
| |
| /*******************************************************************/ |
| /************************ Macro Definition *************************/ |
| /*******************************************************************/ |
| /* Start Macro definition */ |
| |
| /* End Macro definition */ |
| |
| /*******************************************************************/ |
| /****************************** typedef ****************************/ |
| /*******************************************************************/ |
| /* Start typedef */ |
| |
| typedef enum tagNVRAM_FIELD { |
| NVRAM_FIELD_SYSTEM_ID = 0, // System Id |
| NVRAM_FIELD_SERIAL_NO, |
| NVRAM_FIELD_MAC_ADDR, |
| NVRAM_FIELD_HDCP_KEY, |
| NVRAM_FIELD_DTCP_KEY, |
| NVRAM_FIELD_1ST_SERIAL_NUMBER, |
| NVRAM_FIELD_2ND_SERIAL_NUMBER, |
| NVRAM_FIELD_GPN, |
| NVRAM_FIELD_MAC_ADDR_MOCA, |
| NVRAM_FIELD_MAC_ADDR_BT, |
| NVRAM_FIELD_GOOGLE_SSL_PEM, |
| NVRAM_FIELD_GOOGLE_SSL_CRT, |
| NVRAM_FIELD_LOADER_VERSION, // Version of boot Loader |
| NVRAM_FIELD_ACTIVATED_KERNEL_NUM, // ACTIVATED_KERNEL_NUM |
| NVRAM_FIELD_MTD_TYPE_FOR_KERNEL, // MTD_TYPE_FOR_KERNEL |
| NVRAM_FIELD_ACTIVATED_KERNEL_NAME, // "kernel0", lookup mtd partition |
| NVRAM_FIELD_PLATFORM_NAME, // Platform name, e.g. "gfhd100" |
| NVRAM_FIELD_EXTRA_KERNEL_OPT, // string to append to cmdline |
| NVRAM_FIELD_PAIRED_DISK, // serial number of the disk |
| NVRAM_FIELD_PARTITION_VER, // partition version |
| NVRAM_FIELD_DUMMY = 0xFFFF |
| } NVRAM_FIELD_T; |
| |
| /* Start global function prototypes */ |
| typedef enum HMX_NVRAM_PARTITION_e { |
| HMX_NVRAM_PARTITION_RO, |
| HMX_NVRAM_PARTITION_RW, |
| HMX_NVRAM_PARTITION_W_RAWFS, |
| HMX_NVRAM_PARTITION_MAX |
| } HMX_NVRAM_PARTITION_E; |
| |
| |
| typedef enum { |
| DRV_OK = 0, |
| DRV_ERR, |
| DRV_ERR_INVALID_PARAMETER, |
| DRV_ERR_INITIALIZATION, |
| DRV_ERR_EVENT_INITIALIZATION, |
| DRV_ERR_OUTOFMEMORY, |
| DRV_ERR_EXTERNAL_ERROR |
| } DRV_Error; |
| |
| /* End typedef */ |
| |
| |
| /*******************************************************************/ |
| /******************** global function prototype ********************/ |
| /*******************************************************************/ |
| extern int HMX_UPGRADE_NVRAM_Write(unsigned long offset, unsigned char * data, |
| unsigned int size ); |
| extern int HMX_UPGRADE_NVRAM_Read(unsigned long offset, unsigned char * data, |
| unsigned int size ); |
| |
| /*******************************************************************/ |
| /******************** global function prototype ********************/ |
| /*******************************************************************/ |
| DRV_Error HMX_NVRAM_Init(void); |
| DRV_Error HMX_NVRAM_Write(HMX_NVRAM_PARTITION_E partition, |
| unsigned char *pName, unsigned int offset, |
| unsigned char *pValue, unsigned int ulSize); |
| DRV_Error HMX_NVRAM_Read(HMX_NVRAM_PARTITION_E partition, |
| unsigned char *pName, unsigned int offset, |
| unsigned char *pValue, unsigned int ulSize); |
| DRV_Error HMX_NVRAM_GetField(NVRAM_FIELD_T field, unsigned int offset, |
| void *data, int nDataSize); |
| DRV_Error HMX_NVRAM_SetField(NVRAM_FIELD_T field, unsigned int offset, |
| void *data, int nDataSize); |
| DRV_Error HMX_NVRAM_GetLength(NVRAM_FIELD_T field, int *pLen); |
| DRV_Error HMX_NVRAM_Remove(HMX_NVRAM_PARTITION_E partition, |
| unsigned char *pName); |
| DRV_Error HMX_NVRAM_Dir(void); |
| /* End global function prototypes */ |
| |
| |
| #endif // HMX_UPGRADE_NVRAM_H_ |
| /*@}*/ |