imx: ventana: add support for GW54xx-G revision

The GW54xx-G revision has the foolowing changes:
 - replaces the EOL GbE PHY with an updated part (requires an enable pin)
 - replaces the EOL analog video decoder with an updated part
   (requires dt prop)
 - add power control to miniPCIe socket

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
diff --git a/board/gateworks/gw_ventana/common.c b/board/gateworks/gw_ventana/common.c
index ca24d2e..2be921f 100644
--- a/board/gateworks/gw_ventana/common.c
+++ b/board/gateworks/gw_ventana/common.c
@@ -256,6 +256,10 @@
 	IOMUX_PADS(PAD_SD3_DAT4__GPIO7_IO01 | DIO_PAD_CFG),
 	/* PCIESKT_WDIS# */
 	IOMUX_PADS(PAD_DISP0_DAT23__GPIO5_IO17 | DIO_PAD_CFG),
+	/* J7_PWREN */
+	IOMUX_PADS(PAD_EIM_DA15__GPIO3_IO15 | DIO_PAD_CFG),
+	/* PCIEGBE_EN */
+	IOMUX_PADS(PAD_EIM_DA14__GPIO3_IO14 | DIO_PAD_CFG),
 };
 
 static iomux_v3_cfg_t const gw551x_gpio_pads[] = {
@@ -1236,6 +1240,12 @@
 		gpio_request(IMX_GPIO_NR(3, 14), "gbe_en");
 		gpio_direction_output(IMX_GPIO_NR(3, 14), 1);
 		break;
+	case GW54xx:
+		gpio_request(IMX_GPIO_NR(3, 15), "j7_pwren");
+		gpio_direction_output(IMX_GPIO_NR(3, 15), 1);
+		gpio_request(IMX_GPIO_NR(3, 14), "gbe_en");
+		gpio_direction_output(IMX_GPIO_NR(3, 14), 1);
+		break;
 	case GW560x:
 		gpio_request(IMX_GPIO_NR(4, 26), "12p0_en");
 		gpio_direction_output(IMX_GPIO_NR(4, 26), 1);
@@ -1677,6 +1687,15 @@
 		/* GW54xx-E adds WDOG2_B external reset */
 		if (rev < 'E')
 			ft_board_wdog_fixup(blob, WDOG2_ADDR);
+
+		/* GW54xx-G has an adv7280 instead of an adv7180 */
+		else if (rev > 'F') {
+			i = fdt_node_offset_by_compatible(blob, -1, "adi,adv7180");
+			if (i) {
+				fdt_setprop_string(blob, i, "compatible", "adi,adv7280");
+				fdt_setprop_empty(blob, i, "adv,force-bt656-4");
+			}
+		}
 		break;
 
 	case GW551x: