| config BLK | |
| bool # "Support block devices" | |
| depends on DM | |
| def_bool y if MMC || USB || SCSI || NVME || IDE || AHCI || SATA | |
| def_bool 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 | |
| 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 0x0 | |
| 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. | |
| config RKMTD | |
| bool "Rockchip rkmtd virtual block device" | |
| select RANDOM_UUID | |
| help | |
| Enable "rkmtd" class and driver to create a virtual block device | |
| to transfer Rockchip boot block data to and from NAND with block | |
| orientate tools like "ums" and "rockusb". |