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

📄 triton_ldo_test.c

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 C
📖 第 1 页 / 共 2 页
字号:
#include "triton_ldo_test.h"
#include "UART_irDA.h"
void triton_VRSIM_OFF();
extern UWORD16 AbbDeviceAddress ;

void triton_ldo_test(void)
{ unsigned short val ;
int previous_content,i;

  AbbDeviceAddress = AbbDeviceAddressDefault ;
  /* I2c interface initialization */
  MSI2C_InitConnectionAbb();
//	Tritonsys_Regen_Sleepoff();
  
  /* to access to the page of the Abb module MASTER */
  MSI2C_AccessPage(PMC_MASTER_page);
  
  /* configure PU and PD config registers */
  /* set MCLK2 PD for non-apps usage */
 
  previous_content = MSI2C_MasterPollingReceiveAbb(PMC_MASTER_PU_PD_CFG1);
  MSI2C_MasterPollingSendAbb(PMC_MASTER_PU_PD_CFG1,(previous_content & 0x02));
//  previous_content = MSI2C_MasterPollingReceiveAbb(PMC_MASTER_PU_PD_CFG1);
  
  /* configure ITWAKEUP1 to be unmasked after 1st switch-on(P1_LVL_WAKEUP=1)  */
  previous_content = MSI2C_MasterPollingReceiveAbb(PMC_MASTER_P1_CFG_TRANSITION);
  MSI2C_MasterPollingSendAbb(PMC_MASTER_P1_CFG_TRANSITION,(previous_content | 0x80));
//   previous_content = MSI2C_MasterPollingReceiveAbb(PMC_MASTER_P1_CFG_TRANSITION);
 



  Tritonsys_Remap_Resources();
  //Tritonsys_Map_MMC_SIM();
 // Triton_Map_MMC_SIM();

  triton_VRDBB(VRDBB1_40v); // vrdbb open to1.4v
  triton_VRPLL(VRPLL_1_40V); 
    	

 
		UART_Printf(UART2,"\n\r");
		UART_Printf(UART2,"==========================================\r\n");
    	UART_Printf(UART2,"   TRITON Test Menu\r\n");
    	UART_Printf(UART2,"==========================================\r\n");    	
    	UART_Printf(UART2,"0 : EXIT \t\n");
    	UART_Printf(UART2,"1 : SETUP VRMMC  VOLTAGE TO: 1.8V \r\n");
    	UART_Printf(UART2,"2 : SETUP VRMMC  VOLTAGE TO: 2.8V \r\n");
		UART_Printf(UART2,"==========================================\r\n");
		UART_Printf(UART2,"3 : SETUP VRSIM  VOLTAGE TO: 1.8V \r\n");
 		UART_Printf(UART2,"4 : SETUP VRSIM  VOLTAGE TO: 2.8V \r\n");
		UART_Printf(UART2,"==========================================\r\n");
		UART_Printf(UART2,"5 : SETUP VRPLL  VOLTAGE TO: 1.4V \r\n");
		UART_Printf(UART2,"6 : SETUP VRPLL  VOLTAGE TO: 1.3V \r\n");
		UART_Printf(UART2,"7 : SETUP VRPLL  VOLTAGE TO: 1.05V \r\n");
		UART_Printf(UART2,"==========================================\r\n");
		UART_Printf(UART2,"8 : SETUP VREXTH VOLTAGE TO: 2.8V \r\n");
		UART_Printf(UART2,"9 : SETUP VREXTH VOLTAGE TO: 1.8V \r\n");
		UART_Printf(UART2,"==========================================\r\n");
		UART_Printf(UART2,"10 : SETUP VREXTL VOLTAGE TO: 1.05V \r\n");
		UART_Printf(UART2,"11 : SETUP VREXTL VOLTAGE TO: 1.3V \r\n");
		UART_Printf(UART2,"12 : SETUP VREXTL VOLTAGE TO: 1.8V \r\n");
		UART_Printf(UART2,"13 : SETUP VREXTL VOLTAGE TO: 2.8V \r\n");
		UART_Printf(UART2,"==========================================\r\n");
		UART_Printf(UART2,"14 : SETUP VRVBUS VOLTAGE TO: 5V   \r\n");
		UART_Printf(UART2,"15 : SETUP VRUSB  VOLTAGE TO: 3.3V \r\n");
		UART_Printf(UART2,"==========================================\r\n");
		UART_Printf(UART2,"16 : SETUP VRDBB  VOLTAGE TO: 1.40V \r\n");
		UART_Printf(UART2,"17 : SETUP VRDBB  VOLTAGE TO: 1.37V \r\n");
		UART_Printf(UART2,"18 : SETUP VRDBB  VOLTAGE TO: 1.34V \r\n");
		UART_Printf(UART2,"19 : SETUP VRDBB  VOLTAGE TO: 1.31V \r\n");
		UART_Printf(UART2,"20 : SETUP VRDBB  VOLTAGE TO: 1.28V \r\n");
		UART_Printf(UART2,"21 : SETUP VRDBB  VOLTAGE TO: 1.25V \r\n");
		UART_Printf(UART2,"22 : SETUP VRDBB  VOLTAGE TO: 1.22V \r\n");
		UART_Printf(UART2,"23 : SETUP VRDBB  VOLTAGE TO: 1.19V \r\n");
		UART_Printf(UART2,"24 : SETUP VRDBB  VOLTAGE TO: 1.16V \r\n");
		UART_Printf(UART2,"25:  SETUP VRDBB  VOLTAGE TO: 1.13V \r\n");
		UART_Printf(UART2,"26 : SETUP VRDBB  VOLTAGE TO: 1.10V \r\n");
        UART_Printf(UART2,"27 : SETUP VRDBB  VOLTAGE TO: 1.07V \r\n");
		UART_Printf(UART2,"28 : SETUP VRDBB  VOLTAGE TO: 1.04V \r\n");
	   	UART_Printf(UART2,"29 : SETUP VRDBB  VOLTAGE TO: 1.01V \r\n");
		UART_Printf(UART2,"30 : SETUP VRDBB  VOLTAGE TO: 1.95V \r\n");
		UART_Printf(UART2,"==========================================\r\n");
		UART_Printf(UART2,"31 : SETUP VRSIM  VOLTAGE TO: 0V \r\n");
    	UART_Printf(UART2,"------------------------------------------\n\r");
  		UART_Printf(UART2,"Please Enter your choice: \r\n ");   
		val = UART_GetNum(UART2);
    	UART_Printf(UART2,"\n\r");
    
        switch (val)
    	{     		
    		case 0:
    		{
    		   break;
    		}	
    		case 1:
    		{
    			triton_VRMMC_1v8();
  			  	break;
    		}
    		 case 2:
    		{
              triton_VRMMC_2v8();
    		   break;
    		}	
    		case 3:
    		{ 
    			CONFIGURATION_VOLTAGE_CTRL_0 |= 0x044;   //enable down mode and Vmode='1';
			    for(i=0;i<1000;i++);
				CONFIGURATION_VOLTAGE_CTRL_0 &= ~(0x0007);  //Vmode='0', Fmode='00'  1.8V
			    for(i=0;i<1000;i++);
    		    trition_VRSIM(VRSIM_1V8);
			    for(i=0;i<1000;i++);
  				CONFIGURATION_VOLTAGE_CTRL_0 &= ~(0x040);   //disable down mode
    		    break;
 
    	
    		}     
    		
             case 4:
    		{ 
  				CONFIGURATION_VOLTAGE_CTRL_0 |= 0x044;   //enable down mode and Vmode='1';
			    for(i=0;i<1000;i++);
                trition_VRSIM(VRSIM_2V8);                //set triton output 2.8V
			    for(i=0;i<1000;i++);
  				CONFIGURATION_VOLTAGE_CTRL_0 |= 0x0001;   //set FMODE='01',  2.8v
			  	for(i=0;i<1000;i++);
  				CONFIGURATION_VOLTAGE_CTRL_0 &= ~(0x040);   //disable down mode
    		    break;
    		}	
    		case 5:
    		{

              triton_VRPLL(VRPLL_1_40V); 
    	
			  	break;
    		}
    		 case 6:
    		{
    	    	triton_VRPLL(VRPLL_1_30V);
  
    		   break;
    		}	
    		case 7:
    		{
              triton_VRPLL(VRPLL_1_05V);
 
    	
			  	break;
    		}  
            case 8:
    		{
             trition_VREXTH(VREXTH_2_80v);
    		   break;
    		}	
    		case 9:
    		{ 
    		trition_VREXTH(VREXTH_1_80v);
  			  	break;
    		}
    		 case 10:
    		{ trition_VREXTL(VREXTL_SLEEP_ACTIVE_1_05v);
  

    		   break;
    		}	
    		case 11:
    		{ 
              trition_VREXTL(VREXTL_SLEEP_ACTIVE_1_30v);


    	
			  	break;
    		}     
    		
             case 12:
    		{ 
               trition_VREXTL(VREXTL_SLEEP_ACTIVE_1_80v);


    		   break;
    		}	
    		case 13:
    		{
               trition_VREXTL(VREXTL_SLEEP_ACTIVE_2_80v);

    	
			  	break;
    		}
    		 case 14:
    		{triton_VRVBUS();
 

    		   break;
    		}	
    		case 15:
    		{
 
              triton_VRUSB();
    	
			  	break;
    		} 
	           case 16:
    		{ 
    			triton_VRDBB(VRDBB1_40v);
		       break;
    		}	
    		case 17:
    		{	 triton_VRDBB(VRDBB1_37v);

    		 
			  	break;
    		}     
    		
             case 18:
    		{	 triton_VRDBB(VRDBB1_34v);

    		   break;
    		}	
    		case 19:
    		{	 triton_VRDBB(VRDBB1_31v);

    	
			  	break;
    		}
    		 case 20:
    		{ triton_VRDBB(VRDBB1_28v);

    		   break;
    		}	
    		case 21:
    		{	 triton_VRDBB(VRDBB1_25v);
 	
			  	break;
    		} 
				 case 22:
    		{	 triton_VRDBB(VRDBB1_22v);

    		   break;}
				 case 23:
    		{	 triton_VRDBB(VRDBB1_19v);

    		   break;}
				 case 24:
    		{	 triton_VRDBB(VRDBB1_16v);

    		   break;}
				 case 25:
    		{	 triton_VRDBB(VRDBB1_13v);

    		   break;}
				 case 26:
    		{	 triton_VRDBB(VRDBB1_10v);

    		   break;}
				 case 27:
    		{	 triton_VRDBB(VRDBB1_07v);

    		   break;}
				 case 28:
    		{	 triton_VRDBB(VRDBB1_04v);

    		   break;}
				 case 29:
    		{	 triton_VRDBB(VRDBB1_01v);

    		   break;}
				 case 30:
    		{	 triton_VRDBB(VRDBB0_95v);

    		   break;
             }
 				 case 31:
    		{	 triton_VRSIM_OFF();

    		   break;
             }
  
  


          }

//	 triton_VRDBB(VRDBB1_40v);
//	 triton_VRDBB(VRDBB1_37v);
//	 triton_VRDBB(VRDBB1_34v);
//	 triton_VRDBB(VRDBB1_31v);
//	 triton_VRDBB(VRDBB1_28v);
//	 triton_VRDBB(VRDBB1_25v);
//	 triton_VRDBB(VRDBB1_22v);
//	 triton_VRDBB(VRDBB1_19v);
//	 triton_VRDBB(VRDBB1_16v);
//	 triton_VRDBB(VRDBB1_13v);
//	 triton_VRDBB(VRDBB1_10v);
//	 triton_VRDBB(VRDBB1_07v); 
//	 triton_VRDBB(VRDBB1_04v); 
//	 triton_VRDBB(VRDBB1_01v);
//	 triton_VRDBB(VRDBB0_98v);
//	 triton_VRDBB(VRDBB0_95v);
//	 triton_VRDBB(VRDBB1_40v);
				
			   
//	PM_P1_P2_P3_DEVOFF();		   
		
  	   
		   
	  

}



