14 Feb, 2018

1 commit

  • This driver is no longer used on any supported platform in U-Boot and
    there is no interest in maintaining it further from people that have
    used it historically.

    Cc: Simon Glass
    Cc: Michal Simek
    c: Alexey Brodkin
    Signed-off-by: Tom Rini
    Acked-by: Michal Simek

    Tom Rini
     

04 Sep, 2017

1 commit


01 Aug, 2017

1 commit

  • At present if U-Boot proper uses driver model for MMC, then SPL has to
    also. While this is desirable, it places a significant barrier to moving
    to driver model in some cases. For example, with a space-constrained SPL
    it may be necessary to enable CONFIG_SPL_OF_PLATDATA which involves
    adjusting some drivers.

    Add new SPL versions of the options for DM_MMC, DM_MMC_OPS and BLK. By
    default these follow their non-SPL versions, but this can be changed by
    boards which need it.

    Signed-off-by: Simon Glass

    Simon Glass
     

12 Jul, 2017

3 commits


04 Jul, 2017

1 commit


23 May, 2017

1 commit

  • At present IDE support is controlled by CONFIG_CMD_IDE. Add a separate
    CONFIG_IDE option so that IDE support can be enabled without requiring
    the 'ide' command.

    Update existing users and move the ide driver into drivers/block since
    it should not be in common/.

    Signed-off-by: Simon Glass

    Simon Glass
     

10 May, 2017

1 commit


18 Apr, 2017

1 commit


20 Dec, 2016

1 commit

  • All sata based drivers are bind and corresponding block
    device is created. Based on this find_scsi_device() is able
    to get back block device based on scsi_curr_dev pointer.

    intr_scsi() is commented now but it can be replaced by calling
    find_scsi_device() and scsi_scan().

    scsi_dev_desc[] is commented out but common/scsi.c heavily depends on
    it. That's why CONFIG_SYS_SCSI_MAX_DEVICE is hardcoded to 1 and symbol
    is reassigned to a block description allocated by uclass.
    There is only one block description by device now but it doesn't need to
    be correct when more devices are present.

    scsi_bind() ensures corresponding block device creation.
    uclass post_probe (scsi_post_probe()) is doing low level init.

    SCSI/SATA DM based drivers requires to have 64bit base address as
    the first entry in platform data structure to setup mmio_base.

    Signed-off-by: Michal Simek
    Reviewed-by: Simon Glass

    Michal Simek
     

09 Dec, 2016

1 commit


08 Dec, 2016

1 commit

  • All sata based drivers are bind and corresponding block
    device is created. Based on this find_scsi_device() is able
    to get back block device based on scsi_curr_dev pointer.

    intr_scsi() is commented now but it can be replaced by calling
    find_scsi_device() and scsi_scan().

    scsi_dev_desc[] is commented out but common/scsi.c heavily depends on
    it. That's why CONFIG_SYS_SCSI_MAX_DEVICE is hardcoded to 1 and symbol
    is reassigned to a block description allocated by uclass.
    There is only one block description by device now but it doesn't need to
    be correct when more devices are present.

    scsi_bind() ensures corresponding block device creation.
    uclass post_probe (scsi_post_probe()) is doing low level init.

    SCSI/SATA DM based drivers requires to have 64bit base address as
    the first entry in platform data structure to setup mmio_base.

    Signed-off-by: Michal Simek
    Reviewed-by: Simon Glass
    Series-changes: 2
    - Use CONFIG_DM_SCSI instead of mix of DM_SCSI and DM_SATA
    Ceva sata has never used sata commands that's why keep it in
    SCSI part only.
    - Separate scsi_scan() for DM_SCSI and do not change cmd/scsi.c
    - Extend platdata

    Series-changes: 3
    - Fix scsi_scan return path
    - Fix header location uclass-internal.h
    - Add scsi_max_devs under !DM_SCSI
    - Add new header device-internal because of device_probe()
    - Redesign block device creation algorithm
    - Use device_unbind in error path
    - Create block device with id and lun numbers (lun was there in v2)
    - Cleanup dev_num initialization in block device description
    with fixing parameters in blk_create_devicef
    - Create new Kconfig menu for SATA/SCSI drivers
    - Extend description for DM_SCSI
    - Fix Kconfig dependencies
    - Fix kernel doc format in scsi_platdata
    - Fix ahci_init_one - vendor variable

    Series-changes: 4
    - Fix Kconfig entry
    - Remove SPL ifdef around SCSI uclass
    - Clean ahci_print_info() ifdef logic

    Michal Simek
     

17 May, 2016

