Rockbox Development > New Ports
Ingenic Jz4740/Jz4732 players
mcuelenaere:
--- Quote from: 00christian00 on August 04, 2008, 04:46:07 AM ---This is from Ingenic :
"Dear Christian,
Nice to receive your email. And I saw your products in the web, as you want to know the Jz4732 specification, you can find it as Jz4740 datasheet in our website. The difference between Jz4732 and Jz4740 is that we offer Jz4732 for overseas customers, and Jz4740 in Mainland of China. So if you want to know more about the Jz4732, please just see Jz4740 in ftp.ingenic.cn
"
So it's the same chip as jz4740.
Regarding the costant in the audio codec,where did you take them?In the audio driver for linux?
Can't you use the higher level function as they are?
I'll dig more info.
--- End quote ---
Heh, well at least it's a reply :)
About the constants: these are something like this
--- Code: ---REG_ICDC_CDCCR1 = 0x001b2302;
--- End code ---
sometimes they're surrounded with a bit of comment but most of the times not (this example is from the linux/sound/oss/jzcodec.c, but I'm sure there are some also in µCos II; can't find them atm though).
I can of course just copy-paste their code, but as it sometimes differs between µCos II/Linux (or even between µCos II versions) I'm not really certain what version to take.. But currently we don't have to worry about this as the port isn't at that stage yet :)
Another (more important) problem is the NAND flash: I tried getting some data out of it but can't seem to succeed; I think this is due too the timing not set correctly but as the registers are named like this - EMC_SMCR_TAW_BIT - I have to guess what's it meaning (EMC = External Memory Controller, SMCR = Static Memory Control Register, TAW = ?).
And as you can see for yourself, the "datasheet" they provide isn't really helpfull...
So could you ask them (politely?) for some more information? And tell them we don't need any secret documentation of them, just some extra info regarding the how the chip registers work and what their meaning is. Even if it's documented in Chinese it's OK (there are online translators..)
BTW in what language do you mail them? I tried mailing them in English and in Chinese but they didn't respond to any..
Thanks
00christian00:
I wrote in english and they replied the day after,but of course they are more interested in supporting a company like us,since we already sell player with their chips :P
I had a quick look at the nand boot code.It seem the boot loader should detect autumatically the timings of the nand.I can try asking more specific functions like registers meanings,but you know chip manufacturer are always afraid of releasing too much info on their hardware.
If you didn't get the nand to works,how did you boot the initial rockbox logo like in the picture?
Did you embed the image in the code?
mcuelenaere:
--- Quote from: 00christian00 on August 04, 2008, 07:34:13 AM ---I wrote in english and they replied the day after,but of course they are more interested in supporting a company like us,since we already sell player with their chips :P
I had a quick look at the nand boot code.It seem the boot loader should detect autumatically the timings of the nand.I can try asking more specific functions like registers meanings,but you know chip manufacturer are always afraid of releasing too much info on their hardware.
If you didn't get the nand to works,how did you boot the initial rockbox logo like in the picture?
Did you embed the image in the code?
--- End quote ---
No, everything currently works through USB and SDRAM.
There's a special USB recovery mode built in the chip, and this allows you to upload code; you only need to know how to trigger out (hold VOL DOWN on the VX747).
edit: yes, I embedded the image in the code
mcuelenaere:
I committed my NAND code in SVN which is almost fully based on the code Ingenic provides, so it _should_ work; but doesn't...
So perhaps with the help of some extra information (datasheet? ;)), this could be fixed..
Anyway, had any luck getting something more out of them? (@00christian00)
mcuelenaere:
Now interrupts are working too, except for the fact the player crashes at about 10-30 seconds later...
This started when I enabled interrupt handling and won't go away, I'm not sure what causes this; perhaps an exception is triggered (which isn't displayed because of ??).
Touchscreen handling is also better now: pen up and pen down are identified now.
The reason why there are cli() and sti() (clear/set interrupts) calls added in the bootloaders is because when an interrupt is enabled _before_ lcd_init()->lcd_init_device()->lcd_init_controller()->_display_init() is called; the DAP crashes there (why? dunno).
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version