Rockbox Technical Forums

Rockbox Development => New Ports => Topic started by: Orac on January 23, 2008, 12:46:43 AM

Title: Philips GoGear SA6045
Post by: Orac on January 23, 2008, 12:46:43 AM
Philips SA6045

CPU: Telechips TCC8200
Other players using this chip:

    * Insignia NS-DVxG > TCC 8200 + codec Texas Instruments TI TLV320AIC23B
    * Iriver X 20 > TCC 8200 + codec Texas Instruments TI TLV320AIC23B
    * Philips SA60xx > TCC 8200
    * Teclast T39 > TCC 8200 + Wolfson WM8978G

I HAVE THE SDK AND DOCUMENTATION FOR THIS CHIP


FM receiver: TEA5767

It seems that this chip is used in alot of other mp3 players and drivers have already been developed for rockbox. Telechips SDK comes with code/functions for controlling this chip

LCD screen:
Appears to be a Giantplus unit 320 x 240px, not sure of exact model number. Telechips SDK comes with documentation code/functions for controlling LCDs.

Recovery:
It seems that it has a USB Boot loader similar to the Conwon D2. To access the USB boot loader power the unit off, hold the menu button and plug in the usb cable.
With the Conwon D2, it is possible to upload code to ram using this and run it before burning it to the device, I suspect it is similar with the SA6045 (both use telechips, which all have USB boot loaders built in)

Other chips on the board I have not yet identified:

CIRRUS  42l51c     gpo733

n7320  3455

TOSHIBA JD853

TOSHIBA J79491

SAMSUNG K4M2E323RH

Here is a scan of the PCB, only one side as the other side would not scan properly. Even this side isnt very good.

(http://i30.tinypic.com/21b89lc.png)



So, so far I think I have enough information to get started, with the SDK and the sample code, I think it should be possible to get stuff working.

Im just not sure how to upload the code, I know there is TCC TOOL, but not sure if that would work as the SA6045 isnt a compatible model.
Title: Re: Philips GoGear SA6045
Post by: LinusN on January 23, 2008, 01:58:45 AM
Sounds cool!

Remember, though, that we are not able to use anything from the SDK, since Rockbox is GPL.

Good luck, and may the source be with you!
Title: Re: Philips GoGear SA6045
Post by: markun on January 23, 2008, 03:33:30 AM
Also, the wiki is a better place to store static information. You need someone to give you write permission when you make a wiki account. You can ask for it on IRC (or PM me if you can't connect to IRC for some reason)

Good luck
Title: Re: Philips GoGear SA6045
Post by: Bagder on January 23, 2008, 04:47:29 AM
Cool! I bet you can get some fine knowledge and hands-on tips from the other TCC hackers on how to get started the best way...
Title: Re: Philips GoGear SA6045
Post by: shotofadds on January 23, 2008, 06:26:36 AM
Whilst we can't use any code from the SDK (and where would be the fun in that?! :) ) it's a very useful reference when disassembling the original firmware, since it contains almost the complete source code - obviously excluding any vendor specific bits like the UI.

If only I'd had access to it before I spent a month disassembling the D2 firmware with no docs.. grrr!

To run code on your device, you will need to get Tcctool updated for your target - linuxstb is the man to speak to about that. Once that is done, adding a new Rockbox target to build a simple bootloader test program should be relatively straightforward (see my D2 patch in flyspray for an example).

The only substantial pieces of code I had to write to get a "Hello, World" working for the D2 were the LCD driver and an I2C driver, which was needed to control the LCD backlight (since its screen is totally black unless the backlight is on).
Title: Re: Philips GoGear SA6045
Post by: Orac on January 23, 2008, 06:52:40 PM
It seems that the TCC8200 has its own LCD driver built in, so I wont have to write any drivers for that.

shotofad: What program are you using for programming/compiling?

EDIT: Ive figured out that turning the device off, holding down the + button (volume) and plugging it in windows recognizes the device as "Philips GoGear SA6045 Recovery", I installed the VTC drivers from the SDK and was able to download the firmware using FWDN. It dumped the file as mem.ini and it is 512kb, if I open the file in notepad its a bunch of gibberish.

I will be using TCC-TOOL as soon as it is compatible rather than the software from the SDK though.

Any input from anyone else?
Title: Re: Philips GoGear SA6045
Post by: Bagder on January 24, 2008, 06:04:38 AM
Quote
It seems that the TCC8200 has its own LCD driver built in, so I wont have to write any drivers for that.

No, it has a built-in LCD controller. You need to write a Rockbox driver to talk with that controller.
Title: Re: Philips GoGear SA6045
Post by: shotofadds on January 24, 2008, 06:05:31 AM
It seems that the TCC8200 has its own LCD driver built in, so I wont have to write any drivers for that.
You would still need to write the low-level drivers to interface with the 8200, though this should be markedly simpler than directly interfacing with the LCD panel. You will probably also need to find out how to enable the power supply to both the LCD panel and backlight. The only way to do this is to find a good disassembler and figure out how the original firmware works.

Quote
What program are you using for programming/compiling?
Everything you need is in the Rockbox build tree - for info see the wiki: http://www.rockbox.org/twiki/bin/view/Main/DocsIndex#For_Developers

Did you take a look at my D2 patch on Flyspray (FS#8420 (http://www.rockbox.org/tracker/task/8420))? That will give you an idea of the kind of changes you would need to make.
Title: Re: Philips GoGear SA6045
Post by: linuxstb on January 24, 2008, 07:19:26 AM
EDIT: Ive figured out that turning the device off, holding down the + button (volume) and plugging it in windows recognizes the device as "Philips GoGear SA6045 Recovery", I installed the VTC drivers from the SDK and was able to download the firmware using FWDN. It dumped the file as mem.ini and it is 512kb, if I open the file in notepad its a bunch of gibberish.

I will be using TCC-TOOL as soon as it is compatible rather than the software from the SDK though.

Adding support to tcctool for your device is something you'll need to do.

There are two pieces of information you will need to discover - the USB IDs of the device in recovery mode, and the value written to the SDRAM CFG register.

So far, all devices have the USB vendor ID 0x140e, and the product ID is either 0xb011 or 0xb021.  This should be easy to find out - just attach the device to your computer in recovery mode and use whatever mechanism (e.g. lsusb) your OS has for viewing attached devices.

The SDCFG value is harder.  For the D2, this was given by Cowon in the instructions accompanying the firmware recovery tool they gave (on a limited basis) to some users.  For other devices, a USB log of the official recovery tool gave this value.

If you've been able to use the Telechips FWDN application to talk to your device in recovery mode, then you should be able to retrieve the value from the settings there.

Once you have this info, just add it to the devices[] array near the top of tcctool.c (the 0x20000000 value in each line is the default start address of DRAM, which afaik is the same for all TCC chips, but check your datasheet).
Title: Re: Philips GoGear SA6045
Post by: fldash on September 26, 2010, 09:12:31 PM
I know this is an old topic, but I'd really like to get this port going for my SA6045. 

I'm trying to understand where to start, especially with regards to the second step on getting the SDCFG value...