[U-Boot] [PATCH 07/14] imx: ventana: make OTG VBUS power enable board specific
Stefano Babic
sbabic at denx.de
Fri Mar 17 11:02:32 UTC 2017
On 13/03/2017 16:51, Tim Harvey wrote:
> Signed-off-by: Tim Harvey <tharvey at gateworks.com>
> ---
> board/gateworks/gw_ventana/common.c | 16 ++++++++++++----
> board/gateworks/gw_ventana/common.h | 2 +-
> board/gateworks/gw_ventana/gw_ventana.c | 8 +++++---
> 3 files changed, 18 insertions(+), 8 deletions(-)
>
> diff --git a/board/gateworks/gw_ventana/common.c b/board/gateworks/gw_ventana/common.c
> index 49d6e52..a33c112 100644
> --- a/board/gateworks/gw_ventana/common.c
> +++ b/board/gateworks/gw_ventana/common.c
> @@ -586,6 +586,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
> .rs485en = IMX_GPIO_NR(3, 24),
> .dioi2c_en = IMX_GPIO_NR(4, 5),
> .pcie_sson = IMX_GPIO_NR(1, 20),
> + .otgpwr_en = IMX_GPIO_NR(3, 22),
> },
>
> /* GW51xx */
> @@ -604,6 +605,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
> .gps_shdn = IMX_GPIO_NR(1, 2),
> .vidin_en = IMX_GPIO_NR(5, 20),
> .wdis = IMX_GPIO_NR(7, 12),
> + .otgpwr_en = IMX_GPIO_NR(3, 22),
> },
>
> /* GW52xx */
> @@ -626,6 +628,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
> .wdis = IMX_GPIO_NR(7, 12),
> .msata_en = GP_MSATA_SEL,
> .rs232_en = GP_RS232_EN,
> + .otgpwr_en = IMX_GPIO_NR(3, 22),
> },
>
> /* GW53xx */
> @@ -647,6 +650,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
> .wdis = IMX_GPIO_NR(7, 12),
> .msata_en = GP_MSATA_SEL,
> .rs232_en = GP_RS232_EN,
> + .otgpwr_en = IMX_GPIO_NR(3, 22),
> },
>
> /* GW54xx */
> @@ -670,6 +674,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
> .wdis = IMX_GPIO_NR(5, 17),
> .msata_en = GP_MSATA_SEL,
> .rs232_en = GP_RS232_EN,
> + .otgpwr_en = IMX_GPIO_NR(3, 22),
> },
>
> /* GW551x */
> @@ -715,6 +720,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
> .pcie_rst = IMX_GPIO_NR(1, 0),
> .vidin_en = IMX_GPIO_NR(5, 20),
> .wdis = IMX_GPIO_NR(7, 12),
> + .otgpwr_en = IMX_GPIO_NR(3, 22),
> },
> };
>
> @@ -725,10 +731,6 @@ void setup_iomux_gpio(int board, struct ventana_board_info *info)
> /* iomux common to all Ventana boards */
> SETUP_IOMUX_PADS(gw_gpio_pads);
>
> - /* OTG power off */
> - gpio_request(GP_USB_OTG_PWR, "usbotg_pwr");
> - gpio_direction_output(GP_USB_OTG_PWR, 0);
> -
> if (board >= GW_UNKNOWN)
> return;
>
> @@ -818,6 +820,12 @@ void setup_iomux_gpio(int board, struct ventana_board_info *info)
> gpio_direction_output(gpio_cfg[board].wdis, 1);
> }
>
> + /* OTG power off */
> + if (gpio_cfg[board].otgpwr_en) {
> + gpio_request(gpio_cfg[board].otgpwr_en, "usbotg_pwr");
> + gpio_direction_output(gpio_cfg[board].otgpwr_en, 0);
> + }
> +
> /* sense vselect pin to see if we support uhs-i */
> gpio_request(GP_SD3_VSELECT, "sd3_vselect");
> gpio_direction_input(GP_SD3_VSELECT);
> diff --git a/board/gateworks/gw_ventana/common.h b/board/gateworks/gw_ventana/common.h
> index 3d7aff1..6939233 100644
> --- a/board/gateworks/gw_ventana/common.h
> +++ b/board/gateworks/gw_ventana/common.h
> @@ -13,7 +13,6 @@
>
> /* GPIO's common to all baseboards */
> #define GP_PHY_RST IMX_GPIO_NR(1, 30)
> -#define GP_USB_OTG_PWR IMX_GPIO_NR(3, 22)
> #define GP_SD3_CD IMX_GPIO_NR(7, 0)
> #define GP_RS232_EN IMX_GPIO_NR(2, 11)
> #define GP_MSATA_SEL IMX_GPIO_NR(2, 8)
> @@ -79,6 +78,7 @@ struct ventana {
> int wdis;
> int msata_en;
> int rs232_en;
> + int otgpwr_en;
> /* various features */
> bool usd_vsel;
> };
> diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c
> index 22a3c8e..3f9d2f7 100644
> --- a/board/gateworks/gw_ventana/gw_ventana.c
> +++ b/board/gateworks/gw_ventana/gw_ventana.c
> @@ -175,9 +175,11 @@ int board_ehci_hcd_init(int port)
>
> int board_ehci_power(int port, int on)
> {
> - if (port)
> - return 0;
> - gpio_set_value(GP_USB_OTG_PWR, on);
> + /* enable OTG VBUS */
> + if (!port && board_type < GW_UNKNOWN) {
> + if (gpio_cfg[board_type].otgpwr_en)
> + gpio_set_value(gpio_cfg[board_type].otgpwr_en, on);
> + }
> return 0;
> }
> #endif /* CONFIG_USB_EHCI_MX6 */
>
Reviewed-by: Stefano Babic <sbabic at denx.de>
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
More information about the U-Boot
mailing list