rockbox/firmware/target
Marcin Bukat c3356ac35f rk27xx: build the raw NAND layer
nand-rk27xx.c held a complete transcription of the OF's NAND handling -
chip detection, geometry derivation, chip select, ECC reads - inside
"#if 0", written as documentation back when the FTL was still unknown.
It has therefore never been compiled.

Enabling it exposed three things nothing had ever caught:

 - flash_init() looks up ManufactureIDTbl[] and DeviceCode[], but the
   tables are named manufacture_id_tbl[] and device_code[]
 - mlc_refresh_row, flash_pend_cmd and flash_read_status_cmd are
   assigned but were never defined
 - memcpy() was used without including string.h

struct flashspec_t moves to nand-target.h, with flash_spec[] and
total_phy_sec declared there, because the FTL's flash primitives need
the geometry flash_init() derives. The "_raw" fields describe one
physical plane and the others the multi-plane view the FTL addresses;
that distinction is load-bearing for the FTL's address mapping, so both
are kept.

flash_read_page() is renamed flash_read_page_raw(). It reads a whole
page unbuffered and without ECC, and the name is needed for the FTL
primitive that does the ECC read.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Change-Id: I3eb2d6f41d72b3239a0f9493e49532c242c588fa
2026-10-01 10:28:03 +02:00
..
arm rk27xx: build the raw NAND layer 2026-10-01 10:28:03 +02:00
coldfire firmware: move iriver flash helper functions into target tree 2026-09-23 13:44:45 -04:00
hosted Add "rbfs" prefix to native filesystem functions 2026-09-17 16:22:31 -04:00
mips usb: let controller drivers handle SET_ADDRESS requests 2026-09-26 13:23:01 -04:00