release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Wiki > Main > TelechipsInfo (compare)

Difference: TelechipsInfo (r26 vs. r25)

Telechips Info


Introduction

This page describes the ARM-based range of Telechips SoCs, including TCC76x and TCC77x, which are used in many DAPs, including those listed in the following table (sorted on the CPU number). A data sheet for the TCC76x can be found here.

PlayerCPUNotes
Safa SR-850F TCC721Y? + codec Wolfson WM 8750
Oracom UB-880 TCC721Y?  
Xclef MT-500TCC730Y?  
Monolith MX-7050 TCC731Y? + Wolfson WM 8731
MPIO ONE TCC76x + codec Wolfson WM 8750
MPIO FG200 TCC76x + codec Wolfson WM 8750
Dyne RCA Tuny 7 aka Ramos V 10 RC3000A?TCC766 TCC760 +codec Texas Instruments + codec Cirrus TI TLV320AIC23BCS42L51?, radio TEA5767
Sorell (S-cam ) Dyne Tuny 7 aka Ramos V 10 SF3500ZF?TCC767 TCC766 + codec Wolfson WM +codec Texas Instruments TI 8750 TLV320AIC23B
Sorell SF-3700 (S-cam ) SF-3700 (aka Creative MuVo Vidz ) SF3500ZF? TCC767 + codec Wolfson WM 8750
Oracom UB-890 Sorell SF-3700 (S-cam ) SF-3700 (aka Creative MuVo Vidz ) TCC767 + codec Wolfson WM 8750
Kingston K-PEX / Cenix GMP-M6 Oracom UB-890 TCC767  
Samsung YP-T7 Kingston K-PEX / Cenix GMP-M6TCC766H? TCC767  
M-Bird XY-22 Samsung YP-T7 TCC767H TCC766H ?+ codec Wolfson WM8973
Samsung YP-D1 M-Bird XY-22 TCC767H?+ codec Wolfson WM8973 WM8750S?
Samsung YP-T8 YP-D1 TCC767H? + Wolfson WM8750S?
MobiBLU DHH200 Samsung YP-T8 TCC760H TCC767H ?+ Wolfson WM8750 WM8750S?
MobiBLU DAH1700 DHH200 TCC767H TCC760H ?+ codec Wolfson WM WM8750 8750
Dyne Tuny MobiBLU DAH1700 8 ( aka Cube T8) TCC767H?+codec Texas Instruments TI + codec Wolfson WM 8750 TLV320AIC23B
Dyne Tuny 8 ( aka Cube 2000 T8) TCC767H? +codec Texas Instruments TI TLV320AIC23B
Teclast T19 Cube 2000 TCC770 TCC767H?+ Wolfson WM8750
Teclast T29 Teclast T19 TCC770 + Wolfson WM8750
Samsung YP-K5 Teclast T29 TCC770 + Wolfson WM8956 WM8750
iBead 700 Samsung YP-K5 TCC770 + Wolfson WM8750 WM8956
VTec PRO iBead 700 MP640 TCC770 + Wolfson WM8750
iaudio U3 VTec PRO MP640 TCC770 + codec Cirrus Wolfson WM8750 Logic CS42L51?
Sansa C100 iaudio U3 TCC770 + codec Texas Instruments Cirrus Logic TI TLV320AIC23BCS42L51?
Sansa M200 C100 (not AMS/v4) TCC770 + codec Texas Instruments TI TLV320AIC23B
Samsung YP-K3 Sansa M200 (not AMS/v4) TCC771L? TCC770 + codec Texas Instruments TI TLV320AIC23B
LG-FM 20 Samsung YP-K3 TCC771L?  
LG-FM 30 20 TCC771L?  
LG-FM 33 30 TCC771L?  
iaudio 6 and iaudio 7 LG-FM 33 TCC771L?  
Insignia NS-DAxG iaudio 6 and iaudio 7TCC771L?  
Cowon iAUDIO Insignia NS-DAxG T2 TCC772S TCC771L ?+ Wolfson WM8731LS?
Cowon iAUDIO F2 T2 TCC773 TCC772S? + Wolfson WM8731LS?
Logik DAX DAB/MP3 player Cowon iAUDIO F2 TCC773L? TCC773  
ATMT mp170 Logik DAX DAB/MP3 player TCC773L?(seems to be the Logik DAX in a different case by a different manufacturer)
Samsung YV-150 ATMT mp170 DAB/MP3 player TCC773L? (seems to be the Logik DAX in a different case by a different manufacturer)
Stormblue A9 Samsung YV-150 TCC776 TCC773L?+ codec Texas Instruments TI TLV320AIC23B
Cowon D2 Stormblue A9 TCC7801 TCC776 + Wolfson WM8985 codec Texas Instruments TI TLV320AIC23B
iriver clix2 Cowon D2 TCC7801 + Wolfson WM8985 WM8371S?
Iriver B20 iriver clix2 TCC7801 + Wolfson WM8750S WM8371S ?
iStation Mini Iriver B20 DX TCC7801 + WM8750S?
Oracom A9 iStation Mini DX TCC7801  
Atree UJ Oracom A9 (UJUKE) 10 TCC7801  
LG FM37 Atree UJ (UJUKE) 10 TCC7801 + WM 8731LS
Samsung YP-P2 LG FM37 TCC7801 + Wolfson WM87xx WM 8731LS (?)
Samsung YP-T10 YP-P2 TCC7801 + Wolfson WM1806 WM87xx (?)
Cowon S9 Samsung YP-T10 TCC7901 TCC7801 + Wolfson WM1806 WM8750L?
Insignia NS-DVxG Cowon S9 TCC8200 TCC7901 + codec Wolfson Texas Instruments TI TLV320AIC23BWM8750L?
Iriver X20 Insignia NS-DVxG TCC8200 + codec Texas Instruments TI TLV320AIC23B
Philips SA60xx Iriver X20 TCC8200 + codec Texas Instruments TI TLV320AIC23B
Teclast T39 Philips SA60xx TCC8200 + Wolfson WM8978G?
Teclast T39 TCC8200 + Wolfson WM8978G?

