diff options
author | Hans de Goede <hdegoede@redhat.com> | 2014-10-02 21:13:54 +0200 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2014-10-24 09:35:38 +0200 |
commit | e79c7c881047ca99191cc79b6d83ec64b898cd9b (patch) | |
tree | 6b8a24be2edbbc0c0c4a6580a32459983060a8cb /drivers/mmc | |
parent | 2ccfac01fca3c58ee87db7bbe54c8243e3980d02 (diff) | |
download | u-boot-imx-e79c7c881047ca99191cc79b6d83ec64b898cd9b.zip u-boot-imx-e79c7c881047ca99191cc79b6d83ec64b898cd9b.tar.gz u-boot-imx-e79c7c881047ca99191cc79b6d83ec64b898cd9b.tar.bz2 |
sunxi: When we've both mmc0 and mmc2, detect from which one we're booting
sunxi SOCs can boot from both mmc0 and mmc2, detect from which one we're
booting, and make that one "mmc dev 0" so that a single u-boot binary can
be used for both the onboard eMMC and for external sdcards.
When we're booting from mmc2, we make it dev 0 because that is where the SPL
will load the tertiary payload (the actual u-boot binary in our case) from,
see: common/spl/spl_mmc.c, which has dev 0 hardcoded everywhere.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/sunxi_mmc.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/mmc/sunxi_mmc.c b/drivers/mmc/sunxi_mmc.c index b47376a..d3b1039 100644 --- a/drivers/mmc/sunxi_mmc.c +++ b/drivers/mmc/sunxi_mmc.c @@ -373,7 +373,7 @@ static const struct mmc_ops sunxi_mmc_ops = { .getcd = sunxi_mmc_getcd, }; -int sunxi_mmc_init(int sdc_no) +struct mmc *sunxi_mmc_init(int sdc_no) { struct mmc_config *cfg = &mmc_host[sdc_no].cfg; @@ -396,8 +396,5 @@ int sunxi_mmc_init(int sdc_no) mmc_resource_init(sdc_no); mmc_clk_io_on(sdc_no); - if (mmc_create(cfg, &mmc_host[sdc_no]) == NULL) - return -1; - - return 0; + return mmc_create(cfg, &mmc_host[sdc_no]); } |