[Letux-kernel] X1600 / LX16 support - here: adding MMC

Paul Boddie paul at boddie.org.uk
Fri Feb 9 13:14:46 CET 2024


On Friday, 9 February 2024 07:58:33 CET H. Nikolaus Schaller wrote:
> 
> I've compared the programming manuals (hypothesis 4.)
> 
> jz4780 has 3 MSC and x1600 has 2 but that is handled by DTS nodes.

I was trying to get the MSC peripheral working in my L4Re system yesterday and 
had to deal with apparent differences in behaviour.

> MSC_LPM (low power mode) the same

This appeared to be set when my code started up, and it seems that the LPM 
(low power mode) bit is set. So I cloned your letux-uboot repository and 
examined the ingenic-x1600 branch. Sure enough, the authors have set that bit, 
which might have an impact on clock operations because those operations are 
not supposed to work (or to be used) in low power mode.

Actually, what was holding me up for quite some time was the errant behaviour 
trying to reset the peripheral. In the Linux driver, they do the usual timeout 
if something didn't seem to work, but after setting the reset bit in the 
control register, the resetting bit in the status register would not clear 
itself. Again, looking at the U-Boot code and there is a section specific to 
the X1600 and newer SoCs clearing the reset bit after setting it.

So, there are definitely functional differences that are not communicated in 
the manual.

Paul




More information about the Letux-kernel mailing list