diff --git a/src/soc/qualcomm/common/include/soc/qclib_common.h b/src/soc/qualcomm/common/include/soc/qclib_common.h
index 19966e2..792b743 100644
--- a/src/soc/qualcomm/common/include/soc/qclib_common.h
+++ b/src/soc/qualcomm/common/include/soc/qclib_common.h
@@ -45,6 +45,7 @@
 /* GA_BMASK_VALUES (global_attributes bit mask values) */
 #define QCLIB_GA_ENABLE_UART_LOGGING   0x00000001
 #define QCLIB_GA_FORCE_COLD_REBOOT BIT(3)
+#define QCLIB_GA_DDR_FMAX_LIMIT_HYNIX8GB BIT(5)
 
 #define QCLIB_INTERFACE_VERSION 0x00000001
 #define QCLIB_MAX_NUMBER_OF_ENTRIES 16
@@ -67,7 +68,7 @@
 void qclib_add_if_table_entry(const char *name, void *base,
 			      uint32_t size, uint32_t attrs);
 void qclib_load_and_run(void);
-int  qclib_soc_blob_load(void);
+int  qclib_soc_override(struct qclib_cb_if_table *table);
 
 const char *qclib_file_default(enum qclib_cbfs_file file);
 const char *qclib_file(enum qclib_cbfs_file file);
diff --git a/src/soc/qualcomm/common/qclib.c b/src/soc/qualcomm/common/qclib.c
index 2769ded..d177688 100644
--- a/src/soc/qualcomm/common/qclib.c
+++ b/src/soc/qualcomm/common/qclib.c
@@ -169,7 +169,7 @@
 	}
 }
 
-__weak int qclib_soc_blob_load(void) { return 0; }
+__weak int qclib_soc_override(struct qclib_cb_if_table *table) { return 0; }
 
 void qclib_load_and_run(void)
 {
@@ -220,12 +220,6 @@
 	}
 	qclib_add_if_table_entry(QCLIB_TE_DCB_SETTINGS, _dcb, data_size, 0);
 
-	/* hook for SoC specific binary blob loads */
-	if (qclib_soc_blob_load()) {
-		printk(BIOS_ERR, "qclib_soc_blob_load failed\n");
-		goto fail;
-	}
-
 	/* Enable QCLib serial output, based on Kconfig */
 	if (CONFIG(CONSOLE_SERIAL))
 		qclib_cb_if_table.global_attributes =
@@ -246,6 +240,12 @@
 		printk(BIOS_INFO, "qcsdi.entry[%p]\n", qcsdi.entry);
 	}
 
+	/* hook for SoC specific binary blob loads */
+	if (qclib_soc_override(&qclib_cb_if_table)) {
+		printk(BIOS_ERR, "qclib_soc_override failed\n");
+		goto fail;
+	}
+
 	dump_te_table();
 
 	/* Attempt to load QCLib elf */
@@ -258,7 +258,7 @@
 	prog_set_entry(&qclib, prog_entry(&qclib), &qclib_cb_if_table);
 
 	printk(BIOS_DEBUG, "\n\n\nQCLib is about to Initialize DDR\n");
-	printk(BIOS_DEBUG, "Global Attributes[%x]..Table Entries Count[%d]\n",
+	printk(BIOS_DEBUG, "Global Attributes[%#x]..Table Entries Count[%d]\n",
 		qclib_cb_if_table.global_attributes,
 		qclib_cb_if_table.num_entries);
 	printk(BIOS_DEBUG, "Jumping to QCLib code at %p(%p)\n",
diff --git a/src/soc/qualcomm/sc7180/qclib.c b/src/soc/qualcomm/sc7180/qclib.c
index e05a24f..b9f5d37 100644
--- a/src/soc/qualcomm/sc7180/qclib.c
+++ b/src/soc/qualcomm/sc7180/qclib.c
@@ -24,3 +24,13 @@
 		return qclib_file_default(file);
 	}
 }
+
+int qclib_soc_override(struct qclib_cb_if_table *table)
+{
+	/* Lazor boards need a hack to limit DDR frequency on certain memory parts to work
+	   around a stability issue. */
+	if (CONFIG(BOARD_GOOGLE_LAZOR))
+		table->global_attributes |= QCLIB_GA_DDR_FMAX_LIMIT_HYNIX8GB;
+
+	return 0;
+}
