summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/SOURCES7
-rw-r--r--firmware/target/arm/s5l8702/nor-target.h28
2 files changed, 31 insertions, 4 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES
index e827f964f5..b836601ed3 100644
--- a/firmware/SOURCES
+++ b/firmware/SOURCES
@@ -1568,6 +1568,9 @@ target/arm/s5l8702/clocking-s5l8702.c
1568target/arm/s5l8702/ipod6g/lcd-6g.c 1568target/arm/s5l8702/ipod6g/lcd-6g.c
1569target/arm/s5l8702/ipod6g/lcd-asm-6g.S 1569target/arm/s5l8702/ipod6g/lcd-asm-6g.S
1570target/arm/s5l8702/ipod6g/piezo-6g.c 1570target/arm/s5l8702/ipod6g/piezo-6g.c
1571target/arm/s5l8702/spi-s5l8702.c
1572target/arm/s5l8702/crypto-s5l8702.c
1573target/arm/s5l8702/nor-s5l8702.c
1571#if 0 //TODO 1574#if 0 //TODO
1572target/arm/s5l8702/postmortemstub.S 1575target/arm/s5l8702/postmortemstub.S
1573#endif 1576#endif
@@ -1587,10 +1590,6 @@ target/arm/s5l8702/debug-s5l8702.c
1587target/arm/s5l8702/pcm-s5l8702.c 1590target/arm/s5l8702/pcm-s5l8702.c
1588target/arm/s5l8702/ipod6g/audio-6g.c 1591target/arm/s5l8702/ipod6g/audio-6g.c
1589target/arm/s5l8702/ipod6g/cscodec-6g.c 1592target/arm/s5l8702/ipod6g/cscodec-6g.c
1590#else
1591target/arm/s5l8702/spi-s5l8702.c
1592target/arm/s5l8702/crypto-s5l8702.c
1593target/arm/s5l8702/nor-s5l8702.c
1594#endif /* BOOTLOADER */ 1593#endif /* BOOTLOADER */
1595#endif /* IPOD_6G */ 1594#endif /* IPOD_6G */
1596 1595
diff --git a/firmware/target/arm/s5l8702/nor-target.h b/firmware/target/arm/s5l8702/nor-target.h
index 4ebe1d58d4..3d2790d123 100644
--- a/firmware/target/arm/s5l8702/nor-target.h
+++ b/firmware/target/arm/s5l8702/nor-target.h
@@ -87,6 +87,34 @@ int bootflash_compare(int port, int offset, void* addr, int size);
87void bootflash_erase_blocks(int port, int first, int n); 87void bootflash_erase_blocks(int port, int first, int n);
88void bootflash_close(int port); 88void bootflash_close(int port);
89 89
90/*
91 * SysCfg
92 */
93struct SysCfgHeader {
94 uint32_t magic; // always 'SCfg'
95 uint32_t size;
96 uint32_t unknown1; // 0x00000200 on iPod classic
97 uint32_t version; // maybe? 0x00010001 on iPod classic
98 uint32_t unknown2; // 0x00000000 on iPod classic
99 uint32_t num_entries;
100}; // 0x18
101
102struct SysCfgEntry {
103 uint32_t tag;
104 uint8_t data[0x10];
105};
106
107#define SYSCFG_MAGIC 0x53436667 // SCfg
108
109#define SYSCFG_TAG_SRNM 0x53724e6d // SrNm
110#define SYSCFG_TAG_FWID 0x46774964 // FwId
111#define SYSCFG_TAG_HWID 0x48774964 // HwId
112#define SYSCFG_TAG_HWVR 0x48775672 // HwVr
113#define SYSCFG_TAG_CODC 0x436f6463 // Codc
114#define SYSCFG_TAG_SWVR 0x53775672 // SwVr
115#define SYSCFG_TAG_MLBN 0x4d4c424e // MLBN
116#define SYSCFG_TAG_MODN 0x4d6f6423 // Mod#
117#define SYSCFG_TAG_REGN 0x5265676e // Regn
90 118
91/* 119/*
92 * IM3 120 * IM3