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_3STACK || CYGPKG_HAL_ARM_MX35_3STACK || CYGPKG_HAL_ARM_MX25_3STACK || CYGPKG_HAL_ARM_MX51}
71 requires { CYGSEM_IO_FLASH_READ_INDIRECT == 1 }
72 compile mxcmci_core.c mxcmci_host.c mxcmci_mmc.c mxcmci_sd.c mxcmci_sd.c
75 cdl_option CYGHWR_DEVS_FLASH_MMC_SD {
76 display "MXC platform MMC card for older MMC/SD controllers"
77 active_if { CYGPKG_HAL_ARM_MX31_3STACK || CYGPKG_HAL_ARM_MX31ADS }
79 requires { CYGSEM_IO_FLASH_READ_INDIRECT == 1 }
84 cdl_option CYGHWR_DEVS_FLASH_MXC_NOR {
85 display "MXC platform NOR flash memory support"
88 When this option is enabled, it indicates NOR flash is
89 supported on the MXC platforms"
91 puts $::cdl_system_header "#define MXCFLASH_SELECT_NOR"
94 cdl_option CYGHWR_DEVS_FLASH_MXC_NAND {
95 display "MXC platform NAND flash memory support"
97 requires { CYGSEM_IO_FLASH_READ_INDIRECT == 1 }
99 When this option is enabled, it indicates NAND flash is
100 supported on the MXC platforms"
102 puts $::cdl_system_header "#define MXCFLASH_SELECT_NAND"
103 puts $::cdl_system_header "#define CYGIMP_FLASH_ENABLE mxc_flash_enable"
104 puts $::cdl_system_header "#define CYGIMP_FLASH_DISABLE mxc_flash_disable"
109 cdl_option CYGHWR_DEVS_FLASH_IMX_SPI_NOR {
110 display "i.MX platform SPI NOR flash memory support"
112 requires { CYGHWR_DEVS_FLASH_MXC_NOR == 1 }
114 When this option is enabled, it indicates SPI NOR flash is
115 supported on the i.MX platforms"
117 puts $::cdl_system_header "#define IMXFLASH_SELECT_SPI_NOR"
122 cdl_option CYGHWR_DEVS_FLASH_MXC_ATA {
123 display "MXC platform ATA support"
126 When this option is enabled, it indicates ATA is
127 supported on the MXC platforms"
129 puts $::cdl_system_header "#define MXCFLASH_SELECT_ATA"
134 cdl_component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH {
135 display "Use a flash based Bad Block Table"
138 active_if CYGHWR_DEVS_FLASH_MXC_NAND
139 cdl_option CYGHWR_DEVS_FLASH_MXC_BBT_IN_FLASH {
142 When this option is enabled, the driver will search for a flash
143 based bad block table"
145 puts $::cdl_system_header "#define MXCFLASH_FLASH_BASED_BBT"
146 puts $::cdl_system_header "#include <pkgconf/devs_flash_onmxc.h>"
149 cdl_component CYGHWR_FLASH_NAND_BBT_HEADER {
150 display "header file defining the NAND BBT descriptor"
154 defines the name of the header file that describes the BBT layout"
156 cdl_option CYGNUM_FLASH_NAND_BBT_BLOCKS {
157 display "Number of blocks to reserve for BBT"
161 Number of blocks to reserve for BBT"
165 cdl_option CYGHWR_DEVS_FLASH_MXC_MULTI {
166 display "MXC platform multi flash memory support"
168 active_if {(CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
169 (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
170 (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)}
172 When this option is enabled, it indicates multi flashes are
173 supported on the MXC platforms (like NAND and NOR)"
175 puts $::cdl_system_header "#define MXCFLASH_SELECT_MULTI"
177 compile mxcflash_wrapper.c
179 cdl_interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND {
180 display "MXC platform NAND flash reset workaround support"
181 active_if {CYGHWR_DEVS_FLASH_MXC_NAND}
183 When this option is enabled, it indicates 0xFFFF is used for
184 the NAND reset command instead of 0xFF."