Age | Commit message (Collapse) | Author |
|
Signed-off-by: Stanislav Galabov <sgalabov@gmail.com>
|
|
Specifically tested on MIPS under QEMU (works with all combination of bit-ness and endian-ness)
Signed-off-by: Stanislav Galabov <sgalabov@gmail.com>
|
|
QEMU so that IDE transfers work properly
Signed-off-by: Stanislav Galabov <sgalabov@gmail.com>
|
|
for both 32-bit and 64-bit targets
Signed-off-by: Stanislav Galabov <sgalabov@gmail.com>
|
|
|
|
|
|
Add a simple test which checks that a sandbox-emulated SD card can be used
correctly. This tests plumbing through the MMC stack's block-device
implementaion.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Enable building the MMC code for sandbox. This increases build
coverage for sandbox.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Add an emulation of an SD card to sandbox, allowing MMC to be used in tests.
The emulation is very simple, supporting only card detection and reading
test data.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Add support for enabling CONFIG_BLK with MMC. This involves changing a
few functions to use struct udevice and adding a MMC block device driver.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Binding an MMC device when CONFIG_BLK is enabled requires that a block
device be bound as a child of the MMC device. Add a function to do this.
The mmc_create() method will be used only when DM_BLK is disabled.
Add an unbind method also.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Implement the functions in mmc_legacy.c for driver-model block devices, so
that MMC can use driver model for these. This allows CONFIG_BLK to be enabled
with DM_MMC.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
This driver will require generic MMC and block-device support in a future
commit. To avoid test errors, make this change now.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Instead of looking up the MMC device by number, just pass it in. This makes
it possible to use this function with driver model.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Return -EINVAL instead of -1 in this function, to provide a more meaningful
error.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
At present the MMC subsystem maintains its own list of MMC devices. This
cannot work with driver model, which needs to maintain this itself. Move the
list code into a separate 'legacy' file. The core MMC code remains, and will
be shared with the driver-model implementation.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Update the existing drivers to set up this new pointer. This will be required
by the MMC uclass.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
This member should be explained, since it is not obvious why it is needed.
Add a comment.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
This is not needed since we can use the functions provided by the legacy
block device support.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Drop use of the table in part.c for this feature.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
The block device uclass does not currently support selecting a particular
hardware partition but this is needed for MMC. Add it so that the blk API
can support MMC properly.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Avoid calling directly into the MMC code - use the new API call instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Bring this in for SPL so that we can use generic code for loading from
block devices.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
The MMC block device is contained within struct mmc. But with driver model
this will not be the case. Add a function to obtain the block device. We
can later implement this for CONFIG_BLK.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Implement this method so that hardware partitions will work correctly with
MMC.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
This function is defined after it is used. In preparation for making it
static, move it up a little. Also drop the printf() which should not appear
in a driver.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Mark the device name as allocated so that it will be freed correctly when the
device is unbound.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Some devices have a name that is stored in allocated memory. At present
there is no mechanism to free this memory when the device is unbound.
Add a device flag to track whether a name is allocated and a function to
add the flag. Free the memory when the device is unbound.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Due to code ordering the block devices are not numbered sequentially. Fix
this.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Enable building the systemace code for sandbox. This increases build
coverage for sandbox.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Add support for CONFIG_BLK to the systemace driver.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Move the systemace_get_dev() function below systemace_read() so that we can
avoid a forward declaration.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Add a function that automatically builds the device name given the parent
and a supplied string. Most callers will want to do this, so putting this
functionality in one place makes more sense.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Allow a devnum parameter of -1 to indicate that the device number should be
alocated automatically. The next highest available device number for that
interface type is used.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Enable building the SATA code for sandbox. This increases build coverage
for sandbox.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Add driver-model block-device support to the SATA implementation. This is
just a dummy implementation for now, since the SATA low-level API uses
numbered devices and that doesn't fit with driver model.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Enable building the SCSI code for sandbox. This increases build coverage
for sandbox.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Add driver-model block-device support to the SCSI implementation.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Enable building the IDE code for sandbox. This is for build coverage only.
It does not currently work.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Add driver-model block-device support to the IDE implementation.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
This is now handled by the legacy block driver. The get_dev() method is
no-longer used. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
This function is implemented by the legacy block functions now. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
This has nothing of consequence. Remove it and its only inclusion site.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
This function is implemented by the legacy block functions now. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
This function is implemented by the legacy block functions now. Drop it.
We cannot yet make sata_dev_desc[] private to common/sata.c as it is used by
the SATA drivers. This will require the SATA interface to be reworked.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
This function is implemented by the legacy block functions now. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
This function is implemented by the legacy block functions now. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
This function is implemented by the legacy block functions now. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
This function is implemented by the legacy block functions now. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Instead of calling xx_get_dev() functions for each interface type, use the
new legacy block driver which can provide the device through its interface.
Signed-off-by: Simon Glass <sjg@chromium.org>
|