void init_gpio(void)
{
#if defined(CONFIG_JZ4760_CRATER)
	//volatile int i=10000000;

	/* set lcd function pin to low to avoid powering up lcd partially. */
	__gpio_clear_lcd_24bit();
	__gpio_as_output(GPIO_LCD_DISP_N);
	__gpio_clear_pin(GPIO_LCD_DISP_N);

	//while(i--);
	//__gpio_as_output(GPIO_LCD_VCC_EN_N);
	//__gpio_set_pin(GPIO_LCD_VCC_EN_N);
#endif	

#if defined(CONFIG_JZ4760_Z800)
/*
 * In z800 board PA30 is used as charge enable, we need to enable 
 * it before start system as a default.
 */
__gpio_clear_pin(32*0+27);
__gpio_as_output(32*0+27);
#endif

/* Init nand pins */
#if (CFG_NAND_BW8 == 1)
        __gpio_as_nand_8bit(1);
#else
        __gpio_as_nand_16bit(1);
#endif

/*Init lcd pins*/
#if defined(CONFIG_JZ4760_ANDROID_LCD_TRULY_TFT_ER61581)
	__gpio_as_lcd_16bit();
#elif defined(CONFIG_JZ4760_ANDROID_LCD_YUE_TFT_YL10922NT)
	__gpio_as_lcd_16bit();
#elif defined(CONFIG_JZ4760_PT701_8) || defined(CONFIG_JZ4760_PT701) || defined(CONFIG_JZ4760_TABLET_P2) || defined(CONFIG_JZ4760_LEPUS) || defined(CONFIG_JZ4760_PX7_2R) || defined(CONFIG_JZ4760_TABLET_8II)
	__gpio_as_lcd_24bit();
#elif defined(CONFIG_JZ4760_ANDROID_LCD_PROBE)
	__gpio_as_lcd_16bit();
#endif

        /*
         * Initialize UART1 pins
         */
#if CFG_UART_BASE == UART0_BASE
        __gpio_as_uart0();
#elif CFG_UART_BASE == UART1_BASE
        __gpio_as_uart1();
#elif CFG_UART_BASE == UART2_BASE
        __gpio_as_uart2();
#else /* CFG_UART_BASE == UART1_BASE */
        __gpio_as_uart3();
#endif

#if defined(CONFIG_JZ4760_PT701_8)
	__gpio_clear_pin(GPIO_SPK_EN); // close speaker	
#endif

}
Ejemplo n.º 2
0
static int auo_panel_normal(struct jz_fb_ot_info *ot)
{
	D("Called.");
	
	__gpio_as_lcd_24bit();

#ifdef CONFIG_JZ4750_APUS
	__gpio_clear_pin(GPIO_LCD_VCC_EN_N);
#endif 

#ifdef CONFIG_JZ4750D_CETUS
	__gpio_set_pin(GPIO_LCD_VCC_EN_N);
#endif

	__gpio_as_output(GPIO_LCD_VCC_EN_N);
	
	return 0;
}
void board_lcd_board_init(void)
{
	serial_puts_info("grus board_lcd_board_init\n");
	set_lcd_power_on();
	__gpio_as_lcd_24bit();
}
void board_lcd_board_init(void)
{
	__gpio_as_lcd_24bit();
}
void board_lcd_board_init(void)
{

	set_lcd_power_on();
	__gpio_as_lcd_24bit();
}
Ejemplo n.º 6
0
void lcd_board_init(unsigned int bReInit)
{
	__gpio_as_lcd_24bit();

#ifdef LCD_POWER_PIN
	// Power ON LCD33.
	gpio_set_dir(LCD_POWER_PIN, 1, LCD_POWER_ON_LEVEL);
	udelay(10);
#endif

#ifdef LCD_STANDBY_PIN
	// Set Standby Mode LCD33.
	gpio_set_dir(LCD_STANDBY_PIN, 1, !LCD_STANDBY_LEVEL);
	udelay(10);
#endif

#ifdef LCD_RESET_PIN
	// Hardware Reset
	gpio_set_dir(LCD_RESET_PIN, 1, LCD_RESET_LEVEL);
	mdelay(20);		// The Delay should be > 10ms.
	gpio_set_dir(LCD_RESET_PIN, 1, !LCD_RESET_LEVEL);
	mdelay(5);
#endif

	// L3 Init
	l3_gpio_init();

	// Configure LCD Registers
	l3_write_reg(0x02, 0x07);
	l3_write_reg(0x03, 0x5F);
	l3_write_reg(0x04, 0x17);
	l3_write_reg(0x05, 0x20);
	l3_write_reg(0x06, 0x08);
	l3_write_reg(0x07, 0x20);
	l3_write_reg(0x08, 0x20);
	l3_write_reg(0x09, 0x20);
	l3_write_reg(0x0A, 0x20);
	l3_write_reg(0x0B, 0x20);
	l3_write_reg(0x0C, 0x20);
	l3_write_reg(0x0D, 0x22);

	// R, G, B Brightness
	l3_write_reg(0x0E, 0x2F);
	l3_write_reg(0x0F, 0x2F);
	l3_write_reg(0x10, 0x2F);

/*
	// Gamma setting(1)
	l3_write_reg(0x11, 0x15);
	l3_write_reg(0x12, 0xAA);
	l3_write_reg(0x13, 0xFF);
	l3_write_reg(0x14, 0x86);
	l3_write_reg(0x15, 0x84);
	l3_write_reg(0x16, 0xC3);
	l3_write_reg(0x17, 0xD8);
	l3_write_reg(0x18, 0x01);
	l3_write_reg(0x19, 0x28);
	l3_write_reg(0x1A, 0x53);
	l3_write_reg(0x1B, 0xC5);
	l3_write_reg(0x1C, 0x26);
	l3_write_reg(0x1D, 0x74);
	l3_write_reg(0x1E, 0xAE);
	l3_write_reg(0x1F, 0xFF);

	// Gamma setting(2)
	l3_write_reg(0x11, 0x15);
	l3_write_reg(0x12, 0xaa);
	l3_write_reg(0x13, 0xFF);
	l3_write_reg(0x14, 0x86);
	l3_write_reg(0x15, 0x89);
	l3_write_reg(0x16, 0xc6);
	l3_write_reg(0x17, 0xea);
	l3_write_reg(0x18, 0x0c);
	l3_write_reg(0x19, 0x33);
	l3_write_reg(0x1A, 0x5e);
	l3_write_reg(0x1B, 0xd0);
	l3_write_reg(0x1C, 0x33);
	l3_write_reg(0x1D, 0x7e);
	l3_write_reg(0x1E, 0xb3);
	l3_write_reg(0x1F, 0xFF);

	// Gamma setting(3)
	l3_write_reg(0x11, 0x15);
	l3_write_reg(0x12, 0x6a);
	l3_write_reg(0x13, 0xFF);
	l3_write_reg(0x14, 0x86);
	l3_write_reg(0x15, 0x7c);
	l3_write_reg(0x16, 0xc2);
	l3_write_reg(0x17, 0xd1);
	l3_write_reg(0x18, 0xf5);
	l3_write_reg(0x19, 0x25);
	l3_write_reg(0x1A, 0x4a);
	l3_write_reg(0x1B, 0xbf);
	l3_write_reg(0x1C, 0x15);
	l3_write_reg(0x1D, 0x6a);
	l3_write_reg(0x1E, 0xa4);
	l3_write_reg(0x1F, 0xFF);
*/
	// Gamma setting(4)
	l3_write_reg(0x11, 0x15);
	l3_write_reg(0x12, 0xaa);
	l3_write_reg(0x13, 0xFF);
	l3_write_reg(0x14, 0x86);
	l3_write_reg(0x15, 0x8e);
	l3_write_reg(0x16, 0xd6);
	l3_write_reg(0x17, 0xfe);
	l3_write_reg(0x18, 0x28);
	l3_write_reg(0x19, 0x52);
	l3_write_reg(0x1A, 0x7c);
	l3_write_reg(0x1B, 0xe9);
	l3_write_reg(0x1C, 0x42);
	l3_write_reg(0x1D, 0x88);
	l3_write_reg(0x1E, 0xb8);
	l3_write_reg(0x1F, 0xff);

	l3_write_reg(0x20, 0xf0);
	l3_write_reg(0x21, 0xf0);
	l3_write_reg(0x22, 0x08);

	if (!bReInit)
	{
		pwm_init(LCD_BACKLIGHT_PWM_CHN, PWM_FREQ, 2);
	}
}