From 19cb4446919dff3b0c6e5a48c9b0192c01740ecc Mon Sep 17 00:00:00 2001 From: Karl Kurbjun Date: Wed, 24 Jun 2009 04:17:15 +0000 Subject: M:Robe 500: RTC is now working, Added some SPI flexibility per end device and modified the interrupt handler for the tsc2100 which should make it more reliable. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21483 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/tms320dm320/mrobe-500/adc-mr500.c | 7 ++++--- firmware/target/arm/tms320dm320/mrobe-500/backlight-mr500.c | 11 +++++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) (limited to 'firmware/target/arm/tms320dm320/mrobe-500') diff --git a/firmware/target/arm/tms320dm320/mrobe-500/adc-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/adc-mr500.c index e7e57a4f11..7d073f4fda 100644 --- a/firmware/target/arm/tms320dm320/mrobe-500/adc-mr500.c +++ b/firmware/target/arm/tms320dm320/mrobe-500/adc-mr500.c @@ -38,6 +38,9 @@ void adc_init(void) /* Touchscreen data available interupt */ void GIO14(void) { + /* Interrupts work properly when cleared first */ + IO_INTC_IRQ2 = (1<<3); /* IRQ_GIO14 == 35 */ + short tsadc = tsc2100_readreg(TSADC_PAGE, TSADC_ADDRESS); short adscm = (tsadc&TSADC_ADSCM_MASK)>>TSADC_ADSCM_SHIFT; @@ -62,8 +65,6 @@ void GIO14(void) case 0x0B: tsc2100_set_mode(true, 0x01); break; - } - - IO_INTC_IRQ2 = (1<<3); /* IRQ_GIO14 == 35 */ + } } diff --git a/firmware/target/arm/tms320dm320/mrobe-500/backlight-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/backlight-mr500.c index 413790ae00..04778c8e50 100644 --- a/firmware/target/arm/tms320dm320/mrobe-500/backlight-mr500.c +++ b/firmware/target/arm/tms320dm320/mrobe-500/backlight-mr500.c @@ -29,10 +29,17 @@ #include "spi-target.h" #include "lcd-target.h" +short read_brightness = 0x0; + static void _backlight_write_brightness(int brightness) { - uint8_t bl_command[] = {0xa4, 0x00, brightness, 0xbb}; - spi_block_transfer(SPI_target_BACKLIGHT, false, bl_command, 4, 0, 0); + uint8_t bl_command[] = {0xA4, 0x00, brightness, 0xA4}; + + uint8_t bl_read[] = {0xA8, 0x00}; + + spi_block_transfer(SPI_target_BACKLIGHT, bl_read, 2, (char*)&read_brightness, 2); + + spi_block_transfer(SPI_target_BACKLIGHT, bl_command, 4, 0, 0); } void _backlight_on(void) -- cgit v1.2.3