aisimage.h 1.2 KB

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