Armada80x0McBinBoardDescLib.c 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /**
  2. *
  3. * Copyright (C) 2018, Marvell International Ltd. and its affiliates.
  4. *
  5. * SPDX-License-Identifier: BSD-2-Clause-Patent
  6. *
  7. **/
  8. #include <Uefi.h>
  9. #include <Library/ArmadaBoardDescLib.h>
  10. #include <Library/BaseMemoryLib.h>
  11. #include <Library/DebugLib.h>
  12. #include <Library/IoLib.h>
  13. #include <Library/MemoryAllocationLib.h>
  14. #include <Library/UefiBootServicesTableLib.h>
  15. //
  16. // GPIO Expander
  17. //
  18. EFI_STATUS
  19. EFIAPI
  20. ArmadaBoardGpioExpanderGet (
  21. IN OUT MV_GPIO_EXPANDER **GpioExpanders,
  22. IN OUT UINTN *GpioExpanderCount
  23. )
  24. {
  25. /* No GPIO expanders on board */
  26. *GpioExpanders = NULL;
  27. *GpioExpanderCount = 0;
  28. return EFI_SUCCESS;
  29. }
  30. //
  31. // Order of devices in SdMmcDescTemplate has to be in par with ArmadaSoCDescLib
  32. //
  33. STATIC
  34. MV_BOARD_SDMMC_DESC mMcBinSdMmcDescTemplate[] = {
  35. { /* eMMC 0xF06E0000 */
  36. 0, /* SOC will be filled by MvBoardDescDxe */
  37. 0, /* SdMmcDevCount will be filled by MvBoardDescDxe */
  38. FALSE, /* Xenon1v8Enabled */
  39. TRUE, /* Xenon8BitBusEnabled */
  40. TRUE, /* XenonSlowModeEnabled */
  41. 0x40, /* XenonTuningStepDivisor */
  42. EmbeddedSlot /* SlotType */
  43. },
  44. { /* SD/MMC 0xF2780000 */
  45. 0, /* SOC will be filled by MvBoardDescDxe */
  46. 0, /* SdMmcDevCount will be filled by MvBoardDescDxe */
  47. FALSE, /* Xenon1v8Enabled */
  48. FALSE, /* Xenon8BitBusEnabled */
  49. FALSE, /* XenonSlowModeEnabled */
  50. 0x19, /* XenonTuningStepDivisor */
  51. EmbeddedSlot /* SlotType */
  52. }
  53. };
  54. EFI_STATUS
  55. EFIAPI
  56. ArmadaBoardDescSdMmcGet (
  57. OUT UINTN *SdMmcDevCount,
  58. OUT MV_BOARD_SDMMC_DESC **SdMmcDesc
  59. )
  60. {
  61. *SdMmcDesc = mMcBinSdMmcDescTemplate;
  62. *SdMmcDevCount = ARRAY_SIZE (mMcBinSdMmcDescTemplate);
  63. return EFI_SUCCESS;
  64. }