diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 937c825..9358328 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -67,7 +67,6 @@
 dtb-$(CONFIG_ARCH_IPQ6018) += ipq6018-cp01-c1.dtb \
 			ipq6018-cp02-c1.dtb \
 			ipq6018-cp03-c1.dtb \
-			ipq6018-emulation.dtb \
 			ipq6018-db-cp01.dtb \
 			ipq6018-db-cp02.dtb
 
diff --git a/arch/arm/dts/ipq6018-cp01-c1.dts b/arch/arm/dts/ipq6018-cp01-c1.dts
index c2e1e7e..d88d22d 100644
--- a/arch/arm/dts/ipq6018-cp01-c1.dts
+++ b/arch/arm/dts/ipq6018-cp01-c1.dts
@@ -14,8 +14,6 @@
 /dts-v1/;
 #include "ipq6018-soc.dtsi"
 / {
-	model ="QCA, IPQ6018-CP01-C1";
-	compatible = "qca,ipq6018", "qca,ipq6018-cp01-c1";
 	machid = <0x8030000>;
 	config_name = "config@cp01-c1";
 
diff --git a/arch/arm/dts/ipq6018-cp02-c1.dts b/arch/arm/dts/ipq6018-cp02-c1.dts
index b4fba66..4822dea 100644
--- a/arch/arm/dts/ipq6018-cp02-c1.dts
+++ b/arch/arm/dts/ipq6018-cp02-c1.dts
@@ -14,8 +14,6 @@
 /dts-v1/;
 #include "ipq6018-soc.dtsi"
 / {
-	model ="QCA, IPQ6018-CP02-c1";
-	compatible = "qca,ipq6018", "qca,ipq6018-cp02-c1";
 	machid = <0x8030100>;
 	config_name = "config@cp02-c1";
 
diff --git a/arch/arm/dts/ipq6018-cp03-c1.dts b/arch/arm/dts/ipq6018-cp03-c1.dts
index 7f3ef3b..fa2cc86 100644
--- a/arch/arm/dts/ipq6018-cp03-c1.dts
+++ b/arch/arm/dts/ipq6018-cp03-c1.dts
@@ -14,8 +14,6 @@
 /dts-v1/;
 #include "ipq6018-soc.dtsi"
 / {
-	model ="QCA, IPQ6018-CP03-C1";
-	compatible = "qca,ipq6018", "qca,ipq6018-cp03-c1";
 	machid = <0x8030200>;
 	config_name = "config@cp03-c1";
 
diff --git a/arch/arm/dts/ipq6018-db-cp01.dts b/arch/arm/dts/ipq6018-db-cp01.dts
index 8e82465..5480528 100644
--- a/arch/arm/dts/ipq6018-db-cp01.dts
+++ b/arch/arm/dts/ipq6018-db-cp01.dts
@@ -14,8 +14,6 @@
 /dts-v1/;
 #include "ipq6018-soc.dtsi"
 / {
-	model ="QCA, IPQ6018-DB.CP01";
-	compatible = "qca,ipq6018", "qca,ipq6018-db-cp01";
 	machid = <0x1030000>;
 	config_name = "config@db-cp01";
 
diff --git a/arch/arm/dts/ipq6018-db-cp02.dts b/arch/arm/dts/ipq6018-db-cp02.dts
index 11ac915..bf5b68d 100644
--- a/arch/arm/dts/ipq6018-db-cp02.dts
+++ b/arch/arm/dts/ipq6018-db-cp02.dts
@@ -14,8 +14,6 @@
 /dts-v1/;
 #include "ipq6018-soc.dtsi"
 / {
-	model ="QCA, IPQ6018-DB.CP02";
-	compatible = "qca,ipq6018", "qca,ipq6018-db-cp02";
 	machid = <0x1030100>;
 	config_name = "config@db-cp02";
 
diff --git a/board/qca/arm/common/cmd_bootqca.c b/board/qca/arm/common/cmd_bootqca.c
index f4aab67..4385a53 100644
--- a/board/qca/arm/common/cmd_bootqca.c
+++ b/board/qca/arm/common/cmd_bootqca.c
@@ -331,6 +331,8 @@
 		printf("runcmd: %s\n", runcmd);
 	if (run_command(runcmd, 0) != CMD_RET_SUCCESS)
 		return CMD_RET_FAILURE;
+
+	return 0;
 }
 
 #ifndef CONFIG_IPQ_ELF_AUTH
@@ -388,6 +390,7 @@
 static int authenticate_rootfs_elf(unsigned int rootfs_hdr)
 {
 	int ret;
+	unsigned int request;
 	image_info img_info;
 	struct {
 		unsigned long type;
@@ -395,16 +398,21 @@
 		unsigned long addr;
 	} rootfs_img_info;
 
-	rootfs_img_info.addr = rootfs_hdr;
+	request = CONFIG_ROOTFS_LOAD_ADDR;
+	rootfs_img_info.addr = request;
 	rootfs_img_info.type = SEC_AUTH_SW_ID;
 
 	if (parse_elf_image_phdr(&img_info, rootfs_hdr))
 		return CMD_RET_FAILURE;
 
-	/* copy rootfs from the boot device */
-	copy_rootfs(img_info.img_load_addr, img_info.img_size);
+	memcpy((void*)request, (void*)rootfs_hdr, img_info.img_offset);
 
-	rootfs_img_info.size = img_info.img_offset;
+	request += img_info.img_offset;
+
+	/* copy rootfs from the boot device */
+	copy_rootfs(request, img_info.img_size);
+
+	rootfs_img_info.size = img_info.img_offset + img_info.img_size;
 	ret = qca_scm_secure_authenticate(&rootfs_img_info, sizeof(rootfs_img_info));
 	if (ret)
 		return CMD_RET_FAILURE;
