Merge branch 'master' of git://git.denx.de/u-boot-tegra
diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index 8858f07..8ba72e3 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -80,7 +80,7 @@
 	return ret;
 }
 
-#if CONFIG_DM_ETH
+#if defined(CONFIG_DM_ETH) && defined(CONFIG_DM_GPIO)
 static int dw_mdio_reset(struct mii_dev *bus)
 {
 	struct udevice *dev = bus->priv;
@@ -126,7 +126,7 @@
 	bus->read = dw_mdio_read;
 	bus->write = dw_mdio_write;
 	snprintf(bus->name, sizeof(bus->name), "%s", name);
-#ifdef CONFIG_DM_ETH
+#if defined(CONFIG_DM_ETH) && defined(CONFIG_DM_GPIO)
 	bus->reset = dw_mdio_reset;
 #endif
 
@@ -690,11 +690,15 @@
 static int designware_eth_ofdata_to_platdata(struct udevice *dev)
 {
 	struct dw_eth_pdata *dw_pdata = dev_get_platdata(dev);
+#ifdef CONFIG_DM_GPIO
 	struct dw_eth_dev *priv = dev_get_priv(dev);
+#endif
 	struct eth_pdata *pdata = &dw_pdata->eth_pdata;
 	const char *phy_mode;
 	const fdt32_t *cell;
+#ifdef CONFIG_DM_GPIO
 	int reset_flags = GPIOD_IS_OUT;
+#endif
 	int ret = 0;
 
 	pdata->iobase = dev_get_addr(dev);
@@ -712,6 +716,7 @@
 	if (cell)
 		pdata->max_speed = fdt32_to_cpu(*cell);
 
+#ifdef CONFIG_DM_GPIO
 	if (fdtdec_get_bool(gd->fdt_blob, dev->of_offset,
 			    "snps,reset-active-low"))
 		reset_flags |= GPIOD_ACTIVE_LOW;
@@ -724,6 +729,7 @@
 	} else if (ret == -ENOENT) {
 		ret = 0;
 	}
+#endif
 
 	return ret;
 }
diff --git a/drivers/net/designware.h b/drivers/net/designware.h
index 51ba769..d345c5b 100644
--- a/drivers/net/designware.h
+++ b/drivers/net/designware.h
@@ -8,7 +8,9 @@
 #ifndef _DW_ETH_H
 #define _DW_ETH_H
 
-#include <asm/gpio.h>
+#ifdef CONFIG_DM_GPIO
+#include <asm-generic/gpio.h>
+#endif
 
 #define CONFIG_TX_DESCR_NUM	16
 #define CONFIG_RX_DESCR_NUM	16
@@ -234,7 +236,10 @@
 #ifndef CONFIG_DM_ETH
 	struct eth_device *dev;
 #endif
+#ifdef CONFIG_DM_GPIO
 	struct gpio_desc reset_gpio;
+#endif
+
 	struct phy_device *phydev;
 	struct mii_dev *bus;
 };
diff --git a/drivers/net/phy/aquantia.c b/drivers/net/phy/aquantia.c
index f90c2ae..ad12f6d 100644
--- a/drivers/net/phy/aquantia.c
+++ b/drivers/net/phy/aquantia.c
@@ -147,6 +147,32 @@
 	.shutdown = &gen10g_shutdown,
 };
 
