Make ATA work on M3.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16650 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
80ded2ad7c
commit
2b5f9aec64
2 changed files with 60 additions and 1 deletions
|
@ -496,7 +496,7 @@ target/coldfire/iaudio/m5/audio-m5.c
|
|||
#ifdef IAUDIO_M3
|
||||
#ifndef SIMULATOR
|
||||
target/coldfire/ata-as-coldfire.S
|
||||
target/coldfire/iaudio/ata-iaudio.c
|
||||
target/coldfire/iaudio/m3/ata-m3.c
|
||||
target/coldfire/iaudio/m3/backlight-m3.c
|
||||
target/coldfire/iaudio/m3/button-m3.c
|
||||
target/coldfire/iaudio/m3/lcd-m3.c
|
||||
|
|
59
firmware/target/coldfire/iaudio/m3/ata-m3.c
Normal file
59
firmware/target/coldfire/iaudio/m3/ata-m3.c
Normal file
|
@ -0,0 +1,59 @@
|
|||
/***************************************************************************
|
||||
* __________ __ ___.
|
||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||
* \/ \/ \/ \/ \/
|
||||
* $Id$
|
||||
*
|
||||
* Copyright (C) 2008 by Jens Arnold
|
||||
*
|
||||
* All files in this archive are subject to the GNU General Public License.
|
||||
* See the file COPYING in the source tree root for full license agreement.
|
||||
*
|
||||
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
* KIND, either express or implied.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#include "config.h"
|
||||
#include "cpu.h"
|
||||
#include <stdbool.h>
|
||||
#include "kernel.h"
|
||||
#include "system.h"
|
||||
#include "power.h"
|
||||
|
||||
void ata_reset(void)
|
||||
{
|
||||
and_l(~0x00000040, &GPIO1_OUT);
|
||||
sleep(1); /* > 25us */
|
||||
or_l(0x00000040, &GPIO1_OUT);
|
||||
sleep(1); /* > 2ms */
|
||||
}
|
||||
|
||||
void ata_enable(bool on)
|
||||
{
|
||||
if(on)
|
||||
and_l(~0x01000000, &GPIO1_OUT);
|
||||
else
|
||||
or_l(0x01000000, &GPIO1_OUT);
|
||||
}
|
||||
|
||||
bool ata_is_coldstart(void)
|
||||
{
|
||||
return true; /* TODO */
|
||||
}
|
||||
|
||||
void ata_device_init(void)
|
||||
{
|
||||
/* ATA enable & reset */
|
||||
or_l(0x01000040, &GPIO1_OUT);
|
||||
or_l(0x01000040, &GPIO1_ENABLE);
|
||||
or_l(0x01000040, &GPIO1_FUNCTION);
|
||||
|
||||
/* USB enable */
|
||||
and_l(~0x10000000, &GPIO_OUT);
|
||||
or_l(0x10000000, &GPIO_ENABLE);
|
||||
or_l(0x10000000, &GPIO_FUNCTION);
|
||||
}
|
Loading…
Reference in a new issue