u-boot/drivers/block/Kconfig
Simon Glass d2da54bfc4 Convert CONFIG_SYS_IDE_MAXBUS et al to Kconfig
This converts the following to Kconfig:
   CONFIG_SYS_IDE_MAXBUS
   CONFIG_SYS_IDE_MAXDEVICE
   CONFIG_SYS_ATA_BASE_ADDR
   CONFIG_SYS_ATA_STRIDE
   CONFIG_SYS_ATA_DATA_OFFSET
   CONFIG_SYS_ATA_REG_OFFSET
   CONFIG_SYS_ATA_ALT_OFFSET
   CONFIG_SYS_ATA_IDE0_OFFSET
   CONFIG_SYS_ATA_IDE1_OFFSET
   CONFIG_ATAPI
   CONFIG_IDE_RESET

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Stefan Roese <sr@denx.de>
2022-02-09 09:16:47 -05:00

208 lines
6.7 KiB
Text

config BLK
bool "Support block devices"
depends on DM
default y if DM_MMC || DM_USB
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 HAVE_BLOCK_DEVICE
bool "Enable Legacy Block Device"
help
Some devices require block support whether or not DM is enabled
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
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 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.
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"
select HAVE_BLOCK_DEVICE
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