Rockbox Development > New Ports

Cowon D2

<< < (34/194) > >>

luck3r:
Cygwin doesn't have that variable right after installation.
Yeeze: You could try andLinux, it's an already configured coLinux with X server and network.

shotofadds:
Just a quick update: during the the last few days I've had some success getting the flash FAT32 filesystem working, at least partially. The boot sector, cluster map & root directory all appear to be read correctly, as far as I can tell.

I can open() and read correct-looking data from some files, but there are clearly still some bugs in the block translation, since junk is being returned for certain files. I might just take the hit and dump the whole 3811Mb partition to my HDD and match up the junk vs. the real data...

I'll post some details of all this to the wiki eventually (when I've found the right words to describe the 'interesting' block translation!). I've been concentrating on trying to make it work first :)

shotofadds:
I've spent the last couple of hours doing a brain-dump into the wiki of the last week or two's investigation into the contents of the NAND flash. Hopefully actually documenting this somewhere other than my head will make coding easier, or at least that's the theory ;D

I have a few code updates that need testing on 2Gb / 8Gb players (partially working FAT32 read support) but it's doubtful I'll have time to get it ready before next week. Real life gets in the way from time to time, I'm afraid!

jarivk:
hi thats good news  :).
meantime I started working on WM8985 codec. From what i have understood...
We have to use I2C interface to read/write to device control registers.
We have to setup DMA for writing actual PCM samples.
For time being I am trying to just read default value in Left DAC digital volume register (offset of 0xB)
I found I2C base addres for 8985 in wmcodec-telechips.c
#define I2C_AUDIO_ADDRESS 0x34 // in wmcodec-telechips.c
   
I tried
i2c_readmem(I2C_AUDIO_ADDRESS, 0xB, buf, 1);
//int i2c_readmem(int device, int address, unsigned char* buf, int count )

Default value after reset of this register is 0xFF as per datasheet.
But the i2c_readmem is failing. it is not getting i2c_getack() after writing device value.
Do we have to enable the WM8985 chip??

also a wikipage (http://www.rockbox.org/twiki/bin/view/Main/CowonD2Info) says
Audio In/Out  base address for 7801 is 0xF0059000
What is this address?? or we have to use this address to enable the chip??
Do u have any info abt this?

Also in general how are we finding the base addresses of the devices??


shotofadds:
Hi jarivk, it's good to see someone else taking an interest in the code :)


--- Quote from: jarivk on February 12, 2008, 11:22:02 PM ---We have to use I2C interface to read/write to device control registers.
--- End quote ---
Correct.


--- Quote from: jarivk on February 12, 2008, 11:22:02 PM ---We have to setup DMA for writing actual PCM samples.

--- End quote ---
I'm not sure where that is implied - as I understand it (confirmed by OF disassembly) we need to write data to the DAI (I2S) registers when the appropriate buffer fill IRQ/FIQ is received.


--- Quote from: jarivk on February 12, 2008, 11:22:02 PM ---I tried
i2c_readmem(I2C_AUDIO_ADDRESS, 0xB, buf, 1);
//int i2c_readmem(int device, int address, unsigned char* buf, int count )

Default value after reset of this register is 0xFF as per datasheet.
But the i2c_readmem is failing. it is not getting i2c_getack() after writing device value.

--- End quote ---
Do any of the other targets read from the WM codec - maybe there are some clues there? I haven't tried this yet, so can't say for sure.


--- Quote from: jarivk on February 12, 2008, 11:22:02 PM ---Do we have to enable the WM8985 chip??

--- End quote ---
That's certainly a possibility - I haven't yet disassembled the relevant parts of the OF to determine if this is necessary. However, I do know that it uses the same I2C code for both the WM and PCF chips, so there shouldn't be a problem with the existing code.


--- Quote from: jarivk on February 12, 2008, 11:22:02 PM ---Also in general how are we finding the base addresses of the devices??

--- End quote ---
The addresses in the wiki page were obtained by cross-referencing the D2 firmware disassembly with other TCC 76x and 77x firmwares (where those registers were already known). If you'd been reading this thread the whole way through, you'd have known that.

After I spent a month or two locating those register addresses, somebody helpfully posted a link to the TCC7801 datasheet - it's a few pages back in this very thread. It makes good bed-time reading ;D

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version