void triton_VRDBB(UWORD8 voltage)
{

PM_VRDBB_voltage_controled_by_software(voltage);



}


void triton_VRPLL(UWORD8 voltage)
{
int previous_content;
 MSI2C_AccessPage(PMC_SLAVE_page);
previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRPLL_CFG_DEDICATED);
 
        MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRPLL_CFG_DEDICATED,(voltage |(previous_content & 0xFC)));
}



void triton_VRMMC_1v8(void)
{
int previous_content;
	MSI2C_AccessPage(PMC_SLAVE_page);
  	previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRMMC_CFG_DEDICATED);
 	MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRMMC_CFG_DEDICATED,(previous_content & 0x0));

/* to access to the page of the Abb module PMC_SLAVE */
  MSI2C_AccessPage(PMC_SLAVE_page);
  /* change VRMMC from NO_GROUP to DEV_GRP_APPLI (0b001) */
  previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRMMC_CFG_STS);
  MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRMMC_CFG_STS,(previous_content | 0x20));
  


}


void triton_VRMMC_2v8(void)
{
	int previous_content;
	MSI2C_AccessPage(PMC_SLAVE_page);
  	previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRMMC_CFG_DEDICATED);
 	MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRMMC_CFG_DEDICATED,(previous_content | 0x01));
 /* to access to the page of the Abb module PMC_SLAVE */
  MSI2C_AccessPage(PMC_SLAVE_page);
  /* change VRMMC from NO_GROUP to DEV_GRP_APPLI (0b001) */
  previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRMMC_CFG_STS);
  MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRMMC_CFG_STS,(previous_content | 0x20));
  


}


