⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boardcontrol.h

📁 pxa270触摸屏驱动程序
💻 H
📖 第 1 页 / 共 2 页
字号:
#define AltErrorSwitch			DiscSwitch_S10
#define AltRunMode0				DiscSwitch_S11
#define AltRunMode1				DiscSwitch_S12 		

typedef enum RightHexSwitchesE
{
    RtHexSwitch_0  = 0x00,      // Hex 0
    RtHexSwitch_1  = 0x01,      // Hex 1
    RtHexSwitch_2  = 0x02,      // Hex 2
    RtHexSwitch_3  = 0x03,      // Hex 3
    RtHexSwitch_4  = 0x04,      // Hex 4
    RtHexSwitch_5  = 0x05,      // Hex 5
    RtHexSwitch_6  = 0x06,      // Hex 6
    RtHexSwitch_7  = 0x07,      // Hex 7
    RtHexSwitch_8  = 0x08,      // Hex 8
    RtHexSwitch_9  = 0x09,      // Hex 9
    RtHexSwitch_10 = 0x0A,      // Hex 10
    RtHexSwitch_11 = 0x0B,      // Hex 11
    RtHexSwitch_12 = 0x0C,      // Hex 12
    RtHexSwitch_13 = 0x0D,      // Hex 13
    RtHexSwitch_14 = 0x0E,      // Hex 14
    RtHexSwitch_15 = 0x0F       // Hex 15
} RightHexSwitchesT;

typedef enum LeftHexSwitchesE
{
    LtHexSwitch_0  = 0x00,      // Hex 0
    LtHexSwitch_1  = 0x10,      // Hex 1
    LtHexSwitch_2  = 0x20,      // Hex 2
    LtHexSwitch_3  = 0x30,      // Hex 3
    LtHexSwitch_4  = 0x40,      // Hex 4
    LtHexSwitch_5  = 0x50,      // Hex 5
    LtHexSwitch_6  = 0x60,      // Hex 6
    LtHexSwitch_7  = 0x70,      // Hex 7
    LtHexSwitch_8  = 0x80,      // Hex 8
    LtHexSwitch_9  = 0x90,      // Hex 9
    LtHexSwitch_10 = 0xA0,      // Hex 10
    LtHexSwitch_11 = 0xB0,      // Hex 11
    LtHexSwitch_12 = 0xC0,      // Hex 12
    LtHexSwitch_13 = 0xD0,      // Hex 13
    LtHexSwitch_14 = 0xE0,      // Hex 14
    LtHexSwitch_15 = 0xF0       // Hex 15
} LeftHexSwitchesT;

typedef enum HexSwitchBitsE
{
    HexSwitch_Bit0 = 0x01,      // Bit 0
    HexSwitch_Bit1 = 0x02,      // Bit 1
    HexSwitch_Bit2 = 0x04,      // Bit 2
    HexSwitch_Bit3 = 0x08,      // Bit 3
    HexSwitch_Bit4 = 0x10,      // Bit 4
    HexSwitch_Bit5 = 0x20,      // Bit 5
    HexSwitch_Bit6 = 0x40,      // Bit 6
    HexSwitch_Bit7 = 0x20       // Bit 7
} HexSwitchBitsT;

typedef enum MiscWr1E
{
    SDB_SW_RESET = 0x0001,      // System software reset
    MTR_ON       = 0x0002,      // Silent Alert Motor Control
    Green_LED    = 0x0008,      // Misc. LED  0 = On, 1 = OFF
    IrDA_FIR     = 0x0010,      // IrDA: 0 - SIR, 1 - FIR
    BTDTR        = 0x0080,      // BTUART DTR signal
    nBt_OFF      = 0x0100,      // BTUART tranceiver control
    BB_SEL       = 0x0200,      // PCMCIA/Baseband Mux control
    MS_SEL       = 0x0400,      // SD/Memory Sick Mux control
    MMC_ON       = 0x0800,      // MMC Power control
    MC_ON        = 0x1000,      // Memory Stick Power control
    LCD_CTL      = 0x2000       // General purpose LCD control signal
} MiscWr1T;

