summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* usb:gadget: USB Mass Storage Gadget supportLukasz Majewski2013-03-18-0/+148
| | | | | | | | | | | | | | This patch adds the USB Mass Storage Gadget to u-boot New command called "ums" is implemented to provide access to on-device embedded persistent memory. USB Mass Storage is supposed to work on top of the USB Gadget framework Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> CC: Marek Vasut <marek.vasut@gmail.com>
* usb:composite: USB Mass Storage - f_mass_storage.c from Linux kernelPiotr Wilczek2013-03-18-0/+2793
| | | | | | | | | | | | | | | The f_mass_storage.c source file from v2.6.36 Linux kernel. commit 8876f5e7d3b2a320777dd4f6f5301d474c97a06c Author: Michal Nazarewicz <m.nazarewicz@samsung.com> Date: Mon Jun 21 13:57:09 2010 +0200 USB: gadget: f_mass_storage: added eject callback Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> CC: Marek Vasut <marek.vasut@gmail.com>
* usb:composite: USB Mass Storage - storage_common.c from Linux kernelLukasz Majewski2013-03-18-0/+653
| | | | | | | | | | | | | | | The storage_common.c source file from v2.6.36 Linux kernel. commit d26a6aa08b9f12b44fb1ee65625e7480d3d5bb81 Author: Michal Nazarewicz <m.nazarewicz@samsung.com> Date: Mon Nov 9 14:15:23 2009 +0100 USB: g_mass_storage: code cleaned up and comments updated Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> CC: Marek Vasut <marek.vasut@gmail.com>
* usb:composite:fix Provide function data when addressing device with only one ↵Lukasz Majewski2013-03-18-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | interface This commit fixes problems with some non-standard requests send with device address instead of interface address (bmRequestType.Receipent field). This happens with dfu-util (debian version: 0.5), which address non standard requests (like w_value=0x21 and bRequest=GET_DESCRIPTOR) to device. Without this fix, the above request is STALLED, and hence causes dfu-util to assume some standard configuration (packet size = 1024B instead of 4096B) In turn it displays following errors: Error obtaining DFU functional descriptor Warning: Assuming DFU version 1.0 Warning: Transfer size can not be detected ... Warning: Trying default transfer size 1024 This fix allows passing non-standard request to function setup code, where it shall be handled. Tested at: Trats (exynos4210) Tested with:DFU and UMS gadgets Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
* usbtty: adapt buffers for large packet supportShiraz Hashim2013-03-16-2/+4
| | | | | | | Increase buffer sizes at driver and tty level to accommodate kermit large packet support. Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
* usb/host/ehci: Add support for EHCI on spearVipin Kumar2013-03-16-0/+60
| | | | | | | Add EHCI support for spear boards Signed-off-by: Armando Visconti <armando.visconti@st.com> Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
* usb: Fix bug when both DFU & ETHER are definedPantelis Antoniou2013-03-16-2/+8
| | | | | | | | | | | When both CONFIG_USB_GADGET & CONFIG_USB_ETHER are defined the makefile links objects twice. This patch uses a Makefile specific idiom of 'if defined(CONFIG_USB_GADGET) || defined(CONFIG_USB_ETHER)' to handle the case. Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
* dfu: Add a partition type targetPantelis Antoniou2013-03-16-0/+31
| | | | | | | Dealing with raw block numbers with the dfu is very annoying. Introduce a partition method. Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
* dfu: Properly zero out timeout valuePantelis Antoniou2013-03-16-0/+3
| | | | | | | Zero out timeout value; letting it filled with undefined values ends up with the dfu host hanging. Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
* dfu: Fix crash when wrong number of arguments givenPantelis Antoniou2013-03-16-1/+1
| | | | | | | Fix obvious crash when not enough arguments are given to the dfu command. Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
* dfu: Only perform DFU board_usb_init() for TRATSPantelis Antoniou2013-03-16-0/+3
| | | | | | USB initialization shouldn't happen for all the boards. Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
* usb: ehci: Add 64-bit controller supportVincent Palatin2013-03-16-0/+3
| | | | | | | | On EHCI controller with 64-bit address space support, we must initialize properly the high word for the PCI bus master accesses. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
* usb: ehci: generic PCI supportVincent Palatin2013-03-16-1/+40
| | | | | | | | | Instead of hardcoding the PCI IDs on the USB controller, use the PCI class to detect them. Ensure the busmaster bit is properly set in the PCI configuration. Signed-off-by: Simon Glass <sjg@chromium.org>
* Use 'unsigned int' for global_data's baudrateSimon Glass2013-03-15-1/+1
| | | | | | | | We decided to used unsigned int here, rather than unsigned long. But for the generic global_data it is still unsigned long. So change it over. Signed-off-by: Simon Glass <sjg@chromium.org>
* sparc: Fix build warnings in serial.cSimon Glass2013-03-15-20/+0
| | | | | | | | | | | | | | | | | These macros are already defined in io.h so should not be declared in serial.c. serial.c:38:0: warning: "READ_BYTE" redefined /home/sjg/c/src/third_party/u-boot/files/include/asm/io.h:36:0: note: this is the location of the previous definition serial.c:39:0: warning: "READ_HWORD" redefined /home/sjg/c/src/third_party/u-boot/files/include/asm/io.h:37:0: note: this is the location of the previous definition serial.c:40:0: warning: "READ_WORD" redefined /home/sjg/c/src/third_party/u-boot/files/include/asm/io.h:38:0: note: this is the location of the previous definition serial.c:41:0: warning: "READ_DWORD" redefined /home/sjg/c/src/third_party/u-boot/files/include/asm/io.h:39:0: note: this is the location of the previous definition Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
* sparc: Fix out-of-tree buildingSimon Glass2013-03-15-14/+0
| | | | | | | | It isn't clear why the sparc cpu Makefile has its own compile line, but it does not work correctly with an out-of-tree build. Removing it fixes this problem. Perhaps it does not introduce others. Signed-off-by: Simon Glass <sjg@chromium.org>
* serial: ns16550: Remove unwanted castSimon Glass2013-03-15-1/+1
| | | | | | | | | | | This cast does not seem correct, since we should be writing to a pointer, not a ulong. This fixes the following warning on nds32: -ns16550.c:49: warning: passing argument 2 of 'writeb' makes pointer from integer without a cast Signed-off-by: Simon Glass <sjg@chromium.org>
* avr32: Fix cast warning in board.cSimon Glass2013-03-15-2/+2
| | | | | | | | The frame buffer pointer in global_data is not a pointer, so we should remove these casts. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Andreas Bießmann <andreas.devel@googlemail.com>
* blackfin: Remove noreturn attribute from cpu_init_f()Simon Glass2013-03-15-1/+0
| | | | | | | Now that board_init_f() is not marked as noreturn, we need to do the same to blackfin's cpu_init_f() function. Signed-off-by: Simon Glass <sjg@chromium.org>
* blackfin: Fix up board_type global dataSimon Glass2013-03-15-1/+2
| | | | | | This should be in arch_global_data but was dropped in the change-over. Signed-off-by: Simon Glass <sjg@chromium.org>
* exynos5: Enable generic board for Exynos5 device tree boardsSimon Glass2013-03-15-0/+1
| | | | | | | Enable CONFIG_SYS_GENERIC_BOARD for all Exynos5 boards that use CONFIG_OF_CONTROL. Signed-off-by: Simon Glass <sjg@chromium.org>
* x86: Enable generic boardSimon Glass2013-03-15-0/+1
| | | | | | | This will be used exclusively on x86, so enable it for the whole architecture. Signed-off-by: Simon Glass <sjg@chromium.org>
* tegra: Enable generic board for TegraSimon Glass2013-03-15-0/+2
| | | | | | Bravely enable CONFIG_SYS_GENERIC_BOARD for all Tegra boards. Signed-off-by: Simon Glass <sjg@chromium.org>
* x86: Enable generic board supportSimon Glass2013-03-15-0/+19
| | | | | | | This enables generic board support so that x86 boards can define CONFIG_SYS_GENERIC_BOARD. Signed-off-by: Simon Glass <sjg@chromium.org>
* x86: Use sections header to obtain link symbolsSimon Glass2013-03-15-12/+5
| | | | | | | These are defined in asm-generic/sections.h, so remove them from architecture-specific files. Signed-off-by: Simon Glass <sjg@chromium.org>
* x86: Adjust board_r.c for x86Simon Glass2013-03-15-2/+21
| | | | | | | For x86 the global_data is managed entirely by the start.S code so we do not need to touch it. However, we do have some more initcalls to add. Signed-off-by: Simon Glass <sjg@chromium.org>
* x86: Adjust board_f.c for x86Simon Glass2013-03-15-2/+81
| | | | | | | | | | | | For x86, things have adjusted somewhat since this series was originally written. It has its own way of running through initcalls which is actually nicer than others archs. Unfortunately this does introduce exceptions. We will soon require use of generic board on x86, but until then we need to fit in with what is there, and treat x86 as a special case. Signed-off-by: Simon Glass <sjg@chromium.org>
* ppc: Enable generic board supportSimon Glass2013-03-15-0/+12
| | | | | | | This enables generic board support so that ppc boards can define CONFIG_SYS_GENERIC_BOARD. Signed-off-by: Simon Glass <sjg@chromium.org>
* Adjust board_r.c for ppcSimon Glass2013-03-15-3/+485
| | | | | | This adds ppc features to the generic post-relocation board init. Signed-off-by: Simon Glass <sjg@chromium.org>
* Adjust board_f.c for ppcSimon Glass2013-03-15-2/+332
| | | | | | | | This adds ppc features to the generic pre-relocation board init. This is a separate commit so that these features are clearly shown. Signed-off-by: Simon Glass <sjg@chromium.org>
* Add CONFIG_SYS_SYM_OFFSETS to support offset symbolsSimon Glass2013-03-15-0/+21
| | | | | | | | | | | | Link symbols as created by the link script can either be absolute or relative to the text start. This option switches between the two options so that we can support both. As we convert architectures over to generic board, we can see if this option is actually needed, or whether it is possible to unify this feature also. Signed-off-by: Simon Glass <sjg@chromium.org>
* arm: Enable generic board supportSimon Glass2013-03-15-0/+15
| | | | | | | This enables generic board support so that ARM boards can define CONFIG_SYS_GENERIC_BOARD. Signed-off-by: Simon Glass <sjg@chromium.org>
* arm: Remove use of board_early_init_r/last_stage_init()Simon Glass2013-03-15-4/+4
| | | | | | | | | | | These boards define CONFIG_LAST_STAGE_INIT and CONFIG_BOARD_EARLY_INIT_R but these options are not available on ARM. Move them into the powerpc common file instead. This change affects: km_kirkwood_pci, mgcoge3un, kmnusa, kmcoge5un, km_kirkwood and portl2. Signed-off-by: Simon Glass <sjg@chromium.org>
* Add spl load featureSimon Glass2013-03-15-0/+13
| | | | | | This adds secondary program loader support to the generic board. Signed-off-by: Simon Glass <sjg@chromium.org>
* Introduce generic post-relocation board_r.cSimon Glass2013-03-15-1/+425
| | | | | | | This file handles common post-relocation init for boards which use the generic framework. Signed-off-by: Simon Glass <sjg@chromium.org>
* Introduce generic pre-relocation board_f.cSimon Glass2013-03-15-6/+591
| | | | | | | | | | | | This file handles common pre-relocation init for boards which use the generic framework. It starts up the console, DRAM, performs relocation and then jumps to post-relocation init. Signed-off-by: Simon Glass <sjg@chromium.org> Tested-by: Wolfgang Denk <wd@denx.de> Acked-by: Wolfgang Denk <wd@denx.de>
* Declare watchdog functions in watchdog.hSimon Glass2013-03-15-9/+22
| | | | | | | | These functions are only available for powerpc and are not declared in a header file. We want to use the rest function in two places (board_f and board_r), so declare the functions in watchdog.h. Signed-off-by: Simon Glass <sjg@chromium.org>
* __HAVE_ARCH_GENERIC_BOARD controls availabilty of generic boardSimon Glass2013-03-15-0/+18
| | | | | | | | | | | We are introducing a new unified board setup. Add a check to make sure that board config files do not define CONFIG_SYS_GENERIC_BOARD unless their architecture defines __HAVE_ARCH_GENERIC_BOARD __HAVE_ARCH_GENERIC_BOARD will currently not be the default setting, but we can switch this later when most architecture support generic board. Signed-off-by: Simon Glass <sjg@chromium.org>
* Introduce a basic initcall implementationSimon Glass2013-03-15-0/+65
| | | | | | | | | | | This library supports calling a list of functions one after the other. It is intended that we move to a more powerful initcall implementation as proposed by Graeme Russ <graeme.russ@gmail.com>. For now, this allows us to do the basics. Signed-off-by: Simon Glass <sjg@chromium.org>
* Change stub example to use asm-generic/sections.hSimon Glass2013-03-15-13/+12
| | | | | | | We can use the declarations of __bss_start and _end from this header instead of declaring them locally. Signed-off-by: Simon Glass <sjg@chromium.org>
* arm: Use sections header to obtain link symbolsSimon Glass2013-03-15-4/+3
| | | | | | | Include this header to get access to link symbols, which are otherwise removed. Signed-off-by: Simon Glass <sjg@chromium.org>
* Introduce generic link section.h symbol filesSimon Glass2013-03-15-4/+447
| | | | | | | | | | | | | | | | | | We create a separate header file for link symbols defined by the link scripts. It is helpful to have these all in one place and try to make them common across architectures. Since Linux already has a similar file, we bring this in even though many of the symbols there are not relevant to us. Each architecture has its own asm/sections.h where symbols specifc to that architecture can be added. For now everything except AVR32 just includes the generic header. One change is needed in arch/avr32/lib/board.c to make this conversion work. Reviewed-by: Tom Rini <trini@ti.com> (version 5) Signed-off-by: Simon Glass <sjg@chromium.org>
* Replace __bss_end__ with __bss_endSimon Glass2013-03-15-207/+207
| | | | | | | | | | | | | Note this is a tree-wide change affecting multiple architectures. At present we use __bss_start, but mostly __bss_end__. This seems inconsistent and in a number of places __bss_end is used instead. Change to use __bss_end for the BSS end symbol throughout U-Boot. This makes it possible to use the asm-generic/sections.h file on all archs. Signed-off-by: Simon Glass <sjg@chromium.org>
* Introduce generic u-boot.h fileSimon Glass2013-03-15-0/+162
| | | | | | | | This file holds the board info structure. We need this to be generic for the unified board series, so create a structure which contains the basic fields required by the main architectures. Signed-off-by: Simon Glass <sjg@chromium.org>
* I2C: S3C24X0: Bug fixes in i2c_transferRajeshwari Shinde2013-03-12-8/+6
| | | | | | | | | | | | | | | | | | This patch corrects the following issues 1) Write the correct M/T Stop value to I2CSTAT after i2c write. According to the spec, after finish the data transmission, we should write a M/T Stop (I2C_MODE_MT | I2C_TXRX_ENA) to I2CSTAT instead of a M/R Stop (I2C_MODE_MR | I2C_TXRX_ENA). 2) Not split the write to I2CSTAT into 2 steps in i2c read. According to the spec, we should write the combined M/R Start value to I2CSTAT after setting the slave address to I2CDS 3) Fix the mistake of making an equality check to an assignment. In the case of I2C write with the zero-length address, while tranfering the data, it should be an equality check (==) instead of an assignment (=). Signed-off-by: Tom Wai-Hong Tam <waihong@chromium.org> Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
* I2C: S3C24X0: Remove the dead codeRajeshwari Shinde2013-03-12-7/+0
| | | | | | | | This revomes the code under #if 0 in the s3c24x0_i2c driver. Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com> Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com> Acked-by: Simon Glass <sjg@chromium.org>
* cmd_mem.c: Fix warning when CONFIG_CMD_MEMTEST is not setTom Rini2013-03-12-1/+1
| | | | | | | mem_test_quick and mem_test_alt functions are only called by do_mem_mtest, so move them under the #ifdef Signed-off-by: Tom Rini <trini@ti.com>
* CONFIG_BOOTDELAY default should not affect runtimeJoe Hershberger2013-03-12-8/+6
| | | | | | | | | | | Because the code that handles bootdelay is compiled in conditionally based on the default value, you are restricted in the default, regardless of what you want the runtime options to be. Change the source to always check if any default is given so that other values can be selected and used at runtime. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* common/main: move set_working_fdt_addr to enable usage of $fdtaddrBarak Wasserstrom2013-03-12-4/+4
| | | | | | | When using $fdtaddr in $bootcmd and $bootcmd is automatically called, $fdtaddr is yet not defined. Signed-off-by: Barak Wasserstrom <wbarak@gmail.com>
* env: fix "env ask" commandWolfgang Denk2013-03-12-26/+28
| | | | | | | | | | | | | | | | | | | | The "env ask" traditionally uses a somewhat awkward syntax: env ask name [message ...] [size] So far, when a mesage was given, you always also had to enter a size. If you forgot to do that, the command would terminate without any indication of the problem. To avoid incompatible changes of the interface, we now check the last argument if it can be converted into a decimal number. If this is the case, we assume it is a size; otherwise we treat it as part of the message. Also, add a space after the message fore easier reading, and clean up help mesage. Signed-off-by: Wolfgang Denk <wd@denx.de>