More DAPs are listed here - http://forum.mp3store.pl/index.php?showtopic=14695&mode=threaded (much of the data for the list above comes from that page)


Telechip Versions

There exists a set of different Telechips versions. Here's a summary table of their names and what they do:

Name Description
TCC720 ARM940TDMI? CPU core 96MHz, 64K SRAM
TCC721 like TCC720 + LCD controller
TCC73x 16bit RISC[*] core 80 MHz + DSP + encoders/decoders
TCC760 ARM940T? CPU core 168 MHz, 64K SRAM
TCC761 like TCC760 + LCD controller
TCC763 like TCC760 + codec + 512KB nor flash
TCC764 like TCC760 + codec + 1MB nor flash
TCC766 like TCC760 + codec + 1MB nor flash + USB 2
TCC767 like TCC760 + 1MB nor flash + USB 2
TCC768 like TCC760 (but 140MHz) + codec + 512KB nor flash + 2 MB SDRAM
TCC770 ARM946E?-S CPU core 120MHz, 64K SRAM
TCC771 like TCC770 + codec
TCC772S? like TCC770 + 2MB SDRAM
TCC773 like TCC770 + codec + 2MB SDRAM
TCC774 like TCC770 + codec + 1MB NOR flash
TCC7801 dual core ARM926EJ?-S + ARM946ES? 200MHz, 96K SRAM, video hardware accel
TCC7901 dual core ARM926EJ?-S, 96K SRAM, video hardware accel
TCC820x ARM946E?-S CPU core 200MHz, 64K SRAM + 2/4/8 MB SDRAM + graphics accel

[*] = This appears to be what is sometimes referred to as CalmRISC16

A very nice chart of all the models can be found here.


Firmware format

The firmware upgrade files for all these devices look very similar, and the creation of them is supported by the "scramble" tool available in the tools/ subdirectory of the Rockbox source code.

There are two slightly different firmware formats, which are described here as "simple checksum" and "dual CRCs".

"Simple checksum" firmware format

The first 32 bytes of the firmware file (the usual location of the ARM exception vectors) contain a branch instruction to the entry point in the firmware (when loaded to SDRAM at 0x20000000) followed by 28 bytes of header information as follows (all integers are little-endian):

OffsetLengthContents
0x0 4 ARM branch instruction - e.g. ldr pc, [pc, #320], where [pc, #320] typically contains 0x70000018
0x4 2 MAGIC - 0x0106
0x6 2 MAGIC - 0xffff
0x8 8 Version string - typically "Ver:0071"
0x10 4 Checksum
0x14 4 Always contains 0x00000000

The firmware itself typically starts at offset 0x18.

For information on how to calculate the checksum, see the function telechips_encode_sum() in tools/telechips.c

"Dual CRCs" firmware format

The first 32 bytes of the firmware file (the usual location of the ARM exception vectors) contain a branch instruction to the entry point in the firmware (when loaded to SDRAM at 0x20000000) followed by 28 bytes of header information as follows (all integers are little-endian):

OffsetLengthContents
0x0 4 ARM branch instruction - e.g. ldr pc, [pc, #320], where [pc, #320] typically contains 0x20000020 or 0x20000060
0x4 2 MAGIC - 0x0106
0x6 2 MAGIC - 0xffff
0x8 8 Version string - typically "Ver:0071"
0x10 4 32-bit CRC
0x14 4 Address of user defined CRC routine (Always 0x00000000)
0x18 4 32-bit CRC
0x1c 4 Total length of firmware file in bytes, including these 32 bytes

The firmware itself typically starts at either 0x20 or 0x60. For the firmwares where it starts at 0x60, the bytes between the header and 0x60 are filled with zeros.

For information on how to calculate the CRCs, see the function telechips_encode_crc() in tools/telechips.c


NAND Flash Information

Some information about the low-level NAND format used by Telechips devices can be found at TelechipsNAND.


r32 - 20 Mar 2014 - 10:51:37 - IvanMaslyuk

Revision r26 - 21 Mar 2013 - 00:21 - BorisGjenero
Revision r25 - 07 Feb 2013 - 13:09 - AmauryPouly
Copyright by the contributing authors.