summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sparmann <theseven@rockbox.org>2009-10-23 23:50:32 +0000
committerMichael Sparmann <theseven@rockbox.org>2009-10-23 23:50:32 +0000
commit49d4c428dc88c053575fcf17581323d3d49e8071 (patch)
tree9204d9ea187b9bf45324b0b21d0052c25e37845d
parent16a956c4f31462a7a45704ccb7652066c88e1e82 (diff)
downloadrockbox-49d4c428dc88c053575fcf17581323d3d49e8071.zip
rockbox-49d4c428dc88c053575fcf17581323d3d49e8071.tar.gz
rockbox-49d4c428dc88c053575fcf17581323d3d49e8071.tar.bz2
rockbox-49d4c428dc88c053575fcf17581323d3d49e8071.tar.xz
Implement iPod Nano 2G storage active indicator
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23325 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/s5l8700/ata-nand-s5l8700.c14
-rw-r--r--firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c5
2 files changed, 9 insertions, 10 deletions
diff --git a/firmware/target/arm/s5l8700/ata-nand-s5l8700.c b/firmware/target/arm/s5l8700/ata-nand-s5l8700.c
index 88611fe..36a2341c 100644
--- a/firmware/target/arm/s5l8700/ata-nand-s5l8700.c
+++ b/firmware/target/arm/s5l8700/ata-nand-s5l8700.c
@@ -23,7 +23,6 @@
#include "system.h"
#include <string.h>
#include "thread.h"
-#include "led.h"
#include "disk.h"
#include "storage.h"
#include "panic.h"
@@ -41,11 +40,6 @@ static long nand_stack[20];
/* API Functions */
-void nand_led(bool onoff)
-{
- led(onoff);
-}
-
int nand_read_sectors(IF_MD2(int drive,) unsigned long start, int incount,
void* inbuf)
{
@@ -91,10 +85,10 @@ void nand_enable(bool on)
void nand_get_info(IF_MD2(int drive,) struct storage_info *info)
{
uint32_t ppb = ftl_banks * (*ftl_nand_type).pagesperblock;
- (*info).sector_size = SECTOR_SIZE;
- (*info).num_sectors = (*ftl_nand_type).userblocks * ppb;
- (*info).vendor = "Apple";
- (*info).product = "iPod Nano 2G";
+ (*info).sector_size = SECTOR_SIZE;
+ (*info).num_sectors = (*ftl_nand_type).userblocks * ppb;
+ (*info).vendor = "Apple";
+ (*info).product = "iPod Nano 2G";
(*info).revision = "1.0";
}
diff --git a/firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c b/firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c
index 97ee037..74d147c 100644
--- a/firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c
+++ b/firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c
@@ -29,6 +29,7 @@
#include <pmu-target.h>
#include <mmu-target.h>
#include <string.h>
+#include "led.h"
#define NAND_CMD_READ 0x00
@@ -101,6 +102,7 @@ static uint8_t nand_ecc[0x30] __attribute__((aligned(16)));
uint32_t nand_unlock(uint32_t rc)
{
+ led(false);
mutex_unlock(&nand_mtx);
return rc;
}
@@ -349,6 +351,7 @@ uint32_t nand_read_page(uint32_t bank, uint32_t page, void* databuffer,
if (sparebuffer && !((uint32_t)sparebuffer & 0xf))
spare = (uint8_t*)sparebuffer;
mutex_lock(&nand_mtx);
+ led(true);
if (!nand_powered) nand_power_up();
uint32_t rc, eccresult;
nand_set_fmctrl0(bank, FMCTRL0_ENABLEDMA);
@@ -405,6 +408,7 @@ uint32_t nand_write_page(uint32_t bank, uint32_t page, void* databuffer,
if (sparebuffer && !((uint32_t)sparebuffer & 0xf))
spare = (uint8_t*)sparebuffer;
mutex_lock(&nand_mtx);
+ led(true);
if (!nand_powered) nand_power_up();
if (sparebuffer)
{
@@ -438,6 +442,7 @@ uint32_t nand_write_page(uint32_t bank, uint32_t page, void* databuffer,
uint32_t nand_block_erase(uint32_t bank, uint32_t page)
{
mutex_lock(&nand_mtx);
+ led(true);
if (!nand_powered) nand_power_up();
nand_set_fmctrl0(bank, 0);
if (nand_send_cmd(NAND_CMD_BLOCKERASE)) return nand_unlock(1);