uboot/board/gdsys/a38x/hre.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * (C) Copyright 2013
   4 * Reinhard Pfau, Guntermann & Drunck GmbH, reinhard.pfau@gdsys.cc
   5 */
   6
   7#ifndef __HRE_H
   8#define __HRE_H
   9
  10struct key_program {
  11        uint32_t magic;
  12        uint32_t code_crc;
  13        uint32_t code_size;
  14        uint8_t code[];
  15};
  16
  17struct h_reg {
  18        bool valid;
  19        uint8_t digest[20];
  20};
  21
  22/* CCDM specific contants */
  23enum {
  24        /* NV indices */
  25        NV_COMMON_DATA_INDEX    = 0x40000001,
  26        /* magics for key blob chains */
  27        MAGIC_KEY_PROGRAM       = 0x68726500,
  28        MAGIC_HMAC              = 0x68616300,
  29        MAGIC_END_OF_CHAIN      = 0x00000000,
  30        /* sizes */
  31        NV_COMMON_DATA_MIN_SIZE = 3 * sizeof(uint64_t) + 2 * sizeof(uint16_t),
  32};
  33
  34int hre_verify_program(struct key_program *prg);
  35int hre_run_program(struct udevice *tpm, const uint8_t *code, size_t code_size);
  36
  37#endif /* __HRE_H */
  38