• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Bootloader
  • Assigned To
  • Operating System Another
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by shotofadds - 2008-06-16
Last edited by shotofadds - 2008-07-18

FS#9096 - Display NAND chip id in TCC77x bootloader

The attached patch is a rudimentary attempt to read a NAND chip id from a TCC77x device during bootloader initialisation, for initial testing purposes (I don’t currently have the correct hardware to try this myself).

It should be possible to test this on M200 (hardware rev. 1.x and 2.x(?), not 3.x or 4.x), also Logik DAX and the ATMT MP170.

Closed by  shotofadds
2008-07-18 13:47
Reason for closing:  Out of Date
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Superceded by ata-nand-telechips.c in current SVN.

Adding this to the Sansa c100 bootloader causes nothing to be displayed.

Tried this on the Sansa m200 bootloader on my m240 (V1). Nothing is displayed.

Marc Guay mentioned on IRC that running the nand_read_id() function seems to be causing the problem.

It’s the only function! Besides the one it calls, anyway. :)

Ah well, it was worth a try. On my m230 rev.3 this displays NAND: 0×0 0×0... as if no NAND were present (understandable, given the bridge chip present on this model). Maybe I should stick to coding for devices I actually own...

That’s why we’re swapping m200’s... ;)

This patch reads the nand id on my c100.

I’m starting to go through the other nand functions as well.

fg commented on 2008-07-08 19:19

Values on my Logik DAX
0xD3 0×51 0×95 0×58

For the record, I get the same values for my
0xD3 0×51 0×95 0×58

Also, as noted by gevaerts, the printf statement is too wide for the screen. It needs to be split onto 2 lines.

In fact, all that’s needed is to add the next couple of lines to my original patch. I’m not sure where you got all the other extra junk from ;-)

+ /* From the Sansa C100 firmware
+ GPIOC_DIR |= 0×2000000; /* output mode
GPIOC_FUNC &= ~0×2000000; /* normal IO port
GPIOC_FUNC |= 0×1;

For the record, my M240 also returns 0xEC 0xD3 0×51 0×95 0×58.

EDIT: New simpler patch attached.

I’m not getting any values on my c150 running firmware v2.0007A. There may have been a hardware revision on the c100s. I cannot downgrade to firmware v1.0.005A from v2.0007A. Lowlight, can you verify what firmware version yours is running?

Mine is
could not find a v1.0 version of the firmware, so I’ve been using the v2.0 firmware for disassembly. It seems as though it can use the NFC controller (0×90000000) or an external controller (?) through the 0×60000000 registers. And it doesn’t appear to be hard coded as to which controller to use. When I get time, I will try to make a simple patch to read the id through the other interface.


Available keyboard shortcuts


Task Details

Task Editing