Peripheral Interface: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
(PI_BB_NAND_CTRL, PI_BB_NAND_ADDR) |
(Initial description of iQue-specific PI memory) |
||
Line 381: | Line 381: | ||
| 23-16 | NAND Command | NAND Command to execute. Corresponds directly to commands for the K9F1208U0M flash. |
| 23-16 | NAND Command | NAND Command to execute. Corresponds directly to commands for the K9F1208U0M flash. |
||
| 15 | ? | Unknown. Set when issuing Read 1, Block Erase (second cycle) and Page Program (second cycle) |
| 15 | ? | Unknown. Set when issuing Read 1, Block Erase (second cycle) and Page Program (second cycle) |
||
| 14 | Buffer Select | Selects which half of the 0x400-byte PI Buffer mapped at |
| 14 | Buffer Select | Selects which half of the 0x400-byte PI Buffer mapped at 0x04610000 should be used for DMA operations. See '''iQue Player-specific Memory''' for details on this buffer |
||
| 13-12 | Device Select | Corresponds to Chip Enable signals on the card connector. Typically 0. |
| 13-12 | Device Select | Corresponds to Chip Enable signals on the card connector. Typically 0. |
||
| 11 | Do ECC | Whether to do ECC |
| 11 | Do ECC | Whether to do ECC |
||
Line 418: | Line 418: | ||
: To convert a page number to an address, multiply it by 512. |
: To convert a page number to an address, multiply it by 512. |
||
: To convert a block number to an address, multiply it by 0x4000. |
: To convert a block number to an address, multiply it by 0x4000. |
||
= iQue Player-specific memory = |
|||
In addition to extra registers, the iQue Player maps additional memory into the PI registers address space for use in various PI operations. |
|||
{| class="wikitable" |
|||
! colspan=2 | Address Range !! Name !! Description |
|||
|- |
|||
| 0x04610000 || 0x046101FF || PI Buffer 0 || Holds intermediate data between SDRAM and the NAND. NAND commands transfer data between this buffer and the flash; transfers between this buffer and SDRAM is done via DMAs triggered by '''PI_BB_RD_LEN''' and '''PI_BB_WR_LEN'''. AES decryptions happen in this buffer. |
|||
|- |
|||
| 0x04610200 || 0x046103FF || PI Buffer 1 || Same as Buffer 0 in operation. |
|||
|- |
|||
| 0x04610400 || 0x0461040F || PI Spare Data 0 || Holds "spare data" for buffer 0 contents. |
|||
|- |
|||
| 0x04610410 || 0x0461041F || PI Spare Data 1 || Holds "spare data" for buffer 1 contents. |
|||
|- |
|||
| 0x04610420 || 0x046104CF || AES Expanded Key || Holds the AES expanded key for AES decryption operations. |
|||
|- |
|||
| 0x046104D0 || 0x046104DF || AES Initialization Vector || Holds the AES IV for AES decryption operations. |
|||
|} |
|||
= Physical Bus Pinout = |
= Physical Bus Pinout = |