Пример #1
0
static int lcm_writew(uint8_t reg, uint16_t val)
{
	qspi_send(0x0, reg);
	qspi_send(0x1, val >> 8);
	qspi_send(0x1, val & 0xff);
	return 0;
}
static int lcm_write_cmd(uint32_t reg, uint32_t data)
{
    int ret = -1;

    ret = qspi_send(0x0, reg);
    if (ret)
        goto err_lcm_writeb;

    ret = qspi_send(0x1, data);
    if (ret)
        goto err_lcm_writeb;
    return 0;

err_lcm_writeb:
    printk(KERN_ERR "%s: Failure on sending SPI commands", __func__);
    return ret;
}
static int amoled_panel_unblank(struct msm_lcdc_panel_ops *panel_data)
{
	LCMDBG("%s\n", __func__);

	wake_lock(&panel_idle_lock);

	table_sel_idx = 0;
	mutex_lock(&panel_lock);
	gamma_table_bank_select();
	amoled_set_gamma_val(last_val);
	qspi_send(0, 0xef);
	qspi_send(1, 0xd0);
	qspi_send(1, 0xe8);
	lcm_write_cmd(0x14, 0x03);
	mutex_unlock(&panel_lock);
	wake_unlock(&panel_idle_lock);

	LCMDBG("%s: last_val = %d\n", __func__,last_val);
	led_trigger_event(amoled_lcd_backlight, LED_FULL);
	return 0;
}
static int amoled_panel_unblank(struct platform_device *pdev)
{
    LCMDBG("%s\n", __func__);


    if (samsung_oled_panel_init())
        printk(KERN_ERR "samsung_oled_panel_init failed\n");

    wake_lock(&panel_idle_lock);
    mutex_lock(&panel_lock);
    table_sel_idx = 0;
    gamma_table_bank_select();
    amoled_set_gamma_val(last_val);
    qspi_send(0, 0xef);
    qspi_send(1, 0xd0);
    qspi_send(1, 0xe8);
    lcm_write_cmd(0x14, 0x03);
    mutex_unlock(&panel_lock);
    wake_unlock(&panel_idle_lock);

    LCMDBG("%s: last_val = %d\n", __func__,last_val);
    led_trigger_event(amoled_lcd_backlight, LED_FULL);
    return 0;
}
Пример #5
0
// Uses QSPI to transmit 3 bytes to turn on LEDs for current g_row
void led_write_row() {
	uint8_t *data = (uint8_t*)malloc(3 * sizeof(uint8_t));
	data[0] = g_red[g_row];
	data[1] = g_green[g_row];
	data[2] = ~(1 << g_row);
	
	// OE high. Disables outputs
	MCF_GPIO_SETTH |= MCF_GPIO_SETTH_SETTH7;
	
	// STR low (must write 0 to clrth)
	MCF_GPIO_CLRTH &= ~(MCF_GPIO_SETTH_SETTH6);

	qspi_send(data, 3);

	// STR low to high will transfer bits in shift registers to storage registers
	MCF_GPIO_SETTH |= MCF_GPIO_SETTH_SETTH6;
	
	// OE low. Enables output
	MCF_GPIO_CLRTH &= ~(MCF_GPIO_SETTH_SETTH7);

	
	free(data);
}
Пример #6
0
static int lcm_writeb(uint8_t reg, uint8_t val)
{
	qspi_send(0x0, reg);
	qspi_send(0x1, val);
	return 0;
}