Changes

3,041 bytes removed ,  03:51, 26 February 2009
moved info to individual Hardware pages
Line 60: Line 60:  
{| border="1"
 
{| border="1"
 
! base      !! function !! offset !! description !! contents/example
 
! base      !! function !! offset !! description !! contents/example
|-
  −
|0x0D010000||NAND      ||
  −
|-
  −
|          ||          || 0000 W  || command || 9F000000 (CMD 00: start read sector)
  −
|-
  −
||          ||          ||        ||        || 8030B840 (CMD 30: data (starts DMA 0x840 bytes))
  −
|-
  −
||          ||          ||        ||        || 80FF8000 (CMD FF: reset)
  −
|-
  −
||          ||          ||        ||        || 00008000 means: wait for R/#B to go down
  −
|-
  −
||          ||          ||        ||        || 1F000000 is the mask of the address bytes to send. (10 = AA, 08 = BB, .., 01 = FF in 08,0c)
  −
|-
  −
||          ||          || 0000 R  || status || MSB means busy
  −
|-
  −
||          ||          || 0004 W  || config ||
  −
|-
  −
||          ||          || 0008 W  || address #0 ||  0000AABB
  −
|-
  −
||          ||          || 000C W  || address #1 || CCDDEEFF, NAND sector, multiply with 0x800 or 0x840 to get offset, 0x40 for ecc
  −
|-
  −
||          ||          || 0010 W  || data addr  || target address for DMA (0x800 main bytes)
  −
|-
  −
||          ||          || 0014 W  || ecc addr  || target address for DMA (0x40 spare bytes)
  −
|-
  −
||0x0D020000||AES      ||
  −
|-
  −
||          ||          || 0000 W  || command || 980000LL to start operation (L = len in 16 byte blocks -1)
  −
|-
  −
||          ||          ||        ||        || 980010LL start operation and "do not reload IV"??
  −
|-
  −
||          ||          ||        ||        || 00000000 reset
  −
|-
  −
||          ||          || 0000 R  || status || MSB means busy
  −
|-
  −
||          ||          || 0004 W  || data addr || source DMA
  −
|-
  −
||          ||          || 0008 W  || data addr|| dst DMA
  −
|-
  −
||          ||          || 000C W  || key fifo || write 4 words to set key
  −
|-
  −
||          ||          || 0010 W  || IV fifo || write 4 words to set IV
  −
|-
  −
||0x0D030000||SHA-1    ||
  −
|-
  −
||          ||          || 0000 R  || status || MSB means busy
  −
|-
  −
||          ||          || 0000 W  || command || 0x00000000 Reset?
  −
|-
  −
||          ||          ||        ||        || 0x8000001F Calculate hash, then increase address by size 0x800
  −
|-
  −
||          ||          || 0004 W  || address || Physical address of data
  −
|-
  −
||          ||          || 0008 R  || hash || 1. part of hash value
  −
|-
  −
||          ||          || 0008 W  || init || 1. part of hash init value: 0x67452301
  −
|-
  −
||          ||          || 000c R  || hash || 2. part of hash value
  −
|-
  −
||          ||          || 000c W  || init || 2. part of hash init value: 0xEFCDAB89
  −
|-
  −
||          ||          || 0010 R  || hash || 3. part of hash value
  −
|-
  −
||          ||          || 0010 W  || init || 3. part of hash init value: 0x98BADCFE
  −
|-
  −
||          ||          || 0014 R  || hash || 4. part of hash value
  −
|-
  −
||          ||          || 0014 W  || init || 4. part of hash init value: 0x10325476
  −
|-
  −
||          ||          || 0018 R  || hash || 5. part of hash value
  −
|-
  −
||          ||          || 0018 W  || init || 5. part of hash init value: 0xC3D2E1F0
  −
|-
  −
||0x0D040000||EHCI    ||
  −
|-
  −
||0x0D050000||OHC !#0    ||
  −
|-
  −
||0x0D060000||OHC !#1    ||
  −
|-
  −
||0x0D070000||SDHC !#0    ||
  −
|-
  −
||0x0D070100||SDHC !#1    ||
   
|-
 
|-
 
||0x0D800000|| hollywood control || 0x400 bytes of control registers; these registers are mirrored every 0x400 bytes from 0x0D80000 to 0x0D805fff
 
||0x0D800000|| hollywood control || 0x400 bytes of control registers; these registers are mirrored every 0x400 bytes from 0x0D80000 to 0x0D805fff