1*b7e0d73bSSimon Glass /* 2*b7e0d73bSSimon Glass * Copyright (c) 2017 Google, Inc 3*b7e0d73bSSimon Glass * Written by Simon Glass <sjg@chromium.org> 4*b7e0d73bSSimon Glass * 5*b7e0d73bSSimon Glass * SPDX-License-Identifier: GPL-2.0+ 6*b7e0d73bSSimon Glass */ 7*b7e0d73bSSimon Glass 8*b7e0d73bSSimon Glass #ifndef _DM_OF_EXTRA_H 9*b7e0d73bSSimon Glass #define _DM_OF_EXTRA_H 10*b7e0d73bSSimon Glass 11*b7e0d73bSSimon Glass #include <dm/ofnode.h> 12*b7e0d73bSSimon Glass 13*b7e0d73bSSimon Glass enum fmap_compress_t { 14*b7e0d73bSSimon Glass FMAP_COMPRESS_NONE, 15*b7e0d73bSSimon Glass FMAP_COMPRESS_LZO, 16*b7e0d73bSSimon Glass }; 17*b7e0d73bSSimon Glass 18*b7e0d73bSSimon Glass enum fmap_hash_t { 19*b7e0d73bSSimon Glass FMAP_HASH_NONE, 20*b7e0d73bSSimon Glass FMAP_HASH_SHA1, 21*b7e0d73bSSimon Glass FMAP_HASH_SHA256, 22*b7e0d73bSSimon Glass }; 23*b7e0d73bSSimon Glass 24*b7e0d73bSSimon Glass /* A flash map entry, containing an offset and length */ 25*b7e0d73bSSimon Glass struct fmap_entry { 26*b7e0d73bSSimon Glass uint32_t offset; 27*b7e0d73bSSimon Glass uint32_t length; 28*b7e0d73bSSimon Glass uint32_t used; /* Number of bytes used in region */ 29*b7e0d73bSSimon Glass enum fmap_compress_t compress_algo; /* Compression type */ 30*b7e0d73bSSimon Glass enum fmap_hash_t hash_algo; /* Hash algorithm */ 31*b7e0d73bSSimon Glass const uint8_t *hash; /* Hash value */ 32*b7e0d73bSSimon Glass int hash_size; /* Hash size */ 33*b7e0d73bSSimon Glass }; 34*b7e0d73bSSimon Glass 35*b7e0d73bSSimon Glass /** 36*b7e0d73bSSimon Glass * Read a flash entry from the fdt 37*b7e0d73bSSimon Glass * 38*b7e0d73bSSimon Glass * @param node Reference to node to read 39*b7e0d73bSSimon Glass * @param name Name of node being read 40*b7e0d73bSSimon Glass * @param entry Place to put offset and size of this node 41*b7e0d73bSSimon Glass * @return 0 if ok, -ve on error 42*b7e0d73bSSimon Glass */ 43*b7e0d73bSSimon Glass int of_read_fmap_entry(ofnode node, const char *name, 44*b7e0d73bSSimon Glass struct fmap_entry *entry); 45*b7e0d73bSSimon Glass 46*b7e0d73bSSimon Glass #endif 47