| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- config BLK
- bool # "Support block devices"
- depends on DM
- default y if MMC || USB || SCSI || NVME || IDE || AHCI || SATA
- default y if EFI_MEDIA || VIRTIO_BLK || PVBLOCK
- help
- Enable support for block devices, such as SCSI, MMC and USB
- flash sticks. These provide a block-level interface which permits
- reading, writing and (in some cases) erasing blocks. Block
- devices often have a partition table which allows the device to
- be partitioned into several areas, called 'partitions' in U-Boot.
- A filesystem can be placed in each partition.
- config SPL_LEGACY_BLOCK
- bool # "Enable Legacy Block Device"
- depends on SPL && !DM_SPL
- default y if SPL_MMC || SPL_USB_STORAGE || SCSI || NVME || IDE
- default y if SPL_AHCI_PCI
- help
- Some devices require block support whether or not DM is enabled. This
- is only supported in SPL. With this, the blk uclass is not used, but
- instead a legacy implementation of block devices is used, with all
- devices consisting of 'struct blk_desc' records.
- config SPL_BLK
- bool "Support block devices in SPL"
- depends on SPL_DM && BLK
- default y
- help
- Enable support for block devices, such as SCSI, MMC and USB
- flash sticks. These provide a block-level interface which permits
- reading, writing and (in some cases) erasing blocks. Block
- devices often have a partition table which allows the device to
- be partitioned into several areas, called 'partitions' in U-Boot.
- A filesystem can be placed in each partition.
- config TPL_BLK
- bool "Support block devices in TPL"
- depends on TPL_DM && BLK
- help
- Enable support for block devices, such as SCSI, MMC and USB
- flash sticks. These provide a block-level interface which permits
- reading, writing and (in some cases) erasing blocks. Block
- devices often have a partition table which allows the device to
- be partitioned into several areas, called 'partitions' in U-Boot.
- A filesystem can be placed in each partition.
- config VPL_BLK
- bool "Support block devices in VPL"
- depends on VPL_DM && BLK
- default y
- help
- Enable support for block devices, such as SCSI, MMC and USB
- flash sticks. These provide a block-level interface which permits
- reading, writing and (in some cases) erasing blocks. Block
- devices often have a partition table which allows the device to
- be partitioned into several areas, called 'partitions' in U-Boot.
- A filesystem can be placed in each partition.
- config BLOCK_CACHE
- bool "Use block device cache"
- depends on BLK
- default y
- help
- This option enables a disk-block cache for all block devices.
- This is most useful when accessing filesystems under U-Boot since
- it will prevent repeated reads from directory structures and other
- filesystem data structures.
- config BLKMAP
- bool "Composable virtual block devices (blkmap)"
- depends on BLK
- help
- Create virtual block devices that are backed by various sources,
- e.g. RAM, or parts of an existing block device. Though much more
- rudimentary, it borrows a lot of ideas from Linux's device mapper
- subsystem.
- Example use-cases:
- - Treat a region of RAM as a block device, i.e. a RAM disk. This let's
- you extract files from filesystem images stored in RAM (perhaps as a
- result of a TFTP transfer).
- - Create a virtual partition on an existing device. This let's you
- access filesystems that aren't stored at an exact partition
- boundary. A common example is a filesystem image embedded in an FIT
- image.
- config SPL_BLOCK_CACHE
- bool "Use block device cache in SPL"
- depends on SPL_BLK
- help
- This option enables the disk-block cache in SPL
- config TPL_BLOCK_CACHE
- bool "Use block device cache in TPL"
- depends on TPL_BLK
- help
- This option enables the disk-block cache in TPL
- config EFI_MEDIA
- bool "Support EFI media drivers"
- default y if EFI || SANDBOX
- help
- Enable this to support media devices on top of UEFI. This enables
- just the uclass so you also need a specific driver to make this do
- anything.
- For sandbox there is a test driver.
- config SPL_BLK_FS
- bool "Load images from filesystems on block devices"
- depends on SPL_BLK
- help
- Use generic support to load images from fat/ext filesystems on
- different types of block devices such as NVMe.
- if EFI_MEDIA
- config EFI_MEDIA_SANDBOX
- bool "Sandbox EFI media driver"
- depends on SANDBOX
- default y
- help
- Enables a simple sandbox media driver, used for testing just the
- EFI_MEDIA uclass. It does not do anything useful, since sandbox does
- not actually support running on top of UEFI.
- config EFI_MEDIA_BLK
- bool "EFI media block driver"
- depends on EFI_APP
- default y
- help
- Enables a block driver for providing access to UEFI devices. This
- allows use of block devices detected by the underlying UEFI
- implementation. With this it is possible to use filesystems on these
- devices, for example.
- endif # EFI_MEDIA
- config IDE
- bool "Support IDE controllers"
- help
- Enables support for IDE (Integrated Drive Electronics) hard drives.
- This allows access to raw blocks and filesystems on an IDE drive
- from U-Boot. See also CMD_IDE which provides an 'ide' command for
- performing various IDE operations.
- if IDE
- config SYS_IDE_MAXBUS
- hex "Maximumm number of IDE buses"
- default 2
- help
- This is the number of IDE buses provided by the board. Each one
- can have one or two devices. One is designated the master and the
- other one the slave. It is not required to have one or both on any
- controller.
- config SYS_IDE_MAXDEVICE
- hex "Maximum number of IDE devices"
- default 2
- help
- This is the number of IDE devices which can be connected to the
- board. Normally this is 2 * CONFIG_SYS_IDE_MAXBUS since up to two
- devices can be connected to each bus. The number of devices actually
- connected is determined by probing.
- config SYS_ATA_BASE_ADDR
- hex "Base address of IDE controller"
- default 0
- help
- This is the address of the IDE controller, from which other addresses
- are calculated. Each bus is at a fixed offset from this address,
- so it assumed that they are in the same area of the I/O space or
- memory.
- config SYS_ATA_STRIDE
- hex "IDE port stride"
- default 0x1
- help
- This is the distance between each IDE register, in bytes. For an
- 8-bit controller this is typically 1, meaning that the registers
- appear at consecutive bytes. If the value 2 two, that might indicate
- a 16-bit register space.
- config SYS_ATA_DATA_OFFSET
- hex "Offset of the data register"
- default 0x0
- help
- This is the offset of the controller's data register from the base
- address of the controller. This is typically 0, but may be something
- else if there are some other registers at the start of the
- controller space.
- config SYS_ATA_REG_OFFSET
- hex "Offset of the register space"
- default 0x0
- help
- This is the offset of the controller's 'register' space from the base
- address of the controller. The data register (which is typically at
- offset 0) has its own CONFIG, to deal with controllers where it is
- somewhere else. Register 1 will be at this offset + 1, register 2 at
- CONFIG_SYS_ATA_REG_OFFSET + 2, etc.
- config SYS_ATA_ALT_OFFSET
- hex "Offset of the alternative registers"
- default 0x0
- help
- This is the offset of the controller's 'alternative' space from the
- base address of the controller. This allows these registers to be
- located separately from the data and register space.
- config SYS_ATA_IDE0_OFFSET
- hex "Offset of bus 0"
- default 0x1f0
- help
- This is the start offset of bus 0 from the start of the
- controller registers. All the other registers are calculated from
- this address. using the above options. For x86 hardware this is often
- 0x1f0.
- config SYS_ATA_IDE1_OFFSET
- hex "Offset of bus 1"
- default 0x170
- help
- This is the start offset of bus 1 from the start of the
- controller registers. All the other registers are calculated from
- this address. using the above options. For x86 hardware this is often
- 0x170.
- config ATAPI
- bool "Enable ATAPI support"
- help
- This enabled Advanced Technology Attachment Packet Interface (ATAPI),
- a protocol that allows a greater variety of devices to be connected
- to the IDE port than with plain ATA. It allows SCSI commands to be
- sent across the bus, e.g. to support optical drives.
- config IDE_RESET
- bool "Support board-specific reset"
- help
- If this is defined, IDE Reset will be performed by calling the
- function:
- ide_set_reset(int reset)
- where reset is 1 to assert reset and 0 to de-assert it. This function
- must be defined in a board-specific file.
- endif # IDE
- config LBA48
- bool "Enable LBA support for disks larger than 137GB"
- help
- Set this to enable support for disks larger than 137GB.
- Also look at CONFIG_SYS_64BIT_LBA. Without both of these, LBA48
- support uses 32bit variables and will 'only' support disks up to
- 2.1TB.
- config SYS_64BIT_LBA
- bool "Enable 64bit number of blocks on a block device"
- help
- Make the block subsystem use 64bit sector addresses, rather than the
- default of 32bit.
|