summaryrefslogtreecommitdiff
path: root/board/gateworks
diff options
context:
space:
mode:
authorTim Harvey <tharvey@gateworks.com>2021-07-24 10:40:45 -0700
committerStefano Babic <sbabic@denx.de>2021-08-09 14:46:50 +0200
commitbf6bdefd36cfaa53fb4e492e160a9b7349c01d3d (patch)
treeeaec7fdd064ee6a8f4332dba0d98033070bfba5a /board/gateworks
parent3ef59acdaf0a1207717150883dabaee8256f793a (diff)
imx: ventana: add support for GW53xx-G revision
The GW53xx-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>
Diffstat (limited to 'board/gateworks')
-rw-r--r--board/gateworks/gw_ventana/common.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/board/gateworks/gw_ventana/common.c b/board/gateworks/gw_ventana/common.c
index 67f8c12147..ca24d2e453 100644
--- a/board/gateworks/gw_ventana/common.c
+++ b/board/gateworks/gw_ventana/common.c
@@ -229,6 +229,10 @@ static iomux_v3_cfg_t const gw53xx_gpio_pads[] = {
IOMUX_PADS(PAD_SD3_DAT4__GPIO7_IO01 | DIO_PAD_CFG),
/* PCIESKT_WDIS# */
IOMUX_PADS(PAD_GPIO_17__GPIO7_IO12 | DIO_PAD_CFG),
+ /* J6_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 gw54xx_gpio_pads[] = {
@@ -1226,6 +1230,12 @@ void setup_iomux_gpio(int board, struct ventana_board_info *info)
/* Anything else board specific */
switch(board) {
+ case GW53xx:
+ gpio_request(IMX_GPIO_NR(3, 15), "j6_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);
@@ -1645,6 +1655,15 @@ void ft_early_fixup(void *blob, int board_type)
/* GW53xx-E adds WDOG1_B external reset */
if (rev < 'E')
ft_board_wdog_fixup(blob, WDOG1_ADDR);
+
+ /* GW53xx-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 GW54xx: