sec_firmware.h 939 B

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright 2016 NXP Semiconductor, Inc.
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. #ifndef __SEC_FIRMWARE_H_
  7. #define __SEC_FIRMWARE_H_
  8. #define PSCI_INVALID_VER 0xffffffff
  9. #define SEC_JR3_OFFSET 0x40000
  10. #define WORD_MASK 0xffffffff
  11. #define WORD_SHIFT 32
  12. int sec_firmware_init(const void *, u32 *, u32 *, u32 *, u32 *);
  13. int _sec_firmware_entry(const void *, u32 *, u32 *);
  14. bool sec_firmware_is_valid(const void *);
  15. bool sec_firmware_support_hwrng(void);
  16. int sec_firmware_get_random(uint8_t *rand, int bytes);
  17. int fdt_fixup_kaslr(void *fdt);
  18. #ifdef CONFIG_SEC_FIRMWARE_ARMV8_PSCI
  19. unsigned int sec_firmware_support_psci_version(void);
  20. unsigned int _sec_firmware_support_psci_version(void);
  21. #else
  22. static inline unsigned int sec_firmware_support_psci_version(void)
  23. {
  24. return PSCI_INVALID_VER;
  25. }
  26. #endif
  27. static inline unsigned int sec_firmware_used_jobring_offset(void)
  28. {
  29. return SEC_JR3_OFFSET;
  30. }
  31. #endif /* __SEC_FIRMWARE_H_ */