[Lenny400] JZ4730 and other documentation (was Re: Coin cell on motherboard)

Paul Boddie paul at boddie.org.uk
Sun Aug 13 13:29:25 CEST 2017


On Sunday 13. August 2017 12.39.53 David Boddie wrote:
> On Saturday 12. August 2017, H. Nikolaus Schaller wrote:
> 
> > PS: any progress on tracing down more JZ4730 documentation and user's
> > manuals? _______________________________________________
> 
> Paul may have found some more information. I'll ask him.

I've never seen a JZ4730 programming manual, so I imagine that Ingenic must 
have a reason why they never published it or shared it in some way. Meanwhile, 
there are programming manuals available for their newer products, even 
published on their FTP site [1], so I hope that they have realised the value 
in doing this.

I've been looking at the MIPS Creator CI20 [2] for some experimentation 
purposes, and the programming manual for the JZ4780 it uses is publicly 
available [3,4]. Some aspects of it are not particularly coherent - currently 
I'm struggling to understand how the I2C (SMB) functionality behaves, even 
with the Linux driver code available - and I would say that it probably isn't 
at the same level as the TI documentation that you're probably used to, 
Nikolaus.

That said, seeing this other documentation does provide some additional 
perspectives on the JZ4730. Initially, when you see the differing register 
layouts in various Linux header files, it is tempting to think that maybe an 
incomplete or inaccurate transcription of the "real" hardware description has 
been done, and that the code somehow works or maybe isn't properly exercised 
and actually doesn't work in all cases.

But taking the GPIO functionality as an example, this differs between the 
fairly-well-documented JZ4740 and derivatives and the JZ4780 (and JZ4775, 
which is also publicly documented and similar to the JZ4780 in some ways), and 
so one can see the different approaches in providing similar functionality. 
For instance, the register "hierarchy" for selecting GPIO, "function" or 
"interrupt" features is different between the JZ4740 and JZ4780.

I did look again at "decoding" the JZ4730 stuff, but the ultimate limitation 
is just having a sane way of trying programs out. I did get some advice about 
this from someone who had successfully written low-level code on the JZ4730 
(on a Trendtac version of the Minibook), but there may be some differences in 
terms of deployed bootloaders, kernels and also even on what headers are 
present on the board. This is getting difficult to track down now because 
various Web sites are only available via archive.org.

Anyway, I hope this is informative.

Paul

[1] ftp://ftp.ingenic.com/SOC/
[2] http://www.elinux.org/CI20_Hardware
[3] ftp://ftp.ingenic.com/SOC/JZ4780/JZ4780_pm.pdf
[4] http://mipscreator.imgtec.com/CI20/hardware/soc/JZ4780_PM.pdf


More information about the Lenny400 mailing list