- 02 10月, 2020 7 次提交
-
-
由 Chunfeng Yun 提交于
Use TRB_TX_TYPE() instead of (TRB_DATA_OUT/IN << TRB_TX_TYPE_SHIFT) Signed-off-by: NChunfeng Yun <chunfeng.yun@mediatek.com> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
由 Chunfeng Yun 提交于
For normal TRB fields: use TRB_LEN(x) instead of ((x) & TRB_LEN_MASK); and use TRB_INTR_TARGET(x) instead of (((x) & TRB_INTR_TARGET_MASK) << TRB_INTR_TARGET_SHIFT) Signed-off-by: NChunfeng Yun <chunfeng.yun@mediatek.com> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
由 Chunfeng Yun 提交于
Use TRB_TYPE(p) instead of ((p) << TRB_TYPE_SHIFT) Signed-off-by: NChunfeng Yun <chunfeng.yun@mediatek.com> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
由 Chunfeng Yun 提交于
Use HCS_MAX_PORTS(p) instead of ((p & HCS_MAX_PORTS_MASK) >> HCS_MAX_PORTS_SHIFT) Signed-off-by: NChunfeng Yun <chunfeng.yun@mediatek.com> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
由 Chunfeng Yun 提交于
There some vendor quirks for MTK xHCI 0.96 host controller: 1. It defines some extra SW scheduling parameters for HW to minimize the scheduling effort for synchronous and interrupt endpoints. The parameters are put into reserved DWs of slot context and endpoint context. 2. Its TDS in Normal TRB defines a number of packets that remains to be transferred for a TD after processing all Max packets in all previous TRBs. Signed-off-by: NChunfeng Yun <chunfeng.yun@mediatek.com> Tested-by: NFrank Wunderlich <frank-w@public-files.de> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
由 Chunfeng Yun 提交于
xhci versions 1.0 and later report the untransferred data remaining in a TD a bit differently than older hosts. We used to have separate functions for these, and needed to check host version before calling the right function. Now Mediatek host has an additional quirk on how it uses the TD Size field for remaining data. To prevent yet another function for calculating remainder we instead want to make one quirk friendly unified function. Porting from the Linux: c840d6ce772d("xhci: create one unified function to calculate TRB TD remainder.") 124c39371114("xhci: use boolean to indicate last trb in td remainder calculation") Signed-off-by: NChunfeng Yun <chunfeng.yun@mediatek.com> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
由 Chunfeng Yun 提交于
Add a member to save xHCI version, it's used some times. Signed-off-by: NChunfeng Yun <chunfeng.yun@mediatek.com> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
- 10 7月, 2020 1 次提交
-
-
由 Nicolas Saenz Julienne 提交于
Some atypical users of xhci might need to manually reset their xHCI controller before starting the HCD setup. Check if a reset controller device is available to the PCI bus and trigger a reset. Signed-off-by: NNicolas Saenz Julienne <nsaenzjulienne@suse.de> [mb: squash fix to only build xhci_reset_hw() if CONFIG_DM_BUS] Signed-off-by: NMatthias Brugger <mbrugger@suse.com>
-
- 09 7月, 2020 1 次提交
-
-
由 Sylwester Nawrocki 提交于
There might be hardware configurations where 64-bit data accesses to XHCI registers are not supported properly. This patch removes the readq/writeq so always two 32-bit accesses are used to read/write 64-bit XHCI registers, similarly as it is done in Linux kernel. This patch fixes operation of the XHCI controller on RPI4 Broadcom BCM2711 SoC based board, where the VL805 USB XHCI controller is connected to the PCIe Root Complex, which is attached to the system through the SCB bridge. Even though the architecture is 64-bit the PCIe BAR is 32-bit and likely the 64-bit wide register accesses initiated by the CPU are not properly translated to a sequence of 32-bit PCIe accesses. xhci_readq(), for example, always returns same value in upper and lower 32-bits, e.g. 0xabcd1234abcd1234 instead of 0x00000000abcd1234. Cc: Sergey Temerkhanov <s.temerkhanov@gmail.com> Signed-off-by: NSylwester Nawrocki <s.nawrocki@samsung.com> Reviewed-by: NBin Meng <bmeng.cn@gmail.com> Reviewed-by: NNicolas Saenz Julienne <nsaenzjulienne@suse.de> Signed-off-by: NMatthias Brugger <mbrugger@suse.com>
-
- 02 5月, 2020 1 次提交
-
-
由 Chunfeng Yun 提交于
This patch is used to support the on-chip xHCI controller on MediaTek SoCs, currently control/bulk/interrupt transfers are supported. Signed-off-by: NChunfeng Yun <chunfeng.yun@mediatek.com> Signed-off-by: NFrank Wunderlich <frank-w@public-files.de> Reviewed-by: NWeijie Gao <weijie.gao@mediatek.com> Reviewed-by: NJagan Teki <jagan@amarulasolutions.com>
-
- 24 10月, 2019 1 次提交
-
-
由 Jean-Jacques Hiblot 提交于
The xhci.h header file is currently located under drivers/usb/xhci Move it to the include/usb folder to make it available to drivers that are not under drivers/usb/xhci Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com>
-
- 27 11月, 2018 1 次提交
-
-
由 Sven Schwermer 提交于
This allows to disable the USB driver model in SPL because it checks the CONFIG_SPL_DM_USB variable for SPL builds. Nothing changes for regular non-SPL builds. Signed-off-by: NSven Schwermer <sven@svenschwermer.de>
-
- 07 5月, 2018 1 次提交
-
-
由 Tom Rini 提交于
When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: NTom Rini <trini@konsulko.com>
-
- 01 10月, 2017 1 次提交
-
-
由 Bin Meng 提交于
USB endpoint reports the period between consecutive requests to send or receive data as bInverval in its endpoint descriptor. So far this is ignored by xHCI driver and the 'Interval' field in xHC's endpoint context is always programmed to zero which means 1ms for low speed or full speed , or 125us for high speed or super speed. We should honor the interval by getting it from endpoint descriptor. Signed-off-by: NBin Meng <bmeng.cn@gmail.com>
-
- 27 9月, 2017 1 次提交
-
-
由 Marek Vasut 提交于
The Linux kernel driver sets the number of event segments and entries to 1 , while the initial import of the xhci code set that values to 3 for reasons unknown. While most controllers are fine with more event segments with more entries, there are standard-conformant controllers (ie. Renesas RCar xHCI) which only support 1 event segment. Set the number of event segments and event entries back to 1 to allow such controllers to work with U-Boot xHCI stack. Note that the Renesas controller correctly indicates ERST Max = 1 in HCSPARAMS2[7:4] . Signed-off-by: NMarek Vasut <marek.vasut+renesas@gmail.com> Cc: Bin Meng <bmeng.cn@gmail.com>
-
- 29 7月, 2017 6 次提交
-
-
由 Bin Meng 提交于
These two macros really need a parameter to make them useful. Signed-off-by: NBin Meng <bmeng.cn@gmail.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Bin Meng 提交于
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: NBin Meng <bmeng.cn@gmail.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Bin Meng 提交于
xHC reports supported maximum number of ports in the HCSPARAMS1 register, so it's unnecessary to use a hardcoded config option CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS. Signed-off-by: NBin Meng <bmeng.cn@gmail.com> Reviewed-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NStefan Roese <sr@denx.de> Tested-by: NStefan Roese <sr@denx.de>
-
由 Bin Meng 提交于
HCSPARAMS1:MaxPorts field specifies the maximum port number value, and its valid values are in the range of 1 to 255. Signed-off-by: NBin Meng <bmeng.cn@gmail.com> Reviewed-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NStefan Roese <sr@denx.de> Tested-by: NStefan Roese <sr@denx.de>
-
由 Bin Meng 提交于
The scratchpad buffer array is used to define the locations of statically allocated memory pages that are available for the private use of the xHC. The xHCI spec explicitly mentions that system software shall allocate the scratchpad buffers before placing the xHC in to Run mode (Run/Stop (R/S) = ‘1’), however U-Boot is missing this part. This causes xHC on Intel platform does not respond the very first 'enable slot' command that is given to xHC and the 'enable slot' command completion event TRB is never generated and xHC seems to hang forever. Signed-off-by: NBin Meng <bmeng.cn@gmail.com> Reviewed-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NStefan Roese <sr@denx.de> Tested-by: NStefan Roese <sr@denx.de>
-
由 Bin Meng 提交于
There is no member called 'dma' in struct xhci_container_ctx. Remove the comments that mentions it. Signed-off-by: NBin Meng <bmeng.cn@gmail.com> Reviewed-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NStefan Roese <sr@denx.de> Tested-by: NStefan Roese <sr@denx.de>
-
- 19 4月, 2015 4 次提交
-
-
由 Simon Glass 提交于
Add driver model support in the XHCI support code so that it can be used by XHCI USB drivers. Signed-off-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NMarek Vasut <marex@denx.de>
-
由 Simon Glass 提交于
This function should not be delving into struct usb_device. Pass in the parameters it needs directly. Signed-off-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NMarek Vasut <marex@denx.de>
-
由 Simon Glass 提交于
This function should not be delving into struct usb_device. Pass in the parameters it needs directly. Signed-off-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NMarek Vasut <marex@denx.de>
-
由 Simon Glass 提交于
Rather than getting this directly from struct usb_device, call a function to obtain it. This will make it possible for driver model to provide it another way. Signed-off-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NMarek Vasut <marex@denx.de>
-
- 14 4月, 2015 1 次提交
-
-
由 Sergey Temerkhanov 提交于
This commit allows xHCI to use both 64 and 32 bit memory physical addresses depending on architecture it's being built for. Also it makes use of readq()/writeq() on 64-bit systems Signed-off-by: NSergey Temerkhanov <s.temerkhanov@gmail.com> Signed-off-by: NRadha Mohan Chintakuntla <rchintakuntla@cavium.com>
-
- 22 7月, 2014 1 次提交
-
-
由 Lijun Pan 提交于
upper_32_bits() and lower_32_bits() have been ported into linux/compat.h. Start use them now in drivers/usb/host/xhci.h. Signed-off-by: NLijun Pan <Lijun.Pan@freescale.com>
-
- 21 10月, 2013 1 次提交
-
-
由 Vivek Gautam 提交于
This adds stack layer for eXtensible Host Controller Interface which facilitates use of USB 3.0 in host mode. Adapting xHCI host controller driver in linux-kernel by Sarah Sharp to needs in u-boot. Initial porting from Linux kernel version 3.4, with following top commit history of drivers/usb/host/xhci* : cf84055 xHCI: Cleanup isoc transfer ring when TD length mismatch found This adds the basic xHCI host controller driver with bare minimum features: - Control/Bulk transfer support has been added with required infrastructure for necessary xHC data structures. - Stream protocol hasn't been supported yet. - No support for quirky devices has been added. Signed-off-by: NVikas C Sajjan <vikas.sajjan@samsung.com> Signed-off-by: NJulius Werner <jwerner@chromium.org> Signed-off-by: NVivek Gautam <gautam.vivek@samsung.com> Cc: Simon Glass <sjg@chromium.org> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Dan Murphy <dmurphy@ti.com> Cc: Marek Vasut <marex@denx.de>
-