/*************************************************************************************************
// INTEL CONFIDENTIAL Copyright 2018 Intel Corporation All Rights Reserved.
//
// The source code contained or described herein and all documents related to the source code
// ("Material") are owned by Intel Corporation or its suppliers or licensors. Title to the Material
// remains with Intel Corporation or its suppliers and licensors. The Material contains trade secrets
// and proprietary and confidential information of Intel or its suppliers and licensors. The Material is
// protected by worldwide copyright and trade secret laws and treaty provisions. No part of the
// Material may be used, copied, reproduced, modified, published, uploaded, posted, transmitted,
// distributed, or disclosed in any way without Intel's prior express written permission.
//
// No license under any patent, copyright, trade secret or other intellectual property right is
// granted to or conferred upon you by disclosure or delivery of the Materials, either expressly, by
// implication, inducement, estoppel or otherwise. Any license under such intellectual property
// rights must be express and approved by Intel in writing.
//*************************************************************************************************/


// The EEPROM is 24AA16

#ifndef __EEPROM_24AA16__
#define __EEPROM_24AA16__

// [TODO] EEPROM

#define NVM_24AA16_PAGE_SIZE  256
#define NVM_24AA16_PAGE_NUM   8
#define NVM_24AA16_SIZE     (NVM_24AA16_PAGE_SIZE * NVM_24AA16_PAGE_NUM)
#define NVM_24AA16_BULK_SIZE  16
#define NVM_24AA16_BULK_NUM   (NVM_24AA16_PAGE_SIZE / NVM_24AA16_BULK_SIZE)
#define NVM_24AA16_ADDR_MIN   0
#define NVM_24AA16_ADDR_MAX   (CAT24C16_SIZE - 1)

NTSTATUS
Cmd_24AA16Write(
    PNVM_CONTEXT SensorCtx,
    UINT16 Addr,
    UINT8* pData,
    INT32 Length
    );

NTSTATUS
Cmd_24AA16Read(
    PNVM_CONTEXT SensorCtx,
    UINT16 Addr,
    UINT8* pData,
    INT32 Length
    );

#endif
