aisimage.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /*
  2. * (C) Copyright 2011
  3. * Stefano Babic, DENX Software Engineering, sbabic@denx.de.
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #ifndef _AISIMAGE_H_
  8. #define _AISIMAGE_H_
  9. /* all values are for little endian systems */
  10. #define AIS_MAGIC_WORD 0x41504954
  11. #define AIS_FCN_MAX 8
  12. enum {
  13. AIS_CMD_LOAD = 0x58535901,
  14. AIS_CMD_VALCRC = 0x58535902,
  15. AIS_CMD_ENCRC = 0x58535903,
  16. AIS_CMD_DISCRC = 0x58535904,
  17. AIS_CMD_JMP = 0x58535905,
  18. AIS_CMD_JMPCLOSE = 0x58535906,
  19. AIS_CMD_BOOTTBL = 0x58535907,
  20. AIS_CMD_FILL = 0x5853590A,
  21. AIS_CMD_FNLOAD = 0x5853590D,
  22. AIS_CMD_SEQREAD = 0x58535963,
  23. };
  24. struct ais_cmd_load {
  25. uint32_t cmd;
  26. uint32_t addr;
  27. uint32_t size;
  28. uint32_t data[1];
  29. };
  30. struct ais_cmd_func {
  31. uint32_t cmd;
  32. uint32_t func_args;
  33. uint32_t parms[AIS_FCN_MAX];
  34. };
  35. struct ais_cmd_jmpclose {
  36. uint32_t cmd;
  37. uint32_t addr;
  38. };
  39. #define CMD_DATA_STR "DATA"
  40. enum ais_file_cmd {
  41. CMD_INVALID,
  42. CMD_FILL,
  43. CMD_CRCON,
  44. CMD_CRCOFF,
  45. CMD_CRCCHECK,
  46. CMD_JMPCLOSE,
  47. CMD_JMP,
  48. CMD_SEQREAD,
  49. CMD_DATA,
  50. CMD_PLL0,
  51. CMD_PLL1,
  52. CMD_CLK,
  53. CMD_DDR2,
  54. CMD_EMIFA,
  55. CMD_EMIFA_ASYNC,
  56. CMD_PLL,
  57. CMD_PSC,
  58. CMD_PINMUX,
  59. CMD_BOOTTABLE
  60. };
  61. enum aisimage_fld_types {
  62. CFG_INVALID = -1,
  63. CFG_COMMAND,
  64. CFG_VALUE,
  65. };
  66. struct ais_header {
  67. uint32_t magic;
  68. char data[1];
  69. };
  70. #endif /* _AISIMAGE_H_ */