Convert CONFIG_FSL_SATA_V2 to Kconfig
[platform/kernel/u-boot.git] / drivers / block / Kconfig
1 config BLK
2         bool "Support block devices"
3         depends on DM
4         default y if DM_MMC || DM_USB
5         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
13 config HAVE_BLOCK_DEVICE
14         bool "Enable Legacy Block Device"
15         help
16           Some devices require block support whether or not DM is enabled
17
18 config 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
30 config 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
42 config VPL_BLK
43         bool "Support block devices in VPL"
44         depends on VPL_DM && BLK
45         default y
46         help
47           Enable support for block devices, such as SCSI, MMC and USB
48           flash sticks. These provide a block-level interface which permits
49           reading, writing and (in some cases) erasing blocks. Block
50           devices often have a partition table which allows the device to
51           be partitioned into several areas, called 'partitions' in U-Boot.
52           A filesystem can be placed in each partition.
53
54 config BLOCK_CACHE
55         bool "Use block device cache"
56         depends on BLK
57         default y
58         help
59           This option enables a disk-block cache for all block devices.
60           This is most useful when accessing filesystems under U-Boot since
61           it will prevent repeated reads from directory structures and other
62           filesystem data structures.
63
64 config SPL_BLOCK_CACHE
65         bool "Use block device cache in SPL"
66         depends on SPL_BLK
67         help
68           This option enables the disk-block cache in SPL
69
70 config TPL_BLOCK_CACHE
71         bool "Use block device cache in TPL"
72         depends on TPL_BLK
73         help
74           This option enables the disk-block cache in TPL
75
76 config EFI_MEDIA
77         bool "Support EFI media drivers"
78         default y if EFI || SANDBOX
79         help
80           Enable this to support media devices on top of UEFI. This enables
81           just the uclass so you also need a specific driver to make this do
82           anything.
83
84           For sandbox there is a test driver.
85
86 if EFI_MEDIA
87
88 config EFI_MEDIA_SANDBOX
89         bool "Sandbox EFI media driver"
90         depends on SANDBOX
91         default y
92         help
93           Enables a simple sandbox media driver, used for testing just the
94           EFI_MEDIA uclass. It does not do anything useful, since sandbox does
95           not actually support running on top of UEFI.
96
97 config EFI_MEDIA_BLK
98         bool "EFI media block driver"
99         depends on EFI_APP
100         default y
101         help
102           Enables a block driver for providing access to UEFI devices. This
103           allows use of block devices detected by the underlying UEFI
104           implementation. With this it is possible to use filesystems on these
105           devices, for example.
106
107 endif  # EFI_MEDIA
108
109 config IDE
110         bool "Support IDE controllers"
111         select HAVE_BLOCK_DEVICE
112         help
113           Enables support for IDE (Integrated Drive Electronics) hard drives.
114           This allows access to raw blocks and filesystems on an IDE drive
115           from U-Boot. See also CMD_IDE which provides an 'ide' command for
116           performing various IDE operations.
117
118 if IDE
119
120 config SYS_IDE_MAXBUS
121         hex "Maximumm number of IDE buses"
122         default 2
123         help
124           This is the number of IDE buses provided by the board. Each one
125           can have one or two devices. One is designated the master and the
126           other one the slave. It is not required to have one or both on any
127           controller.
128
129 config SYS_IDE_MAXDEVICE
130         hex "Maximum number of IDE devices"
131         default 2
132         help
133           This is the number of IDE devices which can be connected to the
134           board. Normally this is 2 * CONFIG_SYS_IDE_MAXBUS since up to two
135           devices can be connected to each bus. The number of devices actually
136           connected is determined by probing.
137
138 config SYS_ATA_BASE_ADDR
139         hex "Base address of IDE controller"
140         default 0
141         help
142           This is the address of the IDE controller, from which other addresses
143           are calculated. Each bus is at a fixed offset from this address,
144           so it assumed that they are in the same area of the I/O space or
145           memory.
146
147 config SYS_ATA_STRIDE
148         hex "IDE port stride"
149         default 0x1
150         help
151           This is the distance between each IDE register, in bytes. For an
152           8-bit controller this is typically 1, meaning that the registers
153           appear at consecutive bytes. If the value 2 two, that might indicate
154           a 16-bit register space.
155
156 config SYS_ATA_DATA_OFFSET
157         hex "Offset of the data register"
158         default 0x0
159         help
160           This is the offset of the controller's data register from the base
161           address of the controller. This is typically 0, but may be something
162           else if there are some other registers at the start of the
163           controller space.
164
165 config SYS_ATA_REG_OFFSET
166         hex "Offset of the register space"
167         default 0x0
168         help
169           This is the offset of the controller's 'register' space from the base
170           address of the controller. The data register (which is typically at
171           offset 0) has its own CONFIG, to deal with controllers where it is
172           somewhere else. Register 1 will be at this offset + 1, register 2 at
173           CONFIG_SYS_ATA_REG_OFFSET + 2, etc.
174
175 config SYS_ATA_ALT_OFFSET
176         hex "Offset of the alternative registers"
177         default 0x0
178         help
179           This is the offset of the controller's 'alternative' space from the
180           base address of the controller. This allows these registers to be
181           located separately from the data and register space.
182
183 config SYS_ATA_IDE0_OFFSET
184         hex "Offset of bus 0"
185         default 0x1f0
186         help
187           This is the start offset of bus 0 from the start of the
188           controller registers. All the other registers are calculated from
189           this address. using the above options. For x86 hardware this is often
190           0x1f0.
191
192 config SYS_ATA_IDE1_OFFSET
193         hex "Offset of bus 1"
194         default 0x170
195         help
196           This is the start offset of bus 1 from the start of the
197           controller registers. All the other registers are calculated from
198           this address. using the above options. For x86 hardware this is often
199           0x170.
200
201 config ATAPI
202         bool "Enable ATAPI support"
203         help
204           This enabled Advanced Technology Attachment Packet Interface (ATAPI),
205           a protocol that allows a greater variety of devices to be connected
206           to the IDE port than with plain ATA. It allows SCSI commands to be
207           sent across the bus, e.g. to support optical drives.
208
209 config IDE_RESET
210         bool "Support board-specific reset"
211         help
212           If this is defined, IDE Reset will be performed by calling the
213           function:
214
215              ide_set_reset(int reset)
216
217           where reset is 1 to assert reset and 0 to de-assert it. This function
218           must be defined in a board-specific file.
219
220 endif  # IDE