]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
rockchip: puma: drop special handling of usb host regulator
authorHeiko Stuebner <heiko.stuebner@theobroma-systems.com>
Fri, 5 Jun 2020 10:06:42 +0000 (12:06 +0200)
committerKever Yang <kever.yang@rock-chips.com>
Sun, 7 Jun 2020 10:57:16 +0000 (18:57 +0800)
With the current usb stack in u-boot, all host ports on puma work
flawlessly without any additional special handling, so drop that
usb hub hacking from the puma board.

Tested with mass-storage and usb-ethernet on both usb3 and usb2 ports.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
board/theobroma-systems/puma_rk3399/puma-rk3399.c

index 65bb2ad6f273698e1754c7c6a5991950115afe18..deeba3084a8042d6f77116b28ca31032db0a5269 100644 (file)
@@ -152,70 +152,3 @@ void get_board_serial(struct tag_serialnr *serialnr)
        serialnr->low = (u32)(serial & 0xffffffff);
 }
 #endif
-
-/**
- * Switch power at an external regulator (for our root hub).
- *
- * @param ctrl pointer to the xHCI controller
- * @param port port number as in the control message (one-based)
- * @param enable boolean indicating whether to enable or disable power
- * @return returns 0 on success, an error-code on failure
- */
-static int board_usb_port_power_set(struct udevice *dev, int port,
-                                   bool enable)
-{
-#if CONFIG_IS_ENABLED(OF_CONTROL) && CONFIG_IS_ENABLED(DM_REGULATOR)
-       /* We start counting ports at 0, while USB counts from 1. */
-       int index = port - 1;
-       const char *regname = NULL;
-       struct udevice *regulator;
-       const char *prop = "tsd,usb-port-power";
-       int ret;
-
-       debug("%s: ctrl '%s' port %d enable %s\n", __func__,
-             dev_read_name(dev), port, enable ? "true" : "false");
-
-       ret = dev_read_string_index(dev, prop, index, &regname);
-       if (ret < 0) {
-               debug("%s: ctrl '%s' port %d: no entry in '%s'\n",
-                     __func__, dev_read_name(dev), port, prop);
-               return ret;
-       }
-
-       ret = regulator_get_by_platname(regname, &regulator);
-       if (ret) {
-               debug("%s: ctrl '%s' port %d: could not get regulator '%s'\n",
-                     __func__, dev_read_name(dev), port, regname);
-               return ret;
-       }
-
-       regulator_set_enable(regulator, enable);
-       return 0;
-#else
-       return -ENOTSUPP;
-#endif
-}
-
-void usb_hub_reset_devices(struct usb_hub_device *hub, int port)
-{
-       struct udevice *dev = hub->pusb_dev->dev;
-       struct udevice *ctrl;
-
-       /* We are only interested in our root-hubs */
-       if (usb_hub_is_root_hub(dev) == false)
-               return;
-
-       ctrl = usb_get_bus(dev);
-       if (!ctrl) {
-               debug("%s: could not retrieve ctrl for hub\n", __func__);
-               return;
-       }
-
-       /*
-        * To work around an incompatibility between the single-threaded
-        * USB stack in U-Boot and (a strange low-power mode of) the USB
-        * hub we have on-module, we need to delay powering on the hub
-        * until the first time the port is probed.
-        */
-       board_usb_port_power_set(ctrl, port, true);
-}