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

📄 mst037h_d01_gpio.c

📁 mstar 776 开发的车载dvd
💻 C
字号:



#include "mreg51.h"
#include "sysinfo.h"
#include "hwreg.h"
#include "drvuart.h"
#include "drvmiu.h"
#include "drvsys.h"
#include "Analog_Reg.h"
#include "drvGlobal.h"
#include "drvISR.h"
#include "drviic.h"

#include <stdio.h>

#include "DrvGpio.h"

//---------------------------------------------------------------------
#define HS_VS_VD_DE_IO_SETTING      0x00         //Panel_ON, VBLCTRL
#define SET_B0_B1_IO_MODE           (BIT1|BIT0)  //B0/b1 default set to input

#define IR_PORT_SEL                 IR_USE_PAD_IRIN


//---------------------------------------------------------------------
//In MST demo set(2338)
//INT/IR is gpio, remote_control IR connect to IR2
//---------------------------------------------------------------------
void InitialSaturn2_IR_Port( void )
{
    XBYTE[REG_MUX_CONFIG_2] |= IR_PORT_SEL;
}
//---------------------------------------------------------------------
void InitialSaturn2_UART1_Port(void )	  //as GPIO 13/14
{
	//UART 1 assign as gpio
	XBYTE[REG_MUX_CONFIG_3] &= ~(SECOND_UART_MODE); //UART1 not enable
	XBYTE[REG_MUX_CONFIG_3] &= ~(I2S_MUTE_MODE);    //not I2S_mute_mode
    XBYTE[REG_MUX_FUNC_SEL1] &= (~CEC_MODE);  //XBYTE[0x1ea1] &=0xe7;   //disable CEC
    XBYTE[REG_P1_ENABLE] &= (~BIT7 );         //XBYTE[0x1ea4] &=0x7f;   //disable P1_7

	XBYTE[ REG_GPIO_OE_1] |= BIT5;   //USB_OCD_N(GPIO_13) is input pin
    XBYTE[ REG_GPIO_OE_1] &= ~BIT6;	 //RST_DE   (GPIO_14) is output pin

}
//---------------------------------------------------------------------
//---------------------------------------------------------------------
void InitialLVDS_B0_B1_IsGpio ( void )
{
    XBYTE[REG_SEL_TTL_1]  |= 0x08;  //bit 3 =0;
    XBYTE[ODD_IS_GPIO_3]  |= 0x0c;  //PAD_b_ODD0/PAD_b_ODD1 is GPIO
    XBYTE[ODD_GPO_SEL_3]  |= 0x0c;  //
    XBYTE[ODD_GPO_OEZ_3] = (XBYTE[ODD_GPO_OEZ_3] & 0xf3)| SET_B0_B1_IO_MODE;	//default set to input
}
//---------------------------------------------------------------------
//---------------------------------------------------------------------
void InitialLVDS_HS_VS_VE_DE_IsGpio( void )   // HS,VS,Clk,Ve is gpio
{
    XBYTE[ODD_IS_GPIO_0]  |= 0x0f;
    XBYTE[ODD_GPO_SEL_0]  |= 0x0f;
    XBYTE[ODD_GPO_OEZ_0]  =( XBYTE[ODD_GPO_OEZ_0] & 0xf0) | HS_VS_VD_DE_IO_SETTING;
}
//---------------------------------------------------------------------
void IntialSaturn2_TS_Port(void)	 //TS0 interface
{
   XBYTE[REG_MUX_CONFIG_0] |= TS0_IS_TS0;

   XBYTE[REG_MUX_CONFIG_0] &= ~( TS0_IS_DI );
   XBYTE[REG_MUX_FUNC_SEL3]&= ~( TS0_IS_GPIO );
   XBYTE[REG_MUX_FUNC_SEL6]&= ~( DHC_DFT_MODE);
   XBYTE[REG_MUX_CONFIG_5] &= ~( DSPE_JTAG_MODE );
}
//---------------------------------------------------------------------
//---------------------------------------------------------------------
void InitialSaturn2_I2S_Port( void )
{
    XBYTE[REG_MUX_FUNC_SEL3]&=( ~I2S_IS_GPIO );
    XBYTE[REG_MUX_CONFIG_3] = ( XBYTE[REG_MUX_CONFIG_3] & 0x3f ) | I2S_MUTE_MODE_1;    //I2sMUTE pin
}
//---------------------------------------------------------------------
//---------------------------------------------------------------------
//---------------------------------------------------------------------
//---------------------------------------------------------------------
//---------------------------------------------------------------------
void Inital_TS1_IS_GPIO( void )
{
 	XBYTE[REG_MUX_FUNC_SEL3] |=BIT3;
    XBYTE[REG_TS1_GPIO_OE]   |=0x0f;   //initial TS0~TS3 is input
}
//---------------------------------------------------------------------
void Inital_SD_CARD_READER(void)
{
    XBYTE[REG_MUX_CONFIG_4] = (XBYTE[REG_MUX_CONFIG_4] & 0x3f) | BIT7;	//fcie_config = 10b
    XBYTE[REG_MUX_CONFIG_3] &= ~(PCM2CONFIG);
    XBYTE[REG_MUX_FUNC_SEL2] &= ~BIT4;  //fcie 0/1 is not gpio
}
//---------------------------------------------------------------------
void InitialSaturn2_DI_Port_Is_GPIO(void)		//to BT656 interface
{
     XBYTE[REG_MUX_FUNC_SEL3]  |=  DI_IS_GPIO;
     XBYTE[REG_MUX_FUNC_SEL1]  |=  BIT5;          //DOUT3 is GPIO

     XBYTE[REG_MUX_CONFIG_0] &= 0xE1;            //dihmode,dilMode=0
     XBYTE[REG_MUX_CONFIG_5] &= (~(BIT2|BIT3));  //dspejtag=0

     XBYTE[REG_DI_GPIO_OE_HIGH] =  0x00; //MUTE_S (DI8) is output
     XBYTE[REG_DI_GPIO_OE_LOW]  =  0x0f; //tuner_off, LED_g,LED_O,WP is output, others reserved to input

}
//---------------------------------------------------------------------
//---------------------------------------------------------------------
void Mst_GPIO_Initial( void )
{
	//gpio port
	InitialSaturn2_DI_Port_Is_GPIO();

	InitialSaturn2_IR_Port();
	InitialSaturn2_UART1_Port();

	//mod lvds gpio
    InitialLVDS_B0_B1_IsGpio();
    InitialLVDS_HS_VS_VE_DE_IsGpio();

	//TS0 port
	IntialSaturn2_TS_Port();

	//i2s interface
	InitialSaturn2_I2S_Port();

	//initial SD_CDZ, MS_INS  interface //pin 134~142 , pin162 163
	Inital_SD_CARD_READER();

     //initial TS1 is GPIO	 //	pin 164~167
	Inital_TS1_IS_GPIO();

   	//----initial to default------//
	RST_DE(_HIGH);
	Tuner_ON();
}
//---------------------------------------------------------------------


⌨️ 快捷键说明

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