Rockbox Development > New Ports

Rio Karma

<< < (4/9) > >>

LambdaCalculus:
Sorry, evilnick... you did give me the idea originally. That is true.

ukre:

--- Quote from: LambdaCalculus379 on December 07, 2007, 10:17:44 AM ---
--- Quote from: GodEater on December 07, 2007, 09:13:58 AM ---Monkey's Audio on a decrepit PortalPlayer target? You're kidding right ? :)

--- End quote ---

 ;D

At least we can have Musepack and AAC, though!

Anyway, like I mentioned before, it turns out that the PP5003 in the Karma is very, very similar to the PP5002, except that (from what I read) the PP5002 had a "crippled" cache, and the PP5003 doesn't. So the PP5003 might be a little better performance-wise.

I'm going to hunt down datasheets and as much information for the unique hardware in the Karma, but since a lot of its internal hardware is also in some of the other targets we support (iPod and H10, I'm looking at you two! :)), that should make it less painful to start a port.

Oh yes, almost forgot... gotta see the firmware upgrade format on the Karma. I hope the Deities Above and Below are good to me and reveal that they're mi4-based!

--- End quote ---

Here's what I remember, FWIW... I did a lot of the HW design and bringup of the platform...

The 5003 is really similar to the 5020 in terms of register locations; it's more an early 5020 than a late 5002. Beyond that, I can't really help. Speed is the same as a 5020 pretty much. I think it had 96kB of IRAM vs 64kB on the 5002 and 128k on the 5020?

No idea what you mean by "mi4" based for the firmware. The Karma firmware is stored in flash (4MB - Intel 28F320) and is copied to RAM before being run, though resources live on disk ISTR, in a system filesystem. There's 16MB of SDRAM in there.

USB is a tweaked MSC (so it doesn't appear as MSC because of the FS) running essentially what is ReplayTV's journalled filesystem. No reason why you can't load the vanilla MSC code from Cypress onto the USB controller and just use it as a normal MSC device. There's a low-bandwidth side-channel (I2C) to the main CPU used for things like setting the time.

Flash upgrades are done by laying down a new firmware image at the start of the disk (I think the first 16MB is the "system" area) and sending a reboot command which forces the bootrom - stored in the locked-down area of the flash - to pull the mildly-encrypted image from disk and flash it. We used to also have a flash bootstrap image that'd just boot images from disk as this was quicker for development.

The 5003 also had onboard 100mbit ethernet, as supported by the shipping sw, but this was very flaky to work with and you had to use IRAM for everything... we had to jump through many hoops to get ethernet reliable and hooked up to the eCos stack.

Speaking of eCos, we ran the last version under the RHEPL, and submitted the diffs back to redhat per the license terms. Getting hold of the diffs would give you a lot of info about the hardware....

GodEater:
ukre,

Thanks for the response - it's much appreciated.

Just a quick query on one of your points above :


--- Quote ---The 5003 is really similar to the 5020 in terms of register locations; it's more an early 5020 than a late 5002. Beyond that, I can't really help. Speed is the same as a 5020 pretty much. I think it had 96kB of IRAM vs 64kB on the 5002 and 128k on the 5020?
--- End quote ---

All the knowledge we have of the register locations for *any* of the portal player targets we have is based on guess work / reverse engineering. Do you have any solid docs still lying around anywhere which can actually confirm any of this work we've done?

ukre:

--- Quote from: GodEater on January 04, 2008, 03:09:04 AM ---ukre,

Thanks for the response - it's much appreciated.

Just a quick query on one of your points above :


--- Quote ---The 5003 is really similar to the 5020 in terms of register locations; it's more an early 5020 than a late 5002. Beyond that, I can't really help. Speed is the same as a 5020 pretty much. I think it had 96kB of IRAM vs 64kB on the 5002 and 128k on the 5020?
--- End quote ---

All the knowledge we have of the register locations for *any* of the portal player targets we have is based on guess work / reverse engineering. Do you have any solid docs still lying around anywhere which can actually confirm any of this work we've done?

--- End quote ---

Nope, 'fraid not. Previous company. I was just saying that what you have for the 5020 has more chance of working than 5002 stuff.

If you can get the eCos source diffs then you will get some register maps I believe, eg timers, IRQ controller, etc.

LambdaCalculus:
ukre, we have a wiki page for the Karma here:

http://www.rockbox.org/twiki/bin/view/Main/RioKarmaPort

Any information you have for the Karma can be posted there, and would be much appreciated.

I still need to get a Karma in my hands; my coworker who showed me his refuses to part with it.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version