summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* x86: acpi: Name fields in FADT in accordance with specificationAndy Shevchenko2017-07-301-3/+2
| | | | | | | | | ACPI specification defines FADT fields marked as reserved in U-Boot. Name these fields in accordance with ACPI specification. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: acpi: Fill OEM revisionAndy Shevchenko2017-07-301-0/+2
| | | | | | | Fill OEM revision field in the tables by U-Boot build date. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* Makefile: Export build date as integerAndy Shevchenko2017-07-301-0/+2
| | | | | | | | In some cases we would need build date as integer value. Export U_BOOT_BUILD_DATE as %Y%m%d integer value. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* Makefile: Don't shadow actual error when compile ASLAndy Shevchenko2017-07-301-1/+1
| | | | | | | | | | | | | | | | If ASL compiler failed by any reason do not produce output C file. Otherwise sequential run of make will shadow the actual error in ASL, i.e. CC board/intel/edison/dsdt.o board/intel/edison/dsdt.c:1:1: error: unterminated comment /* and user has to remove dsdt.c and run make in order to see the error again. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
* x86: conga-qeval20-qa3-e3845.dts: Enable xHCI support in dtsStefan Roese2017-07-301-0/+3
| | | | | | Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: dfi-bt700: Add xHCI USB supportStefan Roese2017-07-303-0/+40
| | | | | | | | | | | | | Change from EHCI to xHCI on the DFI BayTrail SoM. The xHCI USB hub is connected to an GPIO on the DFI BayTrail SoM. For correct operation, it needs to get reset upon power-up. Otherwise it may happen that the hub is not detected after a software reboot. This patch also configures this GPIO in the dts for correct operation. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: conga-qeval20-qa3-e3845: Select CONFIG_BOARD_LATE_INITStefan Roese2017-07-301-0/+1
| | | | | | | | | | This config option is needed on the congatec x86 BayTrail board, as otherwise the USB hub will not get initialized correctly. This patch selects this Kconfig option again. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: theadorable-x86-dfi-bt700: Add Spansion SPI support and move VIDEO blobStefan Roese2017-07-301-0/+2
| | | | | | | | | | | To support the Spansion SPI NOR flashes, this patch enables the support in defconfig. This increases the U-Boot binary too much so that it does not fit into its area in the ROM. So also move the VIDEO BIOS blob a bit to make some space here. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Add Intel Edison board filesAndy Shevchenko2017-07-3013-0/+429
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add Intel Edison board which is using U-Boot. The patch is based on work done by the following people (in alphabetical order): Aiden Park <aiden.park@intel.com> Dukjoon Jeon <dukjoon.jeon@intel.com> eric.park <eric.park@intel.com> Fabien Chereau <fabien.chereau@intel.com> Felipe Balbi <felipe.balbi@linux.intel.com> Scott D Phillips <scott.d.phillips@intel.com> Sebastien Colleur <sebastienx.colleur@intel.com> Steve Sakoman <steve.sakoman@intel.com> Vincent Tinelli <vincent.tinelli@intel.com> In case we're building for Intel Edison, we must have 4096 bytes of zeroes in the beginning on u-boot.bin. This is done in board/intel/edison/config.mk. First run sets hardware_id environment variable which is read from System Controller Unit (SCU). Serial number (serial# environment variable) is generated based on eMMC CID. MAC address on USB network interface is unique to the board but kept the same all over the time. Set mac address from U-Boot using following scheme: OUI = 02:00:86 next 3 bytes of MAC address set from eMMC serial number This allows to have a unique mac address across reboot and flashing. Signed-off-by: Vincent Tinelli <vincent.tinelli@intel.com> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> [bmeng: Add MAINTAINERS file for Intel Edison board] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Add Intel Tangier supportFelipe Balbi2017-07-308-0/+301
| | | | | | | | | | | | | | | | | | | | | | | | Add Intel Tangier SoC support. Intel Tangier SoC is a core part of Intel Merrifield platform. For example, Intel Edison board is based on such platform. The patch is based on work done by the following people (in alphabetical order): Aiden Park <aiden.park@intel.com> Dukjoon Jeon <dukjoon.jeon@intel.com> eric.park <eric.park@intel.com> Fabien Chereau <fabien.chereau@intel.com> Scott D Phillips <scott.d.phillips@intel.com> Sebastien Colleur <sebastienx.colleur@intel.com> Steve Sakoman <steve.sakoman@intel.com> Vincent Tinelli <vincent.tinelli@intel.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Vincent Tinelli <vincent.tinelli@intel.com> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
* x86: Add dma-mapping.h to architectural codeAndy Shevchenko2017-07-301-0/+41
| | | | | | | | | | | | Some cross-platform drivers rely on this header present. Make it so for x86. It's just a copy'n'paste of arch/arm/include/asm/dma-mapping.h. Suggested-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
* watchdog: Introduce watchdog driver for Intel TangierFelipe Balbi2017-07-303-1/+82
| | | | | | | | | Add watchdog driver for Intel Tangier based platforms. Signed-off-by: Vincent Tinelli <vincent.tinelli@intel.com> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* arch/x86: Select USB before selecting host driverAndy Shevchenko2017-07-3021-20/+1
| | | | | | | | | | | | | | Kbuild complains if USB is not selected before any of host driver. warning: (X86) selects USB_EHCI_HCD which has unmet direct dependencies (USB) warning: (X86) selects USB_EHCI_HCD which has unmet direct dependencies (USB) Select it for X86. Fixes: 64d6ac5bc4a9 ("Kconfig: USB: Migrate CONFIG_USB_EHCI_HCD users to Kconfig") Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> [bmeng: Update all x86 boards' defconfig files to remove CONFIG_USB] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
* Merge git://git.denx.de/u-boot-socfpgaTom Rini2017-07-2930-302/+947
|\
| * arm: socfpga: Enable all FPGA config support for Arria 10Tien Fong Chee2017-07-261-2/+1
| | | | | | | | | | | | | | | | Enable all FPGA config support for Arria 10. Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com> Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com> Reviewed-by: Dinh Nguyen <dinguyen@kernel.org>
| * arm: socfpga: Add FPGA driver support for Arria 10Tien Fong Chee2017-07-264-0/+582
| | | | | | | | | | | | | | | | Add FPGA driver support for Arria 10. Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com> Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com> Reviewed-by: Dinh Nguyen <dinguyen@kernel.org>
| * configs: Add FPGA driver config for Arria 10Tien Fong Chee2017-07-261-0/+2
| | | | | | | | | | | | | | | | Add FPGA driver config for Arria 10. Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com> Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com> Reviewed-by: Dinh Nguyen <dinguyen@kernel.org>
| * drivers: Enable FPGA driver build on SPLTien Fong Chee2017-07-261-0/+1
| | | | | | | | | | | | | | | | | | | | Enable FPGA driver build for Arria 10 SPL because FPGA driver is needed by Arria 10 SPL to configure and getting DDR up before loading U-boot into DDR and booting from there. Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com> Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com> Reviewed-by: Dinh Nguyen <dinguyen@kernel.org>
| * kconfig: Convert FPGA_SOCFPGA configuration to KconfigTien Fong Chee2017-07-2613-3/+19
| | | | | | | | | | | | | | | | | | This converts the following to Kconfig: CONFIG_FPGA_SOCFPGA Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com> Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com> Reviewed-by: Dinh Nguyen <dinguyen@kernel.org>
| * kconfig: Convert FPGA and FPGA_ALTERA configuration to KconfigTien Fong Chee2017-07-265-4/+3
| | | | | | | | | | | | | | | | | | | | This converts the following to Kconfig: CONFIG_FPGA CONFIG_FPGA_ALTERA Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com> Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com> Reviewed-by: Dinh Nguyen <dinguyen@kernel.org>
| * arm: socfpga: Restructure FPGA driver in the preparation to support A10Tien Fong Chee2017-07-266-290/+336
| | | | | | | | | | | | | | | | | | | | | | Move FPGA driver which is Gen5 specific code into Gen5 driver file and keeping common FPGA driver intact. All the changes are still keeping in driver/fpga/ and no functional change. Subsequent patch would move FPGA manager driver from arch/arm into driver/fpga/. Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com> Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com> Reviewed-by: Dinh Nguyen <dinguyen@kernel.org>
| * arm: socfpga: Remove unused passing parameter of socfpga_bridges_resetTien Fong Chee2017-07-262-3/+3
| | | | | | | | | | | | | | | | | | | | | | Remove parameter from socfpga_bridges_reset(), and keeping this function for single purpose which is just triggering reset on bridges. socfpga_reset_deassert_bridges_handoff() can be called for releasing reset on any bridges based on the bridge setting defined in fdt. Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com> Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com> Reviewed-by: Dinh Nguyen <dinguyen@kernel.org>
* | Merge git://git.denx.de/u-boot-usbTom Rini2017-07-2996-399/+1305
|\ \
| * | clk: fix compilation errors for poplar platformPatrice Chotard2017-07-282-37/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move clk_release_all() prototype and definition inside OF_CONTROL flag to avoid following compilation error for poplar platform: aarch64: + poplar +drivers/usb/host/built-in.o: In function `ehci_usb_remove': +drivers/usb/host/ehci-generic.c:159: undefined reference to `clk_release_all' +drivers/usb/host/built-in.o: In function `ehci_usb_probe': +drivers/usb/host/ehci-generic.c:133: undefined reference to `clk_release_all' +make[1]: *** [u-boot] Error 139 +make: *** [sub-make] Error 2 Introduced by 4e542c4 clk: add clk_release_all() Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
| * | usb: host: xhci-dxc3: fix compilation warningsPatrice Chotard2017-07-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix following warnings encountered with platforms dra7xx_evm and dra7xx_hs_evm : arm: + dra7xx_evm + hccr = (struct xhci_hccr *)devfdt_get_addr(dev); + ^ + hcor = (struct xhci_hcor *)((phys_addr_t)hccr + + ^ w+drivers/usb/host/xhci-dwc3.c: In function 'xhci_dwc3_probe': w+drivers/usb/host/xhci-dwc3.c:124:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] w+drivers/usb/host/xhci-dwc3.c:125:30: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] w+drivers/usb/host/xhci-dwc3.c:125:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] arm: + dra7xx_hs_evm + hccr = (struct xhci_hccr *)devfdt_get_addr(dev); + ^ + hcor = (struct xhci_hcor *)((phys_addr_t)hccr + + ^ w+drivers/usb/host/xhci-dwc3.c: In function 'xhci_dwc3_probe': w+drivers/usb/host/xhci-dwc3.c:124:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] w+drivers/usb/host/xhci-dwc3.c:125:30: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] w+drivers/usb/host/xhci-dwc3.c:125:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] Introduced by 7e65e84 usb: host: xhci-dwc3: Convert driver to DM Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
| * | phy: add a NO-OP phy driverJean-Jacques Hiblot2017-07-284-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | This driver is used to stub PHY operations in a driver (USB, SATA). This is useful when the 'client' driver (USB, SATA, ...) uses the PHY framework and there is no actual PHY harwdare to drive. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
| * | usb: host: ohci-generic: initialize PHY only when foundPatrice Chotard2017-07-281-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | Call generic_phy_init() only when a PHY was found. This will avoid a crash if no "phys" property is found in DT. Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reported-by: Patrick Delaunay <patrick.delaunay@st.com>
| * | usb: host: ehci-generic: initialize PHY only when foundPatrice Chotard2017-07-281-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | Call generic_phy_init() only when a PHY was found. This will avoid a crash if no "phys" property is found in DT. Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reported-by: Patrick Delaunay <patrick.delaunay@st.com>
| * | dm: usb: host: xhci-dwc3: add missing #ifdef CONFIG_DM_USBPatrice Chotard2017-07-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add CONFIG_DM_USB flag to avoid following compilation errors detected by buildman : +drivers/usb/host/built-in.o: In function `xhci_dwc3_remove': +drivers/usb/host/xhci-dwc3.c:168: undefined reference to `xhci_deregister' +drivers/usb/host/built-in.o: In function `xhci_dwc3_probe': +drivers/usb/host/xhci-dwc3.c:145: undefined reference to `usb_get_dr_mode' +drivers/usb/host/xhci-dwc3.c:152: undefined reference to `xhci_register' introduced by patch d5c3f014da3 "usb: host: xhci-dwc3: Convert driver to DM" Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reported-by: Ran Wang <ran.wang_1@nxp.com>
| * | dm: phy: add missing #ifdef CONFIG_PHYPatrice Chotard2017-07-281-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To avoid compilation breakage on platform that doesn't support DM PHY but uses xhci-dwc3 driver, add the missing CONFIG_PHY flag. Introduced by patch : 84e53877 "usb: host: xhci-dwc3: Add generic PHY support" Cc: Ran Wang <ran.wang_1@nxp.com> Cc: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reported-by: Ran Wang <ran.wang_1@nxp.com>
| * | dfu: add common function to initiate transactionPatrick Delaunay2017-07-281-38/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | - factorize code between read and write transaction - always use dfu_transaction_cleanup() to initialize the internal variable: easy maintenance - replace direct access by dfu_get_buf() and dfu_get_buf_size() Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
| * | dfu: factorize transaction cleanupPatrick Delaunay2017-07-281-17/+11
| | | | | | | | | | | | | | | | | | rename cleanup function, as now called by read Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
| * | dfu: remove limitation on partition sizePatrick Delaunay2017-07-286-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Change long (32 bits on arm) to u64 (same type than offset) for size and read offset r_left So partition and device used for DFU can be greater than 4GB Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
| * | dfu: allow dfu read on partition greater than 2GBPatrick Delaunay2017-07-286-16/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | solve issue on get_medium_size() function the detection of error is a simple test < 0 but for ARM platform, long is 32bits and 2GB = 0x80000000 is seen as error. I solve the issue by changing the prototype fo the function to separate size and result. This patch prepare the next patch with size change to u64. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
| * | usb: gadget: f_thor: Free the allocated out request bufferSiva Durga Prasad Paladugu2017-07-281-0/+1
| | | | | | | | | | | | | | | | | | | | | Fix the memory leak by freeing the allocated out request buffer Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * | usb: xhci: Enable TT to support LS/FS devices behind a HS hubBin Meng2017-07-281-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far LS/FS devices directly attached to xHC root port can be successfully enumerated by xHCI driver, but if they are connected behind a hub, the enumeration process fails to address the device. It turns out xHCI driver still misses a part that in the device's input slot context, all Transaction Translator (TT) related fields are not programmed. The xHCI spec defines how to enable TT. Now LS/FS devices like USB keyboard/mouse can be enumerated behind a high speed hub. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | usb: xhci: Correct TT_SLOT and TT_PORT macrosBin Meng2017-07-281-2/+2
| | | | | | | | | | | | | | | | | | | | | These two macros really need a parameter to make them useful. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | usb: xhci: Implement update_hub_device() operationBin Meng2017-07-281-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no way to know whether the attached device is a hub or not in advance before the device's descriptor is fetched. But once we know it's a high speed hub, per the xHCI spec, we need to tell xHC it's a hub device by initializing hub-related fields in the input slot context. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | usb: hub: Call usb_update_hub_device() after hub descriptor is fetchedBin Meng2017-07-281-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | After fetching hub descriptor, we need to call USB uclass operation update_hub_device() to notify HCD to do some preparation work. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | dm: usb: Add a new USB controller operation 'update_hub_device'Bin Meng2017-07-282-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | For USB host controllers like xHC, its internal representation of hub needs to be updated after the hub descriptor is fetched. This adds a new op that does this. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | usb: hub: Parse and save TT details from device descriptorBin Meng2017-07-283-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A high speed hub has a special responsibility to handle full speed/ low speed devices connected on downstream ports. In this case, the hub must isolate the high speed signaling environment from the full speed/low speed signaling environment with the help of Transaction Translator (TT). TT details are provided by hub descriptors and we parse and save it to hub uclass_priv for later use. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | usb: xhci: Program 'route string' in the input slot contextBin Meng2017-07-281-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | xHCI spec says: the values of the 'route string' field shall be initialized by the first 'Address Device' command issued to a device slot, and shall not be modified by any other command. So far U-Boot does not program this field, and it does not prevent SS device directly attached to root port, or HS device behind an HS hub, from working, due to the fact that 'route string' is used by the xHC to target SS packets. But in order to enumerate devices behind an SS hub, this field must be programmed. With this commit and along with previous commits, now SS & HS devices attached to a USB 3.0 hub can be enumerated by U-Boot. As usual, this new feature is only available when DM is on. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | usb: xhci: Change xhci_setup_addressable_virt_dev() signatureBin Meng2017-07-283-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For future extension, change xhci_setup_addressable_virt_dev() signature to accept a pointer to 'struct usb_device', instead of its members slot_id & speed, as the struct already contains these two plus some other useful information of the device. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | usb: hub: Support 'set hub depth' request for USB 3.0 hubsBin Meng2017-07-283-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | USB 3.0 hub uses a hub depth value multiplied by four as an offset into the 'route string' to locate the bits it uses to determine the downstream port number. We shall set the hub depth value of a USB 3.0 hub after it is configured. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | usb: hub: Translate USB 3.0 hub port status into old versionBin Meng2017-07-281-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | USB 3.0 hub port status field has different bit positions from 2.0 hubs. Since U-Boot only understands the old version, translate the new one into the old one. Since we are going to add USB 3.0 hub support, this feature is only available with driver model USB. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | usb: hub: Add a new API to test if a hub device is root hubBin Meng2017-07-283-22/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes we need know if a given hub device is root hub or not. Add a new API to test this. This removes the xHCI driver's own version is_root_hub() and change to use the new API. While we are here, remove the unused/commented out get_usb_device() in the xHCI driver too. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
| * | usb: hub: Remove hub_port_reset()Bin Meng2017-07-282-30/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present hub_port_reset() is defined in DM USB, but it is never called hence remove it (removing another ifdefs). While we are here, change legacy_hub_port_reset() name to usb_hub_port_reset() to better match other function names in the same hub module. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | usb: hub: Use 'struct usb_hub_device' as hub device's uclass_privBin Meng2017-07-282-7/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use USB hub device's dev->uclass_priv to point to 'usb_hub_device' so that with driver model usb_hub_reset() and usb_hub_allocate() are no longer needed. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | usb: xhci-pci: Clean up the driver a little bitBin Meng2017-07-281-19/+2
| | | | | | | | | | | | | | | | | | | | | This cleans up the driver a little bit. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | usb: xhci-pci: Drop non-DM version of xhci-pci driverBin Meng2017-07-282-52/+1
| | | | | | | | | | | | | | | | | | | | | | | | As there is no board that currently uses xhci-pci driver without DM USB, drop its support and leave only DM support. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>