void trition_VRSIM(UWORD8 voltage)
{
int previous_content;
	MSI2C_AccessPage(PMC_SLAVE_page);
    previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRSIM_CFG_DEDICATED);
    MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRSIM_CFG_DEDICATED,(voltage |(previous_content & 0xFE)));

    MSI2C_AccessPage(PMC_SLAVE_page);
    /* change VRSIM from NO_GROUP to DEV_GRP_PERIPH (0b001) */
    previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRSIM_CFG_STS);
    MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRSIM_CFG_STS,(previous_content | 0x20));
}
void triton_VRSIM_OFF()
{
	int previous_content;
    MSI2C_AccessPage(PMC_SLAVE_page);
  	/* change VRSIM from NO_GROUP to other (0b000) */
  	previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRSIM_CFG_STS);
  	MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRSIM_CFG_STS,(previous_content & ~(0xE0)));

}


void trition_VREXTL(UWORD8 voltage)
{
int previous_content;
MSI2C_AccessPage(PMC_SLAVE_page);
  previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VREXTL_CFG_DEDICATED);
 MSI2C_MasterPollingSendAbb(PMC_SLAVE_VREXTL_CFG_DEDICATED,(voltage |(previous_content & 0xF0)));


}

void trition_VREXTH(UWORD8 voltage)
{
int previous_content;

⌨️ 快捷键说明

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