mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-12-09 05:05:20 -05:00
M:Robe 500: Commit some minor changes and some keymap changes (short press power takes you out of the WPS)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20942 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
3eb6da3c1d
commit
d8c7285b2a
6 changed files with 33 additions and 97 deletions
|
|
@ -68,67 +68,3 @@ void ata_device_init(void)
|
|||
IO_GIO_DIR0&=~(1<<10);
|
||||
}
|
||||
|
||||
#if 0
|
||||
void copy_read_sectors(unsigned char* buf, int wordcount)
|
||||
{
|
||||
__buttonlight_trigger();
|
||||
|
||||
/* Unaligned transfer - slow copy */
|
||||
if ( (unsigned long)buf & 1)
|
||||
{ /* not 16-bit aligned, copy byte by byte */
|
||||
unsigned short tmp = 0;
|
||||
unsigned char* bufend = buf + wordcount*2;
|
||||
do
|
||||
{
|
||||
tmp = ATA_DATA;
|
||||
*buf++ = tmp & 0xff; /* I assume big endian */
|
||||
*buf++ = tmp >> 8; /* and don't use the SWAB16 macro */
|
||||
} while (buf < bufend); /* tail loop is faster */
|
||||
return;
|
||||
}
|
||||
/* This should never happen, but worth watching for */
|
||||
if(wordcount > (1 << 18))
|
||||
panicf("atd-meg-fx.c: copy_read_sectors: too many sectors per read!");
|
||||
|
||||
//#define GIGABEAT_DEBUG_ATA
|
||||
#ifdef GIGABEAT_DEBUG_ATA
|
||||
static int line = 0;
|
||||
static char str[256];
|
||||
snprintf(str, sizeof(str), "ODD DMA to %08x, %d", buf, wordcount);
|
||||
lcd_puts(10, line, str);
|
||||
line = (line+1) % 32;
|
||||
lcd_update();
|
||||
#endif
|
||||
/* Reset the channel */
|
||||
DMASKTRIG0 |= 4;
|
||||
/* Wait for DMA controller to be ready */
|
||||
while(DMASKTRIG0 & 0x2)
|
||||
;
|
||||
while(DSTAT0 & (1 << 20))
|
||||
;
|
||||
/* Source is ATA_DATA, on AHB Bus, Fixed */
|
||||
DISRC0 = (int) 0x18000000;
|
||||
DISRCC0 = 0x1;
|
||||
/* Dest mapped to physical address, on AHB bus, increment */
|
||||
DIDST0 = (int) buf;
|
||||
if(DIDST0 < 0x30000000)
|
||||
DIDST0 += 0x30000000;
|
||||
DIDSTC0 = 0;
|
||||
|
||||
/* DACK/DREQ Sync to AHB, Whole service, No reload, 16-bit transfers */
|
||||
DCON0 = ((1 << 30) | (1<<27) | (1<<22) | (1<<20)) | wordcount;
|
||||
|
||||
/* Activate the channel */
|
||||
DMASKTRIG0 = 0x2;
|
||||
|
||||
invalidate_dcache_range((void *)buf, wordcount*2);
|
||||
|
||||
/* Start DMA */
|
||||
DMASKTRIG0 |= 0x1;
|
||||
|
||||
/* Wait for transfer to complete */
|
||||
while((DSTAT0 & 0x000fffff))
|
||||
priority_yield();
|
||||
/* Dump cache for the buffer */
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -130,9 +130,11 @@ int button_read_device(int *data)
|
|||
button_read |= BUTTON_POWER;
|
||||
}
|
||||
|
||||
#if defined(HAVE_REMOTE_LCD)
|
||||
/* Read data from the remote */
|
||||
button_read |= remote_read_device();
|
||||
hold_button=remote_button_hold();
|
||||
#endif
|
||||
|
||||
/* Take care of hold notifications */
|
||||
#ifndef BOOTLOADER
|
||||
|
|
|
|||
|
|
@ -73,7 +73,9 @@ void power_off(void)
|
|||
{
|
||||
/* turn off backlight and wait for 1 second */
|
||||
_backlight_off();
|
||||
#if defined(HAVE_REMOTE_LCD)
|
||||
lcd_remote_sleep();
|
||||
#endif
|
||||
lcd_sleep();
|
||||
sleep(HZ);
|
||||
/* Hard shutdown */
|
||||
|
|
|
|||
|
|
@ -246,8 +246,7 @@ void system_init(void)
|
|||
|
||||
IO_INTC_ENTRY_TBA0 = 0;
|
||||
IO_INTC_ENTRY_TBA1 = 0;
|
||||
|
||||
|
||||
|
||||
int i;
|
||||
/* Set interrupt priorities to predefined values */
|
||||
for(i = 0; i < 23; i++)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue