📄 mpsclow_dy4.h
字号:
/* mpscLow_dy4.h - Header File for low level definitions of MPSC on GT-64x60 *//************************************************************************** * * Copyright (c) 2005 Curtiss-Wright Controls, Inc. All rights * reserved. This Source Code is the Property of Curtiss-Wright * Controls, Inc. and can only be used in accordance with Source * Code License Agreement(s) of Curtiss-Wright Controls, Inc. or any * of its subsidiaries. * **************************************************************************//******************************************************************************** (c), Copyright 2001, Marvell International Ltd. ** THIS CODE CONTAINS CONFIDENTIAL INFORMATION OF MARVELL SEMICONDUCTOR, INC. ** NO RIGHTS ARE GRANTED HEREIN UNDER ANY PATENT, MASK WORK RIGHT OR COPYRIGHT ** OF MARVELL OR ANY THIRD PARTY. MARVELL RESERVES THE RIGHT AT ITS SOLE ** DISCRETION TO REQUEST THAT THIS CODE BE IMMEDIATELY RETURNED TO MARVELL. ** THIS CODE IS PROVIDED "AS IS". MARVELL MAKES NO WARRANTIES, EXPRESS, IMPLIED ** OR OTHERWISE, REGARDING ITS ACCURACY, COMPLETENESS OR PERFORMANCE. *********************************************************************************//*modification history--------------------07e,08dec05,tis rename Discovery_II directory to Discovery_III CR#12835.01d,18Jan05,dle CR kanata#247701c,02Nov02,deb PTR Add defines for CDV,MRR,Serial Port Mux, and MPSC Cmds01b,07may02,aak integrate into VME-181 BSP rel 1.001a,26sep01,marvell EV-64260A-BP BSP Version 2.2/1*/#ifndef _MPSC_LOW_#define _MPSC_LOW_/* includes */#include "h/drv/dy4/boardName.h"#if defined (SCP_124) || defined (VME_183)#include "h/drv/discovery_III/gtCore_dy4.h"#else#include "h/drv/discovery_II/gtCore_dy4.h"#endif /* SCP_124 *//* defines */#define MPSC_GAP 0x01000#define TRANSMIT_CLOCK_DIVIDER_FIELD 0x00000600 #define RECEIVE_CLOCK_DIVIDER_FIELD 0x06000000 #define TRANSMIT_CLOCK_DIVIDER_BIT 9#define RECEIVE_CLOCK_DIVIDER_BIT 25#define CDV_X1 0x0#define CDV_X8 0x1#define CDV_X16 0x2#define CDV_X32 0x3#define MMCRL_BASE MPSC_MAIN_CONFIG_LOW(0)#define MMCRH_BASE MPSC_MAIN_CONFIG_HIGH(0)#define MPCR_BASE MPSC_PROTOCOL_CONFIG(0)#define CHR_BASE MPSC_CHANNEL_REG1(0)#define MMCRL(mpsc_number) MMCRL_BASE + (mpsc_number * MPSC_GAP)#define MMCRH(mpsc_number) MMCRH_BASE + (mpsc_number * MPSC_GAP)#define MPCR(mpsc_number) MPCR_BASE + (mpsc_number * MPSC_GAP)#define CHR(mpsc_number,number) CHR_BASE+(mpsc_number * MPSC_GAP)+\ ((number-1)*4)#define NUMBER_OF_CHANNEL_REGISTERS 10#define FIRST_CHANNEL 1/* auto recognition of MPSC's ports */#define MPSC_0_3_EXIST_REG 0xbf000000#define MPSC_4_7_EXIST_REG 0xbf100000#define MPSC_PORT_NOT_EXIST 0xf#define MPSC_PORT_CONNECTED_TO_LVDS 0xc#define MPSC_PORT_AS_UART 0xe#define MPSC_PORT_CONNECTED_TO_V35 0xd#define MPSC_PORT_CONNECTED_TO_WIC 0xb#define MPSC0_GPP 0xff80ffff#define MPSC0_OUT_PUT 0x007f0000#define MPSC1_GPP 0x80ffffff#define MPSC1_OUT_PUT 0x7f000000#define MPSC2_GPP 0xffffff80#define MPSC2_OUT_PUT 0x0000007f#define MPSC3_GPP 0xffff80ff#define MPSC3_OUT_PUT 0x00007f00#define MPSC4_GPP 0xff80ffff#define MPSC4_OUT_PUT 0x007f0000#define MPSC5_GPP 0x80ffffff#define MPSC5_OUT_PUT 0x7f000000#define HDLC_PROTOCOL 0#define UART_PROTOCOL 1#define BISYNC_PROTOCOL 2#define TRANSPARENT_PROTOCOL 3#define ASYNC_PROTOCOL 4/* this macros are used to enable access to MPSC_CHANNEL_STRUCT */ #define ENTER_HUNT (1<<31)#define ABORT_RECEPTION (1<<23)#define STOP_TRANSMITION (1<<16)#define ABORT_TRANSMITION (1<<7)#define RX_ENTER_HUNT_STATE (1<<5)/* MRR Defines */#define MPSC_MRR_MASK 0x07/* Serial Port Multiplex defines */#define SERIAL_PORT_MUX_MASK 0x0F#define SERIAL_PORT_MUX_HIGH_Z 0x00#define SERIAL_PORT_MUX_MPSC 0x01#define SERIAL_PORT_MUX_MII 0x01#define SERIAL_PORT_MUX_RMII 0x02/* typedefs */typedef struct MpscMainSt{ unsigned int low; unsigned int high;} MPSC_MAIN_STRUCT;typedef struct mpscChannelSTRUCT{ unsigned int chr1; unsigned int chr2; unsigned int chr3; unsigned int chr4; unsigned int chr5; unsigned int chr6; unsigned int chr7; unsigned int chr8; unsigned int chr9; unsigned int chr10;} MPSC_CHANNEL_STRUCT; typedef struct mpscExist{ unsigned int reserved2:16; unsigned int mpsc3:4; unsigned int mpsc2:4; unsigned int mpsc1:4; unsigned int mpsc0:4;} MPSC_PORT_0_3_EXIST;typedef struct mpsc4_7Exist{ unsigned int reserved:16; unsigned int mpsc7:4; unsigned int mpsc6:4; unsigned int mpsc5:4; unsigned int mpsc4:4;} MPSC_PORT_4_7_EXIST;typedef enum { MPSC_PORT0, MPSC_PORT1, MPSC_PORT2} MPSC_PORTS;/* mpscLow.h API list */bool mpscSetMainConfReg (MPSC_MAIN_STRUCT* MpscMain,unsigned int mpsc_number);bool mpscGetMainConfReg (MPSC_MAIN_STRUCT* MpscMain,unsigned int mpsc_number);bool mpscMainConfRegGetDefault (MPSC_MAIN_STRUCT* MpscMain, unsigned int mpsc_number);bool mpscMainConfRegModifyDefault (MPSC_MAIN_STRUCT* MpscMain, unsigned int mpsc_number);bool mpscSetChannelReg (MPSC_CHANNEL_STRUCT* MpscChannel, unsigned int mpsc_number,unsigned int ChannelRegNum, unsigned int lengh);bool mpscGetChannelReg (MPSC_CHANNEL_STRUCT* MpscChannel, unsigned int mpsc_number,unsigned int ChannelRegNum, unsigned int lengh);bool mpscChannelRegGetDefault (MPSC_CHANNEL_STRUCT* MpscChannel, unsigned int mpsc_number, unsigned int ChannelRegNum,unsigned int lengh);bool mpscChannelRegModifyDefault (MPSC_CHANNEL_STRUCT* MpscChannel, unsigned int mpsc_number, unsigned int ChannelRegNum, unsigned int lengh);bool mpscSetProtocolConfReg (unsigned int* ProtocolConf, unsigned int mpsc_number);bool mpscGetProtocolConfReg (unsigned int* ProtocolConf, unsigned int mpsc_number);bool mpscProtocolConfRegGetDefault (unsigned int* ProtocolConf, unsigned int mpsc_number);bool mpscProtocolConfRegModifyDefault (unsigned int* ProtocolConf, unsigned int mpsc_number);unsigned int mpscGetNumber (unsigned int port);#define MPSC_SET_MAIN_CONF_REG mpscSetMainConfReg#define MPSC_GET_MAIN_CONF_REG mpscGetMainConfReg#define MPSC_MAIN_CONF_REG_GET_DEFAULT mpscMainConfRegGetDefault#define MPSC_MAIN_CONF_REG_MODIFY_DEFAULT mpscMainConfRegModifyDefault#define MPSC_SET_CHANNEL_REG mpscSetChannelReg#define MPSC_GET_CHANNEL_REG mpscGetChannelReg#define MPSC_CHANNEL_REG_GET_DEFAULT mpscChannelRegGetDefault#define MPSC_CHANNEL_REG_MODIFY_DEFAULT mpscChannelRegModifyDefault#define MPSC_SET_PROTOCOL_CONF_REG mpscSetProtocolConfReg#define MPSC_GET_PROTOCOL_CONF_REG mpscGetProtocolConfReg#define MPSC_PROTOCOL_CONF_REG_GET_DEFAULT mpscProtocolConfRegGetDefault#define MPSC_PROTOCOL_CONF_REG_MODIFY_DEFAULT mpscProtocolConfRegModifyDefault#endif /* _MPSC_LOW_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -