summaryrefslogtreecommitdiff
path: root/firmware/export/s5l8700.h
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2009-10-10 11:46:23 +0000
committerDave Chapman <dave@dchapman.com>2009-10-10 11:46:23 +0000
commit4fe2ee02215730c2217135ef1e6dd4585a0c2439 (patch)
tree46a481cd84da1ccf6524c904789ee5bdf2322512 /firmware/export/s5l8700.h
parente51dbc0f4f4779f6d0ea510b487c79faca3c128f (diff)
downloadrockbox-4fe2ee02215730c2217135ef1e6dd4585a0c2439.tar.gz
rockbox-4fe2ee02215730c2217135ef1e6dd4585a0c2439.zip
Add crypt_firmware plugin for Nano2G - this uses the hardware crypto unit to encrypt (or decrypt) a firmware image for writing to a Nano 2G's firmware partition with ipodpatcher (patch for ipodpatcher is at FS#10609). Also introduce BOOTFILE_EXT2 define for an alternative firmware file extension and add .ipodx for the Nano 2G (.ipod is for unencrypted images, similar to older ipods, and .ipodx is for encrypted images and include the 2KB hash block and modelname 'nn2x').
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23068 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/s5l8700.h')
-rw-r--r--firmware/export/s5l8700.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/firmware/export/s5l8700.h b/firmware/export/s5l8700.h
index f652a62a2e..f9e015baff 100644
--- a/firmware/export/s5l8700.h
+++ b/firmware/export/s5l8700.h
@@ -120,6 +120,7 @@
120#define RSTSR (*(REG32_PTR_T)(0x3C500034)) /* Reset status register */ 120#define RSTSR (*(REG32_PTR_T)(0x3C500034)) /* Reset status register */
121#define DSPCLKMD (*(REG32_PTR_T)(0x3C500038)) /* DSP clock mode register */ 121#define DSPCLKMD (*(REG32_PTR_T)(0x3C500038)) /* DSP clock mode register */
122#define CLKCON2 (*(REG32_PTR_T)(0x3C50003C)) /* clock control register 2 */ 122#define CLKCON2 (*(REG32_PTR_T)(0x3C50003C)) /* clock control register 2 */
123#define PWRCONEXT (*(REG32_PTR_T)(0x3C500040))
123 124
124/* 06. INTERRUPT CONTROLLER UNIT */ 125/* 06. INTERRUPT CONTROLLER UNIT */
125#define SRCPND (*(REG32_PTR_T)(0x39C00000)) /* Indicates the interrupt request status. */ 126#define SRCPND (*(REG32_PTR_T)(0x39C00000)) /* Indicates the interrupt request status. */
@@ -670,3 +671,28 @@
670#define REG_ONE (*(REG32_PTR_T)(0x3D100000)) /* Receive the first 32 bits from a fuse box */ 671#define REG_ONE (*(REG32_PTR_T)(0x3D100000)) /* Receive the first 32 bits from a fuse box */
671#define REG_TWO (*(REG32_PTR_T)(0x3D100004)) /* Receive the other 8 bits from a fuse box */ 672#define REG_TWO (*(REG32_PTR_T)(0x3D100004)) /* Receive the other 8 bits from a fuse box */
672 673
674
675/* Hardware AES crypto unit - S5L8701 only */
676#if CONFIG_CPU==S5L8701
677
678#define ICONSRCPND (*(REG32_PTR_T)(0x39C00000))
679#define ICONINTPND (*(REG32_PTR_T)(0x39C00010))
680#define AESCONTROL (*(REG32_PTR_T)(0x39800000))
681#define AESGO (*(REG32_PTR_T)(0x39800004))
682#define AESUNKREG0 (*(REG32_PTR_T)(0x39800008))
683#define AESSTATUS (*(REG32_PTR_T)(0x3980000C))
684#define AESUNKREG1 (*(REG32_PTR_T)(0x39800010))
685#define AESKEYLEN (*(REG32_PTR_T)(0x39800014))
686#define AESOUTSIZE (*(REG32_PTR_T)(0x39800018))
687#define AESOUTADDR (*(REG32_PTR_T)(0x39800020))
688#define AESINSIZE (*(REG32_PTR_T)(0x39800024))
689#define AESINADDR (*(REG32_PTR_T)(0x39800028))
690#define AESAUXSIZE (*(REG32_PTR_T)(0x3980002C))
691#define AESAUXADDR (*(REG32_PTR_T)(0x39800030))
692#define AESSIZE3 (*(REG32_PTR_T)(0x39800034))
693#define AESTYPE (*(REG32_PTR_T)(0x3980006C))
694#define HASHCTRL (*(REG32_PTR_T)(0x3C600000))
695#define HASHRESULT ((REG32_PTR_T)(0x3C600020))
696#define HASHDATAIN ((REG32_PTR_T)(0x3C600040))
697
698#endif /* CONFIG_CPU==S5L8701 */