blob: c54b58110cfc98dd869522397c21a873f4638931 [file] [log] [blame]
Simon Glass09d71aa2016-02-29 15:25:55 -07001config BLK
2 bool "Support block devices"
3 depends on DM
Tom Rinibe5c0602021-07-09 10:11:56 -04004 default y if DM_MMC || DM_USB
Simon Glass09d71aa2016-02-29 15:25:55 -07005 help
6 Enable support for block devices, such as SCSI, MMC and USB
7 flash sticks. These provide a block-level interface which permits
8 reading, writing and (in some cases) erasing blocks. Block
9 devices often have a partition table which allows the device to
10 be partitioned into several areas, called 'partitions' in U-Boot.
11 A filesystem can be placed in each partition.
12
Adam Ford1811a922018-02-06 12:43:56 -060013config HAVE_BLOCK_DEVICE
14 bool "Enable Legacy Block Device"
15 help
16 Some devices require block support whether or not DM is enabled
17
Simon Glassc4d660d2017-07-04 13:31:19 -060018config SPL_BLK
19 bool "Support block devices in SPL"
20 depends on SPL_DM && BLK
21 default y
22 help
23 Enable support for block devices, such as SCSI, MMC and USB
24 flash sticks. These provide a block-level interface which permits
25 reading, writing and (in some cases) erasing blocks. Block
26 devices often have a partition table which allows the device to
27 be partitioned into several areas, called 'partitions' in U-Boot.
28 A filesystem can be placed in each partition.
29
Simon Glassef391512018-10-01 12:22:13 -060030config TPL_BLK
31 bool "Support block devices in TPL"
32 depends on TPL_DM && BLK
33 default y
34 help
35 Enable support for block devices, such as SCSI, MMC and USB
36 flash sticks. These provide a block-level interface which permits
37 reading, writing and (in some cases) erasing blocks. Block
38 devices often have a partition table which allows the device to
39 be partitioned into several areas, called 'partitions' in U-Boot.
40 A filesystem can be placed in each partition.
41
Eric Nelsone40cf342016-03-28 10:05:44 -070042config BLOCK_CACHE
43 bool "Use block device cache"
Tom Rini46960ad2018-05-22 12:24:16 -040044 depends on BLK
45 default y
Eric Nelsone40cf342016-03-28 10:05:44 -070046 help
47 This option enables a disk-block cache for all block devices.
48 This is most useful when accessing filesystems under U-Boot since
49 it will prevent repeated reads from directory structures and other
50 filesystem data structures.
Michal Simeke8a016b2016-09-08 15:06:45 +020051
Adam Ford6fef62c2018-06-11 17:17:48 -050052config SPL_BLOCK_CACHE
53 bool "Use block device cache in SPL"
54 depends on SPL_BLK
Adam Ford6fef62c2018-06-11 17:17:48 -050055 help
56 This option enables the disk-block cache in SPL
57
Simon Glass731ba3c2019-05-18 11:59:53 -060058config TPL_BLOCK_CACHE
59 bool "Use block device cache in TPL"
60 depends on TPL_BLK
Simon Glass731ba3c2019-05-18 11:59:53 -060061 help
62 This option enables the disk-block cache in TPL
63
Simon Glass42b7f422021-12-04 08:56:31 -070064config EFI_MEDIA
65 bool "Support EFI media drivers"
66 default y if EFI || SANDBOX
67 help
68 Enable this to support media devices on top of UEFI. This enables
69 just the uclass so you also need a specific driver to make this do
70 anything.
71
72 For sandbox there is a test driver.
73
74if EFI_MEDIA
75
76config EFI_MEDIA_SANDBOX
77 bool "Sandbox EFI media driver"
78 depends on SANDBOX
79 default y
80 help
81 Enables a simple sandbox media driver, used for testing just the
82 EFI_MEDIA uclass. It does not do anything useful, since sandbox does
83 not actually support running on top of UEFI.
84
Simon Glassd8063dc2021-12-04 08:56:32 -070085config EFI_MEDIA_BLK
86 bool "EFI media block driver"
87 depends on EFI_APP
88 default y
89 help
90 Enables a block driver for providing access to UEFI devices. This
91 allows use of block devices detected by the underlying UEFI
92 implementation. With this it is possible to use filesystems on these
93 devices, for example.
94
Simon Glass42b7f422021-12-04 08:56:31 -070095endif # EFI_MEDIA
96
Simon Glassfc843a02017-05-17 03:25:30 -060097config IDE
98 bool "Support IDE controllers"
Adam Ford1811a922018-02-06 12:43:56 -060099 select HAVE_BLOCK_DEVICE
Simon Glassfc843a02017-05-17 03:25:30 -0600100 help
101 Enables support for IDE (Integrated Drive Electronics) hard drives.
102 This allows access to raw blocks and filesystems on an IDE drive
103 from U-Boot. See also CMD_IDE which provides an 'ide' command for
104 performing various IDE operations.
Simon Glassd2da54b2022-01-22 05:53:24 -0700105
106if IDE
107
108config SYS_IDE_MAXBUS
109 hex "Maximumm number of IDE buses"
110 default 2
111 help
112 This is the number of IDE buses provided by the board. Each one
113 can have one or two devices. One is designated the master and the
114 other one the slave. It is not required to have one or both on any
115 controller.
116
117config SYS_IDE_MAXDEVICE
118 hex "Maximum number of IDE devices"
119 default 2
120 help
121 This is the number of IDE devices which can be connected to the
122 board. Normally this is 2 * CONFIG_SYS_IDE_MAXBUS since up to two
123 devices can be connected to each bus. The number of devices actually
124 connected is determined by probing.
125
126config SYS_ATA_BASE_ADDR
127 hex "Base address of IDE controller"
128 default 0
129 help
130 This is the address of the IDE controller, from which other addresses
131 are calculated. Each bus is at a fixed offset from this address,
132 so it assumed that they are in the same area of the I/O space or
133 memory.
134
135config SYS_ATA_STRIDE
136 hex "IDE port stride"
137 default 0x1
138 help
139 This is the distance between each IDE register, in bytes. For an
140 8-bit controller this is typically 1, meaning that the registers
141 appear at consecutive bytes. If the value 2 two, that might indicate
142 a 16-bit register space.
143
144config SYS_ATA_DATA_OFFSET
145 hex "Offset of the data register"
146 default 0x0
147 help
148 This is the offset of the controller's data register from the base
149 address of the controller. This is typically 0, but may be something
150 else if there are some other registers at the start of the
151 controller space.
152
153config SYS_ATA_REG_OFFSET
154 hex "Offset of the register space"
155 default 0x0
156 help
157 This is the offset of the controller's 'register' space from the base
158 address of the controller. The data register (which is typically at
159 offset 0) has its own CONFIG, to deal with controllers where it is
160 somewhere else. Register 1 will be at this offset + 1, register 2 at
161 CONFIG_SYS_ATA_REG_OFFSET + 2, etc.
162
163config SYS_ATA_ALT_OFFSET
164 hex "Offset of the alternative registers"
165 default 0x0
166 help
167 This is the offset of the controller's 'alternative' space from the
168 base address of the controller. This allows these registers to be
169 located separately from the data and register space.
170
171config SYS_ATA_IDE0_OFFSET
172 hex "Offset of bus 0"
173 default 0x1f0
174 help
175 This is the start offset of bus 0 from the start of the
176 controller registers. All the other registers are calculated from
177 this address. using the above options. For x86 hardware this is often
178 0x1f0.
179
180config SYS_ATA_IDE1_OFFSET
181 hex "Offset of bus 1"
182 default 0x170
183 help
184 This is the start offset of bus 1 from the start of the
185 controller registers. All the other registers are calculated from
186 this address. using the above options. For x86 hardware this is often
187 0x170.
188
189config ATAPI
190 bool "Enable ATAPI support"
191 help
192 This enabled Advanced Technology Attachment Packet Interface (ATAPI),
193 a protocol that allows a greater variety of devices to be connected
194 to the IDE port than with plain ATA. It allows SCSI commands to be
195 sent across the bus, e.g. to support optical drives.
196
197config IDE_RESET
198 bool "Support board-specific reset"
199 help
200 If this is defined, IDE Reset will be performed by calling the
201 function:
202
203 ide_set_reset(int reset)
204
205 where reset is 1 to assert reset and 0 to de-assert it. This function
206 must be defined in a board-specific file.
207
208endif # IDE