
//
//  Copyright (C) 2004, Motorola Inc. All Rights Reserved
//
//------------------------------------------------------------------------------
//
//  Copyright (C) 2004-2006,2007, Freescale Semiconductor, Inc. All Rights Reserved.
//  THIS SOURCE CODE, AND ITS USE AND DISTRIBUTION, IS SUBJECT TO THE TERMS
//  AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT
//
//------------------------------------------------------------------------------
//
//  File:  bspcsi.h
//
//  Provides prototypes for BSP-specific CSI routines to communicate via I2C.
//
//------------------------------------------------------------------------------


//------------------------------------------------------------------------------
// Defines
#define CSI_I2C_ADDRESS   0x20

//
// Supported camera
//     iMagic  : configured as default
//
#define CSI_SENSOR_NUMBER_SUPPORTED      4

// CSI Registry Path
#define CSI_REG_PATH                                "Drivers\\BuiltIn\\Camera"
#define CSI_REG_CAMERAID_KEYWORD      "CameraId"

//------------------------------------------------------------------------------
// Types
typedef enum csiSensorId {
    csiSensorId_Imagic8803 = 0,
    csiSensorId_Imagic8201,
    csiSensorId_Magna521DA,
    csiSensorId_OV2640
}csiSensorId_c;


typedef enum cameraOutputFormatEnum {
    cameraOutputFormat_CCIR656,
    cameraOutputFormat_RGB565,
} cameraOutputFormat;

//------------------------------------------------------------------------------
// Functions

VOID I2CWriteOneByte(HANDLE, BYTE, BYTE, BYTE, LPINT);
BYTE I2CReadOneByte(HANDLE, BYTE, BYTE, LPINT);
VOID I2CWriteTwoBytes(HANDLE, BYTE, BYTE, BYTE, BYTE, LPINT);
WORD I2CReadTwoBytes(HANDLE, BYTE, BYTE, LPINT);
