wrap_iocsr_config.c 847 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /*
  2. * Copyright (C) 2015 Marek Vasut <marex@denx.de>
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. #include <common.h>
  7. #include <errno.h>
  8. #include <asm/arch/clock_manager.h>
  9. /* Board-specific header. */
  10. #include <qts/iocsr_config.h>
  11. int iocsr_get_config_table(const unsigned int chain_id,
  12. const unsigned long **table,
  13. unsigned int *table_len)
  14. {
  15. switch (chain_id) {
  16. case 0:
  17. *table = iocsr_scan_chain0_table;
  18. *table_len = CONFIG_HPS_IOCSR_SCANCHAIN0_LENGTH;
  19. break;
  20. case 1:
  21. *table = iocsr_scan_chain1_table;
  22. *table_len = CONFIG_HPS_IOCSR_SCANCHAIN1_LENGTH;
  23. break;
  24. case 2:
  25. *table = iocsr_scan_chain2_table;
  26. *table_len = CONFIG_HPS_IOCSR_SCANCHAIN2_LENGTH;
  27. break;
  28. case 3:
  29. *table = iocsr_scan_chain3_table;
  30. *table_len = CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH;
  31. break;
  32. default:
  33. return -EINVAL;
  34. }
  35. return 0;
  36. }