spl.c 644 B

1234567891011121314151617181920212223242526272829303132
  1. // SPDX-License-Identifier: GPL-2.0+
  2. #include <common.h>
  3. #include <asm/io.h>
  4. #include <asm/spl.h>
  5. #define DCFG_RCWSR25 0x160
  6. #define GPINFO_HW_VARIANT_MASK 0xff
  7. int sl28_variant(void)
  8. {
  9. return in_le32(DCFG_BASE + DCFG_RCWSR25) & GPINFO_HW_VARIANT_MASK;
  10. }
  11. int board_fit_config_name_match(const char *name)
  12. {
  13. int variant = sl28_variant();
  14. switch (variant) {
  15. case 3:
  16. return strcmp(name, "fsl-ls1028a-kontron-sl28-var3");
  17. case 4:
  18. return strcmp(name, "fsl-ls1028a-kontron-sl28-var4");
  19. default:
  20. return strcmp(name, "fsl-ls1028a-kontron-sl28");
  21. }
  22. }
  23. void board_boot_order(u32 *spl_boot_list)
  24. {
  25. spl_boot_list[0] = BOOT_DEVICE_SPI;
  26. }