summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ARMv7 TLB: Fixed TTBR0 and Table Descriptors to allow cachingBryan Brinsko2015-04-162-0/+51
| | | | | | | | The TTBR0 register and Table Descriptors of the ARMv7 TLB weren't being properly set to allow for the configuration specified caching modes to be active over DRAM. This commit fixes those issues. Signed-off-by: Bryan Brinsko <bryan.brinsko@rockwellcollins.com>
* ARM: cpu: Add ARMv7 barrier operations supportValentine Barshak2015-04-162-7/+17
| | | | | | | | | | | | | | | This enables ARMv7 barrier operations support when march=armv7-a is enabled. Using CP15 barriers causes U-Boot bootm command crash when transferring control to the loaded image on Renesas R8A7794 Cortex A7 CPU. Using ARMv7 barrier operations instead of the deprecated CP15 barriers helps to avoid these issues. Signed-off-by: Valentine Barshak <valentine.barshak+renesas@cogentembedded.com> Signed-off-by: Vladimir Barinov <vladimir.barinov+renesas@cogentembedded.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
* fix ARM DCC support for ARMv7 based cores (e.g. CortexA)Alexander Merkle2015-04-161-1/+0
| | | | Signed-off-by: Alexander Merkle <alexander.merkle@lauterbach.com>
* fix ARM DCC support for ARMv7 based cores (e.g. CortexA)Alexander Merkle2015-04-161-2/+2
| | | | Signed-off-by: Alexander Merkle <alexander.merkle@lauterbach.com>
* Armv8: Initializing CNTVOFF_EL2David Feng2015-04-161-0/+3
| | | | | | | | | Linux-arm64 require that CNTVOFF_EL2 should be programmed with a consistent value on all cpus. Initializing CNTVOFF_EL2 at state transition instead of start.S could prevent potential different value on cpus if ATF exist and u-boot runs at only one cpu. Signed-off-by: David Feng <fenghua@phytium.com.cn>
* arm: implement find_next_zero_bit functionVitaly Andrianov2015-04-161-3/+40
| | | | | | | | | This commit copies implementation of the find_next_zero_bit() from git://git.denx.de/u-boot.git/arch/mips/include/asm/bitops.h. v2014.07 The function is required to enable MCAST_TFTP support for ARM platforms. Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
* fastboot: Proper download gadget unregister and clear when cable is missingPaul Kocialkowski2015-04-141-0/+2
| | | | Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
* fastboot: add support for reboot-bootloader commandAlexey Firago2015-04-141-0/+13
| | | | | | | | | | | | | | | | | | The "fastboot reboot-bootloader" command is defined to re-enter into fastboot mode after rebooting into bootloader. This command is usually used after updating bootloader via fastboot. This commit implements only a generic side of the command - setting of the reset flag and then resetting. Setting of the reset flag is implemented using __weak fb_set_reboot_flag() function. The actual setting and checking of the reset flag should be implemented by a boot script and/or board/SoC specific code. Signed-off-by: Alexey Firago <alexey_firago@mentor.com> Tested-by: Steve Rae <srae@broadcom.com> [Test HW: bcm28155_ap board]
* fastboot: check for alias when looking up partition by nameMichael Scott2015-04-142-2/+33
| | | | | | | | | | | | | | | | | Implement an alias name check for devices where GPT limitations prevent user-friendly partition names such as "boot", "system" and "cache". Or, where the actual partition name doesn't match a standard partition name used commonly with fastboot. To set an alias, add an environment setting as follows: fastboot_partition_alias_<alias partition name>=<actual partition name> Example: fastboot_partition_alias_boot=LNX Signed-off-by: Michael Scott <michael.scott@linaro.org> Acked-by: Steve Rae <srae@broadcom.com> Cc: Steve Rae <srae@broadcom.com> Cc: Lukasz Majewski <l.majewski@samsung.com>
* dfu: cmd: trigger watchdog before calling usb_gadget_handle_interruptsHeiko Schocher2015-04-141-0/+2
| | | | | | | | | | trigger watchdog before calling usb_gadget_handle_interrupts() This prevents board resets when calling dfu command on boards which have a watchdog. Signed-off-by: Heiko Schocher <hs@denx.de> [ Reedition by Lukasz Majewski <l.majewski@samsung.com> to apply to v2014.04 release ]
* cmd_usb_mass_storage: Use 'USB Mass Storage' in the help textFabio Estevam2015-04-141-1/+1
| | | | | | | | USB Mass Storage is the standard name, so let's use it here. Suggested-by: Soeren Moch <smoch@web.de> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Marek Vasut <marex@denx.de>
* usb: gadget: thor: Claim EP after allocating it in thor gadgetMarek Szyprowski2015-04-141-0/+3
| | | | | | | Storing thor device struct as an EP private data. It is necessary for DWC3 operation. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
* usb: dwc3: Correct clean up code for requestsLukasz Majewski2015-04-141-24/+14
| | | | | | | | | | | | | | | | For u-boot dwc3 driver the scatter gather list support has been removed from original linux code. It is correct, since we try to send one request at a time. However, the cleanup left spurious break, which caused early exit from loop at dwc3_cleanup_done_reqs() function. As a result the dwc3_gadget_giveback() wasn't called and caused USB Mass Storage to hang. This commit removes this problem and refactor the code to remove superfluous do { } while(1) loop. Test HW: Odroid XU3 (with ./test/ums/ums_gadget_test.sh) Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: dwc3: gadget: Set non EP0 max packet limit to 512BLukasz Majewski2015-04-141-1/+1
| | | | | | | | | | Commit "drivers/dwc3: add a workaround for too small OUT requests" sets max packet for OUT requests when transfer is smaller. Until this change the default maxpacket for non EP0 EPs was 1024. This is too much, since UMS LBA size is 512B Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: dwc3: gadget: Set all ctrl fields of Transfer Control Blocks (TRB) to ↵Lukasz Majewski2015-04-141-13/+2
| | | | | | | | | | | | | | | | | be LST It turned out that current dwc3 gadget code is preparing multiple TRBs for a transfer. Unfortunately, when multiple requests are in the same queue, only for the last one the LST (last) ctrl bit is set. Due to that dwc3 HW executes all TRBs up till the one marked as last. Unfortunately, UMS requires call of ->complete callback after any send TRB. This is the reason for "hangs" in executing UMS. This code simplifies this situation and set each TRB's ctrl field bit to be last (LST bit). Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: dwc3: optimize interrupt loopMarek Szyprowski2015-04-142-9/+13
| | | | | | | | There is no point in calling dwc3_thread_interrupt() if no event is pending. There is also no point in flushing event cache in EVERY loop iteration. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
* usb: dwc3: gadget: add common endpoint configuration for dwc3 udc driverMarek Szyprowski2015-04-142-1/+31
| | | | | | | | | This patch adds code to select standard, commonly used usb endpoint configuration (ep1in-bulk, ep2out-bulk, ep3in-int) to dwc3 driver. This ensures compatibility with old userspace and windows drivers, which expects hardcoded endpoint numbers. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
* usb: dwc3: add a workaround for too small OUT requestsMarek Szyprowski2015-04-141-0/+8
| | | | | | | DWC3 hangs on OUT requests smaller than maxpacket size, so HACK the request length to be at least equal to maxpacket size. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
* usb: dwc3: make dwc3_set_mode to staticJoonyoung Shim2015-04-142-2/+1
| | | | | | | This commit makes the dwc3_set_mode() as static, to prevent collisions. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: dwc3: Remove BIT(x) macro from DWC3's gadget codeLukasz Majewski2015-04-142-2/+2
| | | | | | | The BIT() macro is used only in those places, so it is reasonable to replace it by a constant value. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: composite: Add .reset callback to usb_gadget_driver structureLukasz Majewski2015-04-141-0/+1
| | | | | | | DWC3 UDC driver requires presence of .reset callback in a composite driver. This setting is similar to the one nowadays present in linux kernel. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: gadget: thor: Invoke board specific USB cleanup interfaceInha Song2015-04-141-0/+1
| | | | | | | This patch invokes board-specific USB cleanup (board_usb_cleanup) function in the thor gadget. Signed-off-by: Inha Song <ideal.song@samsung.com>
* usb: gadget: UMS: Invoke board specific USB cleanup interfaceInha Song2015-04-141-0/+1
| | | | | | | This patch invokes board-specific USB cleanup (board_usb_cleanup) function in the mass storage gadget Signed-off-by: Inha Song <ideal.song@samsung.com>
* usb: board: goni: Add default board_usb_cleanup() definition for Goni boardLukasz Majewski2015-04-141-0/+5
| | | | | | This definition is necessary for S5PC110 based GONI board to work properly. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: board: samsung: Add default board_usb_cleanup() definition for Exynos SoCsLukasz Majewski2015-04-141-0/+6
| | | | | | This definition is necessary for Exynos based boards to work properly. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: modify usb_gadget_handle_interrupts to take controller indexKishon Vijay Abraham I2015-04-1415-25/+25
| | | | | | | | | | | | | | Since we support multiple dwc3 controllers to be existent at the same time, in order to handle the interrupts of a particular dwc3 controller usb_gadget_handle_interrutps should take controller index as an argument. Hence the API of usb_gadget_handle_interrupts is modified to take controller index as an argument and made the corresponding changes to all the usb_gadget_handle_interrupts calls. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* include: configs: Enable DWC3 and DFU in AM43xxKishon Vijay Abraham I2015-04-141-1/+57
| | | | | | | | Enabled dwc3, dwc3-omap and PHY for dwc3 are enabled. Also enabled support for DFU. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* board: ti: AM43xx: added USB initializtion codeKishon Vijay Abraham I2015-04-142-0/+117
| | | | | | | | | Implemented board_usb_init(), board_usb_cleanup() and usb_gadget_handle_interrupts() in am43xx board file that can be invoked by various gadget drivers. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* include: configs: Enable DWC3 and DFU in DRA7xxKishon Vijay Abraham I2015-04-142-0/+68
| | | | | | | | Enabled dwc3, dwc3-omap and PHY for dwc3 are enabled. Also enabled support for DFU. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* board: ti: DRA7: added USB initializtion codeKishon Vijay Abraham I2015-04-142-0/+121
| | | | | | | | | Implemented board_usb_init(), board_usb_cleanup() and usb_gadget_handle_interrupts() in dra7xx board file that can be invoked by various gadget drivers. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* common: cmd_dfu: invoke board_usb_cleanup() for cleaning upKishon Vijay Abraham I2015-04-142-0/+7
| | | | | | | | Invoked board_usb_cleanup for cleaning up initialized USB. It will be invoked if the user enterts ctrl-C. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: gadget: defer setting maxpacket till ->setup()Kishon Vijay Abraham I2015-04-142-2/+4
| | | | | | | | | | | | Taken from linux kernel with commit commit 765f5b830e547229bb752e7b232ee83e2b3d49d5 Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu Jun 23 14:26:11 2011 +0200 usb: gadget: defer setting maxpacket till ->setup() Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: dwc3: Makefile: Make dwc3 driver compile in u-bootKishon Vijay Abraham I2015-04-143-33/+6
| | | | | | | | Now that the entire dwc3 driver is adapted to compile with uboot build, modify the Makefiles so that the dwc3 driver can be built. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: dwc3: Add chained TRB support for ep0Kishon Vijay Abraham I2015-04-142-19/+55
| | | | | | | | | dwc3 can do only max packet aligned transfers. So in case request length is not max packet aligned and is bigger than DWC3_EP0_BOUNCE_SIZE two chained TRBs is required to handle the transfer. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: dwc3: ep0: preparation for implementing chained TRBKishon Vijay Abraham I2015-04-141-8/+12
| | | | | | | | No functional change. Modified few things so that there are no code duplication while implementing chained TRB. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* dwc3: flush the buffers before using itKishon Vijay Abraham I2015-04-144-3/+27
| | | | | | | | In the linux kernel, non cacheable buffers are used. However in uboot since there are no APIs to allocate non cacheable memory, all the buffers should be flushed before using it. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
* usb: dwc3: TI PHY: PHY driver for dwc3 in TI platformsKishon Vijay Abraham I2015-04-142-0/+331
| | | | | | | | | | | | | | | Added a single driver for both USB2 PHY programming and USB3 PHY programming. USB3 PHY is taken from drivers/phy/phy-ti-pipe3.c in linux kernel. commit 56042e : phy: ti-pipe3: Fix suspend/resume and module reload. USB2 PHY is taken from drivers/phy/phy-omap-usb2.c in linux kernel. commit eb82a3 : phy: omap-usb2: Balance pm_runtime_enable() on probe failure and remove. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: dwc3: dwc3-omap: add interrupt status API to check for interruptsKishon Vijay Abraham I2015-04-142-0/+21
| | | | | | | | Added an API to check for interrupt status. This API is generally called from board file to check for interrupt status. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* dwc3: dwc3-omap: add support for multiple dwc3-omap controllersKishon Vijay Abraham I2015-04-142-7/+22
| | | | | | | | Added support for multiple dwc3 omap controllers. This gives uboot the capability to control multiple dwc3 omap controllers. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: dwc3: dwc3-omap: change probe and remove to uboot init and uboot exit codeKishon Vijay Abraham I2015-04-142-89/+42
| | | | | | | | | | | Removed probe and remove that are specific to linux and replaced it with uboot init and uboot exit. These functions will be invoked from boardfile. This will change once we have dwc3-omap driver adapted to use the uboot driver model. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* include: dwc3-omap-uboot: add a structure for populating dwc3-omap platform dataKishon Vijay Abraham I2015-04-142-7/+27
| | | | | | | | | | Added a structure to populate dwc3 omap platform data. The board file should populate these platform data before invoking dwc3 omap driver. This will be removed once dwc3-omap driver is adapted to use the driver model. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: dwc3: dwc3-omap: make dwc3-omap build in ubootKishon Vijay Abraham I2015-04-142-136/+27
| | | | | | | | | | | *) Changed the included header files to that used in u-boot. *) Removed extcon_* APIs *) Removed regulator_* APIs *) Fixed other misc warnings *) Added dwc3-omap.h to include the definitions of UTMI modes. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* dwc3: core: added an API to invoke irq handlersKishon Vijay Abraham I2015-04-142-0/+22
| | | | | | | | | Since interrupt support is not present in u-boot, added an API to handle the interrupts in dwc3 core. This API can be polled to handle the interrupts. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* dwc3: core: add support for multiple dwc3 controllersKishon Vijay Abraham I2015-04-143-9/+30
| | | | | | | | Added support for multiple dwc3 controllers. This gives uboot the capability to control multiple dwc3 controllers. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* dwc3: core: change probe and remove to uboot init and uboot exit codeKishon Vijay Abraham I2015-04-141-166/+52
| | | | | | | | Removed probe and remove that are specific to linux and replaced it with uboot init and uboot exit. These functions will be invoked from boardfile. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* include: dwc3-uboot: add a structure for populating platform dataKishon Vijay Abraham I2015-04-141-0/+40
| | | | | | | | | Added a structure to populate dwc3 core platform data. The board file should populate these platform data before invoking dwc3 driver. This will be removed once we have dwc3 driver adapted to use the driver model. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: dwc3: core: make dwc3 core build in ubootKishon Vijay Abraham I2015-04-143-196/+40
| | | | | | | | | | | *) Changed the include header files to that used in u-boot. *) Removed phy_* APIs *) Removed jiffies and used a simple while loop *) Used dma_alloc_coherent and dma_free_coherent APIs of u-boot *) Fixed other misc warnings Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* include: usb: composite: add USB_GADGET_DELAYED_STATUS to avoid compilation ↵Kishon Vijay Abraham I2015-04-141-0/+9
| | | | | | | | | | | | | | | | | | | | | error Added USB_GADGET_DELAYED_STATUS to avoid the following compilation error. error: ‘USB_GADGET_DELAYED_STATUS’ undeclared (first use in this function) while compiling dwc3/ep0.c While this is been added only to avoid compilation error, the complete fix should be something like the one added in linux kernel. The complete fix will be ported once we have the composite driver in u-boot look similar to the one in linux kernel. commit 1b9ba000177ee47bcc5b44c7c34e48e735f5f9b1 Author: Roger Quadros <roger.quadros@nokia.com> Date: Mon May 9 13:08:06 2011 +0300 usb: gadget: composite: Allow function drivers to pause control transfers Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* usb: dwc3: ep0: make dwc3 ep0 build in ubootKishon Vijay Abraham I2015-04-143-12/+27
| | | | | | | | | *) Changed the included header files to that used in u-boot. *) added dwc3_ep_event_string() used in ep0.c *) Fixed other misc warnings Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* include: asm: types: add resource_size_t typeKishon Vijay Abraham I2015-04-141-0/+1
| | | | | | | | | Added resource_size_t type in order to get rid of the following compilation error whiel building dwc3 gadget. include/linux/ioport.h:19:2: error: unknown type name ‘resource_size_t’ Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
OpenPOWER on IntegriCloud