[Letux-kernel] X1600 / LX16 support - here: adding MMC
H. Nikolaus Schaller
hns at goldelico.com
Fri Feb 9 18:20:17 CET 2024
> Am 09.02.2024 um 18:12 schrieb Paul Boddie <paul at boddie.org.uk>:
>
> On Friday, 9 February 2024 15:14:11 CET H. Nikolaus Schaller wrote:
>>
>> So it will indeed be interesting to see how the MSC registers are
>> initialized. And clock dividers and registers. And pinctrl. Will just need
>> a little time for hacking this into the kernel code.
>
> U-Boot does set up the pins for MSC0
This could explain why only MSC0 generates a CLK output. But we have proper
pinctrl in the DTS so it should also be set up for MSC1?
> and obviously transfers the boot payload,
> but as previously noted it also sets low power mode (LPM), and this might be
> obstructing any device clock operations that take place without being aware of
> the stated effects of LPM.
Ok! Then we probably should add code to make Linux more independent of
any U-Boot setup. I.e. make no assumptions...
> However, I have been working through the initialisation separately and have
> found that, in contrast to various earlier SoCs, there is a timeout interrupt
> that needs to be tested for. This is actually done in the U-Boot code. I was
> previously assuming that it was sufficient to test for the end-of-command
> interrupt, but this occurs even if there is a timeout: it doesn't indicate a
> successful response.
>
> So, there may be some differences in functionality that need to be introduced.
Ok, we might end up in a mix of several bugs where each single one makes
MMC not working:)
BR,
Nikolaus
More information about the Letux-kernel
mailing list