aboutsummaryrefslogtreecommitdiff
path: root/board/gateworks/gw_ventana/common.c
diff options
context:
space:
mode:
authorTim Harvey <tharvey@gateworks.com>2016-05-24 11:03:59 -0700
committerStefano Babic <sbabic@denx.de>2016-05-31 17:26:27 +0200
commit34b080b79ccb59e144619179b4cd57a2f146f8d3 (patch)
tree0b889140d946e9f66d890d370ba30ee68556ccd2 /board/gateworks/gw_ventana/common.c
parent385575bcb6013e8151fd98d80b8dc2b5bd732cfb (diff)
downloadu-boot-34b080b79ccb59e144619179b4cd57a2f146f8d3.zip
u-boot-34b080b79ccb59e144619179b4cd57a2f146f8d3.tar.gz
u-boot-34b080b79ccb59e144619179b4cd57a2f146f8d3.tar.bz2
imx: ventana: add fdt fixup to enable UHS-I support on selected boards
UHS-I support is available on Ventana boards with micro-SD sockets depending on the board revision. For backwards compatibility to not break users who have old bootloaders and newer kernels the device-tree on boards with microSD disables UHS-I support by default by defining the no-1-8-v property in the esdhc controller node. For models/revisions that support switchable 1.8V/3.3V I/O which is detectable by the presence of a pull-down on the SD3_VSELECT pin we remove that property to enable support in the kernel. Additionally we add SD3_VSELECT to the pinmux for clarity (even though U-Boot does not currently support UHS-I modes requiring 1.8V I/O). Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Diffstat (limited to 'board/gateworks/gw_ventana/common.c')
-rw-r--r--board/gateworks/gw_ventana/common.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/board/gateworks/gw_ventana/common.c b/board/gateworks/gw_ventana/common.c
index 2c3ac93..929dde9 100644
--- a/board/gateworks/gw_ventana/common.c
+++ b/board/gateworks/gw_ventana/common.c
@@ -134,6 +134,8 @@ void setup_ventana_i2c(void)
static iomux_v3_cfg_t const gw_gpio_pads[] = {
/* RS232_EN# */
IOMUX_PADS(PAD_SD4_DAT3__GPIO2_IO11 | DIO_PAD_CFG),
+ /* SD3_VSELECT */
+ IOMUX_PADS(PAD_NANDF_CS1__GPIO6_IO14 | DIO_PAD_CFG),
};
/* prototype */
@@ -766,6 +768,11 @@ void setup_iomux_gpio(int board, struct ventana_board_info *info)
gpio_request(gpio_cfg[board].wdis, "wlan_dis");
gpio_direction_output(gpio_cfg[board].wdis, 1);
}
+
+ /* sense vselect pin to see if we support uhs-i */
+ gpio_request(GP_SD3_VSELECT, "sd3_vselect");
+ gpio_direction_input(GP_SD3_VSELECT);
+ gpio_cfg[board].usd_vsel = !gpio_get_value(GP_SD3_VSELECT);
}
/* setup GPIO pinmux and default configuration per baseboard and env */