summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-01-18musb-new: Properly remove a transfer from the schedule on timeoutHans de Goede
If a transfer / urb times-out, properly remove it from the schedule, rather then letting it sit on the ep head. This stops the musb code from getting confused and refusing to queue further transfers after a timeout. Tested by unplugging a usb-keyboard, replugging it and doing a usb-reset, before this commit the keyboard would not work after the usb-reset. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18musb-new: Fix reset sequence when in host modeHans de Goede
This commit fixes a number of issues with the reset sequence of musb-new in host mode: 1) Our usb device probe relies on a second device reset being done after the first descriptors read. Factor the musb reset code into a usb_reset_root_port function (and add this as an empty define for other controllers), and call this when a device has no parent. 2) Just like with normal usb controllers there needs to be a delay after reset, for normal usb controllers, this is handled in hub_port_reset, add a delay to usb_reset_root_port. 3) Sync the musb reset sequence with the upstream kernel, clear all bits of power except bits 4-7, and increase the time reset is asserted to 50 ms. With these fixes an usb keyboard I have now always enumerates properly, where as earlier it would only enumerare properly once every 5 tries. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18musb-new: Fix interrupt transfers not workingHans de Goede
For bulk and ctrl transfers common/usb.c sets udev->status = USB_ST_NOT_PROC, but it does not do so for interrupt transfers. musb_uboot.c: submit_urb() however was waiting for USB_ST_NOT_PROC to become 0, and thus without anyone setting USB_ST_NOT_PROC would exit immediately for interrupt urbs, returning the urb status of EINPROGRESS as error. This commit fixes this, thereby also making usb_kbd.c work together with musb_new and CONFIG_SYS_USB_EVENT_POLL. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18musb-new: Use time based timeouts rather then cpu-cycles based timeoutsHans de Goede
CPU cycle based timeouts are no good, because how long they use depends on CPU speed. Instead use time based timeouts, and wait one second for a device connection to show up (per the USB spec), and wait USB_TIMEOUT_MS for various urbs to complete. This fixes "usb start" taking for ever when no device is plugged into the otg port. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18musb-new: Add sunxi musb controller supportHans de Goede
This is based on Jussi Kivilinna's work for the linux-sunxi-3.4 kernel to use the kernels musb driver instead of Allwinners own custom driver. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18musb-new: Add register defines for different reg layout on sunxiHans de Goede
The sunxi SoCs also have a musb controller, but with a different register layout. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18usb: Do not log an error when no devices is plugged into a root-hub-less hcdHans de Goede
Before this commit u-boot would print the following on boot with musb and no usb device plugged in: starting USB... USB0: Port not available. USB error: all controllers failed lowlevel init This commit changes this to: starting USB... USB0: Port not available. Which is the correct thing to do since the low-level init went fine. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18usb: Fix usb_kbd_deregister when console-muxing is usedHans de Goede
When iomuxing is used we must not only deregister the device with stdio.c, but also remove the reference to the device in the console_devices array used by console-muxing. Add a call to iomux_doenv to usb_kbd_deregister to update console_devices, which will drop the reference. This fixes the console filling with "Failed to enqueue URB to controller" messages after a "usb stop force", or when the USB keyboard is gone after a "usb reset". Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18usb: Add an interval parameter to create_int_queueHans de Goede
Currently create_int_queue is only implemented by the ehci code, and that does not honor interrupt intervals, but other drivers which might also want to implement create_int_queue may honor intervals, so add an interval param. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18config_distro_bootcmd.h: Remove unnecessary magic to avoid repeated USB scansHans de Goede
Now that "usb start" will only start usb if not already started, we can simply call "usb start" whenever we (may) need access to usb devices, and it will only actually scan the bus at the first call. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18USB: make "usb start" start usb only onceHans de Goede
Currently we've this magic in include/config_distro_bootcmd.h to avoid scanning the usb bus multiple times. And it does not work when also using an usb keyboard because then the preboot command has already scanned the bus, so we're still scanning it twice. This commit makes "usb start" only start usb if it is no already started, allowing us to remove all the magic for it from include/config_distro_bootcmd.h and just call it unconditionally. This also causes "usb start" and "usb reset" to actually do what their different names suggest, rather then both of them doing exactly the same. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18usb: gadget: pxa25x_udc: fix use-before-initialized bugAlex Sadovsky
Fix use-before-initialized bug in pxa25x_udc driver. Function usb_gadget_register_driver calls udc_disable, and udc_disable calls pullup_off that uses dev->mach->udc_command. But dev->mach is initialized in usb_gadget_register_driver after calling udc_disable. This patch fixes the order of initialization. Signed-off-by: Alex Sadovsky <Nable.MainInbox@googlemail.com>
2015-01-18usb: gadget: f_dfu: Add get_alt function to pass the USB compliance testStefan Roese
Without this function the USB compliance test (USB 2.0 Command Verifier) will fail in the "Interface Descriptor Test" with this error message: FAIL (1.2.51) A successful GetInterface request must return the alternate setting set by a prior call to SetInterface. Lets add this function to read back the value so that the DFU device fully passes the USB compliance test. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Roger Meier <r.meier@siemens.com> Cc: Samuel Egli <samuel.egli@siemens.com> Cc: Enrico Leto <enrico.leto@siemens.com> Acked-by: Heiko Schocher <hs@denx.de> Cc: Lukasz Majewski <l.majewski@samsung.com> Cc: Marek Vasut <marex@denx.de>
2015-01-18usb: gadget: composite: Fix NULL pointer crash in USB compliance testStefan Roese
On the DXR2 board (AM335x using MUSB) the USB compliance test suite (USB 2.0 Command Verifier) will cause the board to crash and reset upon the "BOS Descriptor Test - Addressed state". Here the output from the DRX2 while running this test: GADGET DRIVER: usb_dnl_dfu musb-hdrc: peripheral reset irq lost! composite_setup (776) data abort pc : [<87f693ac>] lr : [<87f6911c>] sp : 86f33a58 ip : 00000000 fp : 86f3bbac r10: 00000f00 r9 : 86f33ef4 r8 : 86f37da8 r7 : 00000005 r6 : 86f33a90 r5 : 00000000 r4 : 86f37e30 r3 : 00000000 r2 : 00000000 r1 : 87f9c888 r0 : 00000016 Flags: Nzcv IRQs off FIQs on Mode SVC_32 Resetting CPU ... resetting ... By adding the case statement for USB_DT_BOS and therefore not running into the default case (jump to unkown label) this crash is fixed. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Roger Meier <r.meier@siemens.com> Cc: Samuel Egli <samuel.egli@siemens.com> Cc: Enrico Leto <enrico.leto@siemens.com> Acked-by: Heiko Schocher <hs@denx.de> Cc: Lukasz Majewski <l.majewski@samsung.com> Cc: Marek Vasut <marex@denx.de>
2015-01-16Merge branch 'master' of git://git.denx.de/u-boot-tiTom Rini
2015-01-16powerpc: 74xx_7xx: remove 74xx_7xx cpu supportMasahiro Yamada
All the 74xx_7xx boards are still non-generic boards: P3G4, ZUMA, ppmc7xx, ELPPC, mpc7448hpc2 Acked-by: Marek Vasut <marex@denx.de> Acked-by: Stefan Roese <sr@denx.de> Acked-by: York Sun <yorksun@freescale.com> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Nye Liu <nyet@zumanetworks.com> Cc: Roy Zang <tie-fei.zang@freescale.com>
2015-01-16mpc8xx: remove unused linker scriptMasahiro Yamada
Now TQM8xx is the only remaining board family of mpc8xx. It uses its own linker script, board/tqc/tqm8xx/u-boot.lds. arch/powerpc/cpu/mpc8xx/u-boot.lds is not used by any boards. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Wolfgang Denk <wd@denx.de>
2015-01-16ppc4xx: remove dead codeMasahiro Yamada
Since commit 843125daebd7 (ppc4xx: remove HH405 board), CONFIG_HH405 is not defined. Since commit d52633047913 (ppc4xx: remove PMC405), CONFIG_PMC405 is not defined. Acked-by: Stefan Roese <sr@denx.de> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Matthias Fuchs <matthias.fuchs@esd.eu>
2015-01-15Merge branch 'buildman' of git://git.denx.de/u-boot-x86Tom Rini
2015-01-14buildman: Add an option to write the full build outputSimon Glass
Normally buildman runs with 'make -s' meaning that only errors and warnings appear in the log file. Add a -V option to run make in verbose mode, and with V=1, causing a full build log to be created. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14buildman: Add the option to download toolchains from kernel.orgSimon Glass
The site at https://www.kernel.org/pub/tools/crosstool/ is a convenient repository of toolchains which can be used for U-Boot. Add a feature to download and install a toolchain for a selected architecture automatically. It isn't clear how long this site will stay in the current place and format, but we should be able to rely on bug reports if it changes. Suggested-by: Marek VaĊĦut <marex@denx.de> Suggested-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14buildman: Allow architecture to alias to multiple toolchainsSimon Glass
Some archs have need than one alias, so support a list of alises in the ..buildman file. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14buildman: Don't use the local settings when running testsSimon Glass
We should create a test setting file when running testes, not use whatever happens to be on the local machine. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14buildman: Don't complain about missing sections in ~/.buildmanSimon Glass
Silently ignore this since it is valid to have missing sections. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14buildman: Add documentation about the .buildman fileSimon Glass
This file is only partially documented. Add some more details. Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Wolfgang Denk <wd@denx.de>
2015-01-14buildman: Add a note about Python pre-requisitesSimon Glass
Since we need a few modules which might not be available in a bare-bones distribution, add a note about that to the README. Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Wolfgang Denk <wd@denx.de>
2015-01-14buildman: Add an option to use the full tool chain pathSimon Glass
In some cases there may be multiple toolchains with the same name in the path. Provide an option to use the full path in the CROSS_COMPILE environment variable. Note: Wolfgang mentioned that this is dangerous since in some cases there may be other tools on the path that are needed. So this is set up as an option, not the default. I will need test confirmation (i.e. that this commit fixes a real problem) before merging it. Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Steve Rae <srae@broadcom.com>
2015-01-14buildman: Put the toolchain path first instead of last in PATHSimon Glass
If: 1. Toolchains A and B have the same filename 2. Toolchain A is in the PATH 3. Toolchain B is given in ~/.buildman and buildman uses it to build then buildman will add toolchain B to the end of its path but will not necessarily use it since U-Boot will find toolchain A first in the PATH. Try to fix this by putting the toolchain first in the path instead of last. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14buildman: Try to avoid hard-coded string parsingSimon Glass
The assumption that the compiler name will always end in gcc is incorrect for clang and apparently on BSD. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14buildman: Allow specifying a range of commits to buildSimon Glass
Adjust the -b flag to permit a range expression as well as a branch. Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Tested-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2015-01-14buildman: Don't remove entire output directory when testingSimon Glass
When running tests the output directory is often wiped. This is only safe if a branch is being built. The output directory may contain other things besides the buildman test output. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14buildman: Add an option to flatten output directory treesSimon Glass
When building current source for a single board, buildman puts the output in <output_dir>/current/current/<board>. Add an option to make it use <output_dir>/<board> instead. This removes the unnecessary directories in that case, controlled by the --no-subdirs/-N option. Suggested-by: Tom Rini <trini@ti.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14buildman: Try to guess the upstream commitSimon Glass
Buildman normally obtains the upstream commit by asking git. Provided that the branch was created with 'git checkout -b <branch> <some_upstream>' then this normally works. When there is no upstream, we can try to guess one, by looking up through the commits until we find a branch. Add a function to try this and print a warning if buildman ends up relying on it. Also update the documentation to match. Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Wolfgang Denk <wd@denx.de>
2015-01-14buildman: Don't prune output space for 'current source' buildSimon Glass
This is not needed since we always do a full (non-incremental) build. Also it might be dangerous since it will try to delete everything below the base directory. Fix this potentially nasty bug. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14buildman: Put build in 'current', not 'current/current'Simon Glass
Buildman currently puts current-source builds in a current/current subdirectory, but there is no need for the extra depth. Suggested-by: Albert Aribaud <albert.u.boot@aribaud.net> Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14buildman: Add tests that check the correct output directory is usedSimon Glass
Add a few tests of the output directory logic. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14Merge branch 'next' of git://git.denx.de/u-boot-videoTom Rini
2015-01-14net: Declare physical address as phys_addr_t unsigned typeMichal Simek
Use phys_addr_t instead of int for addresses. Addresses can't be < 0. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-01-14ARM: armv8: Fix typo in commentaryMichal Simek
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-01-14doc: ARM: Use the right function nameMichal Simek
Trivial fix. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-01-14Kconfig: move CONFIG_SYS_CLK_FREQ to KconfigAlexey Brodkin
It makes sense to specify CONFIG_SYS_CLK_FREQ in "configs/xx_defconfig" instead of "include/configs/xxx.h" because then header will be reusable across boards with different CPU clocks. Also this nice to have an ability for end user to tune this value himself via "menuconfig". For now I'm only applying this change to all ARC configs because otherwise scope of change will be huge. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Tom Rini <trini@ti.com> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Hans de Goede <hdegoede@redhat.com> cc: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@ti.com>
2015-01-14spl: spl_nor: surround Linux-load code with #ifdef CONFIG_SPL_OS_BOOTMasahiro Yamada
If CONFIG_SPL_NOR_SUPPORT is defined, spl_nor_load_image() requires spl_start_uboot(), CONFIG_SYS_OS_BASE, CONFIG_SYS_SPL_ARGS_ADDR, CONFIG_SYS_FDT_BASE to be defined even if users just want to run U-Boot, not Linux. This is inconvenient. This patch is following the codying style of common/spl/spl_nand.c. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2015-01-14image: Enable OpenRTOS booting via fitImageMarek Vasut
Allow booting the OpenRTOS payloads via fitImage image type. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-01-14image: bootm: Add OpenRTOS image typeMarek Vasut
Add separate image type for the Wittenstein OpenRTOS . Signed-off-by: Marek Vasut <marex@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-01-14Add support for Seagate BlackArmor NAS220Evgeni Dobrev
Add support for Seagate BlackArmor NAS220 Signed-off-by: Evgeni Dobrev <evgeni@studio-punkt.com>
2015-01-14arm: vf610: Remove duplicate MTD defines.Bill Pringlemeir
Some MTD defines are repeated twice; once with UBI and then with MTD. Remove the duplicate MTD defines from the UBI grouping. Signed-off-by: Bill Pringlemeir <bpringlemeir@nbsps.com>
2015-01-14lzo: Update dst_len even on errorSimon Glass
This allows the caller to easily detect how much of the destination buffer has been used. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14gunzip: Update lenp even on errorSimon Glass
This allows the caller to easily detect how much of the destination buffer has been used. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14bzlib: Update destLen even on errorSimon Glass
This allows the caller to easily detect how much of the destination buffer has been used. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-14bootm: Factor out common parts of image decompression codeSimon Glass
Adjust the code so that the error reporting can all be done at the end, and is the same for each decompression method. Try to detect when decompression fails due to lack of space. Keep the behaviour of resetting on failure even though there should be no memory corruption now. Signed-off-by: Simon Glass <sjg@chromium.org>