From 975261f003ab7c8bc917a932f5c6fc657ea78143 Mon Sep 17 00:00:00 2001 From: Maurus Cuelenaere Date: Wed, 16 Jul 2008 15:25:35 +0000 Subject: Fix the LCD bug! git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18071 a1c6a512-1295-4272-9138-f99709370657 --- .../target/mips/ingenic_jz47xx/ata-nand-jz4740.c | 24 ++++++++++++++++++++++ firmware/target/mips/ingenic_jz47xx/lcd-jz4740.c | 13 +++++++++--- .../ingenic_jz47xx/onda_vx747/lcd-onda_vx747.c | 13 ++++++------ .../target/mips/ingenic_jz47xx/system-jz4740.c | 2 +- 4 files changed, 42 insertions(+), 10 deletions(-) (limited to 'firmware/target/mips') diff --git a/firmware/target/mips/ingenic_jz47xx/ata-nand-jz4740.c b/firmware/target/mips/ingenic_jz47xx/ata-nand-jz4740.c index ad053c7deb..00165b2d2d 100644 --- a/firmware/target/mips/ingenic_jz47xx/ata-nand-jz4740.c +++ b/firmware/target/mips/ingenic_jz47xx/ata-nand-jz4740.c @@ -66,3 +66,27 @@ int ata_write_sectors(IF_MV2(int drive,) unsigned long start, int count, const v (void)buf; return 0; } + +static int jz_device_ready(void) +{ + int ready, wait = 10; + while (wait--); + ready = __gpio_get_pin(32*2+30); + return ready; +} + +int ata_init(void) +{ + /* + * EMC setup + */ + + /* Set NFE bit */ + REG_EMC_NFCSR |= EMC_NFCSR_NFE1; + + /* Read/Write timings */ + REG_EMC_SMCR1 = (EMC_SMCR_BL_4 | EMC_SMCR_BW_8BIT | 4 << EMC_SMCR_TAS_BIT + | 4 << EMC_SMCR_TAH_BIT | 4 << EMC_SMCR_TBP_BIT | 4 << EMC_SMCR_TAW_BIT + | 4 << EMC_SMCR_STRV_BIT); + return 0; +} diff --git a/firmware/target/mips/ingenic_jz47xx/lcd-jz4740.c b/firmware/target/mips/ingenic_jz47xx/lcd-jz4740.c index 429178aeee..907351c64e 100644 --- a/firmware/target/mips/ingenic_jz47xx/lcd-jz4740.c +++ b/firmware/target/mips/ingenic_jz47xx/lcd-jz4740.c @@ -49,6 +49,13 @@ bool lcd_enabled(void) return _lcd_on; } +void lcd_copy_buffer_rect(fb_data* dest, fb_data* src, int width, int height) +{ + int i; + for(i=0; i 0x1ff ) - { - //printf("CPM_LPCDR too large, set it to 0x1ff\n"); - val = 0x1ff; - } + val = 0x1ff; /* CPM_LPCDR is too large, set it to 0x1ff */ __cpm_set_pixdiv(val); __cpm_start_lcd(); } diff --git a/firmware/target/mips/ingenic_jz47xx/system-jz4740.c b/firmware/target/mips/ingenic_jz47xx/system-jz4740.c index ee50520243..2dca4619c0 100644 --- a/firmware/target/mips/ingenic_jz47xx/system-jz4740.c +++ b/firmware/target/mips/ingenic_jz47xx/system-jz4740.c @@ -26,7 +26,7 @@ void intr_handler(void) { - _printf("Interrupt!"); + //printf("Interrupt!"); return; } -- cgit v1.2.3