コード例 #1
0
//  Function:  configure_dss
//  This function configures the display sub-system
void configure_dss( unsigned int framebuffer ){

	// Configure the clock source
	OUTREG32(0x48045040, 1<<8 | 0<<9 | 0<<10 | 0<<12 | 0<<17);//DSI_CTRL
	udelay(10000);

	// Configure interconnect parameters

//	OUTREG32(0x48041010, 1<<0 | 1<<3 | 1<<12 );
	OUTREG32(0x48041010, 0x00002015);
	udelay(10000);

	// Disable any interrupts
	OUTREG32(0x4804501c,0);//DSI_IRQENABLE
	udelay(10000);

	// Over-ride default LCD config
	//OUTREG32(DISPC_CONFIG,BSP_LCD_CONFIG);
	//OUTREG32(0x48041620, );//DISPC_CONFIG2 in omap4

	// Configure graphic window
	OUTREG32(0x48041080,framebuffer);//DISPC_GFX_BA_0
	// Configure the position of graphic window
	OUTREG32(0x48041088,BSP_GFX_POS(g_LogoX,g_LogoY));//DISPC_GFX_POSITION
	// Configure the size of graphic window
	OUTREG32(0x4804108c,BSP_GFX_SIZE(g_LogoW,g_LogoH));//DISPC_GFX_SIZE

	// GW Enabled, RGB24 packed, little Endian
    //OUTREG32(0x480410a0,LOGO_GFX_ATTRIBUTES);//DISPC_GFX_ATTRIBUTES
//	OUTREG32(0x480410a0,1<<0 | 9<<1);//DISPC_GFX_ATTRIBUTES no crash
//	OUTREG32(0x480410a0,1<<30 | 0x3<<26 | 1<<25 | 1<<14 | 1<<0 | 9<<1);//DISPC_GFX_ATTRIBUTES
//	OUTREG32(0x480410a0,1<<30 | 0x3<<26 | 1<<25 | 1<<7 | 1<<0 | 9<<1);//DISPC_GFX_ATTRIBUTES
	OUTREG32(0x480410a0,1<<30);
	udelay(10000); 
	SETREG32(0x480410a0,0x3<<26);
	udelay(10000); 
	SETREG32(0x480410a0,1<<25);
	udelay(10000); 
	SETREG32(0x480410a0,1<<14);
	udelay(10000); 
	SETREG32(0x480410a0,1<<7);
	udelay(10000); 
	SETREG32(0x480410a0,1<<0 | 6<<1);//DISPC_GFX_ATTRIBUTES
	udelay(10000); 
      //0000 0000 0000 0000 0000 0000 0001 0011
	//OUTREG32(0x480410a0,0x42000099);//DISPC_GFX_ATTRIBUTES

	OUTREG32(0x480410a4,DISPC_GFX_FIFO_THRESHOLD_R(192,252));//DISPC_GFX_FIFO_THRESHOLD
//	OUTREG32(0x480410a4,0x04ff0480);//DISPC_GFX_FIFO_THRESHOLD

	//!!! should be modify??
	OUTREG32(0x480410ac,1);//DISPC_GFX_ROW_INC
	OUTREG32(0x480410b0,1);//DISPC_GFX_PIXEL_INC
	OUTREG32(0x480410b4,0);//DISPC_GFX_WINDOW_SKIP
	// Configure the LCD
	LcdPdd_LCD_Initialize();

}
コード例 #2
0
ファイル: bsp_logo.c プロジェクト: blueskycoco/dm3730-spi
//------------------------------------------------------------------------------
//
//  Function:  configure_dss
//
//  This function configures the Display Sub System on omap35xx
//
void configure_dss( UINT32 framebuffer )
{
    OMAP_DSS_REGS   *pDSSRegs = OALPAtoUA(OMAP_DSS1_REGS_PA);
    OMAP_DISPC_REGS *pDisplayRegs = OALPAtoUA(OMAP_DISC1_REGS_PA);
    HANDLE hGpio = GPIOOpen();

    // OALMSG(OAL_INFO, (L"configure_dss+\r\n"));

    //  Configure the clock source
    OUTREG32( &pDSSRegs->DSS_CONTROL, 
                DSS_CONTROL_DISPC_CLK_SWITCH_DSS1_ALWON |
                DSS_CONTROL_DSI_CLK_SWITCH_DSS1_ALWON
                );
    
    //  Configure interconnect parameters
    OUTREG32( &pDSSRegs->DSS_SYSCONFIG, DISPC_SYSCONFIG_AUTOIDLE );
    OUTREG32( &pDisplayRegs->DISPC_SYSCONFIG, DISPC_SYSCONFIG_AUTOIDLE|SYSCONFIG_NOIDLE|SYSCONFIG_NOSTANDBY );

    // Not enabling any interrupts
    OUTREG32( &pDisplayRegs->DISPC_IRQENABLE, 0x00000000 );
    
    
    //  Configure the LCD
    LcdPdd_LCD_Initialize( pDSSRegs, pDisplayRegs, NULL, NULL);
    	
    //  Over-ride default LCD config
    OUTREG32(&pDisplayRegs->DISPC_CONFIG,BSP_LCD_CONFIG);
    
    
    // Configure Graphics Window
    //--------------------------
    
    OUTREG32(&pDisplayRegs->DISPC_GFX_BA0 ,framebuffer );
 
    // configure the position of graphics window
    OUTREG32(&pDisplayRegs->DISPC_GFX_POSITION,BSP_GFX_POS);
    
    // size of graphics window
    OUTREG32(&pDisplayRegs->DISPC_GFX_SIZE,BSP_GFX_SIZE);
    
    // GW Enabled, RGB24 packed, Little Endian
    OUTREG32(&pDisplayRegs->DISPC_GFX_ATTRIBUTES,LOGO_GFX_ATTRIBUTES);
    
    OUTREG32(&pDisplayRegs->DISPC_GFX_FIFO_THRESHOLD,BSP_GFX_FIFO_THRESHOLD);
    OUTREG32(&pDisplayRegs->DISPC_GFX_ROW_INC,BSP_GFX_ROW_INC); 
    OUTREG32(&pDisplayRegs->DISPC_GFX_PIXEL_INC,BSP_GFX_PIXEL_INC); 
    OUTREG32(&pDisplayRegs->DISPC_GFX_WINDOW_SKIP,BSP_GFX_WINDOW_SKIP);

    // OALMSG(OAL_INFO, (L"configure_dss-\r\n"));

	GPIOClose(hGpio);
}