/*************************************************************************************************
// INTEL CONFIDENTIAL Copyright 2011-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.
//*************************************************************************************************/
#include "device.h"
#include "SensorTrace.h"
#include "vcm_map.tmh"

VCM_FUNC Vcm[VCM_NUM] =
{
    { VCM_NONE, NONVCM_NAME, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
    { VCM_AD5823, AD5823_NAME, AD5823_DEFAULT_POS, AD5823_Init, AD5823_ResetPos, AD5823_SetPos, AD5823_GetPos, AD5823_GetStatus, AD5823_GetHPStatus, AD5823_SetConfig },
    { VCM_DW9714, DW9714_NAME, DW9714_DEFAULT_POS, DW9714_Init, DW9714_ResetPos, DW9714_SetPos, DW9714_GetPos, DW9714_GetStatus, DW9714_GetHPStatus, DW9714_SetConfig },
    { VCM_AD5816, AD5816_NAME, AD5816_DEFAULT_POS, AD5816_Init, AD5816_ResetPos, AD5816_SetPos, AD5816_GetPos, AD5816_GetStatus, AD5816_GetHPStatus, AD5816_SetConfig },
    { VCM_DW9719, DW9719_NAME, DW9719_DEFAULT_POS, DW9719_Init, DW9719_ResetPos, DW9719_SetPos, DW9719_GetPos, DW9719_GetStatus, DW9719_GetHPStatus, DW9719_SetConfig },
    { VCM_DW9718, DW9718_NAME, DW9718_DEFAULT_POS, DW9718_Init, DW9718_ResetPos, DW9718_SetPos, DW9718_GetPos, DW9718_GetStatus, DW9718_GetHPStatus, DW9718_SetConfig },
    { VCM_DW9806B, DW9806B_NAME, DW9806B_DEFAULT_POS, DW9806B_Init, DW9806B_ResetPos, DW9806B_SetPos, DW9806B_GetPos, DW9806B_GetStatus, DW9806B_GetHPStatus, DW9806B_SetConfig },
    { VCM_WV517S, WV517S_NAME, WV517S_DEFAULT_POS, WV517S_Init, WV517S_ResetPos, WV517S_SetPos, WV517S_GetPos, WV517S_GetStatus, WV517S_GetHPStatus, WV517S_SetConfig },
    { VCM_LC898122XA, LC898122XA_NAME, LC898122XA_DEFAULT_POS, LC898122XA_Init, LC898122XA_ResetPos, LC898122XA_SetPos, LC898122XA_GetPos, LC898122XA_GetStatus, LC898122XA_GetHPStatus, LC898122XA_SetConfig },
    { VCM_LC898212AXB, LC898212AXB_NAME, LC898212AXB_DEFAULT_POS, LC898212AXB_Init, LC898212AXB_ResetPos, LC898212AXB_SetPos, LC898212AXB_GetPos, LC898212AXB_GetStatus, LC898212AXB_GetHPStatus, LC898212AXB_SetConfig },

    // below are function callback holders
    { VCM_ex1, NONVCM_NAME, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
    { VCM_ex2, NONVCM_NAME, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
    { VCM_ex3, NONVCM_NAME, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
    { VCM_ex4, NONVCM_NAME, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
    { VCM_ex5, NONVCM_NAME, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL },

    { VCM_AK7371, AK7371_NAME, AK7371_DEFAULT_POS, AK7371_Init, AK7371_ResetPos, AK7371_SetPos, AK7371_GetPos, AK7371_GetStatus, AK7371_GetHPStatus, AK7371_SetConfig },
    { VCM_BU64297GWZ, BU64297GWZ_NAME, BU64297GWZ_DEFAULT_POS, BU64297GWZ_Init, BU64297GWZ_ResetPos, BU64297GWZ_SetPos, BU64297GWZ_GetPos, BU64297GWZ_GetStatus, BU64297GWZ_GetHPStatus, BU64297GWZ_SetConfig },
    { VCM_DW9800, DW9800_NAME, DW9800_DEFAULT_POS, DW9800_Init, DW9800_ResetPos, DW9800_SetPos, DW9800_GetPos, DW9800_GetStatus, DW9800_GetHPStatus, DW9800_SetConfig },
};