typedef enum MiscWr2E
{
    Radio_WAKE   = 0x0001,      // Radio Module wakeup signal
    Radio_PWR    = 0x0002,      // Radio Module power control
    AC97_SPKROFF = 0x0004,      // AC97 CODEC amplifier control
    I2S_SPKROFF  = 0x0008,      // I2S CODEC amplifier control
	USB_OTG_EN   = 0x0020,      // USB OTG ENable bit.  Sets MUX on board to pass USB
    USB_OTG_RST  = 0x0040      	// USB OTG TRV Reset signal
} MiscWr2T;

typedef enum MiscWrEnableE
{
    MiscWr_Clear_Bit,           // Clear bit in the register
    MiscWr_Set_Bit              // Set bit in the register
} MiscWrEnableT;


typedef enum MiscRdE
{
    MMC_WP      = 0x0001,       // SD/MMC Write Protect status
    BTDCD       = 0x0002,       // BTUART Data Carrier Detect
    BTRI        = 0x0004,       // BTUART Ring Indicator
    BTDSR       = 0x0008,       // BTUART Data Set Ready
    TS_BUSY     = 0x0010,       // ADI7873 Touch Screen Digitizer Busy
    USB_CBL     = 0x0020,       // USB client cable status
    nUSIM_CD    = 0x0040,       // USIM Card detection signal
    nMMC_CD     = 0x0080,       // SD/MMC Card detection signal
    nMEMSTK_CD  = 0x0100,       // Memory Stick detection signal
    nPENIRQ     = 0x0200        // ADI7873 Touch Screen Digitizer PENIRQ
} MiscRdT;

typedef enum IntOperationE
{
    Int_Read_Register = 0,         // Read the register
    Int_Set_Register,              // Set the register
    Int_Clear_Register             // Clear the register
} IntOperationT;

typedef enum IntMaskEnableE
{
    MASK_MMC       = 0x0001,   // SD/MMC card detction interrupt
    MASK_USIM      = 0x0002,   // USIM detection interrupt
    MASK_USBC      = 0x0004,   // USB client cable detection interrupt
    MASK_ETHERNET  = 0x0008,   // Ethernet controller
    MASK_AC97      = 0x0010,   // AC97 CODEC
    MASK_PENIRQ    = 0x0020,   // ADI7873 Touchscreen
    MASK_MSINS     = 0x0040,   // Memory Stick detection interrupt
    MASK_nEXBRD    = 0x0080,   // Expansion board Interrupt request
    MASK_S0_CD     = 0x0200,   // PCMCIA Socket 0 card detection
    MASK_S0_STSCHG = 0x0400,   // PCMCIA Socket 0 status changed
    MASK_S0_IRQ    = 0x0800,   // PCMCIA Socket 0 interrupt request
    MASK_S1_CD     = 0x2000,   // PCMCIA Socket 1 card detection
    MASK_S1_STSCHG = 0x4000,   // PCMCIA Socket 1 status changed
    MASK_S1_IRQ    = 0x8000    // PCMCIA Socket 1 interrupt request
} IntMaskEnableT;

typedef enum IntSetClearE
{
    INT_MMC        = 0x0001,   // SD/MMC card detction interrupt
    INT_USIM       = 0x0002,   // USIM detection interrupt
    INT_USBC       = 0x0004,   // USB client cable detection interrupt
    INT_ETHERNET   = 0x0008,   // Ethernet controller
    INT_AC97       = 0x0010,   // AC97 CODEC
    INT_PENIRQ     = 0x0020,   // ADI7873 Touchscreen
    INT_MSINS      = 0x0040,   // Memory Stick detection interrupt
    INT_nEXBRD     = 0x0080,   // Expansion board Interrupt request
    INT_S0_CD      = 0x0200,   // PCMCIA Socket 0 card detection
    INT_S0_STSCHG  = 0x0400,   // PCMCIA Socket 0 status changed
    INT_S0_IRQ     = 0x0800,   // PCMCIA Socket 0 interrupt request
    INT_S1_CD      = 0x2000,   // PCMCIA Socket 1 card detection
    INT_S1_STSCHG  = 0x4000,   // PCMCIA Socket 1 status changed
    INT_S1_IRQ     = 0x8000    // PCMCIA Socket 1 interrupt request
} IntSetClearT;

typedef enum GpOperationE
{
    Gp_Read_Register = 0,      // Read General Purpose register
    Gp_Write_Register          // Write General Purpose register
} GpOperationT;

typedef enum IrOperationE
{
    Sir_Mode,
    Fir_Mode
} IrOperationT;

typedef enum IrPowerE
{
    IrMaxPower =      0x00,
    IrShutdownPower = 0x20,
    IrTwoThirdRange = 0x40,
    IrOneThirdRange = 0x60
} IrPowerT;

typedef enum PeriphBdIntIdE
{
    PB_IC_ID_MMC        = 0,   // SD/MMC card detction interrupt
    PB_IC_ID_USIM       = 1,   // USIM detection interrupt
    PB_IC_ID_USBC       = 2,   // USB client cable detection interrupt
    PB_IC_ID_ETHERNET   = 3,   // Ethernet controller
    PB_IC_ID_AC97       = 4,   // AC97 CODEC
    PB_IC_ID_PENIRQ     = 5,   // ADI7873 Touchscreen
    PB_IC_ID_MSINS      = 6,   // Memory Stick detection interrupt
    PB_IC_ID_nEXBRD     = 7,   // Expansion board Interrupt request
    PB_IC_ID_S0_CD      = 9,   // PCMCIA Socket 0 card detection
    PB_IC_ID_S0_STSCHG  = 10,   // PCMCIA Socket 0 status changed
    PB_IC_ID_S0_IRQ     = 11,  // PCMCIA Socket 0 interrupt request
    PB_IC_ID_S1_CD      = 13,  // PCMCIA Socket 1 card detection
    PB_IC_ID_S1_STSCHG  = 14,  // PCMCIA Socket 1 status changed
    PB_IC_ID_S1_IRQ     = 15,  // PCMCIA Socket 1 interrupt request

    PB_IC_ID_MAX_REAL   = 15,  // Max of inputs to Board Int Ctrl
    PB_IC_ID_MAX        = 15   // Max of devices to examine
} PeriphBdIntIdT;

// Masks for the PCMCIA Status/Control Registers
typedef enum {
    BCR_PCMCIA_A0VPP    =   BIT0,   // PCMCIA power control A0VPP
    BCR_PCMCIA_A1VPP    =   BIT1,   // PCMCIA power control A1VPP
    BCR_PCMCIA_A0VCC    =   BIT2,   // PCMCIA power control A0VCC
    BCR_PCMCIA_A1VCC    =   BIT3,   // PCMCIA power control A1VCC
    BCR_PCMCIA_RESET    =   BIT4,   // PCMCIA reset signal
    BCR_PCMCIA_nCD      =   BIT5,   // PCMCIA card detection signal
    BCR_PCMCIA_nVS1     =   BIT6,   // PCMCIA VS1 voltage sense signal
    BCR_PCMCIA_nVS2     =   BIT7,   // PCMCIA VS2 voltage sense signal
    BCR_PCMCIA_nBVD1    =   BIT8,   // PCMCIA BVD1 voltage sense signal / card status
    BCR_PCMCIA_nBVD2    =   BIT9,   // PCMCIA BVD2 voltage sense signal / audio speaker
    BCR_PCMCIA_nIRQ     =   BIT10   // PCMCIA Interrupt request signal
} BCR_PcmciaT;

typedef enum 
{
    LCDID_TOSHIBA_VGA_16 = 0,
    LCDID_TOSHIBA_VGA_18 = 1,
    LCDID_SHARP_QVGA     = 2,
    LCDID_CRT_VGA_16     = 3	//add by hzh
} LcdPandlIdT;

typedef enum 
{
	VS_LCD_TEXT_ON		=	BIT0,	// copies uart traffic to the LCD screen
	VS_STOP_ON_ERROR	=	BIT1,	// Stops POST on an error condition 
	VS_BT_AS_SYSIO		=	BIT2,	// Sets the BT UART as the system uart if set, normally FFUART
	VS_RUN_MFG_TESTS	= 	BIT3,	// Enables running the MFG tests
	VS_RUN_INT_TESTS	= 	BIT4,	// Enables running the interactive tests
	VS_COMMAND_MODE		=	BIT5,	// POST runs in command mode
	VS_TEST_LEVEL_HI	=	BIT6,	// Sets the test level to high. More thorough tests
	VS_LOOP_ON			=	BIT7,	// POST will Loop at the end
	VS_DEBUG_ON			= 	BIT8,	// Enable Debug Mode
	VS_UART_SPEED_9600	=	BIT9	// Normally UARTS run at 115.2K, This sets the speed to 9600

} VirtualSwitchT;


// Virtual address of the virtual switches - 10MB into the flash

#define VIRTUAL_SWITCH_DATA		0x04A00000
#define VIRTUAL_SWITCH_KEY		0x504F5354  // 'POST' in ASCII


/*
************************************************************************************
*                            FUNCTION PROTOTYPES
************************************************************************************
*/
void GetMultipleParamFromString (PCHAR paramStringP, UINT32 paramNumber, PUINT32 paramArrayP);
VOID WriteHexLeds(UINT ledBits);
VOID WriteHexLedsHalfs(UINT16 HighLEDs, UINT16 LowLEDs);
VOID BlankHexLeds(HexLedsT ledBit);
VOID SetDiscreteLed(DiscrLedStateT operation, DiscrLedsT led);
VOID WriteValueDiscreteLeds(UINT8 value);
UINT ReadUserSwitches(VOID);
UINT ModifyMiscWr1Register(MiscWrEnableT operation, MiscWr1T bit);
UINT ModifyMiscWr2Register(MiscWrEnableT operation, MiscWr2T bit);
VOID ModifyPcmciaRegister(BCR_PcmciaT set, BCR_PcmciaT clear, INT socket);
UINT16 GetPcmciaRegister(INT socket);
UINT ReadMiscRdRegister(VOID);
UINT ModifyBoardInterruptMaskRegister(IntOperationT op, IntMaskEnableT bit);
UINT ReadBoardInterruptMaskRegister(VOID);
UINT ModifyBoardInterruptSetRegister(IntOperationT op, IntSetClearT bit);
UINT ReadBoardInterruptSetRegister(VOID);
UINT SelectIrOperationMode (IrOperationT operation, IrPowerT param);
VOID PlatformLeds(UINT pattern);
VOID PlatformLedsDisplayInterrupt(INT enable);
INT IsDevicePresent(MiscRdT device);
//VOID //PostDisplayProgress(UINT32 deviceLoc, UINT32 subLoc, UINT32 param);
UINT GetLcdPanelOrientation (VOID);
UINT GetLcdPanelID (VOID);
PCHAR DisplayLcdPanelID (VOID);
PCHAR DisplayDaughterCardID (VOID);
PCHAR DisplayDaughterCardRevision (VOID);
UINT IsMainBoardPresent(VOID);
PCHAR DisplayMainBoardRevision (VOID);
UINT IsExpansionBoardPresent(VOID);
UINT GetFlashSelectSwitchStatus(VOID);
VOID EnableTrvBTUART (PVOID arg, PCHAR param);
VOID IRDAEnableOperationMode (PVOID arg, PCHAR param);
UINT32 POSTRunState(void);
// Assembly functions
UINT GetSCR(VOID);

#endif /* _boardControl_h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -