1. 20 Dec, 2016 1 commit
    • Michal Simek's avatar
      dm: Add support for scsi/sata based devices · e8a016b5
      Michal Simek authored
      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: default avatarMichal Simek <michal.simek@xilinx.com>
      Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
      e8a016b5
  2. 09 Dec, 2016 1 commit
  3. 08 Dec, 2016 1 commit
    • Michal Simek's avatar
      dm: Add support for scsi/sata based devices · bce4d18c
      Michal Simek authored
      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: default avatarMichal Simek <michal.simek@xilinx.com>
      Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
      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
      bce4d18c
  4. 14 Mar, 2016 1 commit
  5. 24 Nov, 2014 2 commits
    • Nikita Kiryanov's avatar
      cmd_sata: implement sata stop command · d957c28a
      Nikita Kiryanov authored
      Implement sata stop command.
      This introduces the __sata_stop() weak function, which mirrors
      the weak __sata_initialize() function, giving users the option of
      undoing the custom steps performed in overrides of sata_initialize().
      Signed-off-by: default avatarNikita Kiryanov <nikita@compulab.co.il>
      Cc: Marek Vasut <marex@denx.de>
      Cc: Tom Rini <trini@ti.com>
      d957c28a
    • Nikita Kiryanov's avatar
      sata: implement reset_sata for dwc_ahsata · 10ee8eca
      Nikita Kiryanov authored
      Add reset_sata() to the sata driver interface and implement it
      for dwc_ahsata. This function cleans up after sata_init(), and
      therefore accepts a device number like sata_init() does.
      A dummy implementation is provided for the rest of the drivers.
      Signed-off-by: default avatarNikita Kiryanov <nikita@compulab.co.il>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Stefano Babic <sbabic@denx.de>
      10ee8eca
  6. 09 Sep, 2014 1 commit
  7. 15 Oct, 2012 1 commit
  8. 27 Jan, 2009 1 commit
    • Mike Frysinger's avatar
      SATA: do not auto-initialize during boot · cf7e399f
      Mike Frysinger authored
      Rather than have the board code initialize SATA automatically during boot,
      make the user manually run "sata init".  This brings the SATA subsystem in
      line with common U-Boot policy.
      
      Rather than having a dedicated weak function "is_sata_supported", people
      can override sata_initialize() to do their weird board stuff.  Then they
      can call the actual __sata_initialize().
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      cf7e399f
  9. 13 Apr, 2008 1 commit
  10. 26 Mar, 2008 3 commits
  11. 30 Jun, 2007 1 commit
  12. 15 May, 2007 2 commits
    • Wolfgang Denk's avatar
      Minor coding style cleanup. · 3162eb83
      Wolfgang Denk authored
      3162eb83
    • mushtaq khan's avatar
      Add driver for S-ATA-controller on Intel processors with South · 66d9dbec
      mushtaq khan authored
      Bridge, ICH-5, ICH-6 and ICH-7. 
      
      Implementation:
      
      1. Code is divided in to two files. All functions, which are
         controller specific are kept in "drivers/ata_piix.c" file and
         functions, which are not controller specific, are kept in
         "common/cmd_sata.c" file.
      
      2. Reading and Writing from the S-ATA drive is done using PIO method.
      
      3. Driver can be configured for 48-bit addressing by defining macro
         CONFIG_LBA48, if this macro is not defined driver uses the 28-bit
         addressing.
      
      4. S-ATA read function is hooked to the File system, commands like
         ext2ls and ext2load file can be used. This has been tested.
      
      5. U-Boot command "SATA_init" is added, which initializes the S-ATA
         controller and identifies the S-ATA drives connected to it.
      
      6. U-Boot command "sata" is added, which is used to read/write, print
         partition table and get info about the drives present. This I have
         implemented in same way as "ide" command is implemented in U-Boot.
      
      7. This driver is for S-ATA in native mode.
      
      8. This driver does not support the Native command queuing and
         Hot-plugging.
      Signed-off-by: default avatarMushtaq Khan <mushtaq_k@procsys.com>
      66d9dbec