- 03 11月, 2012 28 次提交
-
-
由 Marc Jones 提交于
Writes in u-boot are so rare, and the logic to know when is the last write and do a flush only there is sufficiently difficult. Just do a flush after every write. This incurs, usually, one extra flush when the rare writes do happen. Signed-off-by: NMarc Jones <marc.jones@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Marc Jones 提交于
Add HDD handling to the SSD-only AHCI driver, by separately dealing with spin-up and link-up. Signed-off-by: NMarc Jones <marc.jones@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Walter Murphy 提交于
Note: These are timeout values and not delay values, so the event being timed out will complete whenever it is actually ready, with a measurement granularity of 1 millisecond, up till the timeout value. Therefore, there is no effect on SSD booting. The values were determined by instrumenting the code and measuring the actual time taken by several different models of HDD for each of the parameters and then adding 50% more for the spinup value and just doubling the command timeout value. Signed-off-by: NWalter Murphy <wmurphy@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Taylor Hutt 提交于
Exynos5 automatically performs DMA when the SATA controller executes commands. This adds the necessary dcache-to-memory flush & invalidation calls to allow the DMA to properly function. Signed-off-by: NTaylor Hutt <thutt@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Taylor Hutt 提交于
Update the assignment of various physical memory buffers used by the SATA controller to explicitly be denoted as physical addresses. The memory is identity-mapped, so these function calls are a nop, but they provide good semantic documentation for any maintainers. The return value of virt_to_phys() is 'unsigned long'. On machines where sizeof(unsigned long) != sizeof(pointer), a cast through (uintptr_t) is needed to appease the compiler due to the potential of losing the upper 32 bits of the address. In compilation this scenario, a physical address could be 64-bits, yet the C pointer environment only allows 32-bit addresses; the constraint is that pointers cannot address more than 4Gb of memory and if virt_to_phys() ever returns an out-of-range value for the physical address, there are issues with emmory mapping which must be solved. However, since the memory is identify mappeed, there is no problem introducing the cast: the original pointer will reside in 32-bits, so the physical address will also be within in 32-bits. Signed-off-by: NTaylor Hutt <thutt@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Gabe Black 提交于
Capacity needs to allow for a 64-bit value. Signed-off-by: NGabe Black <gabeblack@google.com> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Taylor Hutt 提交于
This fixes a spelling error in a message which can be output to the console. Signed-off-by: NTaylor Hutt <thutt@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Taylor Hutt 提交于
This cleanup replaces the hardcoded use of '20', which represents the number of bytes in the FIS, with sizeof(fis). Signed-off-by: NTaylor Hutt <thutt@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Gabe Black 提交于
In the structure returned by the ATA identify device command, there are two fields which describe the device capacity. One is a 32 bit data type which reports the number of sectors as a 28 bit LBA, and the other is a 64 bit data type which is for a 48 bit LBA. If the device doesn't support 48 bit LBAs, the small value is the only value with the correct size. If it supports more, if the number of sectors is small enough to fit into 28 bits, both fields reflect the correct value. If it's too large, the smaller field has 28 bits of 1s, 0xfffffff, and the other field has the correct value. The AHCI driver is implemented by attaching to the generic SCSI code and translating on the fly between SCSI binary data structures and AHCI data structures. It responds to requests to execute specific SCSI commands by executing the equivalent AHCI commands and then crafting a response which matches what a SCSI disk would send. The AHCI driver now considers both fields and chooses the correct one when implementing both the SCSI READ CAPACITY (10) and READ CAPACITY (16) commands. Signed-off-by: NGabe Black <gabeblack@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Hung-Te Lin 提交于
The "scsi write" command requires support from underlying driver. This CL enables SCSI_WRITE10 in AHCI driver. Tested in U-Boot console, try to i/o with sector #64: scsi read 1000 40 1 md.b 1000 200 # check if things are not 0xcc mw.b 1000 cc 200 # try to fill with 0xcc scsi write 1000 40 1 mw.b 1000 0 200 # fill with zero md.b 1000 200 # should be all 0 scsi read 1000 40 1 md.b 1000 200 # should be all 0xcc Signed-off-by: NHung-Te Lin <hungte@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Gabe Black 提交于
This command doesn't really do anything when talking to a SATA device, and sending it confuses some of them. This change makes sending the command optional, and defaults to not. The situations where it should be sent are not the common case. With the standard SSD in the machine, here are some times with the option turned off: 1. 8277 2. 8273 3. 8050 And turned on: 1. 8303 2. 8155 3. 8276 Sending that command seems to have no meaningful effect on performance. This fixes problems with an SSD marked Toshiba NV6424, Taiwan 11159AE P and TC58NVG5D2FTA10. Signed-off-by: NGabe Black <gabeblack@chromium.org> Signed-off-by: NTaylor Hutt <thutt@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Stefan Reinauer 提交于
- print the correct speed - print all the AHCI capability flags (information taken from Linux kernel driver) - clean up some comments For example, this might show the following string: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x3 impl SATA mode Signed-off-by: NStefan Reinauer <reinauer@chromium.org> Commit-Ready: Stefan Reinauer <reinauer@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org> Tested-by: NStefan Reinauer <reinauer@chromium.org>
-
由 Stefan Reinauer 提交于
- remove unused ssleep macro - add some useful debugging information Signed-off-by: NStefan Reinauer <reinauer@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Stefan Reinauer 提交于
The existing code waits a whole second for the AHCI controller to reset. Instead, let's poll the status register to see if the reset has succeeded and return earlier if possible. This brings down the time for AHCI probing from 1s to 20ms. Signed-off-by: NStefan Reinauer <reinauer@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Stefan Reinauer 提交于
Add a new function to find out the number of available SCSI disks. Also set the 'scsidevs' environment variable after each scan. Signed-off-by: NStefan Reinauer <reinauer@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
This includes were outside an #ifdef CONFIG_PPC, but there is not reason to exclude powerpc from using them. Move the declaration outside the #ifdef. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Hung-Te Lin 提交于
Implement write functionality in the scsi layer. A ''scsi write' command is also added to console for testing. Signed-off-by: NHung-Te Lin <hungte@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Vadim Bendebury 提交于
Many AHCI controllers are identical, the main (and often the only) difference being the PCI Vendor ID/Device ID combination reported by the device. This change allows the config file to define a list of PCI vendor ID/device ID pairs. The driver would scan the list and initialize the first device it finds. No actual multiple device list is introduced yet, this change just add the framework. Signed-off-by: NVadim Bendebury <vbendeb@chromium.org> Signed-off-by: NTaylor Hutt <thutt@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Vadim Bendebury 提交于
With an Intel AHCI controller, the driver does not operate properly if the requested amount of blocks to read exceeds 255. It is probably possible to specify 0 as the block count and the driver will read 256 blocks, but it was decided to limit the number of blocks read at once to 128 (it should be a power of 2 for the optimal performance of solid state drives). Signed-off-by: NVadim Bendebury <vbendeb@chromium.org> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Stefan Roese 提交于
This patch fixes the following compile warning: zfs.c:2006:1: warning: 'zfs_label' defined but not used [-Wunused-function] zfs.c:2029:1: warning: 'zfs_uuid' defined but not used [-Wunused-function] Signed-off-by: NStefan Roese <sr@denx.de> Cc: Jorgen Lundman <lundman@lundman.net>
-
由 Stefan Roese 提交于
This patch fixes the following compile warnings: cmd_zfs.c:177:1: warning: initialization from incompatible pointer type [enabled by default] cmd_zfs.c:177:1: warning: (near initialization for '_u_boot_list_cmd_zfsls.cmd') [enabled by default] cmd_zfs.c:182:1: warning: initialization from incompatible pointer type [enabled by default] cmd_zfs.c:182:1: warning: (near initialization for '_u_boot_list_cmd_zfsload.cmd') [enabled by default] Signed-off-by: NStefan Roese <sr@denx.de> Cc: Jorgen Lundman <lundman@lundman.net>
-
由 Tom Rini 提交于
We add CONFIG_ENV_VARS_UBOOT_CONFIG, CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG and CONFIG_BOARD_LATE_INIT to set the variables and then fdtfile and findfdt to make us of this. It is now possible to do 'run findfdt' to have fdtfile be set to the value of the dtb file to load for the board we are running on. Signed-off-by: NTom Rini <trini@ti.com>
-
由 Stephen Warren 提交于
CONFIG_ENV_VARS_UBOOT_CONFIG creates environment variables indicating which configuration U-Boot was built for. Some U-Boot binaries run on multiple boards, and hence this information may not uniquley describe the HW that U-Boot is actually running on. Another patch introduces environment variable board_name to represent that. In order to avoid scripts having to check $board_name, use it if set, and then fall back to using $board, make CONFIG_ENV_VARS_UBOOT_CONFIG also set a default value for board_name, so that variable is always available. Signed-off-by: NStephen Warren <swarren@nvidia.com> Acked-by: NJoe Hershberger <joe.hershberger@ni.com>
-
由 Tom Rini 提交于
This option is intended to be set by boards which will set the board_name and board_rev environment variables. These are to be used when the U-Boot binary can support more than one board type at run-time and the user needs an easy way (for example for scripting to determine what device tree to load) to determine what board they are on. Signed-off-by: NTom Rini <trini@ti.com>
-
由 Simon Glass 提交于
Grame is still listed since he has agreed to continue with some review. Also add an alias to shorten things. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Wolfgang Denk 提交于
The %p format of printf() would print a pointer to address null as "(null)". This makes sense in a real OS where a NULL pointer must never be dereferenced, but this is a bootloader, and there are cases where accessing the data at address null makes perfect sense. Remove the special case in lib/vsprintf.c using "#if 0" with a comment to make clear this was an intentional change and to stop re-adding this code. Signed-off-by: NWolfgang Denk <wd@denx.de> Acked-by: NJoe Hershberger <joe.hershberger@ni.com>
-
由 Tom Rini 提交于
When putting pointers into a format string use %p to ensure that they are printed correctly regardless of bitsize. This fixes warnings on sandbox on 64bit systems. Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Gerald Van Baren <vanbaren@cideas.com> Signed-off-by: NTom Rini <trini@ti.com> Acked-by: NJoe Hershberger <joe.hershberger@ni.com>
-
由 Stephen Warren 提交于
Without this, fstypes[].probe points at the wrong place, so calling the function results in undefined behaviour. Signed-off-by: NStephen Warren <swarren@nvidia.com> Tested-by: NAndreas Bießmann <andreas.devel@googlemail.com>
-
- 30 10月, 2012 6 次提交
-
-
由 Tom Rini 提交于
When BUILD_NBUILDS is > 1 we run the tidy command. With the addition of DocBook this now includes a -C doc/DocBook and a 'entering/leaving' pair of messages happen. Since we don't want to see what's being cleaned here, we can just invoke make -s like we do when building. Signed-off-by: NTom Rini <trini@ti.com>
-
由 Simon Glass 提交于
Fix the following error in the ext4 command: cmd_ext4.c:110:3: error: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'int' [-Werror=format] Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Stephan Gatzka 提交于
Deassert the CONFIG pin before asserting it again. This assures that the FPGA will be resetted and therefore configuration will be correctly enabled. This is also already done on other FPGA's, e.g. Stratix. Signed-off-by: NStephan Gatzka <stephan.gatzka@hbm.com> Signed-off-by: NStefan Roese <sr@denx.de>
-
由 Stephen Warren 提交于
Implement "ls" and "fsload" commands that act like {fat,ext2}{ls,load}, and transparently handle either file-system. This scheme could easily be extended to other filesystem types; I only didn't do it for zfs because I don't have any filesystems of that type to test with. Replace the implementation of {fat,ext[24]}{ls,load} with this new code too. Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
由 Stephen Warren 提交于
This makes the FAT and ext4 filesystem implementations build if CONFIG_FS_{FAT,EXT4} are defined, rather than basing the build on whether CONFIG_CMD_{FAT,EXT*} are defined. This will allow the filesystems to be built separately from the filesystem-specific commands that use them. This paves the way for the creation of filesystem-generic commands that used the filesystems, without requiring the filesystem- specific commands. Minor documentation changes are made for this change. The new config options are automatically selected by the old config options to retain backwards-compatibility. Signed-off-by: NStephen Warren <swarren@nvidia.com> Reviewed-by: NBenoît Thébaudeau <benoit.thebaudeau@advansee.com>
-
由 Stephen Warren 提交于
fs/Makefile is unused. The top-level Makefile sets LIBS-y += fs/xxx and hence causes make to directly descend two directory levels into each individual filesystem, and it never descends into fs/ itself. So, delete this useless file. Signed-off-by: NStephen Warren <swarren@nvidia.com> Reviewed-by: NBenoît Thébaudeau <benoit.thebaudeau@advansee.com> Acked-by: NSimon Glass <sjg@chromium.org>
-
- 29 10月, 2012 6 次提交
-
-
-
由 Jason Jin 提交于
This patch remove the env saving in NAND as so far the NAND driver is not ported to the M54418TWR platform. Signed-off-by: NJason Jin <Jason.jin@freescale.com>
-
由 Jason Jin 提交于
The M54418TWR lds file need to update since commit: 8b493a52 common: Discard the __u_boot_cmd section The command declaration now uses the new LG-array method to generate list of commands. Thus the __u_boot_cmd section is now superseded and redundant and therefore can be removed. Also, remove externed symbols associated with this section from include/command.h . Signed-off-by: NJason Jin <Jason.jin@freescale.com>
-
由 Wolfgang Denk 提交于
Once more, some of the previous changes caused the code to grow, which causes errors like u-boot.lds:74 cannot move location counter backwards (from 40008384 to 40008000) when building with some older tool chains (like ELDK 4.2). Adjust the linker script to make fit again. Signed-off-by: NWolfgang Denk <wd@denx.de> Cc: Conn Clark <clark@esteem.com>
-
由 Wolfgang Denk 提交于
Once more, some of the previous changes caused the code to grow, which causes errors like u-boot.lds:80 cannot move location counter backwards (from 400082a4 to 40008000) when building with some older tool chains (like ELDK 4.2). Adjust the linker script to make fit again. Signed-off-by: NWolfgang Denk <wd@denx.de>
-
由 Wolfgang Denk 提交于
These boards have long reached EOL, and there has been no indication of any active users of such hardware for years. Get rid of the dead weight. Signed-off-by: NWolfgang Denk <wd@denx.de> Cc: Wolfgang Grandegger <wg@denx.de>
-