diff options
author | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2008-05-11 08:10:57 +0000 |
---|---|---|
committer | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2008-05-11 08:10:57 +0000 |
commit | ba3cfca6ddd0058ae9ee330e0dbb87feaa5ef5cc (patch) | |
tree | c89a39ee97b651fe030879253381076a2fda8943 /firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c | |
parent | 572e7a96594091e731379a2f0594c59b25377720 (diff) | |
download | rockbox-ba3cfca6ddd0058ae9ee330e0dbb87feaa5ef5cc.tar.gz rockbox-ba3cfca6ddd0058ae9ee330e0dbb87feaa5ef5cc.zip |
Use LTV350QV register definitions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17452 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c')
-rw-r--r-- | firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c | 106 |
1 files changed, 52 insertions, 54 deletions
diff --git a/firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c b/firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c index 2d75b1ffa6..a2634f0de7 100644 --- a/firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c +++ b/firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c @@ -27,6 +27,7 @@ #include "spi.h" #include "spi-target.h" #include "lcd-target.h" +#include "ltv350qv.h" /* Power and display status */ static bool display_on = false; /* Is the display turned on? */ @@ -85,13 +86,10 @@ static void enable_venc(bool enable) /* LTV250QV panel functions */ static void lcd_write_reg(unsigned char reg, unsigned short val) { - unsigned char block[3]; - block[0] = 0x74; - block[1] = 0; - block[2] = reg | 0xFF; + unsigned char block[3] = {LTV_OPC_INDEX, 0, reg | 0xFF}; spi_block_transfer(SPI_target_LTV250QV, block, sizeof(block), NULL, 0); - block[0] = 0x76; - block[1] = (val >> 8) & 0xFF; + block[0] = LTV_OPC_DATA; + block[1] = val >> 8; block[2] = val & 0xFF; spi_block_transfer(SPI_target_LTV250QV, block, sizeof(block), NULL, 0); } @@ -128,57 +126,57 @@ static void lcd_display_on(bool reset) IO_GIO_BITSET2 = (1 << 8); sleep_ms(1); - lcd_write_reg(1, 0x1D); - lcd_write_reg(2, 0x0); - lcd_write_reg(3, 0x0); - lcd_write_reg(4, 0x0); - lcd_write_reg(5, 0x40A3); - lcd_write_reg(6, 0x0); - lcd_write_reg(7, 0x0); - lcd_write_reg(8, 0x0); - lcd_write_reg(9, 0x0); - lcd_write_reg(10, 0x0); - lcd_write_reg(16, 0x0); - lcd_write_reg(17, 0x0); - lcd_write_reg(18, 0x0); - lcd_write_reg(19, 0x0); - lcd_write_reg(20, 0x0); - lcd_write_reg(21, 0x0); - lcd_write_reg(22, 0x0); - lcd_write_reg(23, 0x0); - lcd_write_reg(24, 0x0); - lcd_write_reg(25, 0x0); + lcd_write_reg(LTV_IFCTL, LTV_NL(29)); + lcd_write_reg(LTV_DATACTL, 0); + lcd_write_reg(LTV_ENTRY_MODE,0); + lcd_write_reg(LTV_GATECTL1, 0); + lcd_write_reg(LTV_GATECTL2, (LTV_NW_INV_1LINE | LTV_FHN | LTV_FTI(2) | LTV_FWI(3))); + lcd_write_reg(LTV_VBP, 0); + lcd_write_reg(LTV_HBP, 0); + lcd_write_reg(LTV_SOTCTL, 0); + lcd_write_reg(LTV_PWRCTL1, 0); + lcd_write_reg(LTV_PWRCTL2, 0); + lcd_write_reg(LTV_GAMMA(0), 0); + lcd_write_reg(LTV_GAMMA(1), 0); + lcd_write_reg(LTV_GAMMA(2), 0); + lcd_write_reg(LTV_GAMMA(3), 0); + lcd_write_reg(LTV_GAMMA(4), 0); + lcd_write_reg(LTV_GAMMA(5), 0); + lcd_write_reg(LTV_GAMMA(6), 0); + lcd_write_reg(LTV_GAMMA(7), 0); + lcd_write_reg(LTV_GAMMA(8), 0); + lcd_write_reg(LTV_GAMMA(9), 0); sleep_ms(10); - lcd_write_reg(9, 0x4055); - lcd_write_reg(10, 0x0); + lcd_write_reg(LTV_PWRCTL1, (LTV_VCOM_DISABLE | LTV_DRIVE_CURRENT(5) | LTV_SUPPLY_CURRENT(5))); + lcd_write_reg(LTV_PWRCTL2, 0); sleep_ms(40); - lcd_write_reg(10, 0x2000); + lcd_write_reg(LTV_PWRCTL2, LTV_VCOML_ENABLE); sleep_ms(40); - lcd_write_reg(1, 0x401D); - lcd_write_reg(2, 0x204); - lcd_write_reg(3, 0x100); - lcd_write_reg(4, 0x1000); - lcd_write_reg(5, 0x5033); - lcd_write_reg(6, 0x5); - lcd_write_reg(7, 0x1B); - lcd_write_reg(8, 0x800); - lcd_write_reg(16, 0x203); - lcd_write_reg(17, 0x302); - lcd_write_reg(18, 0xC08); - lcd_write_reg(19, 0xC08); - lcd_write_reg(20, 0x707); - lcd_write_reg(21, 0x707); - lcd_write_reg(22, 0x104); - lcd_write_reg(23, 0x306); - lcd_write_reg(24, 0x0); - lcd_write_reg(25, 0x0); + lcd_write_reg(LTV_IFCTL, (LTV_NMD | LTV_NL(29))); + lcd_write_reg(LTV_DATACTL, (LTV_DS_SAME | LTV_CHS_480 | LTV_DF_RGB | LTV_RGB_BGR)); + lcd_write_reg(LTV_ENTRY_MODE,(LTV_VSPL_ACTIVE_LOW | LTV_HSPL_ACTIVE_LOW | LTV_DPL_SAMPLE_RISING | LTV_EPL_ACTIVE_LOW | LTV_SS_RIGHT_TO_LEFT)); + lcd_write_reg(LTV_GATECTL1, LTV_CLW(1)); + lcd_write_reg(LTV_GATECTL2, (LTV_NW_INV_1LINE | LTV_DSC | LTV_FTI(3) | LTV_FWI(3))); + lcd_write_reg(LTV_VBP, 0x5); + lcd_write_reg(LTV_HBP, 0x1B); + lcd_write_reg(LTV_SOTCTL, LTV_SDT(2)); + lcd_write_reg(LTV_GAMMA(0), 0x203); + lcd_write_reg(LTV_GAMMA(1), 0x302); + lcd_write_reg(LTV_GAMMA(2), 0xC08); + lcd_write_reg(LTV_GAMMA(3), 0xC08); + lcd_write_reg(LTV_GAMMA(4), 0x707); + lcd_write_reg(LTV_GAMMA(5), 0x707); + lcd_write_reg(LTV_GAMMA(6), 0x104); + lcd_write_reg(LTV_GAMMA(7), 0x306); + lcd_write_reg(LTV_GAMMA(8), 0); + lcd_write_reg(LTV_GAMMA(9), 0); sleep_ms(60); - lcd_write_reg(9, 0xA55); - lcd_write_reg(10, 0x111A); + lcd_write_reg(LTV_PWRCTL1, (LTV_VCOMOUT_ENABLE | LTV_POWER_ON | LTV_DRIVE_CURRENT(5) | LTV_SUPPLY_CURRENT(5))); + lcd_write_reg(LTV_PWRCTL2, (LTV_VCOML_VOLTAGE(17) | LTV_VCOMH_VOLTAGE(26))); /* VCOML=0,0625V VCOMH=1,21875V */ sleep_ms(10); if(!reset) @@ -194,15 +192,15 @@ static void lcd_display_on(bool reset) static void lcd_display_off(void) { /* LQV shutdown sequence */ - lcd_write_reg(9, 0x855); + lcd_write_reg(LTV_PWRCTL1, (LTV_VCOMOUT_ENABLE | LTV_DRIVE_CURRENT(5) | LTV_SUPPLY_CURRENT(5))); sleep_ms(20); - lcd_write_reg(9, 0x55); - lcd_write_reg(5, 0x4033); - lcd_write_reg(10, 0x0); + lcd_write_reg(LTV_PWRCTL1, (LTV_DRIVE_CURRENT(5) | LTV_SUPPLY_CURRENT(5))); + lcd_write_reg(LTV_GATECTL2, (LTV_NW_INV_1LINE | LTV_FTI(3) | LTV_FWI(3))); + lcd_write_reg(LTV_PWRCTL2, 0); sleep_ms(20); - lcd_write_reg(9, 0x0); + lcd_write_reg(LTV_PWRCTL1, 0); sleep_ms(10); unsigned char temp[1]; temp[0] = 0; |