aboutsummaryrefslogtreecommitdiff
path: root/src/soc/qualcomm/ipq806x
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/qualcomm/ipq806x')
-rw-r--r--src/soc/qualcomm/ipq806x/blobs_init.c12
-rw-r--r--src/soc/qualcomm/ipq806x/include/soc/memlayout.ld3
2 files changed, 6 insertions, 9 deletions
diff --git a/src/soc/qualcomm/ipq806x/blobs_init.c b/src/soc/qualcomm/ipq806x/blobs_init.c
index ae7e4d4b48..2821677465 100644
--- a/src/soc/qualcomm/ipq806x/blobs_init.c
+++ b/src/soc/qualcomm/ipq806x/blobs_init.c
@@ -32,20 +32,18 @@
static void *load_ipq_blob(const char *file_name)
{
- struct cbfs_file *blob_file;
struct mbn_header *blob_mbn;
void *blob_dest;
+ size_t blob_size;
- blob_file = cbfs_get_file(CBFS_DEFAULT_MEDIA, file_name);
- if (!blob_file)
+ blob_mbn = cbfs_boot_map_with_leak(file_name, CBFS_TYPE_RAW,
+ &blob_size);
+ if (!blob_mbn)
return NULL;
- blob_mbn = (struct mbn_header *)((uintptr_t)blob_file +
- ntohl(blob_file->offset));
-
/* some sanity checks on the headers */
if ((blob_mbn->mbn_version != 3) ||
- (blob_mbn->mbn_total_size > ntohl(blob_file->len)))
+ (blob_mbn->mbn_total_size > blob_size))
return NULL;
blob_dest = (void *) blob_mbn->mbn_destination;
diff --git a/src/soc/qualcomm/ipq806x/include/soc/memlayout.ld b/src/soc/qualcomm/ipq806x/include/soc/memlayout.ld
index 62d755e8e1..426d35b844 100644
--- a/src/soc/qualcomm/ipq806x/include/soc/memlayout.ld
+++ b/src/soc/qualcomm/ipq806x/include/soc/memlayout.ld
@@ -34,9 +34,8 @@ SECTIONS
OVERLAP_VERSTAGE_ROMSTAGE(0x2A012000, 64K)
VBOOT2_WORK(0x2A022000, 16K)
PRERAM_CBMEM_CONSOLE(0x2A026000, 32K)
- CBFS_HEADER_OFFSET(0x2A02E400)
-/* 0x2e404..0x3F000 4 bytes shy of 67KB free */
+/* 0x2e400..0x3F000 67KB free */
/* Keep the below area reserved at all times, it is used by various QCA
components as shared data