Merge "qca : Add u-boot CLI command "flasherase""
diff --git a/arch/arm/dts/ipq807x-soc.dtsi b/arch/arm/dts/ipq807x-soc.dtsi
index f3ade04..9fbc85e 100644
--- a/arch/arm/dts/ipq807x-soc.dtsi
+++ b/arch/arm/dts/ipq807x-soc.dtsi
@@ -259,6 +259,7 @@
 				gpio = <42>;
 				func = <2>;
 				pull = <GPIO_NO_PULL>;
+				drvstr = <GPIO_8MA>;
 				oe = <GPIO_OE_ENABLE>;
 			};
 
@@ -266,6 +267,7 @@
 				gpio = <43>;
 				func = <2>;
 				pull = <GPIO_NO_PULL>;
+				drvstr = <GPIO_8MA>;
 				oe = <GPIO_OE_ENABLE>;
 			};
 
diff --git a/board/qca/arm/ipq807x/ipq807x.c b/board/qca/arm/ipq807x/ipq807x.c
index 8367578..e0b75de 100644
--- a/board/qca/arm/ipq807x/ipq807x.c
+++ b/board/qca/arm/ipq807x/ipq807x.c
@@ -1277,13 +1277,17 @@
 	u64 *reg;
 	char *wcnss_node = "/reserved-memory/wcnss@4b000000";
 	char *wifi_dump_node = "/reserved-memory/wifi_dump@50500000";
+	char *tzapp_node = "/reserved-memory/tzapp@4a400000";
 	unsigned int wcnss_size = 0x03700000;
 	unsigned int wifi_dump_size = 0x200000;
 	char *mem_mode = getenv("low_mem_mode");
+	int ret;
 
 	if (!mem_mode)
 		return;
 
+	printf("Configuring kernel for low memory mode...\n");
+
 	node = fdt_path_offset(blob, wcnss_node);
 	if (node >= 0) {
 		reg = (u64 *)fdt_getprop(blob, node, "reg", &len);
@@ -1301,6 +1305,16 @@
 	} else {
 		printf("Node \"%s\" not found\n", wifi_dump_node);
 	}
+
+	node = fdt_path_offset(blob, tzapp_node);
+	if (node >= 0) {
+		ret = fdt_del_node(blob, node);
+		if (ret)
+			printf("Cannot delete \"%s\" node\n", tzapp_node);
+
+	} else {
+		printf("Node \"%s\" not found\n", tzapp_node);
+	}
 }
 
 void set_flash_secondary_type(qca_smem_flash_info_t *smem)
diff --git a/drivers/i2c/qup_i2c.c b/drivers/i2c/qup_i2c.c
index 416e690..71c155e 100644
--- a/drivers/i2c/qup_i2c.c
+++ b/drivers/i2c/qup_i2c.c
@@ -111,11 +111,13 @@
  */
 void config_i2c_gpio(void)
 {
-	int gpio_node;
+	int i2c_node, gpio_node;
 
-	gpio_node = fdt_path_offset(gd->fdt_blob, "/i2c0/i2c_gpio");
-	if (gpio_node >= 0) {
-		qca_gpio_init(gpio_node);
+	i2c_node = fdt_path_offset(gd->fdt_blob, "i2c0");
+	if (i2c_node >= 0) {
+		gpio_node = fdt_subnode_offset(gd->fdt_blob, i2c_node, "i2c_gpio");
+		if (gpio_node >= 0)
+			qca_gpio_init(gpio_node);
 	}
 }
 
diff --git a/drivers/pci/pci_ipq.c b/drivers/pci/pci_ipq.c
index 6196b9f..061d271 100644
--- a/drivers/pci/pci_ipq.c
+++ b/drivers/pci/pci_ipq.c
@@ -863,10 +863,10 @@
 		return err;
 	}
 
+	pcie->is_gen3 = 0;
 	if(pcie->version == PCIE_V2) {
 		err = fdt_get_named_resource(fdt, node, "reg", "reg-names", "pci_phy",
 					     &pcie->pci_phy);
-		pcie->is_gen3 = 0;
 		if (err < 0) {
 			uint32_t soc_ver_major, soc_ver_minor;
 			int ret;