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



Search | Go
Wiki > Main > TelechipsInfo

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.

Player CPU Notes
Safa SR-850F TCC721Y + codec Wolfson WM 8750
Oracom UB-880 TCC721Y  
Xclef MT-500 TCC730Y  
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 7 TCC771L  
Insignia NS-DAxG TCC771L  
Cowon iAUDIO T2 TCC772S + Wolfson WM8731LS
Cowon iAUDIO F2 TCC773  
Logik DAX DAB/MP3 player TCC773L  
ATMT mp170 DAB/MP3 player TCC773L (seems to be the Logik DAX in a different case by a different manufacturer)
Samsung YV-150 TCC773L  
Stormblue A9 TCC776 + codec Texas Instruments TI TLV320AIC23B
Cowon D2 TCC7801 + Wolfson WM8985
iRiver U20 (Clix2) TCC7801 + Wolfson WM8731S
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 WM1806G
Samsung YP-P3 TCC7801 + Wolfson WM8731S
Samsung YP-T10 TCC7801 + Wolfson WM1806
iRiver U30 SPINN TCC7901 + Wolfson WM8731S, BTTM47C2SA, TCC3120
iRiver S100 TCC7901 + Wolfson WM8731S
Cowon iAUDIO 9 TCC7901 + Wolfson WM8750S
Cowon iAUDIO 10 TCC7901 + Wolfson WM8960G
Cowon J3 TCC7901 + Wolfson WM8960G
Cowon X7 TCC7901  
Cowon C2 TCC7901 + Wolfson WM8960G
Cowon D20 TCC7901 + Wolfson WM8960G
Cowon S9 TCC7901 + Wolfson WM8750L
Samsung YP-Q3 TCC7901S + codec Dialog semiconductor DA7211
Insignia NS-DVxG TCC8200 + codec Texas Instruments TI TLV320AIC23B
Iriver X20 TCC8200 + codec Texas Instruments TI TLV320AIC23B
Philips SA60xx TCC8200  
Teclast T39 TCC8200 + Wolfson WM8978G
Cowon Z2 TCC8803 + Wolfson WM8960G
Cowon Q7 TCC8803  
Cowon D3 TCC8900 + Wolfson WM8960G
Cowon V5 TCC9101 + Wolfson WM8960G
iRiver U100 TCC92xx  
iRiver AK100 TCC9201 WM8740, WM8804G
iRiver AK120 TCC9201 WM8740

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):

Offset Length Contents
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):

Offset Length Contents
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.


r33 - 02 Apr 2021 - 20:46:07 - UnknownUser

Copyright © by the contributing authors.