//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
//------------------------------------------------------------------------------
//
//  Copyright (C) 2004-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
//
//------------------------------------------------------------------------------
#ifndef __KITL_CFG_H
#define __KITL_CFG_H


// Define a data structure that will be used to pass data between the OAL
// and KITL components.
typedef struct
{
    PCSP_CCM_REGS   g_pCCM;   // These pointers are required for serial port
//    PCSP_PBC_REGS   g_pPBC;   // configuration and control. Both KITL and the
    PCSP_IOMUX_REGS g_pIOMUX; // OAL may need to access the serial ports.
} _OALKITLSharedDataStruct;

//------------------------------------------------------------------------------

#define OAL_KITL_ETH_INDEX          0
#define OAL_KITL_SERIAL_INDEX       1

BOOL SerialInit(KITL_SERIAL_INFO *pInfo);
VOID SerialDeinit();
UINT16 SerialRecv(UINT8 *pData, UINT16 size);
UINT16 SerialSend(UINT8 *pData, UINT16 size);
VOID SerialSendComplete(UINT16 size);
VOID SerialEnableInts();
VOID SerialDisableInts();
VOID SerialFlowControl (BOOL fOn);

//------------------------------------------------------------------------------

#endif
