• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Bootloader
  • Assigned To
    Rob Purchase
  • 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 Rob Purchase - 2008-06-16
Last edited by Rob Purchase - 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  Rob Purchase
2008-07-18 13:47
Reason for closing:  Out of Date
Additional comments about closing:  

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

Marc Guay commented on 2008-06-17 19:09

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

Robert Menes commented on 2008-06-17 19:24

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.

Marc Guay commented on 2008-06-17 19:29

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

Rob Purchase commented on 2008-06-18 07:53

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...

Robert Menes commented on 2008-06-18 12:15

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

Mark Arigo commented on 2008-07-08 19:05

This patch reads the nand id on my c100.

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

Frank Gevaerts commented on 2008-07-08 19:19

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

Mark Arigo commented on 2008-07-08 19:56

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.

Rob Purchase commented on 2008-07-08 20:04

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.

Marc Guay commented on 2008-07-08 22:56

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?

Mark Arigo commented on 2008-07-09 21:19

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