Author Topic: Chrontel CH7024 Information and drivers For TV-Out  (Read 19758 times)

kswildside

  • Guest
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #20 on: April 11, 2010, 04:01:06 pm »
I will discuss with dingoo tonight see if they will give the device location

darfgarf

  • Guest
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #21 on: April 11, 2010, 05:38:10 pm »
science, then it should be 0x00 (assuming 00h means it's a hex number), could be any number of other problems though, would be handy if you could hook a digital scope up to the 2 i2c pins from the chip...but good luck with that one  ;D

kswildside

  • Guest
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #22 on: April 11, 2010, 07:06:46 pm »
I dunno easiest way would be try the combonations of each possible device 00F etc and see which one activates the TV-Out could take a long while. But as I said I will contact DD China and see if they will tell me

SiENcE

  • Posts: 653
    • Crank Gaming (Dingux Apps)
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #23 on: April 11, 2010, 09:01:22 pm »
This id don't activate the tvout ;-). There is a longer way to run..until tvout can be activated. We need the correct lcd timings and lots more.

psycho

  • Guest
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #24 on: April 11, 2010, 09:15:41 pm »
We got my son a dingoo for his 9th bday (easter) - turned out to be a HK  >:(. I can't really hack it because my wife would kill me. I ordered one from DD-usa for myself tho.

I am curious if anyone has put a logic analyzer on the I2C lines. If not, I will. I have a 100MHz analyzer. I would think that it would be fast enough???

This subject is a very high priority for me! While I work with electronics all the time, I don't know all that much about programming in linux. Although I do know C.

When I get it I will have to check to see if I can get to the I2C pads. I hope the chip is not a BGA package...

kswildside

  • Guest
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #25 on: April 11, 2010, 11:25:20 pm »
I keep hearing this that and the other no offense meant by it but I'm not a dev or modder so break it down for me what do we need to know steps.

1. How to Init Chrontel
2.blah
3.blah

with those questions I can possibly get answers....

psycho

  • Guest
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #26 on: April 11, 2010, 11:51:24 pm »
You can ask them the steps their firmware takes to initialize the LCD and TVOut chips to enable TV out. If they would part with *small* bits of source code, that would help a lot. Specifically, the code that turns off the LCD and turns on the Chrontel chip. We need to know how both of them are configured for TVOut use.

And, if they give you anything other than the finger, I'll be very surprised (although happy)...

psycho

  • Guest
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #27 on: April 13, 2010, 10:00:30 am »
I have been doing a bit of research (in advance of getting my hackable dingoo). I can pretty much bet the farm that the device address is *not* 0. From what I have read, the device ID should be 0xEC if you are writing to the chip and 0xED if you are reading from the chip.

See page 3 of : http://www.chrontel.com/pdf/an98.pdf

That lists the address for the 7023 but it may also work on the 7024. It doesn't make much difference... In a few days I will have my logic analyzer hooked up to the I2C bus and then we will know what the CPU sends/recvs. from the chip. And I was right in assuming that the bus speed is slow. It is 400khz max so my 100mhz analyzer is kinda overkill but that is okay.

The bad news is that I know nothing about the LCD screen. I do know that the CPU has 2 different LCD controllers in it. If these are the controllers that we need to manipulate, we should be able to do that. One is a Smart controller so I think these are, indeed, the ones we are talking about. I have several datasheets and appnotes to read but this is the kind of stuff I read all the time :)

Also, I would love to find a "real" version of the 7024's datasheet. I put in a request but I highly doubt it will go anywhere...

--edit
And, btw, there is no way DD is going to tell you anything about the firmware. The firmware is made by ChinaChip and unless dingoo owns them, they won't have access to the source. I would bet that is how it works but I could be wrong.
--

--edit 2
I got the real datasheet for the 7024 encoder! Also, the 0xEC/0xED above is stated as 0x76 (7bit address) in some of the literature. If you shift that left one, you get 0xEC/0xED with the R/W bit...
I will have to find a place to upload the datasheet tomorrow.
--
--
« Last Edit: April 13, 2010, 10:51:54 am by psycho »

SiENcE

  • Posts: 653
    • Crank Gaming (Dingux Apps)
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #28 on: April 13, 2010, 11:46:36 am »
Yes i also read this. But i need a device id to access the read and write instructions. And this is only one ID in the ch7024ctrl source. Not two.

I thin the sLCD driver is the kernel sources, just because Dingux would  not work without them :).

darfgarf

  • Guest
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #29 on: April 13, 2010, 12:13:20 pm »
And this is only one ID in the ch7024ctrl source. Not two.

