Rockbox Development > New Ports

Cowon D2

<< < (167/194) > >>

saratoga:
It seems USB on the TCC chips is fairly well along, so hopefully with the datasheet and some debugging it can be made to work. 

shotofadds:

--- Quote from: saratoga on May 08, 2010, 11:23:53 PM ---It seems USB on the TCC chips is fairly well along, so hopefully with the datasheet and some debugging it can be made to work. 

--- End quote ---
It's been used for logf-over-usb and also to dump raw data from the NAND chips via UMS, but reliability is poor and frequently stalls or freezes the player. Unfortunately my knowledge of USB is zero, so I didn't ever look into it further.

Controlling/monitoring charging should be fairly straightforward as it is controlled by the power management chip, but there's a slight complication because we have to runtime-detect whether there is a PCF50606 or 50633 present. There's a datasheet available for both chips, so implementation should be straightforward enough.

Apologies I've been away for so long, but "real life" commitments are keeping me plenty busy enough at the moment.

Edited to add:


--- Quote from: saratoga on April 05, 2010, 12:53:54 AM ---Looking at my D2 build, it seems IRAM isn't used for codecs.  Is there a reason for this?  I see its in the lds file.

--- End quote ---

When I first started the port, I did have IRAM working and used for codecs, but for some unknown reason performance was actually worse than without. It was never investigated fully, so IRAM remains disabled.

funman:

--- Quote from: shotofadds on May 18, 2010, 08:16:34 AM ---
--- Quote from: saratoga on April 05, 2010, 12:53:54 AM ---Looking at my D2 build, it seems IRAM isn't used for codecs.  Is there a reason for this?  I see its in the lds file.

--- End quote ---

When I first started the port, I did have IRAM working and used for codecs, but for some unknown reason performance was actually worse than without. It was never investigated fully, so IRAM remains disabled.

--- End quote ---

Looking at crt0.S for D2, IRAM isn't cached or buffered.
s/1001aee0/1001aeec/ in tcc780x/crt0.S should do it.

btw would it be simpler to use map_section/ttb_init/enable_mmu functions from mmu-arm.S, rather than using the OF setup ?

saratoga:

--- Quote from: funman on May 21, 2010, 08:06:43 AM ---
--- Quote from: shotofadds on May 18, 2010, 08:16:34 AM ---
--- Quote from: saratoga on April 05, 2010, 12:53:54 AM ---Looking at my D2 build, it seems IRAM isn't used for codecs.  Is there a reason for this?  I see its in the lds file.

--- End quote ---

When I first started the port, I did have IRAM working and used for codecs, but for some unknown reason performance was actually worse than without. It was never investigated fully, so IRAM remains disabled.

--- End quote ---

Looking at crt0.S for D2, IRAM isn't cached or buffered.
s/1001aee0/1001aeec/ in tcc780x/crt0.S should do it.

btw would it be simpler to use map_section/ttb_init/enable_mmu functions from mmu-arm.S, rather than using the OF setup ?

--- End quote ---

Enabling it would be nice, since I think its real SRAM on the D2.  You'll probably get a little bit of a battery boost. 

shotofadds:

--- Quote from: funman on May 21, 2010, 08:06:43 AM ---Looking at crt0.S for D2, IRAM isn't cached or buffered.
s/1001aee0/1001aeec/ in tcc780x/crt0.S should do it.
--- End quote ---

I had a couple of hours to get my dev box back up to speed tonight, and the results with IRAM and the above tweak are pretty good (if not earth-shattering). On a random sample of FLAC and MP3s I'm getting test_codec results about 10% faster than the figures on the CodecPerformanceComparison page - eg. FLAC is up to 2100%. I'll do some more conclusive testing later and get this committed (if it proves stable), since the improvement is definitely worth having.


--- Quote ---btw would it be simpler to use map_section/ttb_init/enable_mmu functions from mmu-arm.S, rather than using the OF setup ?

--- End quote ---

Almost certainly.  ;)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version