1 # ====================================================================
2 #####ECOSGPLCOPYRIGHTBEGIN####
3 ## -------------------------------------------
4 ## This file is part of eCos, the Embedded Configurable Operating System.
5 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
7 ## eCos is free software; you can redistribute it and/or modify it under
8 ## the terms of the GNU General Public License as published by the Free
9 ## Software Foundation; either version 2 or (at your option) any later version.
11 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
12 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 ## You should have received a copy of the GNU General Public License along
17 ## with eCos; if not, write to the Free Software Foundation, Inc.,
18 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
20 ## As a special exception, if other files instantiate templates or use macros
21 ## or inline functions from this file, or you compile this file and link it
22 ## with other works to produce a work based on this file, this file does not
23 ## by itself cause the resulting work to be covered by the GNU General Public
24 ## License. However the source code for this file must still be made available
25 ## in accordance with section (3) of the GNU General Public License.
27 ## This exception does not invalidate any other reasons why a work based on
28 ## this file might be covered by the GNU General Public License.
30 ## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
31 ## at http://sources.redhat.com/ecos/ecos-license/
32 ## -------------------------------------------
33 #####ECOSGPLCOPYRIGHTEND####
34 # ====================================================================
35 ######DESCRIPTIONBEGIN####
38 # Original data: gthomas
42 #####DESCRIPTIONEND####
44 # ====================================================================
46 cdl_package CYGPKG_DEVS_FLASH_ONMXC {
47 display "Support FLASH memory on Freescale MXC platforms"
49 implements CYGHWR_IO_FLASH_DEVICE
50 parent CYGPKG_IO_FLASH
51 active_if CYGPKG_IO_FLASH
55 cdl_component CYGHWR_DEVS_FLASH_MMC {
56 display "MXC platform MMC card support"
58 requires { CYGSEM_IO_FLASH_READ_INDIRECT == 1 }
60 When this option is enabled, it indicates MMC card is
61 supported on the MXC platforms"
63 puts $::cdl_system_header "#define MXCFLASH_SELECT_MMC"
67 cdl_option CYGHWR_DEVS_FLASH_MMC_ESDHC {
68 display "MXC platform MMC card for newer SDHC controllers"
69 active_if { CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 ||
70 CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX51 }
72 requires { CYGSEM_IO_FLASH_READ_INDIRECT == 1 }
73 compile mxcmci_core.c mxcmci_host.c mxcmci_mmc.c mxcmci_sd.c mxcmci_sd.c
76 cdl_option CYGHWR_DEVS_FLASH_MMC_SD {
77 display "MXC platform MMC card for older MMC/SD controllers"
78 active_if { CYGPKG_HAL_ARM_MX31_3STACK || CYGPKG_HAL_ARM_MX31ADS }
80 requires { CYGSEM_IO_FLASH_READ_INDIRECT == 1 }
85 cdl_option CYGHWR_DEVS_FLASH_MXC_NOR {
86 display "MXC platform NOR flash memory support"
89 When this option is enabled, it indicates NOR flash is
90 supported on the MXC platforms"
92 puts $::cdl_system_header "#define MXCFLASH_SELECT_NOR"
95 cdl_option CYGHWR_DEVS_FLASH_MXC_NAND {
96 display "MXC platform NAND flash memory support"
98 requires { CYGSEM_IO_FLASH_READ_INDIRECT == 1 }
100 When this option is enabled, it indicates NAND flash is
101 supported on the MXC platforms"
103 puts $::cdl_system_header "#define MXCFLASH_SELECT_NAND"
104 puts $::cdl_system_header "#define CYGIMP_FLASH_ENABLE mxc_flash_enable"
105 puts $::cdl_system_header "#define CYGIMP_FLASH_DISABLE mxc_flash_disable"
110 cdl_option CYGHWR_DEVS_FLASH_IMX_SPI_NOR {
111 display "i.MX platform SPI NOR flash memory support"
113 requires { CYGHWR_DEVS_FLASH_MXC_NOR == 1 }
115 When this option is enabled, it indicates SPI NOR flash is
116 supported on the i.MX platforms"
118 puts $::cdl_system_header "#define IMXFLASH_SELECT_SPI_NOR"
123 cdl_option CYGHWR_DEVS_FLASH_MXC_ATA {
124 display "MXC platform ATA support"
127 When this option is enabled, it indicates ATA is
128 supported on the MXC platforms"
130 puts $::cdl_system_header "#define MXCFLASH_SELECT_ATA"
135 cdl_component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH {
136 display "Use a flash based Bad Block Table"
139 active_if CYGHWR_DEVS_FLASH_MXC_NAND
140 cdl_option CYGHWR_DEVS_FLASH_MXC_BBT_IN_FLASH {
143 When this option is enabled, the driver will search for a flash
144 based bad block table"
146 puts $::cdl_system_header "#define MXCFLASH_FLASH_BASED_BBT"
147 puts $::cdl_system_header "#include <pkgconf/devs_flash_onmxc.h>"
150 cdl_component CYGHWR_FLASH_NAND_BBT_HEADER {
151 display "header file defining the NAND BBT descriptor"
155 defines the name of the header file that describes the BBT layout"
157 cdl_option CYGNUM_FLASH_NAND_BBT_BLOCKS {
158 display "Number of blocks to reserve for BBT"
162 Number of blocks to reserve for BBT"
166 cdl_option CYGHWR_DEVS_FLASH_MXC_MULTI {
167 display "MXC platform multi flash memory support"
169 active_if {(CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
170 (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
171 (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)}
173 When this option is enabled, it indicates multi flashes are
174 supported on the MXC platforms (like NAND and NOR)"
176 puts $::cdl_system_header "#define MXCFLASH_SELECT_MULTI"
178 compile mxcflash_wrapper.c
180 cdl_interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND {
181 display "MXC platform NAND flash reset workaround support"
182 active_if {CYGHWR_DEVS_FLASH_MXC_NAND}
184 When this option is enabled, it indicates 0xFFFF is used for
185 the NAND reset command instead of 0xFF."