technically it is just one id, the id is a 7 bit binary number, and that's the real address of the device, in order to acess it you send an 8 bit number, the 7 bit id, then a read/write bit.  it probably only has one id in the source because you never need to read from the tv chip, it's quite rare that you actually need to read from an i2c device, as if you've initisalised it all properly (usually a matter of setting every register to the default values/similar), then you already have all the values...make sortof sense?

psycho

  • Guest
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #30 on: April 13, 2010, 08:04:15 pm »
I have not looked at the source code you are referring to but it could be they use 0xEC (or something else) as a base and or in a 1 for read ops. I highly doubt that the chip is never read. I know it is read in the native firmware. Every I2C device I have ever used needed to be read for something - even if it is just status.

When it comes to compiling stuff for linux, more often than not I get very frustrated. I am used to the IDEs where you click a button and off it goes. Can someone point me to the source file you are talking about so I can look at it? If possible, just that c file since my internet sucks (satellite) - big downloads have to be done in the weee hours of the morning.


psycho

  • Guest
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #32 on: April 14, 2010, 09:43:11 am »
Thank you!!!

flatmush

  • Posts: 288
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #33 on: April 15, 2010, 01:28:21 am »
And finally, could someone please explain what is the difference between the TFT/STN LCD Framebuffer driver and the Smart LCD Framebuffer driver?

When you use an LCD you have to transmit the color data and control data continuously at a certain rate for the screen to show it properly, much like if you were talking to a vga device. The LCD driver has to constantly output the current frame to the LCD using the DMA to ensure the display operates correctly whether the display has been updated or not.

Smart LCD's are displays which contain a memory chip and circuitry to refresh themselves, for these devices the chipset only has to send new data when the screen needs to be updated not on every refresh cycle. The SLCD driver basically outputs each frame to the FIFO to update the contents of the display only when the display is actually updated.

The display on the dingoo is an SLCD (for some strange reason) but the TV-out is attatched to the LCD interface somehow.

artemys

  • Guest
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #34 on: April 15, 2010, 10:18:37 pm »
@SiENcE:
in ch7024ctl tool, we use 0x76 as I2C address for CH7024. I'm not sure your previous i2cdetect try is correct (too much answers of potential I2C chips).
Code: [Select]
#define CH7024_I2C_SLAVE_ADDR 0x76

SiENcE

  • Posts: 653
    • Crank Gaming (Dingux Apps)
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #35 on: April 15, 2010, 10:23:30 pm »
Yes i used this
Code: [Select]
CH7024_I2C_SLAVE_ADDR 0x76 adress. But is the
Code: [Select]
#define DEVICE_ID_CMD       0x00  really 0 ?

This app can't detect the CH7024 chip.

psycho

  • Guest
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #36 on: April 15, 2010, 10:26:59 pm »
I think it was joyrider that tried it before. I am going to take my brand new dingoo apart and solder a few wires onto the tv chip and hook it up to my analyzer. That way I can see what my test app does (written for the native os). Someone else will have to transfer my code to linux because I don't know enough about it.

You are right, though - the address is 0x76.

--edit
Oops... I guess it was SiENcE
--

psycho

  • Guest
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #37 on: April 15, 2010, 10:33:18 pm »
Here is the real datasheet (not the crappy ones you can dl from chrontels site):

http://www.ihanker.com/7024ds.pdf

Take a look through it and see if you missed something. I am sure you could do it faster than I could since you are used to the toolchain and sdk...

If you don't get anywhere, let me know and then I'll hook up my analyzer.

Stephanie

  • Guest
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #38 on: April 15, 2010, 11:05:05 pm »
I just read through that datasheet - according to that (page 23) the Device ID should be 0x45 I think?

psycho

  • Guest
Re: Chrontel CH7024 Information and drivers For TV-Out
« Reply #39 on: April 15, 2010, 11:09:42 pm »
Right. If you issue a read of address 0, it should return a 0x45. If that happens, your in business.

I use I2C all the time with PICs but I have never used anything other than a PIC (other than FPGAs/CPLDs).

--edit
If you look through this code, you will see how to work with I2C - though you probably already know how. I would think that there is an implementation in dingux (maybe not enabled though)
http://projects.qi-hardware.com/index.php/p/ingenic-linux-02os-linux-2-6-24-3/source/tree/802/trunk/arch/mips/jz4740/i2c.c
--
« Last Edit: April 15, 2010, 11:12:11 pm by psycho »