mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
imx: ventana: fix USB hub reset
Remove board_ehci_hcd_init function that is not used with DM_USB and replace its functionality with device-tree configuraton that treats USB HUB RST# as a gpio enable for the usbh1 vbus regulator. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
This commit is contained in:
parent
397d697fd4
commit
073b105e79
7 changed files with 62 additions and 41 deletions
|
@ -137,7 +137,8 @@
|
|||
regulator-name = "usb_h1_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
reg_usb_otg_vbus: regulator-usb-otg-vbus {
|
||||
|
@ -550,6 +551,8 @@
|
|||
|
||||
&usbh1 {
|
||||
vbus-supply = <®_usb_h1_vbus>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usbh1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -720,6 +723,12 @@
|
|||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbh1: usbh1grp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_GPIO_9__GPIO1_IO09 0x1b0b0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbotg: usbotggrp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
|
||||
|
|
|
@ -146,7 +146,8 @@
|
|||
regulator-name = "usb_h1_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
gpio = <&gpio1 16 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
reg_usb_otg_vbus: regulator@3 {
|
||||
|
@ -620,6 +621,8 @@
|
|||
|
||||
&usbh1 {
|
||||
vbus-supply = <®_usb_h1_vbus>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usbh1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -815,6 +818,12 @@
|
|||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbh1: usbh1grp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_SD1_DAT0__GPIO1_IO16 0x1b0b0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbotg: usbotggrp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
|
||||
|
|
|
@ -121,6 +121,15 @@
|
|||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
reg_usb_h1_vbus: regulator-usbh1-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb_h1_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
};
|
||||
|
||||
&gpmi {
|
||||
|
@ -390,9 +399,13 @@
|
|||
&uart5 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart5>;
|
||||
status = "okay"; };
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbh1 {
|
||||
vbus-supply = <®_usb_h1_vbus>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usbh1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -507,6 +520,12 @@
|
|||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbh1: usbh1grp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_GPIO_9__GPIO1_IO09 0x1b0b0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbotg: usbotggrp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x13059
|
||||
|
|
|
@ -221,7 +221,8 @@
|
|||
regulator-name = "usb_h1_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
reg_usb_otg_vbus: regulator-usb-otg-vbus {
|
||||
|
|
|
@ -176,7 +176,8 @@
|
|||
regulator-name = "usb_h1_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
reg_usb_otg_vbus: regulator-usb-otg-vbus {
|
||||
|
@ -593,6 +594,8 @@
|
|||
|
||||
&usbh1 {
|
||||
vbus-supply = <®_usb_h1_vbus>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usbotg>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -753,6 +756,12 @@
|
|||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbh1: usbh1grp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_GPIO_9__GPIO1_IO09 0x1b0b0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbotg: usbotggrp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
|
||||
|
|
|
@ -120,7 +120,8 @@
|
|||
regulator-name = "usb_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
gpio = <&gpio4 5 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -380,6 +381,8 @@
|
|||
|
||||
&usbh1 {
|
||||
vbus-supply = <®_usb_vbus>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usbh1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -560,6 +563,12 @@
|
|||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbh1: usbh1grp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_GPIO_19__GPIO4_IO05 0x1b0b0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbotg: usbotggrp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059
|
||||
|
|
|
@ -39,41 +39,6 @@ DECLARE_GLOBAL_DATA_PTR;
|
|||
struct ventana_board_info ventana_info;
|
||||
static int board_type;
|
||||
|
||||
#ifdef CONFIG_USB_EHCI_MX6
|
||||
/* toggle USB_HUB_RST# for boards that have it; it is not defined in dt */
|
||||
int board_ehci_hcd_init(int port)
|
||||
{
|
||||
int gpio;
|
||||
|
||||
/* USB HUB is always on P1 */
|
||||
if (port == 0)
|
||||
return 0;
|
||||
|
||||
/* Reset USB HUB */
|
||||
switch (board_type) {
|
||||
case GW53xx:
|
||||
case GW552x:
|
||||
case GW5906:
|
||||
gpio = (IMX_GPIO_NR(1, 9));
|
||||
break;
|
||||
case GW54proto:
|
||||
case GW54xx:
|
||||
gpio = (IMX_GPIO_NR(1, 16));
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* request and toggle hub rst */
|
||||
gpio_request(gpio, "usb_hub_rst#");
|
||||
gpio_direction_output(gpio, 0);
|
||||
mdelay(2);
|
||||
gpio_set_value(gpio, 1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_USB_EHCI_MX6 */
|
||||
|
||||
/* configure eth0 PHY board-specific LED behavior */
|
||||
int board_phy_config(struct phy_device *phydev)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue