300-mt7623-fix-mmc-get-env-dev.patch 903 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. --- a/board/mediatek/mt7623/mt7623_rfb.c
  2. +++ b/board/mediatek/mt7623/mt7623_rfb.c
  3. @@ -5,6 +5,7 @@
  4. #include <common.h>
  5. #include <mmc.h>
  6. +#include <part.h>
  7. #include <asm/global_data.h>
  8. DECLARE_GLOBAL_DATA_PTR;
  9. @@ -22,8 +23,9 @@ int mmc_get_boot_dev(void)
  10. {
  11. int g_mmc_devid = -1;
  12. char *uflag = (char *)0x81DFFFF0;
  13. + struct blk_desc *desc;
  14. - if (!find_mmc_device(1))
  15. + if (blk_get_device_by_str("mmc", "1", &desc) < 0)
  16. return 0;
  17. if (strncmp(uflag,"eMMC",4)==0) {
  18. @@ -38,6 +40,23 @@ int mmc_get_boot_dev(void)
  19. int mmc_get_env_dev(void)
  20. {
  21. - return mmc_get_boot_dev();
  22. + struct udevice *dev;
  23. + const char *mmcdev;
  24. +
  25. + switch (mmc_get_boot_dev()) {
  26. + case 0:
  27. + mmcdev = "mmc@11230000";
  28. + break;
  29. + case 1:
  30. + mmcdev = "mmc@11240000";
  31. + break;
  32. + default:
  33. + return -1;
  34. + }
  35. +
  36. + if (uclass_get_device_by_name(UCLASS_MMC, mmcdev, &dev))
  37. + return -1;
  38. +
  39. + return dev_seq(dev);
  40. }
  41. #endif