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



Wiki > Main > TelechipsInfo (compare)

Difference: TelechipsInfo (r28 vs. r27)

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
RCA RC3000A? TCC760 + codec Cirrus CS42L51?, radio TEA5767
Dyne Tuny 7 aka Ramos V 10 TCC766 +codec Texas Instruments TI TLV320AIC23B
Sorell (S-cam ) SF3500ZF? TCC767 + codec Wolfson WM 8750
Sorell SF-3700 (S-cam ) SF-3700 (aka Creative MuVo Vidz ) TCC767 + codec Wolfson WM 8750
Oracom UB-890 TCC767  
Kingston K-PEX / Cenix GMP-M6 TCC767  
Samsung YP-T7 TCC766H?  
M-Bird XY-22 TCC767H? + codec Wolfson WM8973
Samsung YP-D1 TCC767H? + Wolfson WM8750S?
Samsung YP-T8 TCC767H? + Wolfson WM8750S?
MobiBLU DHH200 TCC760H? + Wolfson WM8750
MobiBLU DAH1700 TCC767H? + codec Wolfson WM 8750
Dyne Tuny 8 ( aka Cube T8) TCC767H? +codec Texas Instruments TI TLV320AIC23B
Cube 2000 TCC767H?  
Teclast T19 TCC770 + Wolfson WM8750
Teclast T29 TCC770 + Wolfson WM8750
Samsung YP-K5 TCC770 + Wolfson WM8956
iBead 700 TCC770 + Wolfson WM8750
VTec PRO MP640 TCC770 + Wolfson WM8750
iaudio U3 TCC770 + codec Cirrus Logic CS42L51?
Sansa C100 TCC770 + codec Texas Instruments TI TLV320AIC23B
Sansa M200 (not AMS/v4) TCC770 + codec Texas Instruments TI TLV320AIC23B
Samsung YP-K3 TCC771L?  
LG-FM 20 TCC771L?  
LG-FM 30 TCC771L?  
LG-FM 33 TCC771L?  
iaudio 6 and iaudio 7TCC771L?  
Insignia NS-DAxG TCC771L?  
Cowon iAUDIO T2 TCC772S? + Wolfson WM8731LS?
Cowon iAUDIO F2 TCC773  
Logik DAX DAB/MP3 playerTCC773L?  
ATMT mp170 DAB/MP3 playerTCC773L? (seems to be the Logik DAX in a different case by a different manufacturer)
Samsung YV-150TCC773L?  
Stormblue A9 TCC776 + codec Texas Instruments TI TLV320AIC23B
Cowon D2 TCC7801 + Wolfson WM8985
iriver clix2 TCC7801 + Wolfson WM8371S?
Iriver B20 TCC7801 + WM8750S?
iStation Mini DX TCC7801  
Oracom A9 TCC7801  
Atree UJ (UJUKE) 10 TCC7801  
LG FM37 TCC7801 + WM 8731LS
Samsung YP-Q1 TCC7801  
Samsung YP-P2 TCC7801 + Wolfson WM87xx (?)
Samsung YP-T10 TCC7801 + Wolfson WM1806
Cowon S9 TCC7901 + Wolfson WM8750L?
Insignia NS-DVxG Samsung YP-Q3 TCC8200 TCC7901 + codec Texas Instruments TI TLV320AIC23B
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 r28 - 21 Sep 2013 - 15:38 - ClaudioRizzo
Revision r27 - 15 Sep 2013 - 11:32 - AmauryPouly
Copyright by the contributing authors.