imx: ventana: make OTG VBUS power enable board specific
Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Stefano Babic <sbabic@denx.de>
This commit is contained in:
parent
db1964cad7
commit
f938500f2c
|
@ -586,6 +586,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
|
||||||
.rs485en = IMX_GPIO_NR(3, 24),
|
.rs485en = IMX_GPIO_NR(3, 24),
|
||||||
.dioi2c_en = IMX_GPIO_NR(4, 5),
|
.dioi2c_en = IMX_GPIO_NR(4, 5),
|
||||||
.pcie_sson = IMX_GPIO_NR(1, 20),
|
.pcie_sson = IMX_GPIO_NR(1, 20),
|
||||||
|
.otgpwr_en = IMX_GPIO_NR(3, 22),
|
||||||
},
|
},
|
||||||
|
|
||||||
/* GW51xx */
|
/* GW51xx */
|
||||||
|
@ -604,6 +605,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
|
||||||
.gps_shdn = IMX_GPIO_NR(1, 2),
|
.gps_shdn = IMX_GPIO_NR(1, 2),
|
||||||
.vidin_en = IMX_GPIO_NR(5, 20),
|
.vidin_en = IMX_GPIO_NR(5, 20),
|
||||||
.wdis = IMX_GPIO_NR(7, 12),
|
.wdis = IMX_GPIO_NR(7, 12),
|
||||||
|
.otgpwr_en = IMX_GPIO_NR(3, 22),
|
||||||
},
|
},
|
||||||
|
|
||||||
/* GW52xx */
|
/* GW52xx */
|
||||||
|
@ -626,6 +628,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
|
||||||
.wdis = IMX_GPIO_NR(7, 12),
|
.wdis = IMX_GPIO_NR(7, 12),
|
||||||
.msata_en = GP_MSATA_SEL,
|
.msata_en = GP_MSATA_SEL,
|
||||||
.rs232_en = GP_RS232_EN,
|
.rs232_en = GP_RS232_EN,
|
||||||
|
.otgpwr_en = IMX_GPIO_NR(3, 22),
|
||||||
},
|
},
|
||||||
|
|
||||||
/* GW53xx */
|
/* GW53xx */
|
||||||
|
@ -647,6 +650,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
|
||||||
.wdis = IMX_GPIO_NR(7, 12),
|
.wdis = IMX_GPIO_NR(7, 12),
|
||||||
.msata_en = GP_MSATA_SEL,
|
.msata_en = GP_MSATA_SEL,
|
||||||
.rs232_en = GP_RS232_EN,
|
.rs232_en = GP_RS232_EN,
|
||||||
|
.otgpwr_en = IMX_GPIO_NR(3, 22),
|
||||||
},
|
},
|
||||||
|
|
||||||
/* GW54xx */
|
/* GW54xx */
|
||||||
|
@ -670,6 +674,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
|
||||||
.wdis = IMX_GPIO_NR(5, 17),
|
.wdis = IMX_GPIO_NR(5, 17),
|
||||||
.msata_en = GP_MSATA_SEL,
|
.msata_en = GP_MSATA_SEL,
|
||||||
.rs232_en = GP_RS232_EN,
|
.rs232_en = GP_RS232_EN,
|
||||||
|
.otgpwr_en = IMX_GPIO_NR(3, 22),
|
||||||
},
|
},
|
||||||
|
|
||||||
/* GW551x */
|
/* GW551x */
|
||||||
|
@ -715,6 +720,7 @@ struct ventana gpio_cfg[GW_UNKNOWN] = {
|
||||||
.pcie_rst = IMX_GPIO_NR(1, 0),
|
.pcie_rst = IMX_GPIO_NR(1, 0),
|
||||||
.vidin_en = IMX_GPIO_NR(5, 20),
|
.vidin_en = IMX_GPIO_NR(5, 20),
|
||||||
.wdis = IMX_GPIO_NR(7, 12),
|
.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 */
|
/* iomux common to all Ventana boards */
|
||||||
SETUP_IOMUX_PADS(gw_gpio_pads);
|
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)
|
if (board >= GW_UNKNOWN)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -818,6 +820,12 @@ void setup_iomux_gpio(int board, struct ventana_board_info *info)
|
||||||
gpio_direction_output(gpio_cfg[board].wdis, 1);
|
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 */
|
/* sense vselect pin to see if we support uhs-i */
|
||||||
gpio_request(GP_SD3_VSELECT, "sd3_vselect");
|
gpio_request(GP_SD3_VSELECT, "sd3_vselect");
|
||||||
gpio_direction_input(GP_SD3_VSELECT);
|
gpio_direction_input(GP_SD3_VSELECT);
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
|
|
||||||
/* GPIO's common to all baseboards */
|
/* GPIO's common to all baseboards */
|
||||||
#define GP_PHY_RST IMX_GPIO_NR(1, 30)
|
#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_SD3_CD IMX_GPIO_NR(7, 0)
|
||||||
#define GP_RS232_EN IMX_GPIO_NR(2, 11)
|
#define GP_RS232_EN IMX_GPIO_NR(2, 11)
|
||||||
#define GP_MSATA_SEL IMX_GPIO_NR(2, 8)
|
#define GP_MSATA_SEL IMX_GPIO_NR(2, 8)
|
||||||
|
@ -79,6 +78,7 @@ struct ventana {
|
||||||
int wdis;
|
int wdis;
|
||||||
int msata_en;
|
int msata_en;
|
||||||
int rs232_en;
|
int rs232_en;
|
||||||
|
int otgpwr_en;
|
||||||
/* various features */
|
/* various features */
|
||||||
bool usd_vsel;
|
bool usd_vsel;
|
||||||
};
|
};
|
||||||
|
|
|
@ -175,9 +175,11 @@ int board_ehci_hcd_init(int port)
|
||||||
|
|
||||||
int board_ehci_power(int port, int on)
|
int board_ehci_power(int port, int on)
|
||||||
{
|
{
|
||||||
if (port)
|
/* enable OTG VBUS */
|
||||||
return 0;
|
if (!port && board_type < GW_UNKNOWN) {
|
||||||
gpio_set_value(GP_USB_OTG_PWR, on);
|
if (gpio_cfg[board_type].otgpwr_en)
|
||||||
|
gpio_set_value(gpio_cfg[board_type].otgpwr_en, on);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_USB_EHCI_MX6 */
|
#endif /* CONFIG_USB_EHCI_MX6 */
|
||||||
|
|
Loading…
Reference in New Issue