From 358ba6913bcb6f8f694547ddaf5170f52b95b22e Mon Sep 17 00:00:00 2001 From: theseven Date: Sat, 17 Oct 2009 23:00:49 +0000 Subject: [PATCH] Implement iPod Nano 2G nand_get_info() git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23238 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/s5l8700/ata-nand-s5l8700.c | 7 ++++++- firmware/target/arm/s5l8700/ipodnano2g/ftl-target.h | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/firmware/target/arm/s5l8700/ata-nand-s5l8700.c b/firmware/target/arm/s5l8700/ata-nand-s5l8700.c index ce1fa4df5..88611fed3 100644 --- a/firmware/target/arm/s5l8700/ata-nand-s5l8700.c +++ b/firmware/target/arm/s5l8700/ata-nand-s5l8700.c @@ -90,7 +90,12 @@ void nand_enable(bool on) void nand_get_info(IF_MD2(int drive,) struct storage_info *info) { - (void)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).revision = "1.0"; } long nand_last_disk_activity(void) diff --git a/firmware/target/arm/s5l8700/ipodnano2g/ftl-target.h b/firmware/target/arm/s5l8700/ipodnano2g/ftl-target.h index cb943e34f..ad4dc04db 100644 --- a/firmware/target/arm/s5l8700/ipodnano2g/ftl-target.h +++ b/firmware/target/arm/s5l8700/ipodnano2g/ftl-target.h @@ -30,6 +30,12 @@ #define FTL_READONLY #endif +/* Pointer to an info structure regarding the flash type used */ +const struct nand_device_info_type* ftl_nand_type; + +/* Number of banks we detected a chip on */ +uint32_t ftl_banks; + uint32_t ftl_init(void); uint32_t ftl_read(uint32_t sector, uint32_t count, void* buffer); uint32_t ftl_write(uint32_t sector, uint32_t count, const void* buffer); -- 2.11.4.GIT