Hi Niklas, so I scratched my head around this a little more... I don't have an explanation, but want to highlight some interesting points: > [ 2.954859] mmc0: new ultra high speed SDR50 SDHC card at address aaaa So, this is an SDR50 card. The patch in questions adds tuning support which is only needed for SDR104. The whole tuning procedure is not (or at least should not be) exercised. > Oddly enough the error are only printed when I insert the SD card in the > mmc0 slot. I can insert/eject the card multiple times in mmc1 and no > error but the first insertion in mmc0 and boom. Only difference I can > see are the clock speed between mmc0 and mmc1. That actually makes sense. mmc0 is SDR104 capable and has the SCC unit which is needed for tuning (note the larger register space in the dtsi). The other mmc cores do only SDR50 and do not have an SCC. Because your warning is about a broken pointer, I wonder if it is about accessing SCC? Maybe in hw_reset? Wild guess, though. On the other hand, the register ranges in the dtsi look ok, so I'd assume the IPMMU should have all the info it needs? But I don't really know... First thing to try: please remove the property "sd-uhs-sdr104;" from your Koelsch DTS. I'd expect this makes the warnings go away. If so, readd the property and instrument if sh_mobile_sdhi_hw_reset() gets called. One outcome might be that the printouts might be tied to the warnings. > I can interact fine with the card (I tried checksumming a large file and > compared with a known good) so it's not broken. I can also interact with > other devices using the DMAC+IPMMU without similar warnings being > printed at all, I tested with i2c6. That is relieving and also makes sense in the way that nothing in this patch should be needed to get an SDR50 card running. Regards, Wolfram
Attachment:
signature.asc
Description: PGP signature