boot_mode.h 723 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*
  2. * Copyright (C) 2012 Boundary Devices Inc.
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. #ifndef _ASM_BOOT_MODE_H
  7. #define _ASM_BOOT_MODE_H
  8. #define MAKE_CFGVAL(cfg1, cfg2, cfg3, cfg4) \
  9. ((cfg4) << 24) | ((cfg3) << 16) | ((cfg2) << 8) | (cfg1)
  10. enum boot_device {
  11. WEIM_NOR_BOOT,
  12. ONE_NAND_BOOT,
  13. PATA_BOOT,
  14. SATA_BOOT,
  15. I2C_BOOT,
  16. SPI_NOR_BOOT,
  17. SD1_BOOT,
  18. SD2_BOOT,
  19. SD3_BOOT,
  20. SD4_BOOT,
  21. MMC1_BOOT,
  22. MMC2_BOOT,
  23. MMC3_BOOT,
  24. MMC4_BOOT,
  25. NAND_BOOT,
  26. QSPI_BOOT,
  27. UNKNOWN_BOOT,
  28. BOOT_DEV_NUM = UNKNOWN_BOOT,
  29. };
  30. struct boot_mode {
  31. const char *name;
  32. unsigned cfg_val;
  33. };
  34. void add_board_boot_modes(const struct boot_mode *p);
  35. void boot_mode_apply(unsigned cfg_val);
  36. extern const struct boot_mode soc_boot_modes[];
  37. #endif