coreboot-kgpe-d16/payloads/libpayload/drivers
Nico Huber 1f6bd94fa8 libpayload: New AHCI, ATA and ATAPI drivers
This adds a new interface for storage devices. A driver for ATA and
ATAPI drives on AHCI host controllers comes along.

The interface is very simple and was designed to match FILO's needs.
It consists of three functions:

  void storage_initialize(void);
  Initializes controllers. Should be called once at startup.

  storage_poll_t storage_probe(size_t dev_num);
     with typedef enum {
            POLL_NO_DEVICE      = -2,
            POLL_ERROR          = -1,
            POLL_NO_MEDIUM      =  0,
            POLL_MEDIUM_PRESENT =  1,
          } storage_poll_t;
  Looks for a drive with number dev_num (drives are counted from
  zero) and polls for a medium in the drive if appropriate.

  int storage_read_blocks512(size_t dev_num,
                             u64 start, size_t count,
                             unsigned char *buf);
  Reads count blocks of 512 bytes from block start of drive dev_num
  into buf.

Change-Id: I1c85796b7f8e379ff3817a61b1837636b57e182b
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: http://review.coreboot.org/1622
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Peter Stuge <peter@stuge.se>
2012-10-27 02:52:58 +02:00
..
storage libpayload: New AHCI, ATA and ATAPI drivers 2012-10-27 02:52:58 +02:00
usb libpayload: UHCI driver contained too much magic 2012-10-03 09:25:25 +02:00
video libpayload: fix garbage on screen with Geode-LX VGA 2010-08-18 21:23:27 +00:00
Makefile.inc libpayload: New AHCI, ATA and ATAPI drivers 2012-10-27 02:52:58 +02:00
hid.c make keyboard reset driver generic (not pc keyboard driver dependent) 2010-03-25 18:52:24 +00:00
keyboard.c libpayload: Fix handling of CAPS LOCK key on PS/2 keyboards 2011-11-10 17:51:53 +01:00
nvram.c Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
options.c libpayload: CMOS access was implemented in a backward way 2012-10-14 20:12:11 +02:00
pci.c [PATCH] libpayload: Fix the PCI search function 2008-10-20 16:52:06 +00:00
serial.c libpayload: Set 8bits per char for serial port 2012-10-03 09:27:20 +02:00
speaker.c Fix libpayload speaker driver 2011-10-27 10:49:41 +02:00