4 commits


05 Apr, 2016

1 commit


02 Apr, 2016

1 commit

  • Add a block device cache to speed up repeated reads of block devices by
    various filesystems.

    This small amount of cache can dramatically speed up filesystem
    operations by skipping repeated reads of common areas of a block
    device (typically directory structures).

    This has shown to have some benefit on FAT filesystem operations of
    loading a kernel and RAM disk, but more dramatic benefits on ext4
    filesystems when the kernel and/or RAM disk are spread across
    multiple extent header structures as described in commit fc0fc50.

    The cache is implemented through a minimal list (block_cache) maintained
    in most-recently-used order and count of the current number of entries
    (cache_count). It uses a maximum block count setting to prevent copies
    of large block reads and an upper bound on the number of cached areas.

    The maximum number of entries in the cache defaults to 32 and the maximum
    number of blocks per cache entry has a default of 2, which has shown to
    produce the best results on testing of ext4 and FAT filesystems.

    The 'blkcache' command (enabled through CONFIG_CMD_BLOCK_CACHE) allows
    changing these values and can be used to tune for a particular filesystem
    layout.

    Signed-off-by: Eric Nelson

    Eric Nelson
     

15 Mar, 2016

1 commit


24 Jan, 2016

1 commit

  • Add a uclass ID for a disk controller. This can be used by AHCI/SATA or
    other controller types. There are no operations and no interface so far,
    but it is possible to probe a SATA device.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng

    Simon Glass
     

14 Jan, 2016

1 commit

  • This patch adds a new SATA driver for the Marvell Kirkwood and Armada
    370 / XP SoC's.

    This driver supports the SATA controller of some Mavell SoC's.
    Here a (most likely incomplete) list of the supported SoC's:
    - Kirkwood
    - Armada 370
    - Armada XP

    This driver implementation is an alternative to the already available
    driver via the "ide" commands interface (drivers/block/mvsata_ide.c).
    But this driver only supports PIO mode and as this new driver also
    supports transfer via DMA, its much faster.

    Please note, that the newer SoC's (e.g. Armada 38x) are not supported
    by this driver. As they have an AHCI compatible SATA controller
    integrated.

    The original version of this driver was sent by Tor Krill to the U-Boot
    list a few years ago. Here the link:

    http://lists.denx.de/pipermail/u-boot/2010-June/073147.html

    Changes by Stefan:
    - Coding-style cleanup
    - Support for Armada XP added
    - MBUS window setup added
    - D-cache flush and invalidation added - works with dcache enabled on
    Armada XP
    - Removed mdelay() from ata_wait_register() and add timer based timeout
    detection to speed up the transfer

    Signed-off-by: Tor Krill
    Signed-off-by: Stefan Roese
    Cc: Luka Perkov
    Cc: Tom Rini

    Tor Krill
     

15 Jul, 2015

1 commit

  • This driver was originally added to support the native IDE mode for
    Intel chipset, however it has some bugs like not supporting ATAPI
    devices, endianness issue, or even broken build when CONFIG_LAB48.
    Given no board is using this driver as of today, rather than fixing
    all these issues we just remove it from the source tree.

    Signed-off-by: Bin Meng
    Acked-by: Simon Glass

    Bin Meng
     

09 Jan, 2014

1 commit

  • Provide a way to use any host file or device as a block device in U-Boot.
    This can be used to provide filesystem access within U-Boot to an ext2
    image file on the host, for example.

    The support is plumbed into the filesystem and partition interfaces.

    We don't want to print a message in the driver every time we find a missing
    device. Pass the information back to the caller where a message can be printed
    if desired.

    Signed-off-by: Henrik Nordström
    Signed-off-by: Simon Glass
    - Removed change to part.c get_device_and_partition()

    Signed-off-by: Simon Glass
    Reviewed-by: Simon Glass

    Henrik Nordström
     

01 Nov, 2013

1 commit


24 Jul, 2013

1 commit


22 Jun, 2012

1 commit


15 May, 2012

1 commit


22 Oct, 2011

1 commit

  • Add the Silicon Image series PCI Express to
    Serial ATA controller support, including Sil3132,
    Sil3131 and Sil3124.
    The SATA controller can be used to load kernel.

    The features list:
    - Supports 1-lane 2.5 Gbit/s PCI Express
    - Supports one/two/four independent Serial ATA channels
    - Supports Serial ATA Generation 2 transfer rate of 3.0 Gbit/s
    - Supports LBA28 and LBA48

    Signed-off-by: Tang Yuantian
    Signed-off-by: Aaron Williams
    Tested-by: Lan Chunhe

    Tang Yuantian
     