+struct phy_driver aqr106_driver = {
+	.name = "Aquantia AQR106",
+	.uid = 0x3a1b4d0,
+	.mask = 0xfffffff0,
+	.features = PHY_10G_FEATURES,
+	.mmds = (MDIO_MMD_PMAPMD | MDIO_MMD_PCS|
+			MDIO_MMD_PHYXS | MDIO_MMD_AN |
+			MDIO_MMD_VEND1),
+	.config = &aquantia_config,
+	.startup = &aquantia_startup,
+	.shutdown = &gen10g_shutdown,
+};
+
+struct phy_driver aqr107_driver = {
+	.name = "Aquantia AQR107",
+	.uid = 0x3a1b4e0,
+	.mask = 0xfffffff0,
+	.features = PHY_10G_FEATURES,
+	.mmds = (MDIO_MMD_PMAPMD | MDIO_MMD_PCS|
+			MDIO_MMD_PHYXS | MDIO_MMD_AN |
+			MDIO_MMD_VEND1),
+	.config = &aquantia_config,
+	.startup = &aquantia_startup,
+	.shutdown = &gen10g_shutdown,
+};
+
 struct phy_driver aqr405_driver = {
 	.name = "Aquantia AQR405",
 	.uid = 0x3a1b4b2,
@@ -165,6 +191,8 @@
 	phy_register(&aq1202_driver);
 	phy_register(&aq2104_driver);
 	phy_register(&aqr105_driver);
+	phy_register(&aqr106_driver);
+	phy_register(&aqr107_driver);
 	phy_register(&aqr405_driver);
 
 	return 0;
diff --git a/drivers/net/rtl8169.c b/drivers/net/rtl8169.c
index 843b083..1cc0b40 100644
--- a/drivers/net/rtl8169.c
+++ b/drivers/net/rtl8169.c
@@ -666,12 +666,12 @@
 		puts("tx timeout/error\n");
 		printf("%s elapsed time : %lu\n", __func__, currticks()-stime);
 #endif
-		ret = 0;
+		ret = -ETIMEDOUT;
 	} else {
 #ifdef DEBUG_RTL8169_TX
 		puts("tx done\n");
 #endif
-		ret = length;
+		ret = 0;
 	}
 	/* Delay to make net console (nc) work properly */
 	udelay(20);
diff --git a/drivers/video/rockchip/rk_hdmi.c b/drivers/video/rockchip/rk_hdmi.c
index 8dd2c87..7976c5e 100644
--- a/drivers/video/rockchip/rk_hdmi.c
+++ b/drivers/video/rockchip/rk_hdmi.c
@@ -666,7 +666,7 @@
 		if (hdmi_get_plug_in_status(regs))
 			return 0;
 		udelay(100);
-	} while (get_timer(start) < 30000);
+	} while (get_timer(start) < 300);
 
 	return -1;
 }
diff --git a/include/common.h b/include/common.h
index f9f4605..3feaae6 100644
--- a/include/common.h
+++ b/include/common.h
@@ -16,6 +16,7 @@
 typedef volatile unsigned char	vu_char;
 
 #include <config.h>
+#include <errno.h>
 #include <asm-offsets.h>
 #include <linux/bitops.h>
 #include <linux/types.h>
diff --git a/net/nfs.c b/net/nfs.c
index f60a037..4a5a1ab 100644
--- a/net/nfs.c
+++ b/net/nfs.c
@@ -132,7 +132,7 @@
 /**************************************************************************
 RPC_ADD_CREDENTIALS - Add RPC authentication/verifier entries
 **************************************************************************/
-static long *rpc_add_credentials(long *p)
+static uint32_t *rpc_add_credentials(uint32_t *p)
 {
 	int hl;
 	int hostnamelen;
@@ -241,7 +241,7 @@
 	pathlen = strlen(path);
 
 	p = &(data[0]);
-	p = (uint32_t *)rpc_add_credentials((long *)p);
+	p = rpc_add_credentials(p);
 
 	*p++ = htonl(pathlen);
 	if (pathlen & 3)
@@ -268,7 +268,7 @@
 		return;
 
 	p = &(data[0]);
-	p = (uint32_t *)rpc_add_credentials((long *)p);
+	p = rpc_add_credentials(p);
 
 	len = (uint32_t *)p - (uint32_t *)&(data[0]);
 
@@ -289,7 +289,7 @@
 	int len;
 
 	p = &(data[0]);
-	p = (uint32_t *)rpc_add_credentials((long *)p);
+	p = rpc_add_credentials(p);
 
 	memcpy(p, filefh, NFS_FHSIZE);
 	p += (NFS_FHSIZE / 4);
@@ -312,7 +312,7 @@
 	fnamelen = strlen(fname);
 
 	p = &(data[0]);
-	p = (uint32_t *)rpc_add_credentials((long *)p);
+	p = rpc_add_credentials(p);
 
 	memcpy(p, dirfh, NFS_FHSIZE);
 	p += (NFS_FHSIZE / 4);
@@ -337,7 +337,7 @@
 	int len;
 
 	p = &(data[0]);
-	p = (uint32_t *)rpc_add_credentials((long *)p);
+	p = rpc_add_credentials(p);
 
 	memcpy(p, filefh, NFS_FHSIZE);
 	p += (NFS_FHSIZE / 4);