• Linus Walleij's avatar
    ARM: dts: fix the SD card on the Snowball · 1b283eea
    Linus Walleij authored
    This fixes a very annoying regression on the Snowball SD card
    that has been around for a while. It turns out that the device
    tree does not configure the direction pins properly, nor sets
    up the pins for the voltage converter properly at boot. Unless
    all things are correctly set up, the feedback clock will not
    work, and makes the driver spew messages in the console (but
    it works, very slowly):
    
    root@Ux500:/ mount /dev/mmcblk0p2 /mnt/
    [    9.953460] mmci-pl18x 80126000.sdi0_per1: error during DMA transfer!
    [    9.960296] mmcblk0: error -110 sending status command, retrying
    [    9.966461] mmcblk0: error -110 sending status command, retrying
    [    9.972534] mmcblk0: error -110 sending status command, aborting
    
    Fix this by rectifying the device tree to correspond to that of
    the Ux500 HREF boards plus the DAT31DIR setting that is unique for
    the Snowball, and things start working smoothly. Add in the SDR12
    and SDR25 modes which this host can do without any problems.
    
    I don't know if this has ever been correct, sadly. It works after
    this patch.
    
    Cc: stable@vger.kernel.org
    Reported-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
    Cc: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
    1b283eea
ste-snowball.dts 15.7 KB