13 May, 2011

1 commit

  • Faraday's ftide020_s is an IDE-AHB controller for SoC design.
    This patch add the u-boot driver (PIO) of ftide020 ATA (IDE) driver.
    IDE commands include read, info, and other functions has been implemented.

    Because this IDE controller support AHB interface only which is differ
    from other most IDE controller supports PCI interface. Some registers
    access is required during CMD/DATA I/O. Hence a configuration
    "CONFIG_IDE_AHB" is required to be defined according to the feature in
    cmd_ide.c.

    Signed-off-by: Macpaul Lin

    Macpaul Lin
     

02 Feb, 2011

1 commit


18 Nov, 2010

1 commit

  • Before this commit, weak symbols were not overridden by non-weak symbols
    found in archive libraries when linking with recent versions of
    binutils. As stated in the System V ABI, "the link editor does not
    extract archive members to resolve undefined weak symbols".

    This commit changes all Makefiles to use partial linking (ld -r) instead
    of creating library archives, which forces all symbols to participate in
    linking, allowing non-weak symbols to override weak symbols as intended.
    This approach is also used by Linux, from which the gmake function
    cmd_link_o_target (defined in config.mk and used in all Makefiles) is
    inspired.

    The name of each former library archive is preserved except for
    extensions which change from ".a" to ".o". This commit updates
    references accordingly where needed, in particular in some linker
    scripts.

    This commit reveals board configurations that exclude some features but
    include source files that depend these disabled features in the build,
    resulting in undefined symbols. Known such cases include:
    - disabling CMD_NET but not CMD_NFS;
    - enabling CONFIG_OF_LIBFDT but not CONFIG_QE.

    Signed-off-by: Sebastien Carlier

    Sebastien Carlier
     

08 Aug, 2010

2 commits


19 Jul, 2009

1 commit

  • This patch adds a SATA harddisk driver for the canyonlands.
    This patch is kernel driver's porting.
    This patch corresponded to not cmd_scsi but cmd_sata.
    This patch divided an unused member with ifndef __U_BOOT__ in the structure.

    [environment variable, boot script]
    setenv bootargs root=/dev/sda7 rw
    setenv bootargs ${bootargs} console=ttyS0,115200
    ext2load sata 0:2 0x400000 /canyonlands/uImage
    ext2load sata 0:2 0x800000 /canyonlands/canyonlands.dtb
    fdt addr 0x800000 0x4000
    bootm 0x400000 - 0x800000

    If you drive SATA-2 disk on Canyonlands, you must change parts from
    PI2PCIE212 to PI2PCIE2212 on U25. We confirmed to boot by using
    following disks:

    1.Vendor: Fujitsu Type: MHW2040BS
    2.Vendor: Fujitsu Type: MHW2060BK
    3.Vendor: HAGIWARA SYS-COM:HFD25S-032GT
    4.Vendor: WesternDigital Type: WD3200BJKT (CONFIG_LBA48 required)
    5.Vendor: WesternDigital Type: WD3200BEVT (CONFIG_LBA48 required)
    6.Vendor: Hitachi Type: HTS543232L9A300 (CONFIG_LBA48 required)
    7.Vendor: Seagate Type: ST31000333AS (CONFIG_LBA48 required)
    8.Vendor: Transcend Type: TS32GSSD25S-M
    9.Vendor: MTRON Type: MSD-SATA1525-016

    Signed-off-by: Kazuaki Ichinohe

    Kazuaki Ichinohe
     

04 Apr, 2009

1 commit

  • Mflash is fusion memory device mainly targeted consumer eletronic and
    mobile phone.
    Internally, it have nand flash and other hardware logics and supports
    some different operation (ATA, IO, XIP) modes.

    IO mode is custom mode for the host that doesn't have IDE interface.
    (Many mobile targeted SoC doesn't have IDE bus)

    This driver support mflash IO mode.

    Followings are brief descriptions about IO mode.

    1. IO mode based on ATA protocol and uses some custom command. (read
    confirm, write confirm)
    2. IO mode uses SRAM bus interface.

    Signed-off-by: unsik Kim

    unsik Kim
     

03 Feb, 2009

1 commit


13 Aug, 2008

1 commit


29 Jun, 2008

1 commit


21 May, 2008

1 commit

  • This commit gets rid of a huge amount of silly white-space issues.
    Especially, all sequences of SPACEs followed by TAB characters get
    removed (unless they appear in print statements).

    Also remove all embedded "vim:" and "vi:" statements which hide
    indentation problems.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk