Example #1
0
void SPI_Write_8bits(unsigned char Index,unsigned char REG_DATA)
{

	unsigned char DeviceID = 0x70;
	unsigned char lcd_Index = (unsigned char)(Index & 0xff);
	unsigned char lcd_data0 = REG_DATA;
/* Instruction format 3SPI
 * SPI CLK: rising edge
 * MOSI: 0  1  1  1  0 ID RS RW IB7 IB6 IB5 IB4 IB3 IB2 IB1 IB0
 *       |<-start byte->|       |<-write index & instruction->|
 */
	LCD_SPI_CS_LO;

	spi_gen(DeviceID | 0x0);
	spi_gen(lcd_Index);

	LCD_SPI_CS_HI;
	LCD_SPI_CS_LO;

	spi_gen(DeviceID | 0x2);
	spi_gen(lcd_data0);

	LCD_SPI_CS_HI;

}
Example #2
0
/* AUO LCM power on/off SPI commands */
void panel_poweron(int bOnOff)
{
	unsigned char *ptr;

	if (bOnOff == 1) {
		/* Start Power on sequence*/
		LCD_RST_HI;
		mdelay(1);
		LCD_RST_LO;
		mdelay(10);
		LCD_RST_HI;
		mdelay(120);
		LCD_SPI_CS_HI;
		mdelay(1);
		gpio_tlmm_config(GPIO_CFG(GPIO_PCLK, 1, GPIO_CFG_OUTPUT,	GPIO_CFG_PULL_DOWN, GPIO_CFG_8MA), GPIO_CFG_ENABLE);
		gpio_tlmm_config(GPIO_CFG(GPIO_VSYNC, 1, GPIO_CFG_OUTPUT,	GPIO_CFG_PULL_DOWN, GPIO_CFG_8MA), GPIO_CFG_ENABLE);
		gpio_tlmm_config(GPIO_CFG(GPIO_HSYNC, 1, GPIO_CFG_OUTPUT,	GPIO_CFG_PULL_DOWN, GPIO_CFG_8MA), GPIO_CFG_ENABLE);
		gpio_tlmm_config(GPIO_CFG(GPIO_VDEN, 1, GPIO_CFG_OUTPUT,	GPIO_CFG_PULL_DOWN, GPIO_CFG_8MA), GPIO_CFG_ENABLE);
		/* assign power-on table */
		if (lcm_id < 2)
			ptr = auo_poweron_sequence;
		else
			ptr = auo_poweron_sequence_2_0;
	} else {
		/* assign power-off table */
		ptr = auo_poweroff_sequence;
	}
	while( *ptr != CMD_END) {
		spi_gen(*ptr,*(ptr+1));
		ptr += 2;
	}
	if (!bOnOff)
		LCD_SPI_CS_LO;
}
Example #3
0
void SPI_Write_16bits(unsigned char Index,unsigned short REG_DATA)
{

	unsigned char DeviceID = 0x70;
	unsigned char lcd_Index = (unsigned char)(Index & 0xff);
	unsigned char lcd_data0 = (unsigned char)( (REG_DATA>>8) & 0xff);
	unsigned char lcd_data1 = (unsigned char)( REG_DATA & 0xff);

	LCD_SPI_CS_LO;

	spi_gen(DeviceID | 0x0);
	spi_gen(lcd_Index);

	LCD_SPI_CS_HI;
	LCD_SPI_CS_LO;

	spi_gen(DeviceID | 0x2);
	spi_gen(lcd_data0);

	LCD_SPI_CS_HI;
	LCD_SPI_CS_LO;

	spi_gen(DeviceID | 0x2);
	spi_gen(lcd_data1);

	LCD_SPI_CS_HI;

}