]> git.kernelconcepts.de Git - karo-tx-redboot.git/commitdiff
TX51 Release 2011-07-27
authorlothar <lothar>
Wed, 27 Jul 2011 12:38:32 +0000 (12:38 +0000)
committerlothar <lothar>
Wed, 27 Jul 2011 12:38:32 +0000 (12:38 +0000)
37 files changed:
.cvssymlinks
config/TX27-40x0.ecc
config/TX27-40x1.ecc
config/TX37-50x0.ecc
config/TX51-80x0.ecc
config/TX53-1xx1.ecc [deleted file]
config/TX53-1xx2.ecc [deleted file]
packages/devs/eth/arm/tx27karo/v1_0/include/devs_eth_arm_tx27.inl
packages/devs/eth/arm/tx51karo/v1_0/include/devs_eth_arm_tx51.inl
packages/devs/eth/fec/v2_0/cdl/fec_eth_drivers.cdl
packages/devs/eth/fec/v2_0/include/fec.h
packages/devs/eth/fec/v2_0/src/if_fec.c
packages/devs/eth/phy/v2_0/src/LAN8700.c
packages/devs/flash/arm/mxc/v2_0/cdl/mxc_flash_select.cdl
packages/devs/flash/arm/mxc/v2_0/include/mxc_nand_parts.inl
packages/devs/flash/arm/mxc/v2_0/include/mxc_nfc_v3.h
packages/devs/flash/arm/mxc/v2_0/include/mxcmci_core.h
packages/devs/flash/arm/mxc/v2_0/include/mxcmci_mmc.h
packages/devs/flash/arm/mxc/v2_0/src/mxc_mmc.c
packages/devs/flash/arm/mxc/v2_0/src/mxc_nfc.c
packages/devs/flash/arm/mxc/v2_0/src/mxcmci_core.c
packages/devs/flash/arm/mxc/v2_0/src/mxcmci_mmc.c
packages/devs/flash/arm/mxc/v2_0/src/mxcmci_sd.c
packages/devs/ipu/arm/imx/v1_0/include/ipu_common.h
packages/ecos.db
packages/hal/arm/arch/v2_0/src/redboot_linux_exec.c
packages/hal/arm/mx25/karo/v1_0/src/tx25_misc.c
packages/hal/arm/mx27/karo/v1_0/src/tx27_misc.c
packages/hal/arm/mx51/karo/v1_0/cdl/hal_arm_tx51.cdl
packages/hal/arm/mx51/karo/v1_0/include/hal_platform_setup.h
packages/hal/arm/mx51/karo/v1_0/src/tx51_misc.c
packages/hal/arm/mx51/var/v2_0/include/hal_soc.h
packages/infra/v2_0/src/diag.cxx
packages/io/flash/v2_0/include/flash.h
packages/io/flash/v2_0/src/flash.c
packages/redboot/v2_0/src/io.c
packages/redboot/v2_0/src/main.c

index 7cf7db11ada97a9f958d9a5d3ee7be98b88c2fea..e97979b6970bcef65689852cd45b7c13770e5d44 100644 (file)
@@ -2,13 +2,11 @@ v1_0 packages/devs/eth/arm/tx25karo/current
 v1_0 packages/devs/eth/arm/tx27karo/current
 v1_0 packages/devs/eth/arm/tx37karo/current
 v1_0 packages/devs/eth/arm/tx51karo/current
-v1_0 packages/devs/eth/arm/tx53karo/current
 v1_0 packages/devs/ipu/arm/imx/current
 v1_0 packages/hal/arm/mx25/karo/current
 v1_0 packages/hal/arm/mx27/karo/current
 v1_0 packages/hal/arm/mx37/karo/current
 v1_0 packages/hal/arm/mx51/karo/current
-v1_0 packages/hal/arm/mx53/karo/current
 v2_0 packages/compat/linux/current
 v2_0 packages/compat/posix/current
 v2_0 packages/compat/uitron/current
@@ -352,7 +350,6 @@ v2_0 packages/hal/arm/mx51/3stack/current
 v2_0 packages/hal/arm/mx51/babbage/current
 v2_0 packages/hal/arm/mx51/rocky/current
 v2_0 packages/hal/arm/mx51/var/current
-v2_0 packages/hal/arm/mx53/var/current
 v2_0 packages/hal/arm/mxc91131/evb/current
 v2_0 packages/hal/arm/mxc91131/var/current
 v2_0 packages/hal/arm/mxc91221/evb/current
index 9362d5cbe7dcfef59d449394c886821f163204d2..a9de1f03d631cac5bee323228ad9182fd0a021b5 100644 (file)
@@ -794,24 +794,6 @@ cdl_option CYGPKG_DEVS_ETH_FEC_CFLAGS_ADD {
 };
 
 # <
-# MXC FEC MII Gasket for RMII mode
-# This option enables the use of the MII Gasket for
-# RMII mode found in i.MX25 and i.MX53 processors.
-#
-cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53
-    #     CYGPKG_HAL_ARM_MX25 (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX53 (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
 # <
 # Ethernet transceiver (PHY) support
 # API for ethernet PHY devices
index 6109d967467a91329868c1bb2d6ae247b14ec9e8..7cef0a19975cbbf4088b405e441ad016c44ce6e3 100644 (file)
@@ -794,24 +794,6 @@ cdl_option CYGPKG_DEVS_ETH_FEC_CFLAGS_ADD {
 };
 
 # <
-# MXC FEC MII Gasket for RMII mode
-# This option enables the use of the MII Gasket for
-# RMII mode found in i.MX25 and i.MX53 processors.
-#
-cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53
-    #     CYGPKG_HAL_ARM_MX25 (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX53 (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
 # <
 # Ethernet transceiver (PHY) support
 # API for ethernet PHY devices
index 226da56fdb24be2689c340b2f3cb2f86739779ae..aa397c88b3138af386f1175ed4febad01160b069 100644 (file)
@@ -792,24 +792,6 @@ cdl_option CYGPKG_DEVS_ETH_FEC_CFLAGS_ADD {
 };
 
 # <
-# MXC FEC MII Gasket for RMII mode
-# This option enables the use of the MII Gasket for
-# RMII mode found in i.MX25 and i.MX53 processors.
-#
-cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53
-    #     CYGPKG_HAL_ARM_MX25 (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX53 (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
 # <
 # Ethernet transceiver (PHY) support
 # API for ethernet PHY devices
index bb5b40cd35758505eeb34af9415c49ff3e22621e..8ea46ed180c5ff3f1fe7ec3798c9e10107467b15 100644 (file)
@@ -794,24 +794,6 @@ cdl_option CYGPKG_DEVS_ETH_FEC_CFLAGS_ADD {
 };
 
 # <
-# MXC FEC MII Gasket for RMII mode
-# This option enables the use of the MII Gasket for
-# RMII mode found in i.MX25 and i.MX53 processors.
-#
-cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53
-    #     CYGPKG_HAL_ARM_MX25 (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX53 (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
 # <
 # Ethernet transceiver (PHY) support
 # API for ethernet PHY devices
@@ -3457,7 +3439,7 @@ cdl_option CYGNUM_HAL_ARM_TX51_SDRAM_SIZE {
 };
 
 # SDRAM clock
-# This option specifies the SDRAM clock im MHz of the TX51 module.
+# This option specifies the SDRAM clock in MHz of the TX51 module.
 #
 cdl_option CYGNUM_HAL_ARM_TX51_SDRAM_CLK {
     # Flavor: data
@@ -3468,6 +3450,18 @@ cdl_option CYGNUM_HAL_ARM_TX51_SDRAM_CLK {
     # Legal values:  166 200 
 };
 
+# CPU clock
+# This option specifies the CPU clock in MHz of the TX51 module.
+#
+cdl_option CYGNUM_HAL_ARM_TX51_CPU_CLK {
+    # Flavor: data
+    # No user value, uncomment the following line to provide one.
+    # user_value 800
+    # value_source default
+    # Default value: 800
+    # Legal values:  600 800 
+};
+
 # Enable low level debugging with LED
 # This option enables low level debugging by blink codes
 # of the LED on STK5.
diff --git a/config/TX53-1xx1.ecc b/config/TX53-1xx1.ecc
deleted file mode 100644 (file)
index fb58834..0000000
+++ /dev/null
@@ -1,10352 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    tx53karo ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_MX53 current ;
-    package -hardware CYGPKG_HAL_ARM_TX53KARO current ;
-    package -template CYGPKG_HAL current ;
-    package -template CYGPKG_INFRA current ;
-    package -template CYGPKG_REDBOOT current ;
-    package -template CYGPKG_ISOINFRA current ;
-    package -template CYGPKG_LIBC_STRING current ;
-    package -template CYGPKG_CRC current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_TX53 current ;
-    package -hardware CYGPKG_DEVS_ETH_FEC current ;
-    package -hardware CYGPKG_COMPRESS_ZLIB current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_ONMXC current ;
-    package -template CYGPKG_MEMALLOC current ;
-    package -template CYGPKG_DEVS_ETH_PHY current ;
-    package -template CYGPKG_LIBC_I18N current ;
-    package -template CYGPKG_LIBC_STDLIB current ;
-    package -template CYGPKG_ERROR current ;
-    package -hardware CYGPKG_DEVS_MXC_I2C current ;
-    package -hardware CYGPKG_DEVS_IMX_IPU current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-cortexa8-linux-gnu
-    # value_source user
-    # Default value: arm-926ejs-linux-gnu
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe"
-    # The inferred value should not be edited directly.
-    inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe"
-    # value_source user
-    # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe"
-    # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-};
-
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 1
-    #   --> 1
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# strdup
-# This option indicates whether strdup() is to be supported.
-#
-cdl_option CYGFUN_LIBC_STRING_STRDUP {
-    # ActiveIf constraint: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-fno-rtti -Woverloaded-virtual"
-    # value_source default
-    # Default value: "-fno-rtti -Woverloaded-virtual"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wno-pointer-sign
-    # value_source default
-    # Default value: -Wno-pointer-sign
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_TX53
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_FEC
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_PHY
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Network drivers
-#
-cdl_interface CYGHWR_NET_DRIVERS {
-    # Implemented by CYGPKG_DEVS_ETH_FEC, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE
-    #     ActiveIf:  CYGHWR_NET_DRIVERS > 1 
-    # option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE
-    #     ActiveIf:  CYGHWR_NET_DRIVERS > 1 
-};
-
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # Implemented by CYGPKG_DEVS_ETH_FEC, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# Ethernet driver for Ka-Ro electronics TX53 processor module
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_TX53 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# FEC ethernet driver required
-#
-cdl_interface CYGINT_DEVS_ETH_FEC_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_FEC
-    #     ActiveIf: CYGINT_DEVS_ETH_FEC_REQUIRED
-};
-
-# Ka-Ro TX53 ethernet port driver
-# This option includes the ethernet device driver for the
-# MXC Board port.
-#
-cdl_component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE
-    #     CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1
-    #   --> 1
-    # Requires: CYGHWR_DEVS_ETH_PHY_LAN8700
-    #     CYGHWR_DEVS_ETH_PHY_LAN8700 == 1
-    #   --> 1
-};
-
-# >
-# Device name for the ETH0 ethernet driver
-# This option sets the name of the ethernet device.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_MXCBOARD_ETH0_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# OUI part of MAC address
-# This option sets OUI part (manufacturer ID) of the MAC address
-# for validation.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI {
-    # ActiveIf constraint: CYGSEM_REDBOOT_PLF_ESA_VALIDATE
-    #     CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1
-    #   --> 1
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{ 0x00, 0x0c, 0xc6 }"
-    # value_source default
-    # Default value: "{ 0x00, 0x0c, 0xc6 }"
-};
-
-# <
-# <
-# Driver for fast ethernet controller.
-# Driver for fast ethernet controller.
-#
-cdl_package CYGPKG_DEVS_ETH_FEC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_FEC_REQUIRED
-    #     CYGINT_DEVS_ETH_FEC_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# MXC FEC ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_FEC_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the Cirrus Logic ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_FEC_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# MXC FEC MII Gasket for RMII mode
-# This option enables the use of the MII Gasket for
-# RMII mode found in i.MX25 and i.MX53 processors.
-#
-cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK {
-    # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53
-    #     CYGPKG_HAL_ARM_MX25 (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX53 == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Ethernet transceiver (PHY) support
-# API for ethernet PHY devices
-#
-cdl_package CYGPKG_DEVS_ETH_PHY {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-};
-
-# >
-# Enable driver debugging
-# Enables the diagnostic debug messages on the
-# console device.
-#
-cdl_option CYGDBG_DEVS_ETH_PHY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Time period (seconds) to wait for auto-negotiation
-# The length of time to wait for auto-negotiation to complete
-# before giving up and declaring the link dead/missing.
-#
-cdl_option CYGINT_DEVS_ETH_PHY_AUTO_NEGOTIATION_TIME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 5
-    # value_source default
-    # Default value: 5
-};
-
-# NSDP83847
-# Include support for National Semiconductor DP83847 DsPHYTER II
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_DP83847 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# AMD 79C874
-# Include support for AMD 79C874 NetPHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_AM79C874 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel LXT972
-# Include support for Intel LXT972xxx PHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_INLXT972 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ICS 1890
-# Include support for ICS 1890 PHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_ICS1890 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ICS 1892
-# Include support for ICS 1892 PHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_ICS1892 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ICS 1893
-# Include support for ICS 1893 and 1893AF PHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_ICS1893 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Davicom DM9161A
-# Include support for the Davicom DM9161A PHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_DM9161A {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Micrel KS8721
-# Include support for the Micrel KS8721 PHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_KS8721 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# SMSC LAN8700
-# Include support for SMSC LAN8700 NetPHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_LAN8700 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0
-    #     Requires: CYGHWR_DEVS_ETH_PHY_LAN8700
-};
-
-# <
-# <
-# ISO C library internationalization functions
-# doc: ref/libc.html
-# This package provides internationalization functions specified by the
-# ISO C standard - ISO/IEC 9899:1990. These include locale-related
-# functionality and <ctype.h> functionality.
-#
-cdl_package CYGPKG_LIBC_I18N {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Supported locales
-# These options determine which locales other than the "C" locale
-# are supported and hence contribute to the size of the executable.
-#
-cdl_component CYGPKG_LIBC_I18N_LOCALES {
-    # There is no associated value.
-};
-
-# >
-# Support for multiple locales required
-#
-cdl_interface CYGINT_LIBC_I18N_MB_REQUIRED {
-    # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_SJIS, active, disabled
-    # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_JIS, active, disabled
-    # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_EUCJP, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER ==  "<cyg/libc/i18n/mb.h>" 
-    #     CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-};
-
-# C-SJIS locale support
-# This option controls if the "C-SJIS" locale will be
-# supported by setlocale().  The locale is a hybrid locale
-# that is mostly the "C" locale with Japanese SJIS multibyte
-# support added.
-#
-cdl_option CYGFUN_LIBC_I18N_LOCALE_C_SJIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     LegalValues:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-};
-
-# C-JIS locale support
-# This option controls if the "C-JIS" locale will be
-# supported by setlocale().  The locale is a hybrid locale
-# that is mostly the "C" locale with Japanese JIS multibyte
-# support added.
-#
-cdl_option CYGFUN_LIBC_I18N_LOCALE_C_JIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     LegalValues:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-};
-
-# C-EUCJP locale support
-# This option controls if the "C-EUCJP" locale will be
-# supported by setlocale().  The locale is a hybrid locale
-# that is mostly the "C" locale with Japanese EUCJP multibyte
-# support added.
-#
-cdl_option CYGFUN_LIBC_I18N_LOCALE_C_EUCJP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     LegalValues:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-};
-
-# <
-# Newlib's ctype implementation
-# This option enables the implementation of the ctype functions
-# that comes with newlib. It is table driven and therefore
-# exhibits different performance characteristics. It also offers
-# a limited amount of binary compatibility
-# with newlib so that programs linked against newlib ctype/locale
-# do not need to be recompiled when linked with eCos.
-#
-cdl_option CYGPKG_LIBC_I18N_NEWLIB_CTYPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/newlibctype.h>" 
-    #     CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl>
-    #   --> 0
-};
-
-# Per-thread multibyte state
-# This option controls whether the multibyte character
-# handling functions mblen(), mbtowc(), and wctomb(),
-# have their state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Enabling this option will use three slots
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_I18N_PER_THREAD_MB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGVAR_KERNEL_THREADS_DATA != 0 
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Size of locale name strings
-# This option controls the maximum size of
-# locale names and is used, among other things
-# to instantiate a static string used
-# as a return value from the
-# setlocale() function. When requesting the
-# current locale settings with LC_ALL, a string
-# must be constructed to contain this data, rather
-# than just returning a constant string. This
-# string data is stored in the static string.
-# This depends on the length of locale names,
-# hence this option. If just the C locale is
-# present, this option can be set as low as 2.
-#
-cdl_option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-    #     CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0
-    #   --> 2
-    # Legal values:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    #     CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0
-};
-
-# Inline versions of <ctype.h> functions
-# This option chooses whether the simple character
-# classification and conversion functions (e.g.
-# isupper(), isalpha(), toupper(), etc.)
-# from <ctype.h> are available as inline
-# functions. This may improve performance and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_I18N_CTYPE_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/ctype.inl>" 
-    #     CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl>
-    #   --> 1
-};
-
-# C library i18n functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_I18N_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_I18N_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-fno-rtti -Woverloaded-virtual"
-    # value_source default
-    # Default value: "-fno-rtti -Woverloaded-virtual"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_I18N_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wno-pointer-sign
-    # value_source default
-    # Default value: -Wno-pointer-sign
-};
-
-# C library i18n function tests
-# This option specifies the set of tests for the C library
-# i18n functions.
-#
-cdl_option CYGPKG_LIBC_I18N_TESTS {
-    # Calculated value:  "tests/ctype tests/setlocale tests/i18nmb" 
-    # Flavor: data
-    # Current_value: tests/ctype tests/setlocale tests/i18nmb
-};
-
-# <
-# <
-# ISO C library general utility functions
-# doc: ref/libc.html
-# This package provides general utility functions in <stdlib.h>
-# as specified by the ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STDLIB {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Inline versions of <stdlib.h> functions
-# This option chooses whether some of the
-# particularly simple standard utility functions
-# from <stdlib.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_component CYGIMP_LIBC_STDLIB_INLINES {
-    # There is no associated value.
-};
-
-# >
-# abs() / labs()
-#
-cdl_option CYGIMP_LIBC_STDLIB_INLINE_ABS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STDLIB_ABS_HEADER ==  "<cyg/libc/stdlib/abs.inl>" 
-    #     CYGBLD_ISO_STDLIB_ABS_HEADER == <cyg/libc/stdlib/abs.inl>
-    #   --> 1
-};
-
-# div() / ldiv()
-#
-cdl_option CYGIMP_LIBC_STDLIB_INLINE_DIV {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STDLIB_DIV_HEADER ==  "<cyg/libc/stdlib/div.inl>" 
-    #     CYGBLD_ISO_STDLIB_DIV_HEADER == <cyg/libc/stdlib/div.inl>
-    #   --> 1
-};
-
-# atof() / atoi() / atol()
-#
-cdl_option CYGIMP_LIBC_STDLIB_INLINE_ATOX {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STDLIB_STRCONV_HEADER ==  "<cyg/libc/stdlib/atox.inl>" 
-    #     CYGBLD_ISO_STDLIB_STRCONV_HEADER == <cyg/libc/stdlib/atox.inl>
-    #   --> 1
-};
-
-# <
-# Random number generation
-# These options control the behaviour of the
-# functions rand(), srand() and rand_r()
-#
-cdl_component CYGPKG_LIBC_RAND {
-    # There is no associated value.
-};
-
-# >
-# Per-thread random seed
-# doc: ref/libc-thread-safety.html
-# This option controls whether the pseudo-random
-# number generation functions rand() and srand()
-# have their state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard rand_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_PER_THREAD_RAND {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Random number seed
-# This selects the initial random number seed for
-# rand()'s pseudo-random number generator. For
-# strict ISO standard compliance, this should be 1,
-# as per section 7.10.2.2 of the standard.
-#
-cdl_option CYGNUM_LIBC_RAND_SEED {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Legal values: 0 to 0x7fffffff
-};
-
-# Tracing level
-# Trace verbosity level for debugging the rand(),
-# srand() and rand_r() functions. Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_RAND_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# Simplest implementation
-# This provides a very simple implementation of rand()
-# that does not perform well with randomness in the
-# lower significant bits. However it is exceptionally
-# fast. It uses the sample algorithm from the ISO C
-# standard itself.
-#
-cdl_option CYGIMP_LIBC_RAND_SIMPLEST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple implementation #1
-# This provides a very simple implementation of rand()
-# based on the simplest implementation above. However
-# it does try to work around the lack of randomness
-# in the lower significant bits, at the expense of a
-# little speed.
-#
-cdl_option CYGIMP_LIBC_RAND_SIMPLE1 {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Knuth implementation #1
-# This implements a slightly more complex algorithm
-# published in Donald E. Knuth's Art of Computer
-# Programming Vol.2 section 3.6 (p.185 in the 3rd ed.).
-# This produces better random numbers than the
-# simplest approach but is slower.
-#
-cdl_option CYGIMP_LIBC_RAND_KNUTH1 {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# <
-# Provides strtod()
-# This option allows use of the utility function
-# strtod() (and consequently atof()) to convert
-# from string to double precision floating point
-# numbers. Disabling this option removes the
-# dependency on the math library package.
-#
-cdl_option CYGFUN_LIBC_strtod {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  0 != CYGPKG_LIBM 
-    #     CYGPKG_LIBM (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_LIBM
-    #     CYGPKG_LIBM (unknown) == 0
-    #   --> 0
-};
-
-# Provides long long conversion functions
-# Enabling this option will provide support for the strtoll(),
-# strtoull() and atoll() conversion functions, which are
-# the long long variants of the standard versions of these
-# functions. Supporting this requires extra code and compile
-# time.
-#
-cdl_option CYGFUN_LIBC_STDLIB_CONV_LONGLONG {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# bsearch() tracing level
-# Trace verbosity level for debugging the <stdlib.h>
-# binary search function bsearch(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_BSEARCH_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# qsort() tracing level
-# Trace verbosity level for debugging the <stdlib.h>
-# quicksort function qsort(). Increase this value
-# to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_QSORT_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# C library stdlib build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STDLIB_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-fno-rtti -Woverloaded-virtual"
-    # value_source default
-    # Default value: "-fno-rtti -Woverloaded-virtual"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wno-pointer-sign
-    # value_source default
-    # Default value: -Wno-pointer-sign
-};
-
-# C library stdlib tests
-# This option specifies the set of tests for this package.
-#
-cdl_option CYGPKG_LIBC_STDLIB_TESTS {
-    # Calculated value:  "tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul" 
-    # Flavor: data
-    # Current_value: tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul
-};
-
-# <
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_REDBOOT
-    #     Requires:  CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32768
-    # value_source default
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 128 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # option CYGBLD_BUILD_REDBOOT_WITH_GDB
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_REDBOOT_WITH_GDB
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_REDBOOT_WITH_GDB
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 1
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# Location of CRC32 table
-# The stubs use a 1 kilobyte CRC table that can either be pregenerated
-# and placed in ROM, or generated at runtime in RAM. Depending on
-# your memory constraints, one of these options may be better.
-#
-cdl_option CYGDBG_HAL_CRCTABLE_LOCATION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value RAM
-    # value_source default
-    # Default value: RAM
-    # Legal values: "ROM" "RAM"
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    # package CYGPKG_DEVS_ETH_PHY
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the TX53 module, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGSEM_REDBOOT_DISK_IDE
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ARM9
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 1
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 0
-    #   --> ARM9
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 1
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 0
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 1
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0
-    #   --> 0
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Accept exceptions and irq's occurring in user mode
-# For standalone Redboot based programs running in user mode.
-#
-cdl_option CYGOPT_HAL_ARM_WITH_USER_MODE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Preserve svc spsr before returning to svc mode
-# This option secures exception and breakpoint processing
-# triggered during execution of application specific SWI
-# handlers.
-#
-cdl_option CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Freescale SoC architecture
-# This HAL variant package provides generic
-# support for the Freescale SoC. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM_MX53 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK
-    #     ActiveIf: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53
-};
-
-# >
-# Processor clock rate
-# The processor can run at various frequencies.
-# These values are expressed in KHz.  Note that there are
-# several steppings of the rate to run at different
-# maximum frequencies.  Check the specs to make sure that your
-# particular processor can run at the rate you select here.
-#
-cdl_option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK {
-    # This option is not active
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 150000
-    # value_source default
-    # Default value:  CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT ?
-    #                             CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT : 150000
-    #     CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0
-    #     CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0
-    #   --> 150000
-    # Legal values: 150000 200000
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-# This option selects the heartbeat rate for the real-time clock.
-# The rate is specified in ticks per second.  Change this value
-# with caution - too high and your system will become saturated
-# just handling clock interrupts, too low and some operations
-# such as thread scheduling may become sluggish.
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_RTC_PERIOD
-    #     Calculated: (3686400/CYGNUM_HAL_RTC_DENOMINATOR)
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: (3686400/CYGNUM_HAL_RTC_DENOMINATOR)
-    #     CYGNUM_HAL_RTC_DENOMINATOR == 100
-    # Flavor: data
-    # Current_value: 36864
-};
-
-# <
-# UART1 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART1 {
-    # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# UART2 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART2 {
-    # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# UART3 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART3 {
-    # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# UART4 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART4 {
-    # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# UART5 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART5 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Ka-Ro TX53 module
-# This HAL platform package provides generic
-# support for the Ka-Ro electronics TX53 module.
-#
-cdl_package CYGPKG_HAL_ARM_TX53KARO {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_REDBOOT == 1
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-};
-
-# >
-# Startup type
-# The only startup type allowed is ROMRAM, since this will allow
-# the program to exist in ROM, but be copied to RAM during startup
-# which is required to boot from NAND flash.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ROMRAM
-    # value_source default
-    # Default value: ROMRAM
-    # Legal values:  "ROMRAM" "RAM" 
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the console port.
-# Note: this should match the value chosen for the GDB port if the
-# console and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 115200
-    # value_source default
-    # Default value: 115200
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-# Note: this should match the value chosen for the console port if the
-# console and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 115200
-    # value_source default
-    # Default value: 115200
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Number of communication channels on the TX53
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# The TX53 provides access to three serial ports. This option
-# chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE == 1
-    #   --> 1
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 0
-    # Flavor: data
-    # Current_value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     DefaultValue: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-};
-
-# Console serial port
-# The TX53 provides access to three serial ports. This option
-# chooses which port will be used for console output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE == 1
-    #   --> 1
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT == 0
-    #   --> 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Ka-Ro electronics TX53 module build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_TX53_OPTIONS {
-    # There is no associated value.
-    # Requires:  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-};
-
-# >
-# SDRAM size
-# This option specifies the SDRAM size of the TX53 module.
-#
-cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x20000000
-    # value_source default
-    # Default value: 0x20000000
-    # Legal values:  0x40000000 0x20000000 
-};
-
-# SDRAM clock
-# This option specifies the SDRAM clock im MHz of the TX53 module.
-#
-cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_CLK {
-    # Flavor: data
-    user_value 216
-    # value_source user
-    # Default value: 400
-    # Legal values:  216 400 
-};
-
-# Enable low level debugging with LED
-# This option enables low level debugging by blink codes
-# of the LED on STK5.
-#
-cdl_option CYGOPT_HAL_ARM_TX53_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  false 
-    #     false (unknown) == 0
-    #   --> 0
-};
-
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the TX53 HAL. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_TX53_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the TX53 HAL. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_TX53_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Show a splash screen from the FIS partition: 'logo'
-# When this option is enabled, RedBoot will look for a flash partition
-# named 'logo' and display the contents of this partition as initial
-# screen on the LCD
-#
-cdl_option CYGHWR_MX53_LCD_LOGO {
-    # ActiveIf constraint:  CYGPKG_DEVS_IMX_IPU 
-    #     CYGPKG_DEVS_IMX_IPU == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  "arm_tx53_romram" 
-    # Flavor: data
-    # Current_value: arm_tx53_romram
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  "<pkgconf/mlt_arm_tx53_romram.ldi>" 
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_tx53_romram.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  "<pkgconf/mlt_arm_tx53_romram.h>" 
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_tx53_romram.h>
-};
-
-# <
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_INFRA_EMPTY_DELETE_THRESHOLD
-    #     ActiveIf: CYGPKG_INFRA_DEBUG
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG
-    #     Requires: CYGDBG_USE_ASSERTS
-    # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG
-    #     DefaultValue:  0 != CYGDBG_USE_ASSERTS 
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Threshold for valid number of delete calls
-# Some users don't know about the empty delete function and then
-# wonder why their C++ classes are leaking memory. If
-# INFRA_DEBUG is enabled we keep a counter for the number of
-# times delete is called. If it goes above this threshold we throw
-# an assertion failure. This should point heavy users of
-# delete in the right direction without upsetting those who want
-# an empty delete function. 
-#
-cdl_option CYGNUM_INFRA_EMPTY_DELETE_THRESHOLD {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_INFRA_DEBUG
-    #     CYGPKG_INFRA_DEBUG == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Reset platform at end of test case execution
-# If this option is set then test case programs will reset the platform
-# when they terminate, as opposed to the default which is to just hang
-# in a loop.
-#
-cdl_option CYGSEM_INFRA_RESET_ON_TEST_EXIT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe"
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_GLOBAL_CFLAGS
-    #     Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe"
-    #   --> 1
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-fno-rtti -Woverloaded-virtual"
-    # value_source default
-    # Default value: "-fno-rtti -Woverloaded-virtual"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wno-pointer-sign
-    # value_source default
-    # Default value: -Wno-pointer-sign
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_component CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2
-};
-
-# >
-# Number of times a test runs
-# This option controls the number of times tests will execute their
-# basic function.  Not all tests will honor this setting, but those
-# that do will execute the test N times before terminating.  A value
-# less than 0 indicates to run forever.
-#
-cdl_option CYGNUM_TESTS_RUN_COUNT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 
-    #     CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_component CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Use the virtual address in the ELF headers
-# The ELF headers contain both a virtual and a physical address
-# for where code/data should be loaded. By default the physical
-# address is used but sometimes it is necassary to use the
-# virtual address because of bugy toolchains
-#
-cdl_option CYGOPT_REDBOOT_ELF_VIRTUAL_ADDRESS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL_ARM_TX53KARO
-    #     Requires: CYGBLD_BUILD_REDBOOT == 1
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Include GDB support in RedBoot
-# RedBoot normally includes support for the GDB debugging
-# protocols. This option allows this to be disabled which
-# may yield a substantial savings in terms of code and memory 
-# usage by RedBoot.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_GDB {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0
-    #   --> 0
-};
-
-# Threads debugging support
-# Enabling this option will include special code in the
-# GDB stubs to support debugging of threaded programs.  In
-# the case of eCos programs, this support allows GDB to
-# have complete access to the eCos threads in the
-# program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 "Ka-Ro 2010-01-06"
-    # value_source inferred
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the
-# last N command lines.  These lines may be reused.
-# Enabling this history will also enable rudimentary
-# editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES
-    #     ActiveIf: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
-    # option CYGBLD_REDBOOT_CMD_LINE_HISTORY
-    #     Requires:  CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 
-};
-
-# Enable command line editing using ANSI arrows, etc
-# If this option is enabled, RedBoot will accept standard ANSI key
-# sequences for cursor movement (along with the emacs style keys).
-#
-cdl_option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES {
-    # ActiveIf constraint: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
-    #     CYGNUM_REDBOOT_CMD_LINE_EDITING == 16
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Enable history command and expansion
-# Enabling this option will allow RedBoot to provide a
-# history command to list previous commands. Also enables
-# history expansion via '!'  character similar to bash
-# shell.
-#
-cdl_option CYGBLD_REDBOOT_CMD_LINE_HISTORY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 
-    #     CYGNUM_REDBOOT_CMD_LINE_EDITING == 16
-    #   --> 1
-};
-
-# Number of unique RAM segments on platform
-# Change this option to be the number of memory segments which are
-# supported by the platform.  If the value is greater than 1, then
-# a platform specific function must provide information about the
-# additional segments.
-#
-cdl_option CYGBLD_REDBOOT_MAX_MEM_SEGMENTS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_component CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# >
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less 
-# than five bytes are available initially so this is the 
-# minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Support compression of Flash images
-# This CDL indicates whether flash images can
-# be decompressed from gzip/zlib format into RAM.
-#
-cdl_option CYGPRI_REDBOOT_ZLIB_FLASH {
-    # ActiveIf constraint: CYGPKG_REDBOOT_FLASH
-    #     CYGPKG_REDBOOT_FLASH == 1
-    #   --> 1
-    # ActiveIf constraint:  (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #     CYGPRI_REDBOOT_ZLIB_FLASH_FORCE == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Include GZIP uncompress command
-# Enable this option to include a 'gunzip' command 
-# to uncompress GZIP compressed data.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_GUNZIP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Turn on CYGPRI_REDBOOT_ZLIB_FLASH
-# Force CYGPRI_REDBOOT_ZLIB_FLASH to be chosen
-#
-cdl_option CYGPRI_REDBOOT_ZLIB_FLASH_FORCE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGPRI_REDBOOT_ZLIB_FLASH
-    #     ActiveIf:  (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE 
-};
-
-# <
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGPKG_REDBOOT_CFLAGS_ADD
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM
-};
-
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_REDBOOT_CFLAGS_ADD {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM
-    #     CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM == 1
-    #   --> 1
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wno-inline
-    # value_source default
-    # Default value: -Wno-inline
-};
-
-# Allow the load-command write into Flash.
-# Write images direct to Flash via the load command.
-# We assume anything which is invalid RAM is flash, hence
-# the requires statement
-#
-cdl_option CYGBLD_REDBOOT_LOAD_INTO_FLASH {
-    # ActiveIf constraint: CYGPKG_REDBOOT_FLASH
-    #     CYGPKG_REDBOOT_FLASH == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS
-    #     CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS == 1
-    #   --> 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Include support for MXC USB downloads
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include support for i.MX USB OTG downloads
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_IMXOTG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory copy command
-# doc: ref/mcopy-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Include I/O Memory commands 'iopeek' and 'iopoke'
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Granularity of timer/ticks
-# This option controls the granularity of the timers.
-# Faster CPUs can afford higher granularity (lower values)
-# which should give higher network performance since the stack
-# is purely polled.
-#
-cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 250
-    # value_source default
-    # Default value: 250
-    # Legal values:  10 25 50 100 250 500 1000 
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored 
-# in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support TFTP for download
-# This option enables the use of the TFTP protocol for 
-# download
-#
-cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for 
-# download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if
-# a BOOTP/DHCP server does not respond. The numbers
-# should be separated by *commas*, and not dots. If
-# an IP address is configured into the Flash
-# configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default bootp server
-# This IP address is the default server
-# address used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should
-# be separated by *commas*, and not dots. If
-# an IP address is configured into the Flash
-# configuration, that will be used in
-# preference.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY
-    #     Requires: CYGSEM_REDBOOT_NETWORKING_DHCP
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP
-    #     CYGSEM_REDBOOT_NETWORKING_DHCP == 1
-    #   --> 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot
-# if a BOOTP/DHCP server does not respond. The
-# numbers should be separated by *commas*, and
-# not dots. If an IP address is configured into
-# the Flash configuration, that will be used in
-# preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by
-# RedBoot if a BOOTP/DHCP server does not
-# respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is
-# configured into the Flash configuration, that
-# will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP 
-# connections. This allows outside connections to be made 
-# to the platform, either for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support
-# various connections.  This option allows control
-# over the number of such buffered packets, and in
-# turn, controls the amount of memory used by RedBoot
-# (which is not available to user applications).
-# Each packet buffer takes up about 1514 bytes.
-# Note: there is little need to make this larger than
-# the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD (unknown) == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Support the use of a domain name
-# This option controls if Redboot supports domain
-# names when performing DNS lookups
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Default DNS domain
-# This option sets the default DNS domain name.
-# This value will be overwritten by the value in
-# flash or a domain returned by DHCP
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DEFAULT_DOMAIN {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Get DNS domain from Flash
-# This option enables getting the domain name 
-# from the flash configuration. This can later be 
-# overwritten by a value learnt from DHCP
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled
-    # ActiveIf constraint: CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Use DNS domain from DHCP
-# This option enables the use of the domain name
-# returned by DHCP.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DHCP_DOMAIN {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# BOOTP/DHCP DNS domain buffer size
-# This options sets the size of the static
-# buffer used by BOOTP/DHCP to store the DNS
-# domain name. The domain name will not be
-# set if the buffer is too small to hold it.
-#
-cdl_option CYGNUM_REDBOOT_NETWORK_DNS_DOMAIN_BUFSIZE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# <
-# <
-# Default network device driver
-# This is the name of the default network device to use.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint:  CYGHWR_NET_DRIVERS > 1 
-    #     CYGHWR_NET_DRIVERS == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"\""
-    # value_source default
-    # Default value: "\"\""
-};
-
-# Initialize only one net device
-# This option tells RedBoot to stop initializing network
-# devices when it finds the first device which is
-# successfully initialized. The default behavior causes
-# all network devices to be initialized.
-#
-cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
-    # This option is not active
-    # ActiveIf constraint:  CYGHWR_NET_DRIVERS > 1 
-    #     CYGHWR_NET_DRIVERS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Let RedBoot use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-};
-
-# Let RedBoot adjust the baud rate of the serial console.
-# If this option is enabled then RedBoot will support commands 
-# to set and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Run a platform specific startup function.
-# If this option is enabled then RedBoot will execute a platform
-# specific startup function before entering into its command line
-# processing.  This allows the platform to perform any special
-# setups before RedBoot actually starts running.  Note: the entire
-# RedBoot environment will already be initialized at this point.
-#
-cdl_option CYGSEM_REDBOOT_PLF_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Run a platform specific ESA validation function.
-# If this option is enabled then RedBoot will execute a platform
-# specific function to validate an ethernet ESA.  This would be
-# useful if the address must conform to standards set by the
-# hardware manufacturer, etc.
-#
-cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0
-    #     Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE
-    # option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI
-    #     ActiveIf: CYGSEM_REDBOOT_PLF_ESA_VALIDATE
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # The inferred value should not be edited directly.
-    inferred_value 1024
-    # value_source inferred
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make
-# sure that memory being used by the "load" command is
-# in fact in user RAM.  Leaving the option enabled makes
-# for a safer environment, but this check may not be valid
-# on all platforms, thus the ability to disable it.  
-# ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_LOAD_INTO_FLASH
-    #     Requires: CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_REDBOOT_ZLIB_FLASH
-    #     ActiveIf: CYGPKG_REDBOOT_FLASH
-    # option CYGBLD_REDBOOT_LOAD_INTO_FLASH
-    #     ActiveIf: CYGPKG_REDBOOT_FLASH
-};
-
-# >
-# Byte order used to store info in flash.
-# This option controls the byte ordering used to store
-# the FIS directory info and flash config info.
-#
-cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value NATURAL
-    # value_source default
-    # Default value: NATURAL
-    # Legal values: "NATURAL" "MSBFIRST" "LSBFIRST" 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf:  CYGOPT_REDBOOT_FIS &&  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Max number of chunks of free space to manage
-# If this option is defined then "fis free" will
-# rely on the FIS directory to determine what space is
-# free within the FLASH.  This option controls the
-# maximum number of free segment which can be handled
-# (typically this number is small).  If this option is
-# not enabled, the the archaic behaviour of actually
-# scanning the FLASH for erased sectors (unreliable)
-# will be used to determine what's free and what's
-# not.
-#
-cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 32
-    # value_source default
-    # Default value: 1 32
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory
-# information. Positive numbers are absolute block
-# numbers.  Negative block numbers count backwards
-# from the last block.  eg 2 means block 2, -2
-# means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK !=
-    #                                        CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK 
-};
-
-# Redundant Flash Image System Directory Support
-# This option enables the use of a redundant FIS
-# directory within RedBoot.  If enabled a flash block
-# will be reserved for a second copy of the fis
-# directory. Doing this allow for power failure safe
-# updates of the directory by the application.
-#
-cdl_component CYGOPT_REDBOOT_REDUNDANT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG 
-    #     CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG == 1
-    #   --> 0
-};
-
-# >
-# Flash block containing the backup Directory
-# Which block of flash should hold the redundant
-# directory information. Positive numbers are
-# absolute block numbers. Negative block numbers
-# count backwards from the last block. eg 2 means
-# block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_REDUNDANT_FIS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -3
-    # value_source default
-    # Default value: -3
-    # Requires:  CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK !=
-    #                                        CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK 
-    #     CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK == 0
-    #     CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK == -1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK !=
-    #                                        CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK 
-};
-
-# <
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-    # option CYGBLD_REDBOOT_MIN_IMAGE_SIZE
-    #     DefaultValue:  CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# Number of FIS directory entries
-# The FIS directory normally occupies a single flash
-# sector. Adjusting this value can allow for more than
-# one flash sector to be used, which is useful if your
-# sectors are very small.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Maximum RedBoot image size
-# This option controls the maximum length reserved
-# for the RedBoot boot image in the FIS table.
-# This should be a multiple of the flash's erase
-# block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00020000
-    # The inferred value should not be edited directly.
-    inferred_value 0x00040000
-    # value_source inferred
-    # Default value:  CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is 
-# located relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # component CYGPKG_HAL_ARM_TX53_OPTIONS
-    #     Requires:  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of
-# FLASH where RedBoot will never interfere; it is
-# expected that this area contains
-# (non-RedBoot-based) POST code or some other boot
-# monitor that executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # This option is not active
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System 
-# information blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGPKG_IO_FLASH != 0 
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN
-    #     ActiveIf: CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Style of media used for persistent data storage
-# Persistent data storage can either be held in 'norma' FLASH
-# or some other device (represented by the 'EEPROM' choice).
-# The different styles utilize different access methods.
-#
-cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value FLASH
-    # value_source default
-    # Default value: FLASH
-    # Legal values:  "FLASH" "EEPROM" 
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf:  CYGOPT_REDBOOT_FIS &&  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    # option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK
-    #     DefaultValue:  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint:  CYGOPT_REDBOOT_FIS &&  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    #     CYGOPT_REDBOOT_FIS == 1
-    #     CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_REDUNDANT_FIS
-    #     Requires:  0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG 
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory
-# and FLASH to be used for string configuration
-# options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and 
-# FLASH to be used for configuration options (persistent 
-# storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # The inferred value should not be edited directly.
-    inferred_value 2048
-    # value_source inferred
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    #     CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH
-    #   --> 1
-};
-
-# <
-# Allow RedBoot to support fileio
-# If this option is enabled then RedBoot will provide commands
-# to load files from fileio file systems such as JFFS2.
-#
-cdl_component CYGPKG_REDBOOT_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO_FILEIO
-    #     CYGPKG_IO_FILEIO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_GETC_BUFFER
-    #     DefaultValue:  CYGPKG_REDBOOT_FILEIO ? 4096 : 256 
-};
-
-# >
-# Include an ls command
-# If this option is enabled a simple ls command will be
-# included in redboot so the contents of a directory
-# can be listed
-#
-cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_FILEIO is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Include Redboot commands for disk access
-#
-cdl_option CYGSEM_REDBOOT_DISK {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_REDBOOT_DISK_DRIVERS != 0 
-    #     CYGINT_REDBOOT_DISK_DRIVERS == 0
-    #   --> 0
-};
-
-# Hardware drivers for disk-type devices
-#
-cdl_interface CYGINT_REDBOOT_DISK_DRIVERS {
-    # Implemented by CYGSEM_REDBOOT_DISK_IDE, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_DISK
-    #     DefaultValue:  CYGINT_REDBOOT_DISK_DRIVERS != 0 
-};
-
-# Maximum number of supported disks
-# This option controls the number of disks supported by 
-# RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported 
-# partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Work with VMware virtual disks
-# This option controls the disk driver behavior at 
-# ide-init
-#
-cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_DISK_IDE is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support EXT2 
-# filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 
-# filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the 
-# value of this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 0 0
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script
-# timeout.  The value is specified in milliseconds
-# (ms), thus to have the script timeout be defined in
-# terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 1000
-    # The inferred value should not be edited directly.
-    inferred_value 10
-    # value_source inferred
-    # Default value: 1000
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 10
-};
-
-# <
-# Support RTC for time & date functions
-# When this option is enabled, RedBoot will support commands to
-# query and set the real time clock (time and date)
-#
-cdl_option CYGSEM_REDBOOT_RTC {
-    # This option is not active
-    # ActiveIf constraint:  CYGPKG_IO_WALLCLOCK 
-    #     CYGPKG_IO_WALLCLOCK (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM 
-# monitor-style services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a
-# syscall handler to support debugging of applications
-# based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# Do not raise SIGTRAP when program exits
-# For some (single shot) newlib based programs,
-# exiting and returning a termination status may be
-# the normal expected behavior.
-#
-cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 1
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# Buffer size in getc when loading images
-# When loading images a buffer is used between redboot and the
-# underlying storage medium, eg a filesystem, or a socket etc.
-# The size of this buffer can have a big impart on load speed.
-#
-cdl_option CYGNUM_REDBOOT_GETC_BUFFER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value:  CYGPKG_REDBOOT_FILEIO ? 4096 : 256 
-    #     CYGPKG_REDBOOT_FILEIO == 0
-    #   --> 256
-};
-
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Enable -x switch for exec command.
-# This option allows bi-endian platforms to launch kernels
-# built for an endianess different than the RedBoot endianess
-#
-cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x70108000
-    # value_source default
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000
-    #   --> 0x70108000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00008000
-    # The inferred value should not be edited directly.
-    inferred_value 0x70108000
-    # value_source inferred
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS
-    #     Requires:  CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00000100
-    # value_source default
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Redboot HAL variant options
-#
-cdl_component CYGPKG_REDBOOT_HAL_TX53_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-    # Requires:  CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000
-    #   --> 1
-};
-
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_COMPRESS_ZLIB
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY
-    #     Requires: CYGPKG_ISOINFRA
-    # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY
-    #     DefaultValue:  0 != CYGPKG_ISOINFRA 
-    # component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS
-    #     ActiveIf: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_I18N
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STDLIB
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # Implemented by CYGPKG_LIBC_I18N, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # package CYGPKG_HAL_ARM_TX53KARO
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # package CYGPKG_LIBC_STDLIB
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/i18n/ctype.inl>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_LIBC_I18N_NEWLIB_CTYPE
-    #     Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/newlibctype.h>" 
-    # option CYGIMP_LIBC_I18N_CTYPE_INLINES
-    #     Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/ctype.inl>" 
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # Implemented by CYGPKG_ERROR, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/error/codes.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_ERROR
-    #     Requires:  CYGBLD_ISO_ERRNO_CODES_HEADER == "<cyg/error/codes.h>" 
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # Implemented by CYGPKG_ERROR_ERRNO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/error/errno.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_ERROR_ERRNO
-    #     Requires:  CYGBLD_ISO_ERRNO_HEADER == "<cyg/error/errno.h>" 
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # Implemented by CYGPKG_LIBC_I18N, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    # option CYGFUN_COMPRESS_ZLIB_GZIO
-    #     Requires: CYGINT_ISO_STDIO_FILEACCESS
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    # option CYGFUN_COMPRESS_ZLIB_GZIO
-    #     Requires: CYGINT_ISO_STDIO_FORMATTED_IO
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    # option CYGFUN_COMPRESS_ZLIB_GZIO
-    #     Requires: CYGINT_ISO_STDIO_FILEPOS
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/stdlib/atox.inl>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGIMP_LIBC_STDLIB_INLINE_ATOX
-    #     Requires:  CYGBLD_ISO_STDLIB_STRCONV_HEADER ==  "<cyg/libc/stdlib/atox.inl>" 
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # Implemented by CYGFUN_LIBC_strtod, active, disabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # Implemented by CYGIMP_LIBC_RAND_SIMPLEST, active, disabled
-    # Implemented by CYGIMP_LIBC_RAND_SIMPLE1, active, disabled
-    # Implemented by CYGIMP_LIBC_RAND_KNUTH1, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGFUN_LIBC_STRING_STRDUP
-    #     ActiveIf: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/stdlib/abs.inl>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGIMP_LIBC_STDLIB_INLINE_ABS
-    #     Requires:  CYGBLD_ISO_STDLIB_ABS_HEADER ==  "<cyg/libc/stdlib/abs.inl>" 
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/stdlib/div.inl>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGIMP_LIBC_STDLIB_INLINE_DIV
-    #     Requires:  CYGBLD_ISO_STDLIB_DIV_HEADER ==  "<cyg/libc/stdlib/div.inl>" 
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # interface CYGINT_LIBC_I18N_MB_REQUIRED
-    #     Requires:  CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER ==  "<cyg/libc/i18n/mb.h>" 
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # Implemented by CYGPKG_LIBC_I18N, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # Implemented by CYGPKG_ERROR_STRERROR, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/error/strerror.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_ERROR_STRERROR
-    #     Requires:  CYGBLD_ISO_STRERROR_HEADER == "<cyg/error/strerror.h>" 
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_COMPRESS_ZLIB_GZIO
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # package CYGPKG_LIBC_STDLIB
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# fnmatch implementation header
-#
-cdl_option CYGBLD_ISO_FNMATCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_COMPRESS_ZLIB
-    #     Requires: CYGPKG_CRC
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# Zlib compress and decompress package
-# This package provides support for compression and
-# decompression.
-#
-cdl_package CYGPKG_COMPRESS_ZLIB {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGPKG_CRC
-    #     CYGPKG_CRC == current
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT_WITH_ZLIB
-    #     ActiveIf: CYGPKG_COMPRESS_ZLIB
-};
-
-# >
-# Override memory allocation routines.
-#
-cdl_interface CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_ZLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC
-    #     ActiveIf:  CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 
-};
-
-# Should deflate() produce 'gzip' compatible output?
-# If this option is set then the output of calling deflate()
-# will be wrapped up as a 'gzip' compatible file.
-#
-cdl_option CYGSEM_COMPRESS_ZLIB_DEFLATE_MAKES_GZIP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does this library need malloc?
-# This pseudo-option will force the memalloc library to be
-# required iff the application does not provide it's own
-# infrastructure.
-#
-cdl_option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 
-    #     CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGPKG_MEMALLOC
-    #     CYGPKG_MEMALLOC == current
-    #   --> 1
-};
-
-# Include stdio-like utility functions
-# This option enables the stdio-like zlib utility functions
-# (gzread/gzwrite and friends) provided in gzio.c.
-#
-cdl_option CYGFUN_COMPRESS_ZLIB_GZIO {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGPKG_LIBC_STDIO_OPEN ? 1 : 0 
-    #     CYGPKG_LIBC_STDIO_OPEN (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STDIO_FILEPOS
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STDIO_FORMATTED_IO
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STDIO_FILEACCESS
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 0
-};
-
-# Zlib compress and decompress package build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_COMPRESS_ZLIB_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D__ECOS__ -DNO_ERRNO_H"
-    # value_source default
-    # Default value: "-D__ECOS__ -DNO_ERRNO_H"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wstrict-prototypes
-    # value_source default
-    # Default value: -Wstrict-prototypes
-};
-
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# zlib tests
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_TESTS {
-    # Calculated value:  "tests/zlib1.c tests/zlib2.c" 
-    # Flavor: data
-    # Current_value: tests/zlib1.c tests/zlib2.c
-};
-
-# <
-# FLASH device drivers
-# doc: ref/flash.html
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_REDBOOT_FLASH_CONFIG
-    #     DefaultValue:  CYGPKG_IO_FLASH != 0 
-    # package CYGPKG_DEVS_FLASH_ONMXC
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_ONMXC, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# Use of this interface is deprecated.
-# Drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
-    #     CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
-    #     Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Hardware cannot support direct access to FLASH memory
-# This option will be asserted by devices which cannot support
-# direct access to the FLASH memory contents (e.g. EEPROM or NAND
-# devices).  In these cases, the driver must provide an appropriate
-# hardware access function.
-#
-cdl_option CYGSEM_IO_FLASH_READ_INDIRECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires:  !CYGSEM_IO_FLASH_VERIFY_PROGRAM 
-    #     CYGSEM_IO_FLASH_VERIFY_PROGRAM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_REDBOOT_ZLIB_FLASH
-    #     ActiveIf:  (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE 
-    # component CYGHWR_DEVS_FLASH_MMC
-    #     Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    # option CYGHWR_DEVS_FLASH_MMC_ESDHC
-    #     Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    # option CYGHWR_DEVS_FLASH_MMC_SD
-    #     Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    # option CYGHWR_DEVS_FLASH_MXC_NAND
-    #     Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-};
-
-# Display status messages during flash operations
-# Selecting this option will cause the drivers to print status
-# messages as various flash operations are undertaken.
-#
-cdl_option CYGSEM_IO_FLASH_CHATTER {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_FLASH_READ_INDIRECT
-    #     Requires:  !CYGSEM_IO_FLASH_VERIFY_PROGRAM 
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-#
-cdl_interface CYGINT_IO_FLASH_BLOCK_CFG_1 {
-    # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1, inactive, enabled
-    # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1, inactive, disabled
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1
-    #     CYGINT_IO_FLASH_BLOCK_CFG_1 == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # interface CYGINT_IO_FLASH_BLOCK_CFG_1
-    #     Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1
-};
-
-# Static configuration
-# This configures the flash device 1 block device
-# with static base and length
-#
-cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# Configuration from FIS
-# This configures the flash device 1 block device
-# from Redboot FIS
-#
-cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of FIS entry
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_FIS_NAME_1 {
-    # This option is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"jffs2\""
-    # value_source default
-    # Default value: "\"jffs2\""
-};
-
-# <
-# <
-# <
-# Flash device driver build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_IO_FLASH_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the flash device drivers. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_FLASH_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the flash device drivers. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_IO_FLASH_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Flash device driver tests
-# This option specifies the set of tests for the flash device drivers.
-#
-cdl_component CYGPKG_IO_FLASH_TESTS {
-    # Calculated value:  "tests/flash1" 
-    # Flavor: data
-    # Current_value: tests/flash1
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash where tests
-# can be run.  It is important to set this correctly, as an
-# incorrect value could allow the tests to write over critical
-# portions of the FLASH device and possibly render the target
-# board totally non-functional.
-#
-cdl_option CYGNUM_IO_FLASH_TEST_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash used for testing.
-#
-cdl_option CYGNUM_IO_FLASH_TEST_LENGTH {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Support FLASH memory on Freescale MXC platforms
-#
-cdl_package CYGPKG_DEVS_FLASH_ONMXC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# MXC platform MMC card support
-# When this option is enabled, it indicates MMC card is
-# supported on the MXC platforms
-#
-cdl_component CYGHWR_DEVS_FLASH_MMC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-};
-
-# >
-# MXC platform MMC card for newer SDHC controllers
-#
-cdl_option CYGHWR_DEVS_FLASH_MMC_ESDHC {
-    # This option is not active
-    # The parent CYGHWR_DEVS_FLASH_MMC is disabled
-    # ActiveIf constraint:  CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || 
-    #                            CYGPKG_HAL_ARM_MX25 ||  CYGPKG_HAL_ARM_MX51 
-    #     CYGPKG_HAL_ARM_MX37 (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX35 (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX25 (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX51 (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #   --> 1
-};
-
-# MXC platform MMC card for older MMC/SD controllers
-#
-cdl_option CYGHWR_DEVS_FLASH_MMC_SD {
-    # This option is not active
-    # The parent CYGHWR_DEVS_FLASH_MMC is disabled
-    # ActiveIf constraint:  CYGPKG_HAL_ARM_MX31_3STACK || CYGPKG_HAL_ARM_MX31ADS 
-    #     CYGPKG_HAL_ARM_MX31_3STACK (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX31ADS (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #   --> 1
-};
-
-# <
-# MXC platform NOR flash memory support
-# When this option is enabled, it indicates NOR flash is
-# supported on the MXC platforms
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_NOR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_DEVS_FLASH_IMX_SPI_NOR
-    #     Requires:  CYGHWR_DEVS_FLASH_MXC_NOR == 1 
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-};
-
-# MXC platform NAND flash memory support
-# When this option is enabled, it indicates NAND flash is
-# supported on the MXC platforms
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_NAND {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH
-    #     ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-    # interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND
-    #     ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND
-};
-
-# i.MX platform SPI NOR flash memory support
-# When this option is enabled, it indicates SPI NOR flash is
-# supported on the i.MX platforms
-#
-cdl_option CYGHWR_DEVS_FLASH_IMX_SPI_NOR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGHWR_DEVS_FLASH_MXC_NOR == 1 
-    #     CYGHWR_DEVS_FLASH_MXC_NOR == 0
-    #   --> 0
-};
-
-# MXC platform ATA support
-# When this option is enabled, it indicates ATA is
-# supported on the MXC platforms
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_ATA {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Use a flash based Bad Block Table
-#
-cdl_component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH {
-    # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND
-    #     CYGHWR_DEVS_FLASH_MXC_NAND == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# When this option is enabled, the driver will search for a flash
-# based bad block table
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_BBT_IN_FLASH {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# header file defining the NAND BBT descriptor
-# defines the name of the header file that describes the BBT layout
-#
-cdl_component CYGHWR_FLASH_NAND_BBT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/io/tx53_nand_bbt.h>
-    # value_source inferred
-    # Default value: 0 0
-};
-
-# Number of blocks to reserve for BBT
-# Number of blocks to reserve for BBT
-#
-cdl_option CYGNUM_FLASH_NAND_BBT_BLOCKS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# <
-# MXC platform multi flash memory support
-# When this option is enabled, it indicates multi flashes are
-# supported on the MXC platforms (like NAND and NOR)
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_MULTI {
-    # This option is not active
-    # ActiveIf constraint: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-    #     CYGHWR_DEVS_FLASH_MXC_NAND == 1
-    #     CYGHWR_DEVS_FLASH_MXC_NOR == 0
-    #     CYGHWR_DEVS_FLASH_MXC_NAND == 1
-    #     CYGHWR_DEVS_FLASH_MMC == 0
-    #     CYGHWR_DEVS_FLASH_MXC_NOR == 0
-    #     CYGHWR_DEVS_FLASH_MMC == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-};
-
-# MXC platform NAND flash reset workaround support
-# When this option is enabled, it indicates 0xFFFF is used for
-# the NAND reset command instead of 0xFF.
-#
-cdl_interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND
-    #     CYGHWR_DEVS_FLASH_MXC_NAND == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# <
-# <
-# Dynamic memory allocation
-# doc: ref/memalloc.html
-# This package provides memory allocator infrastructure required for
-# dynamic memory allocators, including the ISO standard malloc
-# interface. It also contains some sample implementations.
-#
-cdl_package CYGPKG_MEMALLOC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC
-    #     Requires: CYGPKG_MEMALLOC
-};
-
-# >
-# Memory allocator implementations
-# This component contains configuration options related to the 
-# various memory allocators available.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATORS {
-    # There is no associated value.
-};
-
-# >
-# Fixed block allocator
-# This component contains configuration options related to the 
-# fixed block memory allocator.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_FIXED {
-    # There is no associated value.
-};
-
-# >
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_FIXED_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Simple variable block allocator
-# This component contains configuration options related to the 
-# simple variable block memory allocator. This allocator is not
-# very fast, and in particular does not scale well with large
-# numbers of allocations. It is however very compact in terms of
-# code size and does not have very much overhead per allocation.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_VARIABLE {
-    # There is no associated value.
-};
-
-# >
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are added that allow a thread to wait until memory
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Coalesce memory
-# The variable-block memory allocator can perform coalescing
-# of memory whenever the application code releases memory back
-# to the pool. This coalescing reduces the possibility of
-# memory fragmentation problems, but involves extra code and
-# processor cycles.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE
-    #     Requires: CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE
-};
-
-# <
-# Doug Lea's malloc
-# This component contains configuration options related to the 
-# port of Doug Lea's memory allocator, normally known as
-# dlmalloc. dlmalloc has a reputation for being both fast
-# and space-conserving, as well as resisting fragmentation well.
-# It is a common choice for a general purpose allocator and
-# has been used in both newlib and Linux glibc.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_DLMALLOC {
-    # There is no associated value.
-};
-
-# >
-# Debug build
-# Doug Lea's malloc implementation has substantial amounts
-# of internal checking in order to verify the operation
-# and consistency of the allocator. However this imposes
-# substantial overhead on each operation. Therefore this
-# checking may be individually disabled.
-#
-cdl_option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  0 != CYGDBG_USE_ASSERTS 
-    #     CYGDBG_USE_ASSERTS == 0
-    #   --> 0
-    # Requires: CYGDBG_USE_ASSERTS
-    #     CYGDBG_USE_ASSERTS == 0
-    #   --> 0
-};
-
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# Support more than one instance
-# Having this option disabled allows important
-# implementation structures to be declared as a single
-# static instance, allowing faster access. However this
-# would fail if there is more than one instance of
-# the dlmalloc allocator class. Therefore this option can
-# be enabled if multiple instances are required. Note: as
-# a special case, if this allocator is used as the
-# implementation of malloc, and it can be determined there
-# is more than one malloc pool, then this option will be
-# silently enabled.
-#
-cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_SAFE_MULTIPLE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use system memmove() and memset()
-# This may be used to control whether memset() and memmove()
-# are used within the implementation. The alternative is
-# to use some macro equivalents, which some people report
-# are faster in some circumstances.
-#
-cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_ISOINFRA 
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# Minimum alignment of allocated blocks
-# This option controls the minimum alignment that the
-# allocated memory blocks are aligned on, specified as
-# 2^N. Note that using large mininum alignments can lead
-# to excessive memory wastage.
-#
-cdl_option CYGNUM_MEMALLOC_ALLOCATOR_DLMALLOC_ALIGNMENT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 3
-    # value_source default
-    # Default value: 3
-    # Legal values: 3 to 10
-};
-
-# <
-# Variable block allocator with separate metadata
-# This component contains configuration options related to the 
-# variable block memory allocator with separate metadata.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_SEPMETA {
-    # There is no associated value.
-};
-
-# >
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_SEPMETA_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# Kernel C API support for memory allocation
-# This option must be enabled to provide the extensions required
-# to support integration into the kernel C API.
-#
-cdl_option CYGFUN_MEMALLOC_KAPI {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGFUN_KERNEL_API_C
-    #     CYGFUN_KERNEL_API_C (unknown) == 0
-    #   --> 0
-};
-
-# malloc(0) returns NULL
-# This option controls the behavior of malloc(0) ( or calloc with
-# either argument 0 ). It is permitted by the standard to return
-# either a NULL pointer or a unique pointer. Enabling this option
-# forces a NULL pointer to be returned.
-#
-cdl_option CYGSEM_MEMALLOC_MALLOC_ZERO_RETURNS_NULL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Breakpoint site when running out of memory
-# Whenever the system runs out of memory, it invokes this function
-# before either going to sleep waiting for memory to become 
-# available or returning failure.
-#
-cdl_option CYGSEM_MEMALLOC_INVOKE_OUT_OF_MEMORY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# malloc() and supporting allocators
-# This component enables support for dynamic memory
-# allocation as supplied by the functions malloc(),
-# free(), calloc() and realloc(). As these
-# functions are often used, but can have quite an
-# overhead, disabling them here can ensure they
-# cannot even be used accidentally when static
-# allocation is preferred. Within this component are
-# various allocators that can be selected for use
-# as the underlying implementation of the dynamic
-# allocation functions.
-#
-cdl_component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS {
-    # ActiveIf constraint: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Use external heap definition
-# This option allows other components in the
-# system to override the default system
-# provision of heap memory pools. This should
-# be set to a header which provides the equivalent
-# definitions to <pkgconf/heaps.hxx>.
-#
-cdl_component CYGBLD_MEMALLOC_MALLOC_EXTERNAL_HEAP_H {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Use external implementation of joining multiple heaps
-# The default implementation of joining multiple heaps
-# is fine for the case where there are multiple disjoint
-# memory regions of the same type. However, in a system
-# there might be e.g. a small amount of internal SRAM and
-# a large amount of external DRAM. The SRAM is faster and
-# the DRAM is slower. An application can implement some 
-# heuristic to choose which pool to allocate from. This
-# heuristic can be highly application specific.
-#
-cdl_component CYGBLD_MEMALLOC_MALLOC_EXTERNAL_JOIN_H {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# malloc() allocator implementations
-#
-cdl_interface CYGINT_MEMALLOC_MALLOC_ALLOCATORS {
-    # Implemented by CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE, active, disabled
-    # Implemented by CYGIMP_MEMALLOC_MALLOC_DLMALLOC, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1 
-    #     CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_MEMALLOC_MALLOC_ALLOCATORS
-    #     Requires:  CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1 
-};
-
-# malloc() implementation instantiation data
-# Memory allocator implementations that are capable of being
-# used underneath malloc() must be instantiated. The code
-# to do this is set in this option. It is only intended to
-# be set by the implementation, not the user.
-#
-cdl_option CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value <cyg/memalloc/dlmalloc.hxx>
-    # value_source default
-    # Default value: <cyg/memalloc/dlmalloc.hxx>
-
-    # The following properties are affected by this value
-    # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE
-    #     Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/memvar.hxx>" 
-    # option CYGIMP_MEMALLOC_MALLOC_DLMALLOC
-    #     Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/dlmalloc.hxx>" 
-};
-
-# Simple variable block implementation
-# This causes malloc() to use the simple
-# variable block allocator.
-#
-cdl_option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/memvar.hxx>" 
-    #     CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == <cyg/memalloc/dlmalloc.hxx>
-    #   --> 0
-    # Requires: CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE
-    #     CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE == 1
-    #   --> 1
-};
-
-# Doug Lea's malloc implementation
-# This causes malloc() to use a version of Doug Lea's
-# malloc (dlmalloc) as the underlying implementation.
-#
-cdl_option CYGIMP_MEMALLOC_MALLOC_DLMALLOC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/dlmalloc.hxx>" 
-    #     CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == <cyg/memalloc/dlmalloc.hxx>
-    #   --> 1
-};
-
-# <
-# Size of the fallback dynamic memory pool in bytes
-# If *no* heaps are configured in your memory layout,
-# dynamic memory allocation by
-# malloc() and calloc() must be from a fixed-size,
-# contiguous memory pool (note here that it is the
-# pool that is of a fixed size, but malloc() is still
-# able to allocate variable sized chunks of memory
-# from it). This option is the size
-# of that pool, in bytes. Note that not all of
-# this is available for programs to
-# use - some is needed for internal information
-# about memory regions, and some may be lost to
-# ensure that memory allocation only returns
-# memory aligned on word (or double word)
-# boundaries - a very common architecture
-# constraint.
-#
-cdl_option CYGNUM_MEMALLOC_FALLBACK_MALLOC_POOL_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16384
-    # value_source default
-    # Default value: 16384
-    # Legal values: 32 to 0x7fffffff
-};
-
-# Common memory allocator package build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_MEMALLOC_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_MEMALLOC_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-fno-rtti -Woverloaded-virtual"
-    # value_source default
-    # Default value: "-fno-rtti -Woverloaded-virtual"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_MEMALLOC_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wno-pointer-sign
-    # value_source default
-    # Default value: -Wno-pointer-sign
-};
-
-# Tests
-# This option specifies the set of tests for this package.
-#
-cdl_option CYGPKG_MEMALLOC_TESTS {
-    # Calculated value:  "tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2" 
-    # Flavor: data
-    # Current_value: tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2
-};
-
-# <
-# <
-# Common error code support
-# This package contains the common list of error and
-# status codes. It is held centrally to allow
-# packages to interchange error codes and status
-# codes in a common way, rather than each package
-# having its own conventions for error/status
-# reporting. The error codes are modelled on the
-# POSIX style naming e.g. EINVAL etc. This package
-# also provides the standard strerror() function to
-# convert error codes to textual representation, as
-# well as an implementation of the errno idiom.
-#
-cdl_package CYGPKG_ERROR {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_ERRNO_CODES_HEADER == "<cyg/error/codes.h>" 
-    #     CYGBLD_ISO_ERRNO_CODES_HEADER == <cyg/error/codes.h>
-    #   --> 1
-};
-
-# >
-# errno variable
-# This package controls the behaviour of the
-# errno variable (or more strictly, expression)
-# from <errno.h>.
-#
-cdl_component CYGPKG_ERROR_ERRNO {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_ERRNO_HEADER == "<cyg/error/errno.h>" 
-    #     CYGBLD_ISO_ERRNO_HEADER == <cyg/error/errno.h>
-    #   --> 1
-};
-
-# >
-# Per-thread errno
-# This option controls whether the standard error
-# code reporting variable errno is a per-thread
-# variable, rather than global.
-#
-cdl_option CYGSEM_ERROR_PER_THREAD_ERRNO {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the errno
-# retrieval mechanism in errno.cxx. Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_ERROR_ERRNO_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# strerror function
-# This package controls the presence and behaviour of the
-# strerror() function from <string.h>
-#
-cdl_option CYGPKG_ERROR_STRERROR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRERROR_HEADER == "<cyg/error/strerror.h>" 
-    #     CYGBLD_ISO_STRERROR_HEADER == <cyg/error/strerror.h>
-    #   --> 1
-};
-
-# Error package build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ERROR_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the error package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_ERROR_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the error package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_ERROR_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# I2C driver for FSL MXC-based platforms
-#
-cdl_package CYGPKG_DEVS_MXC_I2C {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# ipu driver for mxc
-#
-cdl_package CYGPKG_DEVS_IMX_IPU {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # option CYGHWR_MX53_LCD_LOGO
-    #     ActiveIf:  CYGPKG_DEVS_IMX_IPU 
-};
-
-# >
-# IPU version 3EX support
-# When this option is enabled, it indicates the IPU version
-# is 3EX
-#
-cdl_option CYGHWR_DEVS_IPU_3_EX {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-};
-
-# IPU version 3D support
-# When this option is enabled, it indicates the IPU version
-# is 3D
-#
-cdl_option CYGHWR_DEVS_IPU_3_D {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-
diff --git a/config/TX53-1xx2.ecc b/config/TX53-1xx2.ecc
deleted file mode 100644 (file)
index b708a33..0000000
+++ /dev/null
@@ -1,10352 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    tx53karo ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_MX53 current ;
-    package -hardware CYGPKG_HAL_ARM_TX53KARO current ;
-    package -template CYGPKG_HAL current ;
-    package -template CYGPKG_INFRA current ;
-    package -template CYGPKG_REDBOOT current ;
-    package -template CYGPKG_ISOINFRA current ;
-    package -template CYGPKG_LIBC_STRING current ;
-    package -template CYGPKG_CRC current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_TX53 current ;
-    package -hardware CYGPKG_DEVS_ETH_FEC current ;
-    package -hardware CYGPKG_COMPRESS_ZLIB current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_ONMXC current ;
-    package -template CYGPKG_MEMALLOC current ;
-    package -template CYGPKG_DEVS_ETH_PHY current ;
-    package -template CYGPKG_LIBC_I18N current ;
-    package -template CYGPKG_LIBC_STDLIB current ;
-    package -template CYGPKG_ERROR current ;
-    package -hardware CYGPKG_DEVS_MXC_I2C current ;
-    package -hardware CYGPKG_DEVS_IMX_IPU current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-cortexa8-linux-gnu
-    # value_source user
-    # Default value: arm-926ejs-linux-gnu
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe"
-    # The inferred value should not be edited directly.
-    inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe"
-    # value_source user
-    # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe"
-    # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-};
-
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 1
-    #   --> 1
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# strdup
-# This option indicates whether strdup() is to be supported.
-#
-cdl_option CYGFUN_LIBC_STRING_STRDUP {
-    # ActiveIf constraint: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-fno-rtti -Woverloaded-virtual"
-    # value_source default
-    # Default value: "-fno-rtti -Woverloaded-virtual"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wno-pointer-sign
-    # value_source default
-    # Default value: -Wno-pointer-sign
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_TX53
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_FEC
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_PHY
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Network drivers
-#
-cdl_interface CYGHWR_NET_DRIVERS {
-    # Implemented by CYGPKG_DEVS_ETH_FEC, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE
-    #     ActiveIf:  CYGHWR_NET_DRIVERS > 1 
-    # option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE
-    #     ActiveIf:  CYGHWR_NET_DRIVERS > 1 
-};
-
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # Implemented by CYGPKG_DEVS_ETH_FEC, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# Ethernet driver for Ka-Ro electronics TX53 processor module
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_TX53 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# FEC ethernet driver required
-#
-cdl_interface CYGINT_DEVS_ETH_FEC_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_FEC
-    #     ActiveIf: CYGINT_DEVS_ETH_FEC_REQUIRED
-};
-
-# Ka-Ro TX53 ethernet port driver
-# This option includes the ethernet device driver for the
-# MXC Board port.
-#
-cdl_component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE
-    #     CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1
-    #   --> 1
-    # Requires: CYGHWR_DEVS_ETH_PHY_LAN8700
-    #     CYGHWR_DEVS_ETH_PHY_LAN8700 == 1
-    #   --> 1
-};
-
-# >
-# Device name for the ETH0 ethernet driver
-# This option sets the name of the ethernet device.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_MXCBOARD_ETH0_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# OUI part of MAC address
-# This option sets OUI part (manufacturer ID) of the MAC address
-# for validation.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI {
-    # ActiveIf constraint: CYGSEM_REDBOOT_PLF_ESA_VALIDATE
-    #     CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1
-    #   --> 1
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{ 0x00, 0x0c, 0xc6 }"
-    # value_source default
-    # Default value: "{ 0x00, 0x0c, 0xc6 }"
-};
-
-# <
-# <
-# Driver for fast ethernet controller.
-# Driver for fast ethernet controller.
-#
-cdl_package CYGPKG_DEVS_ETH_FEC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_FEC_REQUIRED
-    #     CYGINT_DEVS_ETH_FEC_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# MXC FEC ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_FEC_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the Cirrus Logic ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_FEC_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# MXC FEC MII Gasket for RMII mode
-# This option enables the use of the MII Gasket for
-# RMII mode found in i.MX25 and i.MX53 processors.
-#
-cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK {
-    # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53
-    #     CYGPKG_HAL_ARM_MX25 (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX53 == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Ethernet transceiver (PHY) support
-# API for ethernet PHY devices
-#
-cdl_package CYGPKG_DEVS_ETH_PHY {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-};
-
-# >
-# Enable driver debugging
-# Enables the diagnostic debug messages on the
-# console device.
-#
-cdl_option CYGDBG_DEVS_ETH_PHY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Time period (seconds) to wait for auto-negotiation
-# The length of time to wait for auto-negotiation to complete
-# before giving up and declaring the link dead/missing.
-#
-cdl_option CYGINT_DEVS_ETH_PHY_AUTO_NEGOTIATION_TIME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 5
-    # value_source default
-    # Default value: 5
-};
-
-# NSDP83847
-# Include support for National Semiconductor DP83847 DsPHYTER II
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_DP83847 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# AMD 79C874
-# Include support for AMD 79C874 NetPHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_AM79C874 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel LXT972
-# Include support for Intel LXT972xxx PHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_INLXT972 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ICS 1890
-# Include support for ICS 1890 PHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_ICS1890 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ICS 1892
-# Include support for ICS 1892 PHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_ICS1892 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ICS 1893
-# Include support for ICS 1893 and 1893AF PHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_ICS1893 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Davicom DM9161A
-# Include support for the Davicom DM9161A PHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_DM9161A {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Micrel KS8721
-# Include support for the Micrel KS8721 PHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_KS8721 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# SMSC LAN8700
-# Include support for SMSC LAN8700 NetPHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_LAN8700 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0
-    #     Requires: CYGHWR_DEVS_ETH_PHY_LAN8700
-};
-
-# <
-# <
-# ISO C library internationalization functions
-# doc: ref/libc.html
-# This package provides internationalization functions specified by the
-# ISO C standard - ISO/IEC 9899:1990. These include locale-related
-# functionality and <ctype.h> functionality.
-#
-cdl_package CYGPKG_LIBC_I18N {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Supported locales
-# These options determine which locales other than the "C" locale
-# are supported and hence contribute to the size of the executable.
-#
-cdl_component CYGPKG_LIBC_I18N_LOCALES {
-    # There is no associated value.
-};
-
-# >
-# Support for multiple locales required
-#
-cdl_interface CYGINT_LIBC_I18N_MB_REQUIRED {
-    # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_SJIS, active, disabled
-    # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_JIS, active, disabled
-    # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_EUCJP, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER ==  "<cyg/libc/i18n/mb.h>" 
-    #     CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-};
-
-# C-SJIS locale support
-# This option controls if the "C-SJIS" locale will be
-# supported by setlocale().  The locale is a hybrid locale
-# that is mostly the "C" locale with Japanese SJIS multibyte
-# support added.
-#
-cdl_option CYGFUN_LIBC_I18N_LOCALE_C_SJIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     LegalValues:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-};
-
-# C-JIS locale support
-# This option controls if the "C-JIS" locale will be
-# supported by setlocale().  The locale is a hybrid locale
-# that is mostly the "C" locale with Japanese JIS multibyte
-# support added.
-#
-cdl_option CYGFUN_LIBC_I18N_LOCALE_C_JIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     LegalValues:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-};
-
-# C-EUCJP locale support
-# This option controls if the "C-EUCJP" locale will be
-# supported by setlocale().  The locale is a hybrid locale
-# that is mostly the "C" locale with Japanese EUCJP multibyte
-# support added.
-#
-cdl_option CYGFUN_LIBC_I18N_LOCALE_C_EUCJP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     LegalValues:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-};
-
-# <
-# Newlib's ctype implementation
-# This option enables the implementation of the ctype functions
-# that comes with newlib. It is table driven and therefore
-# exhibits different performance characteristics. It also offers
-# a limited amount of binary compatibility
-# with newlib so that programs linked against newlib ctype/locale
-# do not need to be recompiled when linked with eCos.
-#
-cdl_option CYGPKG_LIBC_I18N_NEWLIB_CTYPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/newlibctype.h>" 
-    #     CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl>
-    #   --> 0
-};
-
-# Per-thread multibyte state
-# This option controls whether the multibyte character
-# handling functions mblen(), mbtowc(), and wctomb(),
-# have their state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Enabling this option will use three slots
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_I18N_PER_THREAD_MB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGVAR_KERNEL_THREADS_DATA != 0 
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Size of locale name strings
-# This option controls the maximum size of
-# locale names and is used, among other things
-# to instantiate a static string used
-# as a return value from the
-# setlocale() function. When requesting the
-# current locale settings with LC_ALL, a string
-# must be constructed to contain this data, rather
-# than just returning a constant string. This
-# string data is stored in the static string.
-# This depends on the length of locale names,
-# hence this option. If just the C locale is
-# present, this option can be set as low as 2.
-#
-cdl_option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-    #     CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0
-    #   --> 2
-    # Legal values:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    #     CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0
-};
-
-# Inline versions of <ctype.h> functions
-# This option chooses whether the simple character
-# classification and conversion functions (e.g.
-# isupper(), isalpha(), toupper(), etc.)
-# from <ctype.h> are available as inline
-# functions. This may improve performance and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_I18N_CTYPE_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/ctype.inl>" 
-    #     CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl>
-    #   --> 1
-};
-
-# C library i18n functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_I18N_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_I18N_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-fno-rtti -Woverloaded-virtual"
-    # value_source default
-    # Default value: "-fno-rtti -Woverloaded-virtual"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_I18N_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wno-pointer-sign
-    # value_source default
-    # Default value: -Wno-pointer-sign
-};
-
-# C library i18n function tests
-# This option specifies the set of tests for the C library
-# i18n functions.
-#
-cdl_option CYGPKG_LIBC_I18N_TESTS {
-    # Calculated value:  "tests/ctype tests/setlocale tests/i18nmb" 
-    # Flavor: data
-    # Current_value: tests/ctype tests/setlocale tests/i18nmb
-};
-
-# <
-# <
-# ISO C library general utility functions
-# doc: ref/libc.html
-# This package provides general utility functions in <stdlib.h>
-# as specified by the ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STDLIB {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Inline versions of <stdlib.h> functions
-# This option chooses whether some of the
-# particularly simple standard utility functions
-# from <stdlib.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_component CYGIMP_LIBC_STDLIB_INLINES {
-    # There is no associated value.
-};
-
-# >
-# abs() / labs()
-#
-cdl_option CYGIMP_LIBC_STDLIB_INLINE_ABS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STDLIB_ABS_HEADER ==  "<cyg/libc/stdlib/abs.inl>" 
-    #     CYGBLD_ISO_STDLIB_ABS_HEADER == <cyg/libc/stdlib/abs.inl>
-    #   --> 1
-};
-
-# div() / ldiv()
-#
-cdl_option CYGIMP_LIBC_STDLIB_INLINE_DIV {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STDLIB_DIV_HEADER ==  "<cyg/libc/stdlib/div.inl>" 
-    #     CYGBLD_ISO_STDLIB_DIV_HEADER == <cyg/libc/stdlib/div.inl>
-    #   --> 1
-};
-
-# atof() / atoi() / atol()
-#
-cdl_option CYGIMP_LIBC_STDLIB_INLINE_ATOX {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STDLIB_STRCONV_HEADER ==  "<cyg/libc/stdlib/atox.inl>" 
-    #     CYGBLD_ISO_STDLIB_STRCONV_HEADER == <cyg/libc/stdlib/atox.inl>
-    #   --> 1
-};
-
-# <
-# Random number generation
-# These options control the behaviour of the
-# functions rand(), srand() and rand_r()
-#
-cdl_component CYGPKG_LIBC_RAND {
-    # There is no associated value.
-};
-
-# >
-# Per-thread random seed
-# doc: ref/libc-thread-safety.html
-# This option controls whether the pseudo-random
-# number generation functions rand() and srand()
-# have their state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard rand_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_PER_THREAD_RAND {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Random number seed
-# This selects the initial random number seed for
-# rand()'s pseudo-random number generator. For
-# strict ISO standard compliance, this should be 1,
-# as per section 7.10.2.2 of the standard.
-#
-cdl_option CYGNUM_LIBC_RAND_SEED {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Legal values: 0 to 0x7fffffff
-};
-
-# Tracing level
-# Trace verbosity level for debugging the rand(),
-# srand() and rand_r() functions. Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_RAND_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# Simplest implementation
-# This provides a very simple implementation of rand()
-# that does not perform well with randomness in the
-# lower significant bits. However it is exceptionally
-# fast. It uses the sample algorithm from the ISO C
-# standard itself.
-#
-cdl_option CYGIMP_LIBC_RAND_SIMPLEST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple implementation #1
-# This provides a very simple implementation of rand()
-# based on the simplest implementation above. However
-# it does try to work around the lack of randomness
-# in the lower significant bits, at the expense of a
-# little speed.
-#
-cdl_option CYGIMP_LIBC_RAND_SIMPLE1 {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Knuth implementation #1
-# This implements a slightly more complex algorithm
-# published in Donald E. Knuth's Art of Computer
-# Programming Vol.2 section 3.6 (p.185 in the 3rd ed.).
-# This produces better random numbers than the
-# simplest approach but is slower.
-#
-cdl_option CYGIMP_LIBC_RAND_KNUTH1 {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# <
-# Provides strtod()
-# This option allows use of the utility function
-# strtod() (and consequently atof()) to convert
-# from string to double precision floating point
-# numbers. Disabling this option removes the
-# dependency on the math library package.
-#
-cdl_option CYGFUN_LIBC_strtod {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  0 != CYGPKG_LIBM 
-    #     CYGPKG_LIBM (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_LIBM
-    #     CYGPKG_LIBM (unknown) == 0
-    #   --> 0
-};
-
-# Provides long long conversion functions
-# Enabling this option will provide support for the strtoll(),
-# strtoull() and atoll() conversion functions, which are
-# the long long variants of the standard versions of these
-# functions. Supporting this requires extra code and compile
-# time.
-#
-cdl_option CYGFUN_LIBC_STDLIB_CONV_LONGLONG {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# bsearch() tracing level
-# Trace verbosity level for debugging the <stdlib.h>
-# binary search function bsearch(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_BSEARCH_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# qsort() tracing level
-# Trace verbosity level for debugging the <stdlib.h>
-# quicksort function qsort(). Increase this value
-# to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_QSORT_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# C library stdlib build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STDLIB_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-fno-rtti -Woverloaded-virtual"
-    # value_source default
-    # Default value: "-fno-rtti -Woverloaded-virtual"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wno-pointer-sign
-    # value_source default
-    # Default value: -Wno-pointer-sign
-};
-
-# C library stdlib tests
-# This option specifies the set of tests for this package.
-#
-cdl_option CYGPKG_LIBC_STDLIB_TESTS {
-    # Calculated value:  "tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul" 
-    # Flavor: data
-    # Current_value: tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul
-};
-
-# <
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_REDBOOT
-    #     Requires:  CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32768
-    # value_source default
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 128 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # option CYGBLD_BUILD_REDBOOT_WITH_GDB
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_REDBOOT_WITH_GDB
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_REDBOOT_WITH_GDB
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 1
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# Location of CRC32 table
-# The stubs use a 1 kilobyte CRC table that can either be pregenerated
-# and placed in ROM, or generated at runtime in RAM. Depending on
-# your memory constraints, one of these options may be better.
-#
-cdl_option CYGDBG_HAL_CRCTABLE_LOCATION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value RAM
-    # value_source default
-    # Default value: RAM
-    # Legal values: "ROM" "RAM"
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    # package CYGPKG_DEVS_ETH_PHY
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the TX53 module, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGSEM_REDBOOT_DISK_IDE
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ARM9
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 1
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 0
-    #   --> ARM9
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 1
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 0
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 1
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0
-    #   --> 0
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Accept exceptions and irq's occurring in user mode
-# For standalone Redboot based programs running in user mode.
-#
-cdl_option CYGOPT_HAL_ARM_WITH_USER_MODE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Preserve svc spsr before returning to svc mode
-# This option secures exception and breakpoint processing
-# triggered during execution of application specific SWI
-# handlers.
-#
-cdl_option CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Freescale SoC architecture
-# This HAL variant package provides generic
-# support for the Freescale SoC. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM_MX53 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK
-    #     ActiveIf: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53
-};
-
-# >
-# Processor clock rate
-# The processor can run at various frequencies.
-# These values are expressed in KHz.  Note that there are
-# several steppings of the rate to run at different
-# maximum frequencies.  Check the specs to make sure that your
-# particular processor can run at the rate you select here.
-#
-cdl_option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK {
-    # This option is not active
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 150000
-    # value_source default
-    # Default value:  CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT ?
-    #                             CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT : 150000
-    #     CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0
-    #     CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0
-    #   --> 150000
-    # Legal values: 150000 200000
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-# This option selects the heartbeat rate for the real-time clock.
-# The rate is specified in ticks per second.  Change this value
-# with caution - too high and your system will become saturated
-# just handling clock interrupts, too low and some operations
-# such as thread scheduling may become sluggish.
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_RTC_PERIOD
-    #     Calculated: (3686400/CYGNUM_HAL_RTC_DENOMINATOR)
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: (3686400/CYGNUM_HAL_RTC_DENOMINATOR)
-    #     CYGNUM_HAL_RTC_DENOMINATOR == 100
-    # Flavor: data
-    # Current_value: 36864
-};
-
-# <
-# UART1 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART1 {
-    # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# UART2 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART2 {
-    # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# UART3 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART3 {
-    # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# UART4 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART4 {
-    # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# UART5 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART5 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Ka-Ro TX53 module
-# This HAL platform package provides generic
-# support for the Ka-Ro electronics TX53 module.
-#
-cdl_package CYGPKG_HAL_ARM_TX53KARO {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_REDBOOT == 1
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-};
-
-# >
-# Startup type
-# The only startup type allowed is ROMRAM, since this will allow
-# the program to exist in ROM, but be copied to RAM during startup
-# which is required to boot from NAND flash.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ROMRAM
-    # value_source default
-    # Default value: ROMRAM
-    # Legal values:  "ROMRAM" "RAM" 
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the console port.
-# Note: this should match the value chosen for the GDB port if the
-# console and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 115200
-    # value_source default
-    # Default value: 115200
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-# Note: this should match the value chosen for the console port if the
-# console and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 115200
-    # value_source default
-    # Default value: 115200
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Number of communication channels on the TX53
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# The TX53 provides access to three serial ports. This option
-# chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE == 1
-    #   --> 1
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 0
-    # Flavor: data
-    # Current_value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     DefaultValue: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-};
-
-# Console serial port
-# The TX53 provides access to three serial ports. This option
-# chooses which port will be used for console output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE == 1
-    #   --> 1
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT == 0
-    #   --> 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Ka-Ro electronics TX53 module build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_TX53_OPTIONS {
-    # There is no associated value.
-    # Requires:  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-};
-
-# >
-# SDRAM size
-# This option specifies the SDRAM size of the TX53 module.
-#
-cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_SIZE {
-    # Flavor: data
-    user_value 0x40000000
-    # value_source user
-    # Default value: 0x20000000
-    # Legal values:  0x40000000 0x20000000 
-};
-
-# SDRAM clock
-# This option specifies the SDRAM clock im MHz of the TX53 module.
-#
-cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_CLK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 400
-    # value_source default
-    # Default value: 400
-    # Legal values:  216 400 
-};
-
-# Enable low level debugging with LED
-# This option enables low level debugging by blink codes
-# of the LED on STK5.
-#
-cdl_option CYGOPT_HAL_ARM_TX53_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  false 
-    #     false (unknown) == 0
-    #   --> 0
-};
-
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the TX53 HAL. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_TX53_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the TX53 HAL. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_TX53_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Show a splash screen from the FIS partition: 'logo'
-# When this option is enabled, RedBoot will look for a flash partition
-# named 'logo' and display the contents of this partition as initial
-# screen on the LCD
-#
-cdl_option CYGHWR_MX53_LCD_LOGO {
-    # ActiveIf constraint:  CYGPKG_DEVS_IMX_IPU 
-    #     CYGPKG_DEVS_IMX_IPU == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  "arm_tx53_romram" 
-    # Flavor: data
-    # Current_value: arm_tx53_romram
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  "<pkgconf/mlt_arm_tx53_romram.ldi>" 
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_tx53_romram.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  "<pkgconf/mlt_arm_tx53_romram.h>" 
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_tx53_romram.h>
-};
-
-# <
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_INFRA_EMPTY_DELETE_THRESHOLD
-    #     ActiveIf: CYGPKG_INFRA_DEBUG
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG
-    #     Requires: CYGDBG_USE_ASSERTS
-    # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG
-    #     DefaultValue:  0 != CYGDBG_USE_ASSERTS 
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Threshold for valid number of delete calls
-# Some users don't know about the empty delete function and then
-# wonder why their C++ classes are leaking memory. If
-# INFRA_DEBUG is enabled we keep a counter for the number of
-# times delete is called. If it goes above this threshold we throw
-# an assertion failure. This should point heavy users of
-# delete in the right direction without upsetting those who want
-# an empty delete function. 
-#
-cdl_option CYGNUM_INFRA_EMPTY_DELETE_THRESHOLD {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_INFRA_DEBUG
-    #     CYGPKG_INFRA_DEBUG == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Reset platform at end of test case execution
-# If this option is set then test case programs will reset the platform
-# when they terminate, as opposed to the default which is to just hang
-# in a loop.
-#
-cdl_option CYGSEM_INFRA_RESET_ON_TEST_EXIT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe"
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_GLOBAL_CFLAGS
-    #     Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe"
-    #   --> 1
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-fno-rtti -Woverloaded-virtual"
-    # value_source default
-    # Default value: "-fno-rtti -Woverloaded-virtual"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wno-pointer-sign
-    # value_source default
-    # Default value: -Wno-pointer-sign
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_component CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2
-};
-
-# >
-# Number of times a test runs
-# This option controls the number of times tests will execute their
-# basic function.  Not all tests will honor this setting, but those
-# that do will execute the test N times before terminating.  A value
-# less than 0 indicates to run forever.
-#
-cdl_option CYGNUM_TESTS_RUN_COUNT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 
-    #     CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_component CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Use the virtual address in the ELF headers
-# The ELF headers contain both a virtual and a physical address
-# for where code/data should be loaded. By default the physical
-# address is used but sometimes it is necassary to use the
-# virtual address because of bugy toolchains
-#
-cdl_option CYGOPT_REDBOOT_ELF_VIRTUAL_ADDRESS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL_ARM_TX53KARO
-    #     Requires: CYGBLD_BUILD_REDBOOT == 1
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Include GDB support in RedBoot
-# RedBoot normally includes support for the GDB debugging
-# protocols. This option allows this to be disabled which
-# may yield a substantial savings in terms of code and memory 
-# usage by RedBoot.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_GDB {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0
-    #   --> 0
-};
-
-# Threads debugging support
-# Enabling this option will include special code in the
-# GDB stubs to support debugging of threaded programs.  In
-# the case of eCos programs, this support allows GDB to
-# have complete access to the eCos threads in the
-# program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 "Ka-Ro 2010-01-06"
-    # value_source inferred
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the
-# last N command lines.  These lines may be reused.
-# Enabling this history will also enable rudimentary
-# editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES
-    #     ActiveIf: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
-    # option CYGBLD_REDBOOT_CMD_LINE_HISTORY
-    #     Requires:  CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 
-};
-
-# Enable command line editing using ANSI arrows, etc
-# If this option is enabled, RedBoot will accept standard ANSI key
-# sequences for cursor movement (along with the emacs style keys).
-#
-cdl_option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES {
-    # ActiveIf constraint: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
-    #     CYGNUM_REDBOOT_CMD_LINE_EDITING == 16
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Enable history command and expansion
-# Enabling this option will allow RedBoot to provide a
-# history command to list previous commands. Also enables
-# history expansion via '!'  character similar to bash
-# shell.
-#
-cdl_option CYGBLD_REDBOOT_CMD_LINE_HISTORY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 
-    #     CYGNUM_REDBOOT_CMD_LINE_EDITING == 16
-    #   --> 1
-};
-
-# Number of unique RAM segments on platform
-# Change this option to be the number of memory segments which are
-# supported by the platform.  If the value is greater than 1, then
-# a platform specific function must provide information about the
-# additional segments.
-#
-cdl_option CYGBLD_REDBOOT_MAX_MEM_SEGMENTS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_component CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# >
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less 
-# than five bytes are available initially so this is the 
-# minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Support compression of Flash images
-# This CDL indicates whether flash images can
-# be decompressed from gzip/zlib format into RAM.
-#
-cdl_option CYGPRI_REDBOOT_ZLIB_FLASH {
-    # ActiveIf constraint: CYGPKG_REDBOOT_FLASH
-    #     CYGPKG_REDBOOT_FLASH == 1
-    #   --> 1
-    # ActiveIf constraint:  (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #     CYGPRI_REDBOOT_ZLIB_FLASH_FORCE == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Include GZIP uncompress command
-# Enable this option to include a 'gunzip' command 
-# to uncompress GZIP compressed data.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_GUNZIP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Turn on CYGPRI_REDBOOT_ZLIB_FLASH
-# Force CYGPRI_REDBOOT_ZLIB_FLASH to be chosen
-#
-cdl_option CYGPRI_REDBOOT_ZLIB_FLASH_FORCE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGPRI_REDBOOT_ZLIB_FLASH
-    #     ActiveIf:  (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE 
-};
-
-# <
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGPKG_REDBOOT_CFLAGS_ADD
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM
-};
-
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_REDBOOT_CFLAGS_ADD {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM
-    #     CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM == 1
-    #   --> 1
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wno-inline
-    # value_source default
-    # Default value: -Wno-inline
-};
-
-# Allow the load-command write into Flash.
-# Write images direct to Flash via the load command.
-# We assume anything which is invalid RAM is flash, hence
-# the requires statement
-#
-cdl_option CYGBLD_REDBOOT_LOAD_INTO_FLASH {
-    # ActiveIf constraint: CYGPKG_REDBOOT_FLASH
-    #     CYGPKG_REDBOOT_FLASH == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS
-    #     CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS == 1
-    #   --> 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Include support for MXC USB downloads
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include support for i.MX USB OTG downloads
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_IMXOTG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory copy command
-# doc: ref/mcopy-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Include I/O Memory commands 'iopeek' and 'iopoke'
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Granularity of timer/ticks
-# This option controls the granularity of the timers.
-# Faster CPUs can afford higher granularity (lower values)
-# which should give higher network performance since the stack
-# is purely polled.
-#
-cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 250
-    # value_source default
-    # Default value: 250
-    # Legal values:  10 25 50 100 250 500 1000 
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored 
-# in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support TFTP for download
-# This option enables the use of the TFTP protocol for 
-# download
-#
-cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for 
-# download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if
-# a BOOTP/DHCP server does not respond. The numbers
-# should be separated by *commas*, and not dots. If
-# an IP address is configured into the Flash
-# configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default bootp server
-# This IP address is the default server
-# address used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should
-# be separated by *commas*, and not dots. If
-# an IP address is configured into the Flash
-# configuration, that will be used in
-# preference.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY
-    #     Requires: CYGSEM_REDBOOT_NETWORKING_DHCP
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP
-    #     CYGSEM_REDBOOT_NETWORKING_DHCP == 1
-    #   --> 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot
-# if a BOOTP/DHCP server does not respond. The
-# numbers should be separated by *commas*, and
-# not dots. If an IP address is configured into
-# the Flash configuration, that will be used in
-# preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by
-# RedBoot if a BOOTP/DHCP server does not
-# respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is
-# configured into the Flash configuration, that
-# will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP 
-# connections. This allows outside connections to be made 
-# to the platform, either for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support
-# various connections.  This option allows control
-# over the number of such buffered packets, and in
-# turn, controls the amount of memory used by RedBoot
-# (which is not available to user applications).
-# Each packet buffer takes up about 1514 bytes.
-# Note: there is little need to make this larger than
-# the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD (unknown) == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Support the use of a domain name
-# This option controls if Redboot supports domain
-# names when performing DNS lookups
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Default DNS domain
-# This option sets the default DNS domain name.
-# This value will be overwritten by the value in
-# flash or a domain returned by DHCP
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DEFAULT_DOMAIN {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Get DNS domain from Flash
-# This option enables getting the domain name 
-# from the flash configuration. This can later be 
-# overwritten by a value learnt from DHCP
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled
-    # ActiveIf constraint: CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Use DNS domain from DHCP
-# This option enables the use of the domain name
-# returned by DHCP.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DHCP_DOMAIN {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# BOOTP/DHCP DNS domain buffer size
-# This options sets the size of the static
-# buffer used by BOOTP/DHCP to store the DNS
-# domain name. The domain name will not be
-# set if the buffer is too small to hold it.
-#
-cdl_option CYGNUM_REDBOOT_NETWORK_DNS_DOMAIN_BUFSIZE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# <
-# <
-# Default network device driver
-# This is the name of the default network device to use.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint:  CYGHWR_NET_DRIVERS > 1 
-    #     CYGHWR_NET_DRIVERS == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"\""
-    # value_source default
-    # Default value: "\"\""
-};
-
-# Initialize only one net device
-# This option tells RedBoot to stop initializing network
-# devices when it finds the first device which is
-# successfully initialized. The default behavior causes
-# all network devices to be initialized.
-#
-cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
-    # This option is not active
-    # ActiveIf constraint:  CYGHWR_NET_DRIVERS > 1 
-    #     CYGHWR_NET_DRIVERS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Let RedBoot use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-};
-
-# Let RedBoot adjust the baud rate of the serial console.
-# If this option is enabled then RedBoot will support commands 
-# to set and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Run a platform specific startup function.
-# If this option is enabled then RedBoot will execute a platform
-# specific startup function before entering into its command line
-# processing.  This allows the platform to perform any special
-# setups before RedBoot actually starts running.  Note: the entire
-# RedBoot environment will already be initialized at this point.
-#
-cdl_option CYGSEM_REDBOOT_PLF_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Run a platform specific ESA validation function.
-# If this option is enabled then RedBoot will execute a platform
-# specific function to validate an ethernet ESA.  This would be
-# useful if the address must conform to standards set by the
-# hardware manufacturer, etc.
-#
-cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0
-    #     Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE
-    # option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI
-    #     ActiveIf: CYGSEM_REDBOOT_PLF_ESA_VALIDATE
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # The inferred value should not be edited directly.
-    inferred_value 1024
-    # value_source inferred
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make
-# sure that memory being used by the "load" command is
-# in fact in user RAM.  Leaving the option enabled makes
-# for a safer environment, but this check may not be valid
-# on all platforms, thus the ability to disable it.  
-# ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_LOAD_INTO_FLASH
-    #     Requires: CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_REDBOOT_ZLIB_FLASH
-    #     ActiveIf: CYGPKG_REDBOOT_FLASH
-    # option CYGBLD_REDBOOT_LOAD_INTO_FLASH
-    #     ActiveIf: CYGPKG_REDBOOT_FLASH
-};
-
-# >
-# Byte order used to store info in flash.
-# This option controls the byte ordering used to store
-# the FIS directory info and flash config info.
-#
-cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value NATURAL
-    # value_source default
-    # Default value: NATURAL
-    # Legal values: "NATURAL" "MSBFIRST" "LSBFIRST" 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf:  CYGOPT_REDBOOT_FIS &&  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Max number of chunks of free space to manage
-# If this option is defined then "fis free" will
-# rely on the FIS directory to determine what space is
-# free within the FLASH.  This option controls the
-# maximum number of free segment which can be handled
-# (typically this number is small).  If this option is
-# not enabled, the the archaic behaviour of actually
-# scanning the FLASH for erased sectors (unreliable)
-# will be used to determine what's free and what's
-# not.
-#
-cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 32
-    # value_source default
-    # Default value: 1 32
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory
-# information. Positive numbers are absolute block
-# numbers.  Negative block numbers count backwards
-# from the last block.  eg 2 means block 2, -2
-# means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK !=
-    #                                        CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK 
-};
-
-# Redundant Flash Image System Directory Support
-# This option enables the use of a redundant FIS
-# directory within RedBoot.  If enabled a flash block
-# will be reserved for a second copy of the fis
-# directory. Doing this allow for power failure safe
-# updates of the directory by the application.
-#
-cdl_component CYGOPT_REDBOOT_REDUNDANT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG 
-    #     CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG == 1
-    #   --> 0
-};
-
-# >
-# Flash block containing the backup Directory
-# Which block of flash should hold the redundant
-# directory information. Positive numbers are
-# absolute block numbers. Negative block numbers
-# count backwards from the last block. eg 2 means
-# block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_REDUNDANT_FIS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -3
-    # value_source default
-    # Default value: -3
-    # Requires:  CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK !=
-    #                                        CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK 
-    #     CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK == 0
-    #     CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK == -1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK !=
-    #                                        CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK 
-};
-
-# <
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-    # option CYGBLD_REDBOOT_MIN_IMAGE_SIZE
-    #     DefaultValue:  CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# Number of FIS directory entries
-# The FIS directory normally occupies a single flash
-# sector. Adjusting this value can allow for more than
-# one flash sector to be used, which is useful if your
-# sectors are very small.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Maximum RedBoot image size
-# This option controls the maximum length reserved
-# for the RedBoot boot image in the FIS table.
-# This should be a multiple of the flash's erase
-# block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00020000
-    # The inferred value should not be edited directly.
-    inferred_value 0x00040000
-    # value_source inferred
-    # Default value:  CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is 
-# located relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # component CYGPKG_HAL_ARM_TX53_OPTIONS
-    #     Requires:  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of
-# FLASH where RedBoot will never interfere; it is
-# expected that this area contains
-# (non-RedBoot-based) POST code or some other boot
-# monitor that executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # This option is not active
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System 
-# information blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGPKG_IO_FLASH != 0 
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN
-    #     ActiveIf: CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Style of media used for persistent data storage
-# Persistent data storage can either be held in 'norma' FLASH
-# or some other device (represented by the 'EEPROM' choice).
-# The different styles utilize different access methods.
-#
-cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value FLASH
-    # value_source default
-    # Default value: FLASH
-    # Legal values:  "FLASH" "EEPROM" 
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf:  CYGOPT_REDBOOT_FIS &&  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    # option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK
-    #     DefaultValue:  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint:  CYGOPT_REDBOOT_FIS &&  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    #     CYGOPT_REDBOOT_FIS == 1
-    #     CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_REDUNDANT_FIS
-    #     Requires:  0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG 
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory
-# and FLASH to be used for string configuration
-# options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and 
-# FLASH to be used for configuration options (persistent 
-# storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # The inferred value should not be edited directly.
-    inferred_value 2048
-    # value_source inferred
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    #     CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH
-    #   --> 1
-};
-
-# <
-# Allow RedBoot to support fileio
-# If this option is enabled then RedBoot will provide commands
-# to load files from fileio file systems such as JFFS2.
-#
-cdl_component CYGPKG_REDBOOT_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO_FILEIO
-    #     CYGPKG_IO_FILEIO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_GETC_BUFFER
-    #     DefaultValue:  CYGPKG_REDBOOT_FILEIO ? 4096 : 256 
-};
-
-# >
-# Include an ls command
-# If this option is enabled a simple ls command will be
-# included in redboot so the contents of a directory
-# can be listed
-#
-cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_FILEIO is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Include Redboot commands for disk access
-#
-cdl_option CYGSEM_REDBOOT_DISK {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_REDBOOT_DISK_DRIVERS != 0 
-    #     CYGINT_REDBOOT_DISK_DRIVERS == 0
-    #   --> 0
-};
-
-# Hardware drivers for disk-type devices
-#
-cdl_interface CYGINT_REDBOOT_DISK_DRIVERS {
-    # Implemented by CYGSEM_REDBOOT_DISK_IDE, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_DISK
-    #     DefaultValue:  CYGINT_REDBOOT_DISK_DRIVERS != 0 
-};
-
-# Maximum number of supported disks
-# This option controls the number of disks supported by 
-# RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported 
-# partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Work with VMware virtual disks
-# This option controls the disk driver behavior at 
-# ide-init
-#
-cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_DISK_IDE is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support EXT2 
-# filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 
-# filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the 
-# value of this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 0 0
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script
-# timeout.  The value is specified in milliseconds
-# (ms), thus to have the script timeout be defined in
-# terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 1000
-    # The inferred value should not be edited directly.
-    inferred_value 10
-    # value_source inferred
-    # Default value: 1000
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 10
-};
-
-# <
-# Support RTC for time & date functions
-# When this option is enabled, RedBoot will support commands to
-# query and set the real time clock (time and date)
-#
-cdl_option CYGSEM_REDBOOT_RTC {
-    # This option is not active
-    # ActiveIf constraint:  CYGPKG_IO_WALLCLOCK 
-    #     CYGPKG_IO_WALLCLOCK (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM 
-# monitor-style services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a
-# syscall handler to support debugging of applications
-# based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# Do not raise SIGTRAP when program exits
-# For some (single shot) newlib based programs,
-# exiting and returning a termination status may be
-# the normal expected behavior.
-#
-cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 1
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# Buffer size in getc when loading images
-# When loading images a buffer is used between redboot and the
-# underlying storage medium, eg a filesystem, or a socket etc.
-# The size of this buffer can have a big impart on load speed.
-#
-cdl_option CYGNUM_REDBOOT_GETC_BUFFER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value:  CYGPKG_REDBOOT_FILEIO ? 4096 : 256 
-    #     CYGPKG_REDBOOT_FILEIO == 0
-    #   --> 256
-};
-
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Enable -x switch for exec command.
-# This option allows bi-endian platforms to launch kernels
-# built for an endianess different than the RedBoot endianess
-#
-cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x70108000
-    # value_source default
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000
-    #   --> 0x70108000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00008000
-    # The inferred value should not be edited directly.
-    inferred_value 0x70108000
-    # value_source inferred
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS
-    #     Requires:  CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00000100
-    # value_source default
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Redboot HAL variant options
-#
-cdl_component CYGPKG_REDBOOT_HAL_TX53_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-    # Requires:  CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000
-    #   --> 1
-};
-
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_COMPRESS_ZLIB
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY
-    #     Requires: CYGPKG_ISOINFRA
-    # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY
-    #     DefaultValue:  0 != CYGPKG_ISOINFRA 
-    # component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS
-    #     ActiveIf: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_I18N
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STDLIB
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # Implemented by CYGPKG_LIBC_I18N, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # package CYGPKG_HAL_ARM_TX53KARO
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # package CYGPKG_LIBC_STDLIB
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/i18n/ctype.inl>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_LIBC_I18N_NEWLIB_CTYPE
-    #     Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/newlibctype.h>" 
-    # option CYGIMP_LIBC_I18N_CTYPE_INLINES
-    #     Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/ctype.inl>" 
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # Implemented by CYGPKG_ERROR, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/error/codes.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_ERROR
-    #     Requires:  CYGBLD_ISO_ERRNO_CODES_HEADER == "<cyg/error/codes.h>" 
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # Implemented by CYGPKG_ERROR_ERRNO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/error/errno.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_ERROR_ERRNO
-    #     Requires:  CYGBLD_ISO_ERRNO_HEADER == "<cyg/error/errno.h>" 
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # Implemented by CYGPKG_LIBC_I18N, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    # option CYGFUN_COMPRESS_ZLIB_GZIO
-    #     Requires: CYGINT_ISO_STDIO_FILEACCESS
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    # option CYGFUN_COMPRESS_ZLIB_GZIO
-    #     Requires: CYGINT_ISO_STDIO_FORMATTED_IO
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    # option CYGFUN_COMPRESS_ZLIB_GZIO
-    #     Requires: CYGINT_ISO_STDIO_FILEPOS
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/stdlib/atox.inl>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGIMP_LIBC_STDLIB_INLINE_ATOX
-    #     Requires:  CYGBLD_ISO_STDLIB_STRCONV_HEADER ==  "<cyg/libc/stdlib/atox.inl>" 
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # Implemented by CYGFUN_LIBC_strtod, active, disabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # Implemented by CYGIMP_LIBC_RAND_SIMPLEST, active, disabled
-    # Implemented by CYGIMP_LIBC_RAND_SIMPLE1, active, disabled
-    # Implemented by CYGIMP_LIBC_RAND_KNUTH1, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGFUN_LIBC_STRING_STRDUP
-    #     ActiveIf: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/stdlib/abs.inl>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGIMP_LIBC_STDLIB_INLINE_ABS
-    #     Requires:  CYGBLD_ISO_STDLIB_ABS_HEADER ==  "<cyg/libc/stdlib/abs.inl>" 
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/stdlib/div.inl>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGIMP_LIBC_STDLIB_INLINE_DIV
-    #     Requires:  CYGBLD_ISO_STDLIB_DIV_HEADER ==  "<cyg/libc/stdlib/div.inl>" 
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # interface CYGINT_LIBC_I18N_MB_REQUIRED
-    #     Requires:  CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER ==  "<cyg/libc/i18n/mb.h>" 
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # Implemented by CYGPKG_LIBC_I18N, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # Implemented by CYGPKG_ERROR_STRERROR, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/error/strerror.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_ERROR_STRERROR
-    #     Requires:  CYGBLD_ISO_STRERROR_HEADER == "<cyg/error/strerror.h>" 
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_COMPRESS_ZLIB_GZIO
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # package CYGPKG_LIBC_STDLIB
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# fnmatch implementation header
-#
-cdl_option CYGBLD_ISO_FNMATCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_COMPRESS_ZLIB
-    #     Requires: CYGPKG_CRC
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# Zlib compress and decompress package
-# This package provides support for compression and
-# decompression.
-#
-cdl_package CYGPKG_COMPRESS_ZLIB {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGPKG_CRC
-    #     CYGPKG_CRC == current
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT_WITH_ZLIB
-    #     ActiveIf: CYGPKG_COMPRESS_ZLIB
-};
-
-# >
-# Override memory allocation routines.
-#
-cdl_interface CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_ZLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC
-    #     ActiveIf:  CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 
-};
-
-# Should deflate() produce 'gzip' compatible output?
-# If this option is set then the output of calling deflate()
-# will be wrapped up as a 'gzip' compatible file.
-#
-cdl_option CYGSEM_COMPRESS_ZLIB_DEFLATE_MAKES_GZIP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does this library need malloc?
-# This pseudo-option will force the memalloc library to be
-# required iff the application does not provide it's own
-# infrastructure.
-#
-cdl_option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 
-    #     CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGPKG_MEMALLOC
-    #     CYGPKG_MEMALLOC == current
-    #   --> 1
-};
-
-# Include stdio-like utility functions
-# This option enables the stdio-like zlib utility functions
-# (gzread/gzwrite and friends) provided in gzio.c.
-#
-cdl_option CYGFUN_COMPRESS_ZLIB_GZIO {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGPKG_LIBC_STDIO_OPEN ? 1 : 0 
-    #     CYGPKG_LIBC_STDIO_OPEN (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STDIO_FILEPOS
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STDIO_FORMATTED_IO
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STDIO_FILEACCESS
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 0
-};
-
-# Zlib compress and decompress package build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_COMPRESS_ZLIB_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D__ECOS__ -DNO_ERRNO_H"
-    # value_source default
-    # Default value: "-D__ECOS__ -DNO_ERRNO_H"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wstrict-prototypes
-    # value_source default
-    # Default value: -Wstrict-prototypes
-};
-
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# zlib tests
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_TESTS {
-    # Calculated value:  "tests/zlib1.c tests/zlib2.c" 
-    # Flavor: data
-    # Current_value: tests/zlib1.c tests/zlib2.c
-};
-
-# <
-# FLASH device drivers
-# doc: ref/flash.html
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_REDBOOT_FLASH_CONFIG
-    #     DefaultValue:  CYGPKG_IO_FLASH != 0 
-    # package CYGPKG_DEVS_FLASH_ONMXC
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_ONMXC, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# Use of this interface is deprecated.
-# Drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
-    #     CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
-    #     Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Hardware cannot support direct access to FLASH memory
-# This option will be asserted by devices which cannot support
-# direct access to the FLASH memory contents (e.g. EEPROM or NAND
-# devices).  In these cases, the driver must provide an appropriate
-# hardware access function.
-#
-cdl_option CYGSEM_IO_FLASH_READ_INDIRECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires:  !CYGSEM_IO_FLASH_VERIFY_PROGRAM 
-    #     CYGSEM_IO_FLASH_VERIFY_PROGRAM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_REDBOOT_ZLIB_FLASH
-    #     ActiveIf:  (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE 
-    # component CYGHWR_DEVS_FLASH_MMC
-    #     Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    # option CYGHWR_DEVS_FLASH_MMC_ESDHC
-    #     Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    # option CYGHWR_DEVS_FLASH_MMC_SD
-    #     Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    # option CYGHWR_DEVS_FLASH_MXC_NAND
-    #     Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-};
-
-# Display status messages during flash operations
-# Selecting this option will cause the drivers to print status
-# messages as various flash operations are undertaken.
-#
-cdl_option CYGSEM_IO_FLASH_CHATTER {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_FLASH_READ_INDIRECT
-    #     Requires:  !CYGSEM_IO_FLASH_VERIFY_PROGRAM 
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-#
-cdl_interface CYGINT_IO_FLASH_BLOCK_CFG_1 {
-    # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1, inactive, enabled
-    # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1, inactive, disabled
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1
-    #     CYGINT_IO_FLASH_BLOCK_CFG_1 == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # interface CYGINT_IO_FLASH_BLOCK_CFG_1
-    #     Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1
-};
-
-# Static configuration
-# This configures the flash device 1 block device
-# with static base and length
-#
-cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# Configuration from FIS
-# This configures the flash device 1 block device
-# from Redboot FIS
-#
-cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of FIS entry
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_FIS_NAME_1 {
-    # This option is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"jffs2\""
-    # value_source default
-    # Default value: "\"jffs2\""
-};
-
-# <
-# <
-# <
-# Flash device driver build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_IO_FLASH_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the flash device drivers. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_FLASH_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the flash device drivers. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_IO_FLASH_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Flash device driver tests
-# This option specifies the set of tests for the flash device drivers.
-#
-cdl_component CYGPKG_IO_FLASH_TESTS {
-    # Calculated value:  "tests/flash1" 
-    # Flavor: data
-    # Current_value: tests/flash1
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash where tests
-# can be run.  It is important to set this correctly, as an
-# incorrect value could allow the tests to write over critical
-# portions of the FLASH device and possibly render the target
-# board totally non-functional.
-#
-cdl_option CYGNUM_IO_FLASH_TEST_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash used for testing.
-#
-cdl_option CYGNUM_IO_FLASH_TEST_LENGTH {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Support FLASH memory on Freescale MXC platforms
-#
-cdl_package CYGPKG_DEVS_FLASH_ONMXC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# MXC platform MMC card support
-# When this option is enabled, it indicates MMC card is
-# supported on the MXC platforms
-#
-cdl_component CYGHWR_DEVS_FLASH_MMC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-};
-
-# >
-# MXC platform MMC card for newer SDHC controllers
-#
-cdl_option CYGHWR_DEVS_FLASH_MMC_ESDHC {
-    # This option is not active
-    # The parent CYGHWR_DEVS_FLASH_MMC is disabled
-    # ActiveIf constraint:  CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || 
-    #                            CYGPKG_HAL_ARM_MX25 ||  CYGPKG_HAL_ARM_MX51 
-    #     CYGPKG_HAL_ARM_MX37 (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX35 (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX25 (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX51 (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #   --> 1
-};
-
-# MXC platform MMC card for older MMC/SD controllers
-#
-cdl_option CYGHWR_DEVS_FLASH_MMC_SD {
-    # This option is not active
-    # The parent CYGHWR_DEVS_FLASH_MMC is disabled
-    # ActiveIf constraint:  CYGPKG_HAL_ARM_MX31_3STACK || CYGPKG_HAL_ARM_MX31ADS 
-    #     CYGPKG_HAL_ARM_MX31_3STACK (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX31ADS (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #   --> 1
-};
-
-# <
-# MXC platform NOR flash memory support
-# When this option is enabled, it indicates NOR flash is
-# supported on the MXC platforms
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_NOR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_DEVS_FLASH_IMX_SPI_NOR
-    #     Requires:  CYGHWR_DEVS_FLASH_MXC_NOR == 1 
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-};
-
-# MXC platform NAND flash memory support
-# When this option is enabled, it indicates NAND flash is
-# supported on the MXC platforms
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_NAND {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH
-    #     ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-    # interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND
-    #     ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND
-};
-
-# i.MX platform SPI NOR flash memory support
-# When this option is enabled, it indicates SPI NOR flash is
-# supported on the i.MX platforms
-#
-cdl_option CYGHWR_DEVS_FLASH_IMX_SPI_NOR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGHWR_DEVS_FLASH_MXC_NOR == 1 
-    #     CYGHWR_DEVS_FLASH_MXC_NOR == 0
-    #   --> 0
-};
-
-# MXC platform ATA support
-# When this option is enabled, it indicates ATA is
-# supported on the MXC platforms
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_ATA {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Use a flash based Bad Block Table
-#
-cdl_component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH {
-    # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND
-    #     CYGHWR_DEVS_FLASH_MXC_NAND == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# When this option is enabled, the driver will search for a flash
-# based bad block table
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_BBT_IN_FLASH {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# header file defining the NAND BBT descriptor
-# defines the name of the header file that describes the BBT layout
-#
-cdl_component CYGHWR_FLASH_NAND_BBT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/io/tx53_nand_bbt.h>
-    # value_source inferred
-    # Default value: 0 0
-};
-
-# Number of blocks to reserve for BBT
-# Number of blocks to reserve for BBT
-#
-cdl_option CYGNUM_FLASH_NAND_BBT_BLOCKS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# <
-# MXC platform multi flash memory support
-# When this option is enabled, it indicates multi flashes are
-# supported on the MXC platforms (like NAND and NOR)
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_MULTI {
-    # This option is not active
-    # ActiveIf constraint: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-    #     CYGHWR_DEVS_FLASH_MXC_NAND == 1
-    #     CYGHWR_DEVS_FLASH_MXC_NOR == 0
-    #     CYGHWR_DEVS_FLASH_MXC_NAND == 1
-    #     CYGHWR_DEVS_FLASH_MMC == 0
-    #     CYGHWR_DEVS_FLASH_MXC_NOR == 0
-    #     CYGHWR_DEVS_FLASH_MMC == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-};
-
-# MXC platform NAND flash reset workaround support
-# When this option is enabled, it indicates 0xFFFF is used for
-# the NAND reset command instead of 0xFF.
-#
-cdl_interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND
-    #     CYGHWR_DEVS_FLASH_MXC_NAND == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# <
-# <
-# Dynamic memory allocation
-# doc: ref/memalloc.html
-# This package provides memory allocator infrastructure required for
-# dynamic memory allocators, including the ISO standard malloc
-# interface. It also contains some sample implementations.
-#
-cdl_package CYGPKG_MEMALLOC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC
-    #     Requires: CYGPKG_MEMALLOC
-};
-
-# >
-# Memory allocator implementations
-# This component contains configuration options related to the 
-# various memory allocators available.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATORS {
-    # There is no associated value.
-};
-
-# >
-# Fixed block allocator
-# This component contains configuration options related to the 
-# fixed block memory allocator.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_FIXED {
-    # There is no associated value.
-};
-
-# >
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_FIXED_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Simple variable block allocator
-# This component contains configuration options related to the 
-# simple variable block memory allocator. This allocator is not
-# very fast, and in particular does not scale well with large
-# numbers of allocations. It is however very compact in terms of
-# code size and does not have very much overhead per allocation.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_VARIABLE {
-    # There is no associated value.
-};
-
-# >
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are added that allow a thread to wait until memory
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Coalesce memory
-# The variable-block memory allocator can perform coalescing
-# of memory whenever the application code releases memory back
-# to the pool. This coalescing reduces the possibility of
-# memory fragmentation problems, but involves extra code and
-# processor cycles.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE
-    #     Requires: CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE
-};
-
-# <
-# Doug Lea's malloc
-# This component contains configuration options related to the 
-# port of Doug Lea's memory allocator, normally known as
-# dlmalloc. dlmalloc has a reputation for being both fast
-# and space-conserving, as well as resisting fragmentation well.
-# It is a common choice for a general purpose allocator and
-# has been used in both newlib and Linux glibc.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_DLMALLOC {
-    # There is no associated value.
-};
-
-# >
-# Debug build
-# Doug Lea's malloc implementation has substantial amounts
-# of internal checking in order to verify the operation
-# and consistency of the allocator. However this imposes
-# substantial overhead on each operation. Therefore this
-# checking may be individually disabled.
-#
-cdl_option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  0 != CYGDBG_USE_ASSERTS 
-    #     CYGDBG_USE_ASSERTS == 0
-    #   --> 0
-    # Requires: CYGDBG_USE_ASSERTS
-    #     CYGDBG_USE_ASSERTS == 0
-    #   --> 0
-};
-
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# Support more than one instance
-# Having this option disabled allows important
-# implementation structures to be declared as a single
-# static instance, allowing faster access. However this
-# would fail if there is more than one instance of
-# the dlmalloc allocator class. Therefore this option can
-# be enabled if multiple instances are required. Note: as
-# a special case, if this allocator is used as the
-# implementation of malloc, and it can be determined there
-# is more than one malloc pool, then this option will be
-# silently enabled.
-#
-cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_SAFE_MULTIPLE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use system memmove() and memset()
-# This may be used to control whether memset() and memmove()
-# are used within the implementation. The alternative is
-# to use some macro equivalents, which some people report
-# are faster in some circumstances.
-#
-cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_ISOINFRA 
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# Minimum alignment of allocated blocks
-# This option controls the minimum alignment that the
-# allocated memory blocks are aligned on, specified as
-# 2^N. Note that using large mininum alignments can lead
-# to excessive memory wastage.
-#
-cdl_option CYGNUM_MEMALLOC_ALLOCATOR_DLMALLOC_ALIGNMENT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 3
-    # value_source default
-    # Default value: 3
-    # Legal values: 3 to 10
-};
-
-# <
-# Variable block allocator with separate metadata
-# This component contains configuration options related to the 
-# variable block memory allocator with separate metadata.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_SEPMETA {
-    # There is no associated value.
-};
-
-# >
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_SEPMETA_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# Kernel C API support for memory allocation
-# This option must be enabled to provide the extensions required
-# to support integration into the kernel C API.
-#
-cdl_option CYGFUN_MEMALLOC_KAPI {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGFUN_KERNEL_API_C
-    #     CYGFUN_KERNEL_API_C (unknown) == 0
-    #   --> 0
-};
-
-# malloc(0) returns NULL
-# This option controls the behavior of malloc(0) ( or calloc with
-# either argument 0 ). It is permitted by the standard to return
-# either a NULL pointer or a unique pointer. Enabling this option
-# forces a NULL pointer to be returned.
-#
-cdl_option CYGSEM_MEMALLOC_MALLOC_ZERO_RETURNS_NULL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Breakpoint site when running out of memory
-# Whenever the system runs out of memory, it invokes this function
-# before either going to sleep waiting for memory to become 
-# available or returning failure.
-#
-cdl_option CYGSEM_MEMALLOC_INVOKE_OUT_OF_MEMORY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# malloc() and supporting allocators
-# This component enables support for dynamic memory
-# allocation as supplied by the functions malloc(),
-# free(), calloc() and realloc(). As these
-# functions are often used, but can have quite an
-# overhead, disabling them here can ensure they
-# cannot even be used accidentally when static
-# allocation is preferred. Within this component are
-# various allocators that can be selected for use
-# as the underlying implementation of the dynamic
-# allocation functions.
-#
-cdl_component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS {
-    # ActiveIf constraint: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Use external heap definition
-# This option allows other components in the
-# system to override the default system
-# provision of heap memory pools. This should
-# be set to a header which provides the equivalent
-# definitions to <pkgconf/heaps.hxx>.
-#
-cdl_component CYGBLD_MEMALLOC_MALLOC_EXTERNAL_HEAP_H {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Use external implementation of joining multiple heaps
-# The default implementation of joining multiple heaps
-# is fine for the case where there are multiple disjoint
-# memory regions of the same type. However, in a system
-# there might be e.g. a small amount of internal SRAM and
-# a large amount of external DRAM. The SRAM is faster and
-# the DRAM is slower. An application can implement some 
-# heuristic to choose which pool to allocate from. This
-# heuristic can be highly application specific.
-#
-cdl_component CYGBLD_MEMALLOC_MALLOC_EXTERNAL_JOIN_H {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# malloc() allocator implementations
-#
-cdl_interface CYGINT_MEMALLOC_MALLOC_ALLOCATORS {
-    # Implemented by CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE, active, disabled
-    # Implemented by CYGIMP_MEMALLOC_MALLOC_DLMALLOC, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1 
-    #     CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_MEMALLOC_MALLOC_ALLOCATORS
-    #     Requires:  CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1 
-};
-
-# malloc() implementation instantiation data
-# Memory allocator implementations that are capable of being
-# used underneath malloc() must be instantiated. The code
-# to do this is set in this option. It is only intended to
-# be set by the implementation, not the user.
-#
-cdl_option CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value <cyg/memalloc/dlmalloc.hxx>
-    # value_source default
-    # Default value: <cyg/memalloc/dlmalloc.hxx>
-
-    # The following properties are affected by this value
-    # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE
-    #     Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/memvar.hxx>" 
-    # option CYGIMP_MEMALLOC_MALLOC_DLMALLOC
-    #     Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/dlmalloc.hxx>" 
-};
-
-# Simple variable block implementation
-# This causes malloc() to use the simple
-# variable block allocator.
-#
-cdl_option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/memvar.hxx>" 
-    #     CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == <cyg/memalloc/dlmalloc.hxx>
-    #   --> 0
-    # Requires: CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE
-    #     CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE == 1
-    #   --> 1
-};
-
-# Doug Lea's malloc implementation
-# This causes malloc() to use a version of Doug Lea's
-# malloc (dlmalloc) as the underlying implementation.
-#
-cdl_option CYGIMP_MEMALLOC_MALLOC_DLMALLOC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/dlmalloc.hxx>" 
-    #     CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == <cyg/memalloc/dlmalloc.hxx>
-    #   --> 1
-};
-
-# <
-# Size of the fallback dynamic memory pool in bytes
-# If *no* heaps are configured in your memory layout,
-# dynamic memory allocation by
-# malloc() and calloc() must be from a fixed-size,
-# contiguous memory pool (note here that it is the
-# pool that is of a fixed size, but malloc() is still
-# able to allocate variable sized chunks of memory
-# from it). This option is the size
-# of that pool, in bytes. Note that not all of
-# this is available for programs to
-# use - some is needed for internal information
-# about memory regions, and some may be lost to
-# ensure that memory allocation only returns
-# memory aligned on word (or double word)
-# boundaries - a very common architecture
-# constraint.
-#
-cdl_option CYGNUM_MEMALLOC_FALLBACK_MALLOC_POOL_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16384
-    # value_source default
-    # Default value: 16384
-    # Legal values: 32 to 0x7fffffff
-};
-
-# Common memory allocator package build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_MEMALLOC_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_MEMALLOC_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-fno-rtti -Woverloaded-virtual"
-    # value_source default
-    # Default value: "-fno-rtti -Woverloaded-virtual"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_MEMALLOC_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wno-pointer-sign
-    # value_source default
-    # Default value: -Wno-pointer-sign
-};
-
-# Tests
-# This option specifies the set of tests for this package.
-#
-cdl_option CYGPKG_MEMALLOC_TESTS {
-    # Calculated value:  "tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2" 
-    # Flavor: data
-    # Current_value: tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2
-};
-
-# <
-# <
-# Common error code support
-# This package contains the common list of error and
-# status codes. It is held centrally to allow
-# packages to interchange error codes and status
-# codes in a common way, rather than each package
-# having its own conventions for error/status
-# reporting. The error codes are modelled on the
-# POSIX style naming e.g. EINVAL etc. This package
-# also provides the standard strerror() function to
-# convert error codes to textual representation, as
-# well as an implementation of the errno idiom.
-#
-cdl_package CYGPKG_ERROR {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_ERRNO_CODES_HEADER == "<cyg/error/codes.h>" 
-    #     CYGBLD_ISO_ERRNO_CODES_HEADER == <cyg/error/codes.h>
-    #   --> 1
-};
-
-# >
-# errno variable
-# This package controls the behaviour of the
-# errno variable (or more strictly, expression)
-# from <errno.h>.
-#
-cdl_component CYGPKG_ERROR_ERRNO {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_ERRNO_HEADER == "<cyg/error/errno.h>" 
-    #     CYGBLD_ISO_ERRNO_HEADER == <cyg/error/errno.h>
-    #   --> 1
-};
-
-# >
-# Per-thread errno
-# This option controls whether the standard error
-# code reporting variable errno is a per-thread
-# variable, rather than global.
-#
-cdl_option CYGSEM_ERROR_PER_THREAD_ERRNO {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the errno
-# retrieval mechanism in errno.cxx. Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_ERROR_ERRNO_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# strerror function
-# This package controls the presence and behaviour of the
-# strerror() function from <string.h>
-#
-cdl_option CYGPKG_ERROR_STRERROR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRERROR_HEADER == "<cyg/error/strerror.h>" 
-    #     CYGBLD_ISO_STRERROR_HEADER == <cyg/error/strerror.h>
-    #   --> 1
-};
-
-# Error package build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ERROR_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the error package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_ERROR_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the error package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_ERROR_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# I2C driver for FSL MXC-based platforms
-#
-cdl_package CYGPKG_DEVS_MXC_I2C {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# ipu driver for mxc
-#
-cdl_package CYGPKG_DEVS_IMX_IPU {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # option CYGHWR_MX53_LCD_LOGO
-    #     ActiveIf:  CYGPKG_DEVS_IMX_IPU 
-};
-
-# >
-# IPU version 3EX support
-# When this option is enabled, it indicates the IPU version
-# is 3EX
-#
-cdl_option CYGHWR_DEVS_IPU_3_EX {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-};
-
-# IPU version 3D support
-# When this option is enabled, it indicates the IPU version
-# is 3D
-#
-cdl_option CYGHWR_DEVS_IPU_3_D {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-
index c14e2b2046e3c6dca614325c97829388e62170e7..1b9d3a08aad0bd560cf31436cdc881b315a9e5b1 100644 (file)
@@ -315,7 +315,7 @@ NETDEVTAB_ENTRY(mxc_fec_netdev,
 RedBoot_config_option("Set FEC network hardware address [MAC]",
                       fec_esa,
                       ALWAYS_ENABLED, true,
-                      CONFIG_BOOL, false
+                      CONFIG_BOOL, true
                      );
 RedBoot_config_option("FEC network hardware address [MAC]",
                       fec_esa_data,
index 230921fd1a90ba64cb7325cd1119491014117c19..9d31daacd4d127a838e2ca9fc3f4d2f65c0c42db 100644 (file)
@@ -58,6 +58,8 @@
 
 #ifdef CYGPKG_DEVS_ETH_PHY
 
+static bool mxc_fec_init(struct cyg_netdevtab_entry *tab);
+
 static char  mxc_fec_name[] = "mxc_fec";
 
 #define MX51_GPIO_ADDR(bank)                   (GPIO1_BASE_ADDR + (((bank) - 1) << 14))
@@ -70,8 +72,7 @@ static char  mxc_fec_name[] = "mxc_fec";
 //
 static char oui[3] = CYGDAT_DEVS_ETH_ARM_TX51KARO_OUI;
 
-bool
-cyg_plf_redboot_esa_validate(unsigned char *val)
+bool cyg_plf_redboot_esa_validate(unsigned char *val)
 {
        return (val[0] == oui[0]) && (val[1] == oui[1]) && (val[2] == oui[2]);
 }
@@ -103,121 +104,87 @@ static inline void tx51_set_reg(CYG_ADDRWORD base_addr, CYG_WORD32 offset,
        CYG_WORD32 val;
 
        HAL_READ_UINT32(base_addr + offset, val);
-       if (net_debug) diag_printf("Changing reg %08x from %08x to %08x\n", base_addr + offset, val,
-                                  (val & ~clr_mask) | set_mask);
+       if (net_debug) diag_printf("Changing reg %08x from %08x to %08x\n",
+                                                          base_addr + offset, val,
+                                                          (val & ~clr_mask) | set_mask);
        val = (val & ~clr_mask) | set_mask;
        HAL_WRITE_UINT32(base_addr + offset, val);
 }
 
 static struct tx51_gpio_setup {
        cyg_uint32 iomux_addr;
-       cyg_uint8 on_func;
-       cyg_uint8 off_func;
-       cyg_uint8 grp;
-       cyg_uint8 shift;
+       unsigned on_func:5,
+               off_func:5,
+               grp:3,
+               shift:5,
+               dir:1, /* 0: input; 1: output */
+               level:1;
 } tx51_fec_gpio_data[] = {
-       /* iomux reg offset,                    func,       gpgrp, */
-       /*                                                                    gpiofn,  gpshift, */
-       { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS3,              0x12, 0x13, 3, 19, }, /* MDC */
-       { IOMUXC_SW_MUX_CTL_PAD_EIM_EB2,                0x13, 0x11, 2, 22, }, /* MDIO */
-       { IOMUXC_SW_MUX_CTL_PAD_NANDF_RB3,              0x11, 0x13, 3, 11, }, /* RXC */
-       { IOMUXC_SW_MUX_CTL_PAD_NANDF_D11,              0x12, 0x13, 3, 29, }, /* RDV */
-       { IOMUXC_SW_MUX_CTL_PAD_NANDF_D9,               0x12, 0x13, 3, 31, }, /* RXD0 */
-       { IOMUXC_SW_MUX_CTL_PAD_EIM_EB3,                0x13, 0x11, 2, 23, }, /* RXD1 */
-       { IOMUXC_SW_MUX_CTL_PAD_EIM_CS2,                0x13, 0x11, 2, 27, }, /* RXD2 */
-       { IOMUXC_SW_MUX_CTL_PAD_EIM_CS3,                0x13, 0x11, 2, 28, }, /* RXD3 */
-       { IOMUXC_SW_MUX_CTL_PAD_EIM_CS4,                0x13, 0x11, 2, 29, }, /* RX_ER */
-       { IOMUXC_SW_MUX_CTL_PAD_NANDF_RDY_INT,  0x11, 0x13, 3, 24, }, /* TXC */
-       { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS7,              0x11, 0x13, 3, 23, }, /* TXE */
-       { IOMUXC_SW_MUX_CTL_PAD_NANDF_D8,               0x12, 0x13, 4,  0, }, /* TXD0 */
-       { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS4,              0x12, 0x13, 3, 20, }, /* TXD1 */
-       { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS5,              0x12, 0x13, 3, 21, }, /* TXD2 */
-       { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS6,              0x12, 0x13, 3, 22, }, /* TXD3 */
-       { IOMUXC_SW_MUX_CTL_PAD_NANDF_RB2,              0x11, 0x13, 3, 10, }, /* COL */
-       { IOMUXC_SW_MUX_CTL_PAD_EIM_CS5,                0x13, 0x11, 2, 30, }, /* CRS */
-       { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS2,              0x13, 0x13, 3, 18, }, /* TX_ER */
-};
-
-static struct tx51_gpio_setup tx51_fec_pwr_pins[] = {
-       { IOMUXC_SW_MUX_CTL_PAD_EIM_A20,                0x11, 0x11, 2, 14, }, /* PHY reset */
-       { IOMUXC_SW_MUX_CTL_PAD_GPIO1_3,                0x10, 0x10, 1,  3, }, /* PHY power enable */
+       /* iomux reg offset,                    func,       gpgrp, in/out */
+       /*                                                                    gpiofn,  gpshft,level */
+       { IOMUXC_SW_MUX_CTL_PAD_EIM_A20,                0x11, 0x11, 2, 14, 1, 0, }, /* PHY reset */
+       { IOMUXC_SW_MUX_CTL_PAD_GPIO1_3,                0x10, 0x10, 1,  3, 1, 1, }, /* PHY power enable */
+       { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS3,              0x02, 0x13, 3, 19, 1, 0, }, /* MDC */
+       { IOMUXC_SW_MUX_CTL_PAD_EIM_EB2,                0x03, 0x11, 2, 22, 1, 0, }, /* MDIO */
+       { IOMUXC_SW_MUX_CTL_PAD_NANDF_RB3,              0x01, 0x13, 3, 11, 0, }, /* RX_CLK */
+       { IOMUXC_SW_MUX_CTL_PAD_NANDF_D11,              0x02, 0x13, 3, 29, 0, }, /* RX_DV */
+       { IOMUXC_SW_MUX_CTL_PAD_NANDF_D9,               0x02, 0x13, 3, 31, 1, 1, }, /* RXD0/Mode0 */
+       { IOMUXC_SW_MUX_CTL_PAD_EIM_EB3,                0x03, 0x11, 2, 23, 1, 1, }, /* RXD1/Mode1 */
+       { IOMUXC_SW_MUX_CTL_PAD_EIM_CS2,                0x03, 0x11, 2, 27, 1, 1, }, /* RXD2/Mode2 */
+       { IOMUXC_SW_MUX_CTL_PAD_EIM_CS3,                0x03, 0x11, 2, 28, 1, 1, }, /* RXD3/nINTSEL */
+       { IOMUXC_SW_MUX_CTL_PAD_EIM_CS4,                0x03, 0x11, 2, 29, 0, }, /* RX_ER/RXD4 */
+       { IOMUXC_SW_MUX_CTL_PAD_NANDF_RDY_INT,  0x01, 0x13, 3, 24, 0, }, /* TX_CLK */
+       { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS7,              0x01, 0x13, 3, 23, 1, 0, }, /* TX_EN */
+       { IOMUXC_SW_MUX_CTL_PAD_NANDF_D8,               0x02, 0x13, 4,  0, 1, 0, }, /* TXD0 */
+       { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS4,              0x02, 0x13, 3, 20, 1, 0, }, /* TXD1 */
+       { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS5,              0x02, 0x13, 3, 21, 1, 0, }, /* TXD2 */
+       { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS6,              0x02, 0x13, 3, 22, 1, 0, }, /* TXD3 */
+       { IOMUXC_SW_MUX_CTL_PAD_NANDF_RB2,              0x01, 0x13, 3, 10, 1, 0, }, /* COL/RMII/CRSDV */
+       { IOMUXC_SW_MUX_CTL_PAD_EIM_CS5,                0x03, 0x11, 2, 30, 1, 0, }, /* CRS */
+       { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS2,              0x03, 0x13, 3, 18, 0, }, /* nINT/TX_ER/TXD4 */
 };
 
-static struct tx51_gpio_setup tx51_fec_strap_pins[] = {
-       { IOMUXC_SW_MUX_CTL_PAD_GPIO1_3,                0x10, 0x10, 1,  3, }, /* PHY Power enable */
-       { IOMUXC_SW_MUX_CTL_PAD_NANDF_D9,               0x12, 0x13, 3, 31, }, /* Mode[0] */
-       { IOMUXC_SW_MUX_CTL_PAD_EIM_EB3,                0x13, 0x11, 2, 23, }, /* Mode[1] */
-       { IOMUXC_SW_MUX_CTL_PAD_EIM_CS2,                0x13, 0x11, 2, 27, }, /* Mode[2] */
-       { IOMUXC_SW_MUX_CTL_PAD_EIM_CS3,                0x13, 0x11, 2, 28, }, /* nINTSEL */
-};
-
-static inline void tx51_phy_power_off(void)
+static inline void tx51_phy_gpio_init(void)
 {
        int i;
 
-       if (net_debug) diag_printf("Switching PHY POWER off\n");
-#if 1
-       for (i = 0; i < NUM_ELEMS(tx51_fec_gpio_data); i++) {
-               struct tx51_gpio_setup *gs = &tx51_fec_gpio_data[i];
+       if (net_debug) diag_printf("PHY GPIO init\n");
 
-               if (net_debug) diag_printf("%s: GPIO%d_%d[%d] is %d\n", __FUNCTION__,
-                                                                  gs->grp, gs->shift, i,
-                                                                  gpio_tst_bit(gs->grp, gs->shift));
-       }
-#endif
-       /* deassert all pins attached to the PHY */
-       for (i = 0; i < NUM_ELEMS(tx51_fec_pwr_pins); i++) {
-               struct tx51_gpio_setup *gs = &tx51_fec_pwr_pins[i];
-
-               tx51_set_reg(MX51_GPIO_ADDR(gs->grp),
-                                        GPIO_DR, 0, 1 << gs->shift);
-               tx51_set_reg(MX51_GPIO_ADDR(gs->grp),
-                                        GPIO_GDIR, 1 << gs->shift, 0);
-       }
+       /* setup all pins attached to the PHY to required level */
        for (i = 0; i < NUM_ELEMS(tx51_fec_gpio_data); i++) {
                struct tx51_gpio_setup *gs = &tx51_fec_gpio_data[i];
-#if 0
-               tx51_set_reg(MX51_GPIO_ADDR(gs->grp),
-                                        GPIO_GDIR, 0, 1 << gs->shift);
-#else
+
                tx51_set_reg(MX51_GPIO_ADDR(gs->grp),
-                                        GPIO_DR, 0, 1 << gs->shift);
+                                        GPIO_DR, gs->level << gs->shift, !gs->level << gs->shift);
                tx51_set_reg(MX51_GPIO_ADDR(gs->grp),
                                         GPIO_GDIR, 1 << gs->shift, 0);
-#endif
-               tx51_write_reg(0, gs->iomux_addr, gs->off_func);
+               tx51_write_reg(gs->iomux_addr, 0, gs->off_func);
        }
        for (i = 0; i < NUM_ELEMS(tx51_fec_gpio_data); i++) {
                struct tx51_gpio_setup *gs = &tx51_fec_gpio_data[i];
 
-               if (gpio_tst_bit(gs->grp, gs->shift)) {
-                       diag_printf("%s: GPIO%d_%d[%d] is not low\n", __FUNCTION__,
-                                               gs->grp, gs->shift, i);
+               if (gs->dir) {
+                       if (gs->level ^ gpio_tst_bit(gs->grp, gs->shift)) {
+                               diag_printf("%s: GPIO%d_%d[%d] is not %s\n", __FUNCTION__,
+                                                       gs->grp, gs->shift, i, gs->level ? "HIGH" : "LOW");
+                       }
                }
        }
-       if (net_debug) diag_printf("PHY POWER off done\n");
+       if (net_debug) diag_printf("PHY GPIO init done\n");
 }
 
-static bool mxc_fec_init(struct cyg_netdevtab_entry *tab);
 static bool tx51_fec_init(struct cyg_netdevtab_entry *tab)
 {
-#if 1
        cyg_bool esa_set;
        int ok;
 
        /* Check, whether MAC address is enabled */
        ok = CYGACC_CALL_IF_FLASH_CFG_OP(CYGNUM_CALL_IF_FLASH_CFG_GET,
                                                                         "fec_esa", &esa_set, CONFIG_BOOL);
-#if 0
-ok |= 0;
-//esa_set |= ok;
-net_debug |= 1;
-#endif
        if (!(ok && esa_set)) {
                diag_printf("FEC disabled; set fec_esa=true to enable networking\n");
                return false;
        }
-#endif
        return mxc_fec_init(tab);
 }
 
@@ -225,130 +192,30 @@ static void tx51_fec_phy_init(void)
 {
        int i;
        int phy_reset_delay = 100;
-       int dbg = net_debug;
 
-#if 0
-       net_debug |= 1;
-#endif
        /*
         * make sure the ETH PHY strap pins are pulled to the right voltage
         * before deasserting the PHY reset GPIO
         */
-       /* assert FEC PHY Reset (GPIO2_14) and switch PHY power on (GPIO1_3) */
-
-#if 0
-       tx51_phy_power_off();
-#endif
+       tx51_phy_gpio_init();
 
+       /* LAN8700 requires 21ms to power up */
+       phy_reset_delay = 22000;
        if (!gpio_tst_bit(1, 3)) {
-               if (0 || net_debug) diag_printf("Switching PHY POWER on\n");
-               gpio_clr_bit(2, 14);
-               gpio_set_bit(1, 3);
-               /* wait for 22ms for LAN8700 to power up */
-               phy_reset_delay = 22000;
-#if 1
-               if (!gpio_tst_bit(1, 3)) {
-                       diag_printf("**Failed to switch PHY power on: GPIO1_PSR[%08lx]=%08x\n",
-                                               MX51_GPIO_ADDR(1) + GPIO_PSR,
-                                               tx51_read_reg(MX51_GPIO_ADDR(1), GPIO_PSR));
-               }
-#endif
-#if 1
-               if (gpio_tst_bit(2, 14)) {
-                       diag_printf("**Failed to assert PHY reset: GPIO2_PSR[%08lx]=%08x\n",
-                                               MX51_GPIO_ADDR(2) + GPIO_PSR,
-                                               tx51_read_reg(MX51_GPIO_ADDR(2), GPIO_PSR));
-               }
-#endif
-       } else {
-               if (0 || net_debug) diag_printf("Asserting PHY RESET\n");
-               gpio_clr_bit(2, 14);
-#if 1
-               if (gpio_tst_bit(2, 14)) {
-                       diag_printf("**Failed to assert PHY reset: GPIO2_PSR[%08lx]=%08x\n",
-                                               MX51_GPIO_ADDR(2) + GPIO_PSR,
-                                               tx51_read_reg(MX51_GPIO_ADDR(2), GPIO_PSR));
-               }
-#endif
+               diag_printf("**Failed to switch PHY power on: GPIO1_PSR[%08lx]=%08x\n",
+                                       MX51_GPIO_ADDR(1) + GPIO_PSR,
+                                       tx51_read_reg(MX51_GPIO_ADDR(1), GPIO_PSR));
        }
-       for (i = 0; i < NUM_ELEMS(tx51_fec_gpio_data); i++) {
-               struct tx51_gpio_setup *gs = &tx51_fec_gpio_data[i];
-               int j;
-               int strap = 0;
-
-               for (j = 0; j < NUM_ELEMS(tx51_fec_strap_pins); j++) {
-                       struct tx51_gpio_setup *sp = &tx51_fec_strap_pins[j];
-
-                       if (gs->grp == sp->grp && gs->shift == sp->shift) {
-                               strap = 1;
-                               break;
-                       }
-               }
-               if (strap) {
-                       gpio_set_bit(gs->grp, gs->shift);
-                       if (net_debug) diag_printf("Setting GPIO%d_%d[%d] high\n",
-                                                                          gs->grp, gs->shift, i);
-               } else {
-                       gpio_clr_bit(gs->grp, gs->shift);
-                       if (net_debug) diag_printf("Setting GPIO%d_%d[%d] low\n",
-                                                                          gs->grp, gs->shift, i);
-               }
-               tx51_set_reg(MX51_GPIO_ADDR(gs->grp),
-                                        GPIO_GDIR, 1 << gs->shift, 0);
-               tx51_write_reg(0, gs->iomux_addr,
-                                          gs->off_func);
+       if (gpio_tst_bit(2, 14)) {
+               diag_printf("**Failed to assert PHY reset: GPIO2_PSR[%08lx]=%08x\n",
+                                       MX51_GPIO_ADDR(2) + GPIO_PSR,
+                                       tx51_read_reg(MX51_GPIO_ADDR(2), GPIO_PSR));
        }
-#if 1
-       /* configure FEC strap pins to their required values */
-       for (i = 0; i < NUM_ELEMS(tx51_fec_strap_pins); i++) {
-               struct tx51_gpio_setup *gs = &tx51_fec_strap_pins[i];
 
-               if (net_debug) diag_printf("Asserting GPIO%d_%d\n", gs->grp,
-                                                                  gs->shift);
-               tx51_set_reg(MX51_GPIO_ADDR(gs->grp),
-                                        GPIO_GDIR, 1 << gs->shift, 0);
-               tx51_set_reg(MX51_GPIO_ADDR(gs->grp),
-                                        GPIO_DR, 1 << gs->shift, 0);
-               tx51_write_reg(0, gs->iomux_addr,
-                                          gs->off_func);
-               gpio_set_bit(gs->grp, gs->shift);
-               if (!gpio_tst_bit(gs->grp, gs->shift)) {
-                       diag_printf("**Failed to assert GPIO%d_%d: GPIO%d_PSR[%08lx]=%08x\n",
-                                               gs->grp, gs->shift, gs->grp,
-                                               MX51_GPIO_ADDR(gs->grp) + GPIO_PSR,
-                                               tx51_read_reg(MX51_GPIO_ADDR(gs->grp), GPIO_PSR));
-               }
-       }
-#endif
-       for (i = 0; i < NUM_ELEMS(tx51_fec_gpio_data); i++) {
-               struct tx51_gpio_setup *gs = &tx51_fec_gpio_data[i];
-               int j;
-               int strap = 0;
-
-               for (j = 0; j < NUM_ELEMS(tx51_fec_strap_pins); j++) {
-                       struct tx51_gpio_setup *sp = &tx51_fec_strap_pins[j];
-
-                       if (gs->grp == sp->grp && gs->shift == sp->shift) {
-                               strap = 1;
-                               break;
-                       }
-               }
-               if (strap) {
-                       if (!gpio_tst_bit(gs->grp, gs->shift)) {
-                               diag_printf("GPIO%d_%d[%d] is low instead of high\n",
-                                                       gs->grp, gs->shift, i);
-                       }
-               } else {
-                       if (gpio_tst_bit(gs->grp, gs->shift)) {
-                               diag_printf("GPIO%d_%d[%d] is high instead of low\n",
-                                                       gs->grp, gs->shift, i);
-                       }
-               }
-       }
-       /* wait for 100us according to LAN8700 spec. before ... */
+       /* wait the specified time according to LAN8700 spec. before ... */
        HAL_DELAY_US(phy_reset_delay);
        /* ... deasserting FEC PHY reset */
-       if (0 || net_debug) diag_printf("Releasing PHY RESET\n");
+       if (net_debug) diag_printf("Releasing PHY RESET\n");
        gpio_set_bit(2, 14);
        if (!gpio_tst_bit(2, 14)) {
                diag_printf("**Failed to release PHY reset\n");
@@ -358,10 +225,8 @@ static void tx51_fec_phy_init(void)
        for (i = 0; i < NUM_ELEMS(tx51_fec_gpio_data); i++) {
                struct tx51_gpio_setup *gs = &tx51_fec_gpio_data[i];
 
-               tx51_write_reg(0, gs->iomux_addr, gs->on_func);
-               HAL_DELAY_US(10000);
+               tx51_write_reg(gs->iomux_addr, 0, gs->on_func);
        }
-       net_debug = dbg;
 }
 
 ETH_PHY_REG_LEVEL_ACCESS_FUNS(eth0_phy,
@@ -479,13 +344,13 @@ NETDEVTAB_ENTRY(mxc_fec_netdev,
 RedBoot_config_option("Set FEC network hardware address [MAC]",
                                          fec_esa,
                                          ALWAYS_ENABLED, true,
-                                         CONFIG_BOOL, false
-                                        );
+                                         CONFIG_BOOL, true
+                                         );
 RedBoot_config_option("FEC network hardware address [MAC]",
                                          fec_esa_data,
                                          "fec_esa", true,
                                          CONFIG_ESA, 0
-                                        );
+                                         );
 #endif // CYGPKG_REDBOOT && CYGSEM_REDBOOT_FLASH_CONFIG
 
 #ifdef CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
index 101d8eb22e2b3e9e4608a3dc89807b0f9ddc1df1..683509f31a43658db2f1123f171f9676a7eef5c0 100644 (file)
@@ -85,15 +85,5 @@ cdl_package CYGPKG_DEVS_ETH_FEC {
                 to the set of global flags."
         }
     }
-
-    cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK {
-        display "MXC FEC MII Gasket for RMII mode"
-       active_if CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53
-       flavor bool
-       default_value 1
-        description   "
-            This option enables the use of the MII Gasket for
-           RMII mode found in i.MX25 and i.MX53 processors."
-    }
 }
 
index 87a5a56552241cf5e7cde7e20220e845f8322aca..2f3f2a9349dd425295a0679119127b0514a774e6 100644 (file)
@@ -147,7 +147,7 @@ void mxc_fec_phy_write(int reg, int unit, unsigned short data);
 #define FEC_BD_RX_NUM          256
 #define FEC_BD_TX_NUM          2
 
-#ifdef CYGOPT_HAL_ARM_MXC_FEC_MIIGSK
+#ifdef CYGPKG_HAL_ARM_MX25
 /* the defines for MIIGSK */
 
 /* RMII frequency control: 0=50MHz, 1=5MHz */
@@ -199,7 +199,7 @@ typedef     volatile void mxc_fec_reg_t;
 #define erdsr                  0x180   /*Pointer to Receive Descriptor Ring*/
 #define etdsr                  0x184   /*Pointer to Transmit Descriptor Ring*/
 #define emrbr                  0x188   /*Maximum Receive Buffer size*/
-#ifdef CYGOPT_HAL_ARM_MXC_FEC_MIIGSK
+#ifdef CYGPKG_HAL_ARM_MX25
 #define miigsk_cfgr            0x300 /* MIIGSK Configuration Register */
 #define miigsk_enr             0x308  /* MIIGSK Enable Register */
 #endif
index 8708e63d5088d991c217122b27f8059be9661f21..172588f4e71a8b5590b4532161660695974583c8 100644 (file)
@@ -299,7 +299,7 @@ mxc_fec_set_mac_address(volatile mxc_fec_reg_t *hw_reg, unsigned char *enaddr)
        mxc_fec_reg_write(hw_reg, paur, value << 16);
 }
 
-#ifdef CYGOPT_HAL_ARM_MXC_FEC_MIIGSK
+#ifdef CYGPKG_HAL_ARM_MX25
 static int mxc_fec_mii_setup(mxc_fec_priv_t *priv)
 {
        volatile mxc_fec_reg_t *hw_reg = priv->hw_reg;
index f0dffd6e48254d215cfa52a95d4d17d38e54b52c..85da4d03c43aa67450a9f40f2178bd0e3f0555c4 100644 (file)
@@ -2,7 +2,7 @@
 //
 //      dev/AM79C874.c
 //
-//      Ethernet transceiver (PHY) support
+//      Ethernet transceiver (PHY) support 
 //
 //==========================================================================
 //####ECOSGPLCOPYRIGHTBEGIN####
 //#####DESCRIPTIONBEGIN####
 //
 // Author(s):    LW@KARO-electronics.de
-// Contributors:
+// Contributors: 
 // Date:         2008-01-28
-// Purpose:
+// Purpose:      
 // Description:  Support for ethernet SMSC LAN8700 PHY
-//
+//              
 //
 //####DESCRIPTIONEND####
 //
@@ -105,9 +105,8 @@ static bool lan8700_stat(eth_phy_access_t *f, int *state)
                        return true;
                }
        }
-       return false;
+    return false;
 }
 
 _eth_phy_dev("SMSC LAN8700 Rev. 3", 0x0007c0c3, lan8700_stat)
 _eth_phy_dev("SMSC LAN8700 Rev. 4", 0x0007c0c4, lan8700_stat)
-_eth_phy_dev("SMSC LAN8710 Rev. 1", 0x0007c0f1, lan8700_stat)
index 2e284c3291d4713386dce87938278298bbfccccd..530e810a96216307c20932235554f257c813e3a9 100644 (file)
@@ -66,8 +66,7 @@ cdl_package CYGPKG_DEVS_FLASH_ONMXC {
 
         cdl_option CYGHWR_DEVS_FLASH_MMC_ESDHC {
             display       "MXC platform MMC card for newer SDHC controllers"
-            active_if   { CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || 
-                         CYGPKG_HAL_ARM_MX25 ||  CYGPKG_HAL_ARM_MX51 }
+            active_if   { CYGPKG_HAL_ARM_MX37_3STACK || CYGPKG_HAL_ARM_MX35_3STACK || CYGPKG_HAL_ARM_MX25_3STACK ||  CYGPKG_HAL_ARM_MX51}
             default_value 1
             requires      { CYGSEM_IO_FLASH_READ_INDIRECT == 1 }
             compile       mxcmci_core.c  mxcmci_host.c  mxcmci_mmc.c mxcmci_sd.c mxcmci_sd.c
index e64d465c63f5a34b9d36e32d950f2e6e1ce8be61..a7d4aaf6a647fb99f1d79a11e60140761674bc97 100644 (file)
        vendor_info: "Micron MT29F32G08QAA 8-bit 4K page 4GB (32Gb) nand, 218B spare",
        max_bad_blk: 20,
     },
+    {
+       device_id  : 0xa198, // Toshiba TC58NYG0S3EBAI4 (2KB page 8 bit nand)
+       device_id2 : 0xFFFF,
+       device_id3 : 0xFFFF,
+       device_id4 : 0xFFFF,
+       col_cycle  : 2,
+       row_cycle  : 2,
+       page_size  : 512 * 4,
+       spare_size : 16 * 4,
+       pages_per_block : 64,
+       block_size : 64 * 2 * 1024,
+       block_count: 1024,
+       device_size: 0x08000000, // 128MB device =0x08000000
+       port_size  : MXC_NAND_8_BIT,
+       type       : NAND_SLC,
+       options    : NAND_BBT_SCAN2NDPAGE,
+       fis_start_addr: 0x80000,       // first 0.5MB reserved for Redboot
+       bbt_blk_max_nr: 4,      // reserve 4 blocks for the bad block tables
+       bi_off     : MXC_NAND_BI_OFF(2048, 512 + 16),
+       vendor_info: "Toshiba TC58NYG0S3EBAI4 8-bit 2K page 128MB",
+       max_bad_blk: 20,
+    },
 #endif // CYGONCE_DEVS_FLASH_MXC_NAND_PARTS_INL
index 347e813330504550e995a75c66d8f5c157e3118f..89b31ffd70139627400d173a74c7ea84da856e2b 100644 (file)
@@ -109,19 +109,17 @@ enum nfc_output_mode {
        CYG_MACRO_START                                                                                                         \
        int loops = MAX_LOOPS;                                                                                          \
        static int max_loops = MAX_LOOPS;                                                                       \
-                                                                                                                                               \
        while ((nfc_reg_read(NFC_IPC_REG) & NFC_IPC_AUTO_DONE) == 0) {          \
                HAL_DELAY_US(10);                                                                                               \
                if (loops-- < 0) {                                                                                              \
-                       diag_printf("%s: Timeout waiting for prog done\n",                      \
-                                               __func__);                                                                              \
+                       diag_printf("%s: Timeout waiting for prog done\n", __FUNCTION__); \
                        break;                                                                                                          \
                }                                                                                                                               \
        }                                                                                                                                       \
-       if (MAX_LOOPS - loops < max_loops) {                                                            \
+       if (loops < max_loops) {                                                                                        \
                diag_printf1("%s: auto_prog done after %u loops\n",                             \
                                        __FUNCTION__, MAX_LOOPS - loops);                                       \
-               max_loops = MAX_LOOPS - loops;                                                                  \
+               max_loops = loops;                                                                                              \
        }                                                                                                                                       \
        nfc_reg_write((nfc_reg_read(NFC_IPC_REG) & ~NFC_IPC_AUTO_DONE),         \
                                NFC_IPC_REG);                                                                                   \
@@ -132,49 +130,23 @@ enum nfc_output_mode {
        CYG_MACRO_START                                                                                                         \
        int loops = MAX_LOOPS;                                                                                          \
        static int max_loops = MAX_LOOPS;                                                                       \
-                                                                                                                                               \
        while ((nfc_reg_read(NFC_IPC_REG) & NFC_IPC_INT) == 0) {                        \
                HAL_DELAY_US(10);                                                                                               \
                if (loops-- < 0) {                                                                                              \
-                       diag_printf("%s: Timeout waiting for NFC ready\n",                      \
-                                               __func__);                                                                              \
+                       diag_printf("%s: Timeout waiting for NFC ready\n", __FUNCTION__); \
                        break;                                                                                                          \
                }                                                                                                                               \
        }                                                                                                                                       \
-       if (MAX_LOOPS - loops < max_loops) {                                                            \
+       if (loops < max_loops) {                                                                                        \
                diag_printf1("%s: NFC ready after %u loops\n",                                  \
                                        __FUNCTION__, MAX_LOOPS - loops);                                       \
-               max_loops = MAX_LOOPS - loops;                                                                  \
+               max_loops = loops;                                                                                              \
        }                                                                                                                                       \
        nfc_reg_write(0, NFC_IPC_REG);                                                                          \
        CYG_MACRO_END
 
-#if 0
 #define nfc_reg_read(r)                        readl(r)
 #define nfc_reg_write(v, r)            writel(v, r)
-#else
-#define nfc_reg_read(r)                        __nfc_reg_read(r, #r, __func__, __LINE__)
-#define nfc_reg_write(v, r)            __nfc_reg_write(v, r, #r, __func__, __LINE__)
-
-static inline u32 __nfc_reg_read(unsigned long reg, const char *reg_name,
-                                                               const char *fn, int ln)
-{
-       u32 val;
-
-       val = readl(reg);
-       if (g_nfc_debug_level >= NFC_DEBUG_MAX)
-               diag_printf("%s@%d: Read %08x from %s[%08lx]\n", fn, ln, val, reg_name, reg);
-       return val;
-}
-
-static inline void __nfc_reg_write(u32 val, unsigned long reg,
-                                                               const char *reg_name, const char *fn, int ln)
-{
-       if (g_nfc_debug_level >= NFC_DEBUG_MAX)
-               diag_printf("%s@%d: Writing %08x to %s[%08lx]\n", fn, ln, val, reg_name, reg);
-       writel(val, reg);
-}
-#endif
 
 static void write_nfc_ip_reg(u32 val, u32 reg)
 {
@@ -195,10 +167,10 @@ static void write_nfc_ip_reg(u32 val, u32 reg)
                        return;
                }
        }
-       if (MAX_LOOPS - loops < max_loops) {
-               diag_printf1("%s: NFC ready after %u loops\n",
+       if (loops < max_loops) {
+               diag_printf("%s: NFC ready after %u loops\n",
                                        __FUNCTION__, MAX_LOOPS - loops);
-               max_loops = MAX_LOOPS - loops;
+               max_loops = loops;
        }
        nfc_reg_write(val, reg);
        nfc_reg_write((nfc_reg_read(NFC_IPC_REG) & ~NFC_IPC_CREQ), NFC_IPC_REG);
@@ -253,6 +225,7 @@ static void NFC_SET_NFC_ACTIVE_CS(u32 cs_line)
        nfc_reg_write(v, NAND_CONFIGURATION1_REG);
 }
 
+#ifdef IMX51_TO_2
 static inline u16 NFC_STATUS_READ(void)
 {
        u16 val = nfc_reg_read(NAND_STATUS_SUM_REG);
@@ -262,6 +235,28 @@ static inline u16 NFC_STATUS_READ(void)
        }
        return val;
 }
+#else
+static inline u16 NFC_STATUS_READ(void)
+{
+       u32 status;
+       int i;
+       u16 status_sum = 0;
+
+       /* Cannot rely on STATUS_SUM register due to errata */
+       for (i = 0; i < num_of_nand_chips; i++) {
+               NFC_SET_NFC_ACTIVE_CS(i);
+               do {
+                       nfc_reg_write(NAND_LAUNCH_AUTO_STAT, NAND_LAUNCH_REG);
+                       status = (nfc_reg_read(NAND_CONFIGURATION1_REG) & 0x00FF0000) >> 16;
+               } while ((status & 0x40) == 0); // make sure I/O 6 == 1
+               /* Get Pass/Fail status */
+               status = (nfc_reg_read(NAND_CONFIGURATION1_REG) >> 16) & 0x1;
+               status_sum |= (status << i);
+       }
+       diag_printf("NFC TO2 STATUS: %04x\n", status_sum);
+       return status_sum;
+}
+#endif
 
 /* This function uses a global variable for the page size. It shouldn't be a big
  * problem since we don't expect mixed page size nand flash parts on the same IC.
index 9042f085c86b310029304013ef94ce112c683453..04774da34b08eb27c50bdcc6ea53b20f2077e489 100644 (file)
@@ -30,21 +30,25 @@ Portability: Portable to other compilers or platforms.
 #include "mxcmci_mmc.h"
 #include "mxcmci_host.h"
 
-#define SUCCESS                                                0
-#define FAIL                                           1
-#define NO_ARG                                         0
-#define RCA_SHIFT                                      16
-#define MMCSD_READY_TIMEOUT                    3000  /* ~(3s / (2 * 48 * 10us)) */
-#define ESDHC_ACMD41_TIMEOUT           48000 /* 1.5 sec =1500 msec delay for ACMD41 cmd */
+#define SUCCESS 0
+#define FAIL 1
+#define NO_ARG 0
+#define RCA_SHIFT 16
+#define ONE 1
+#define FOUR 4
+#define EIGHT 8
+#define TWO_K_SIZE 2048
+#define MMCSD_READY_TIMEOUT    3000  /* ~(3s / (2 * 48 * 10us)) */
+#define ESDHC_ACMD41_TIMEOUT 48000 /* 1.5 sec =1500 msec delay for ACMD41 cmd */
 #define MMCSD_SUPPORT
 
 #define CURR_CARD_STATE(r) ((cyg_uint32) ((r) & 0x1E00) >> 9)
 
-/* Defines of CSD data*/
-#define CSD_STRUCT_MSK                                         0x00C00000
-#define CSD_STRUCT_SHIFT                                       22
-#define MMC_CSD_SPEC_VERS_MASK                         0x003C0000
-#define MMC_CSD_SPEC_VERS_SHIFT                                18
+/*Defines of CSD data*/
+#define CSD_STRUCT_MSK                       0x00C00000
+#define CSD_STRUCT_SHIFT                    22
+#define MMC_CSD_SPEC_VERS_MASK      0x003C0000
+#define MMC_CSD_SPEC_VERS_SHIFT     18
 
 extern cyg_uint32 Card_rca;
 extern cyg_uint32 address_mode;
@@ -52,7 +56,6 @@ extern cyg_uint32 MMC_Spec_vers;
 extern card_specific_data csd;  /* Global variable for Card Specific Data */
 extern cyg_uint32 Card_capacity_size; /* Capacity size (C_SIZE) for card*/
 extern cyg_uint32 CCC; /* Card Command Class */
-extern int HighCapacityCard;
 
 
 /* Defines the id for each command */
@@ -116,7 +119,7 @@ typedef enum
        MMC_CSD_1_1,
        MMC_CSD_1_2,
        MMC_UNKNOWN
-} card_type;
+}card_type;
 
 typedef struct
 {
@@ -124,12 +127,12 @@ typedef struct
        cyg_uint32 cid1;
        cyg_uint32 cid2;
        cyg_uint32 cid3;
-} card_ident;
+}card_ident;
 
 
 /* CARD Flash Configuration Parameters Structure */
 typedef struct {
-       cyg_uint32      length;                 /* Length of Card data to read */
+    cyg_uint32  length;         /* Length of Card data to read */
 } CARD_FLASH_CFG_PARMS_T;
 
 /*==================================================================================================
@@ -146,8 +149,6 @@ extern cyg_uint32 mxcmci_get_cid (void);
 extern cyg_uint32 mxcmci_trans_prepare(void);
 extern void   mxcmci_cmd_config (command_t *cmd_config,cyg_uint32 index,cyg_uint32 argument,xfer_type_t transfer,response_format_t format,
                                   data_present_select data,crc_check_enable crc,cmdindex_check_enable cmdindex);
-extern cyg_uint32 mxcmci_trans_status(void);
-extern cyg_uint32 card_get_csd(void);
 
 
 #endif //_MXCMCI_CORE_H_
index 681bdc204734be6fcdbc2776807eb35f0da05d08..697aa3d6bd474895839e0da45b8e8060d615535b 100644 (file)
@@ -1,14 +1,14 @@
 #ifndef _MXCMCI_MMC_H_
 #define _MXCMCI_MMC_H_
 
-// ==========================================================================
-//
+// ========================================================================== 
+//                                                                           
 //    Module Name:  mxcmci_mmc.h
 //
 //    General Description: Limited Bootloader eSDHC Driver.
-//
-//
-// ==========================================================================
+//                                 
+//                                                                           
+// ========================================================================== 
 //####ECOSGPLCOPYRIGHTBEGIN####
 // -------------------------------------------
 // This file is part of eCos, the Embedded Configurable Operating System.
@@ -49,7 +49,7 @@
 // Date:         2008-05-13 Initial version
 // Purpose:
 // Description:
-//
+//     
 //
 //####DESCRIPTIONEND####
 //====================================================================================================
@@ -65,7 +65,7 @@
 #define CARD_BUSY_BIT 0x80000000
 #define CURR_STATE_SHIFT 9
 #define MMC_SPEC_VER 0x003C0000
-#define MMC_SPEC_VER_SHIFT 18
+#define MMC_SPEC_VER_SHIFT 18  
 #define MMC_R1_SWITCH_ERROR_MASK 0x80
 #define SWITCH_ERROR_SHIFT 7
 #define BUS_SIZE_SHIFT 2
@@ -81,15 +81,14 @@ extern cyg_uint32 mmc_get_spec_ver (void);
 extern cyg_uint32 sd_voltage_validation (void);
 extern cyg_uint32 sd_init(cyg_uint32);
 extern cyg_uint32 card_flash_query(void* data);
-extern int sdmmc_set_blklen(int len);
 
-typedef struct
+typedef struct 
 {
        cyg_uint32 csd0;
        cyg_uint32 csd1;
        cyg_uint32 csd2;
        cyg_uint32 csd3;
-} card_specific_data;
+}card_specific_data;
 
 #endif  /* _MXCMCI_MMC_H_ */
 
index 86a79913237bb7f4c2ffadcc2792fc2cb3bb493c..118f6f92e37f3bf9284af458993ac329e3bdc431 100644 (file)
 #include <cyg/io/flash.h>
 #include <cyg/io/mxc_mmc.h>
 
-#ifdef CYGPKG_HAL_ARM_MX31
+#if defined(CYGPKG_HAL_ARM_MX31ADS) || defined(CYGPKG_HAL_ARM_MX31_3STACK)
     #include <cyg/io/card_mx32.h>
 #endif
 
-#if defined(CYGPKG_HAL_ARM_MX25) || defined(CYGPKG_HAL_ARM_MX35) || \
-       defined(CYGPKG_HAL_ARM_MX37) || defined(CYGPKG_HAL_ARM_MX51)
+#if defined(CYGPKG_HAL_ARM_MX25_3STACK) || defined(CYGPKG_HAL_ARM_MX35_3STACK) || defined(CYGPKG_HAL_ARM_MX37_3STACK) || defined(CYGPKG_HAL_ARM_MX51)
     #include <cyg/io/mxcmci_core.h>
 #endif
 
index 7b19ff0ef19488de8046f03c2bdb61a9a955644e..683b954ee9c2e2ca013f596c47fa184f72937db6 100644 (file)
@@ -167,7 +167,7 @@ CYG_MACRO_END
 #define NAND_CONFIGURATION1_REG                0xDEADEEEE
 #define NFC_FLASH_CONFIG2_REG          0xDEADEEEE
 #define NFC_FLASH_CONFIG2_ECC_EN       0xDEADEEEE
-#define write_nfc_ip_reg(a, b)         CYG_EMPTY_STATEMENT
+#define write_nfc_ip_reg(a, b)
 #endif
 
 #ifndef MXCFLASH_SELECT_MULTI
@@ -188,7 +188,7 @@ void nandflash_query(void *data)
                                __FUNCTION__, __LINE__, &id[0], data);
                memcpy(data, id, sizeof(id));
        }
-       nfc_printf(NFC_DEBUG_MAX, "%s@%d called from %p\n", __FUNCTION__, __LINE__,
+       nfc_printf(NFC_DEBUG_MAX, "%s@%d %p\n", __FUNCTION__, __LINE__,
                        __builtin_return_address(0));
 }
 
@@ -290,21 +290,21 @@ static const flash_dev_info_t *flash_dev_info;
 static const flash_dev_info_t supported_devices[] = {
 #include <cyg/io/mxc_nand_parts.inl>
 };
-#define NUM_DEVICES                                            NUM_ELEMS(supported_devices)
-
-#define COL_CYCLE                                              flash_dev_info->col_cycle
-#define ROW_CYCLE                                              flash_dev_info->row_cycle
-#define NF_PG_SZ                                               (flash_dev_info->page_size * num_of_nand_chips)
-#define NF_SPARE_SZ                                            (flash_dev_info->spare_size * num_of_nand_chips)
-#define NF_PG_PER_BLK                                  flash_dev_info->pages_per_block
-#define NF_DEV_SZ                                              (flash_dev_info->device_size * num_of_nand_chips_for_nandsize)
-#define NF_BLK_SZ                                              (flash_dev_info->block_size * num_of_nand_chips)
-#define NF_BLK_CNT                                             (flash_dev_info->block_count / scale_block_cnt)
-#define NF_VEND_INFO                                   flash_dev_info->vendor_info
-#define NF_OPTIONS                                             flash_dev_info->options
-#define NF_BBT_MAX_NR                                  flash_dev_info->bbt_blk_max_nr
-#define NF_OPTIONS                                             flash_dev_info->options
-#define NF_BI_OFF                                              flash_dev_info->bi_off
+#define NUM_DEVICES NUM_ELEMS(supported_devices)
+
+#define COL_CYCLE                                      flash_dev_info->col_cycle
+#define ROW_CYCLE                                      flash_dev_info->row_cycle
+#define NF_PG_SZ                                       ((flash_dev_info->page_size) * num_of_nand_chips)
+#define NF_SPARE_SZ                                    ((flash_dev_info->spare_size) * num_of_nand_chips)
+#define NF_PG_PER_BLK                          flash_dev_info->pages_per_block
+#define NF_DEV_SZ                                      ((flash_dev_info->device_size) * num_of_nand_chips_for_nandsize)
+#define NF_BLK_SZ                                      ((flash_dev_info->block_size) * num_of_nand_chips)
+#define NF_BLK_CNT                                     ((flash_dev_info->block_count) / scale_block_cnt)
+#define NF_VEND_INFO                           flash_dev_info->vendor_info
+#define NF_OPTIONS                                     flash_dev_info->options
+#define NF_BBT_MAX_NR                          flash_dev_info->bbt_blk_max_nr
+#define NF_OPTIONS                                     flash_dev_info->options
+#define NF_BI_OFF                                      flash_dev_info->bi_off
 
 #define MXC_NAND_ADDR_MASK                             (NF_DEV_SZ - 1)
 #define BLOCK_TO_OFFSET(blk)                   ((blk) * NF_PG_PER_BLK * NF_PG_SZ)
@@ -315,7 +315,7 @@ static const flash_dev_info_t supported_devices[] = {
 
 static u8 *g_bbt, *g_page_buf;
 static u32 g_bbt_sz;
-static bool mxcnfc_init_ok;
+static bool mxcnfc_init_ok = false;
 static bool mxc_nfc_scan_done;
 
 // this callback allows the platform specific function to be called right
@@ -369,8 +369,6 @@ void mxc_flash_enable(void *start, void *end)
        flash_addr_t s = (unsigned long)start & MXC_NAND_ADDR_MASK;
        flash_addr_t e = ((unsigned long)end - 1) & MXC_NAND_ADDR_MASK;
 
-       if (start == end)
-               return;
        if (flash_enable++ == 0) {
                flash_region_start = s;
                flash_region_end = e;
@@ -391,8 +389,6 @@ void mxc_flash_disable(void *start, void *end)
        flash_addr_t s = (unsigned long)start & MXC_NAND_ADDR_MASK;
        flash_addr_t e = ((unsigned long)end - 1) & MXC_NAND_ADDR_MASK;
 
-       if (start == end)
-               return;
        if (flash_enable) {
                if (--flash_enable == 0) {
                        diag_printf1("Disabling flash region 0x%08llx..0x%08llx\n",
@@ -427,7 +423,9 @@ nandflash_hwr_init(void)
        NFC_CMD_INPUT(FLASH_Reset);
 
        // Look through table for device data
+       nfc_printf(NFC_DEBUG_MAX, "%s@%d %p\n", __FUNCTION__, __LINE__, &id[0]);
        flash_dev_query(&id[0]);
+       nfc_printf(NFC_DEBUG_MAX, "%s@%d\n", __FUNCTION__, __LINE__);
 
        flash_dev_info = supported_devices;
        for (i = 0; i < NUM_DEVICES; i++) {
@@ -437,6 +435,7 @@ nandflash_hwr_init(void)
                        break;
                flash_dev_info++;
        }
+       nfc_printf(NFC_DEBUG_MAX, "%s@%d\n", __FUNCTION__, __LINE__);
 
        // Did we find the device? If not, return error.
        if (NUM_DEVICES == i) {
@@ -459,10 +458,12 @@ nandflash_hwr_init(void)
        nfc_printf(NFC_DEBUG_MED, "%s(): %d out of NUM_DEVICES=%d, id=0x%02x\n",
                           __FUNCTION__, i, NUM_DEVICES, flash_dev_info->device_id);
 
-       if (nfc_setup)
+       if (nfc_setup) {
+               nfc_printf(NFC_DEBUG_MAX, "%s@%d\n", __FUNCTION__, __LINE__);
                g_nfc_version = nfc_setup(NF_PG_SZ / num_of_nand_chips, flash_dev_info->port_size,
-                                                               flash_dev_info->type, num_of_nand_chips);
-
+                                                                 flash_dev_info->type, num_of_nand_chips);
+       }
+       nfc_printf(NFC_DEBUG_MAX, "%s@%d\n", __FUNCTION__, __LINE__);
        diag_printf1("NFC version: %02x\n", g_nfc_version);
        if (g_nfc_version >= MXC_NFC_V3) {
                for (i = 2; i <= NUM_OF_CS_LINES; i++) {
index 474e363eed4b7f4fe83d685b1340407da3971367..43d1fb625a9c41591fb634c4f363b3bf1fe2b540 100644 (file)
@@ -63,13 +63,13 @@ static cyg_uint32 csd_get_value(void *csd, cyg_uint32 start_bit,
 
 #define MMCSD_INIT_DELAY 64
 
-cyg_uint32 Card_rca = 0x1;                     /* Relative Card Address */
-card_ident Card_identification;                /* Card Identification Data */
-card_type Card_type;                           /* Card Type */
-cyg_uint32 MMC_Spec_vers = 0x1;                /* Spec vers used for MMC */
-card_specific_data csd;                                /* Global variable for Card Specific Data */
-cyg_uint32 Card_capacity_size = 0;     /* Card capacity size */
-cyg_uint32 CCC = 0;                                    /* Card Command Class */
+cyg_uint32 Card_rca = 0x1;    /* Relative Card Address */
+card_ident Card_identification;    /* Card Identification Data */
+card_type Card_type;        /* Card Type */
+cyg_uint32 MMC_Spec_vers = 0x1;        /* Spec vers used for MMC */
+card_specific_data csd;        /* Global variable for Card Specific Data */
+cyg_uint32 Card_capacity_size = 0;    /*Card capacity size */
+cyg_uint32 CCC = 0;        /* Card Command Class */
 int Card_Mode = 2;
 int HighCapacityCard = 0;
 
@@ -162,37 +162,39 @@ Detailed Description:
 ==============================================================================*/
 cyg_uint32 card_get_csd(void)
 {
-       command_t cmd;
-       command_response_t response;
-       cyg_uint32 status = FAIL;
-       cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
-
-       /* Configure CMD9 for MMC/SD card */
-       /* 16bit card address is expected as Argument */
-       mxcmci_cmd_config(&cmd, CMD9, card_address, READ, RESPONSE_136,
-                                       DATA_PRESENT_NONE, ENABLE, DISABLE);
-
-       /* Issue Command CMD9 to Extrace CSD register contents     */
-
-       if (host_send_cmd(&cmd) != FAIL) {
-               /* Read Command response */
-               response.format = RESPONSE_136;
-               host_read_response(&response);
-
-               /* Assign Response to CSD Strcuture */
-               csd.csd0 = response.cmd_rsp0;
-               csd.csd1 = response.cmd_rsp1;
-               csd.csd2 = response.cmd_rsp2;
-               csd.csd3 = response.cmd_rsp3;
-
-               flash_dprintf(FLASH_DEBUG_MAX, "CSD:%x:%x:%x:%x\n", csd.csd0,
-                                       csd.csd1, csd.csd2, csd.csd3);
-               status = SUCCESS;
-       } else {
-               diag_printf("Get CSD Failed.\n");
-       }
 
-       return status;
+    command_t cmd;
+    command_response_t response;
+    cyg_uint32 status = FAIL;
+    cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
+
+    /* Configure CMD9 for MMC/SD card */
+    /* 16bit card address is expected as Argument */
+    mxcmci_cmd_config(&cmd, CMD9, card_address, READ, RESPONSE_136,
+              DATA_PRESENT_NONE, ENABLE, DISABLE);
+
+    /* Issue Command CMD9 to Extrace CSD register contents     */
+
+    if (host_send_cmd(&cmd) != FAIL) {
+        /* Read Command response */
+        response.format = RESPONSE_136;
+        host_read_response(&response);
+
+        /* Assign Response to CSD Strcuture */
+        csd.csd0 = response.cmd_rsp0;
+        csd.csd1 = response.cmd_rsp1;
+        csd.csd2 = response.cmd_rsp2;
+        csd.csd3 = response.cmd_rsp3;
+
+        flash_dprintf(FLASH_DEBUG_MAX, "CSD:%x:%x:%x:%x\n", csd.csd0,
+                  csd.csd1, csd.csd2, csd.csd3);
+        status = SUCCESS;
+    } else {
+        diag_printf("Get CSD Failed.\n");
+    }
+
+    return status;
+
 }
 
 static cyg_uint32 csd_get_value(void *csd, cyg_uint32 start_bit,
@@ -234,242 +236,248 @@ static cyg_uint32 csd_get_value(void *csd, cyg_uint32 start_bit,
                                __FUNCTION__, value, *pcsd, *(pcsd + 1), *(pcsd + 2),
                                *(pcsd + 3));
        return value;
+
 }
 
 cyg_uint32 card_get_capacity_size(void)
 {
-       cyg_uint32 capacity = 0;
-       cyg_uint32 c_size, c_size_mult, blk_len;
-
-       if (!csd.csd0 && !csd.csd1 && !csd.csd2 && !csd.csd3)
-               flash_dprintf(FLASH_DEBUG_MAX,
-                                       "WARNINGS:mxcmci_init should be done first!\n");
-
-       switch (Card_type) {
-       case SD_CSD_1_0:
-       case MMC_CSD_1_0:
-       case MMC_CSD_1_1:
-       case MMC_CSD_1_2:
+    cyg_uint32 capacity = 0;
+    cyg_uint32 c_size, c_size_mult, blk_len;
+
+    if (!csd.csd0 && !csd.csd1 && !csd.csd2 && !csd.csd3)
+        flash_dprintf(FLASH_DEBUG_MAX,
+                  "WARNINGS:mxcmci_init should be done first!\n");
+
+    switch (Card_type) {
+    case SD_CSD_1_0:
+    case MMC_CSD_1_0:
+    case MMC_CSD_1_1:
+    case MMC_CSD_1_2:
                c_size = csd_get_value((void*)&csd, 62, 73);
-               c_size_mult = csd_get_value(&csd, 47, 49);
-               blk_len = csd_get_value(&csd, 80, 83);
-               capacity = (c_size + 1) << (c_size_mult + 2 + blk_len - 10);
-               break;
-       case SD_CSD_2_0:
-               //blk_len = csd_get_value(&csd, 80, 83);
-               c_size = csd_get_value(&csd, 48, 69);
-               capacity = (c_size + 1) * 512;    /* block length is fixed to 512B */
-               break;
-       default:
-               capacity = 1;
-               break;
-       }
+        c_size_mult = csd_get_value(&csd, 47, 49);
+        blk_len = csd_get_value(&csd, 80, 83);
+        capacity = (c_size + 1) << (c_size_mult + 2 + blk_len - 10);
+        break;
+    case SD_CSD_2_0:
+        //blk_len = csd_get_value(&csd, 80, 83);
+        c_size = csd_get_value(&csd, 48, 69);
+        capacity = (c_size + 1) * 512;    /* block length is fixed to 512B */
+        break;
+    default:
+        capacity = 1;
+        break;
+    }
+
+    /* check whether the card is high capacity card */
+    if(capacity>2*1024*1024)
+       HighCapacityCard = 1;
+    else
+       HighCapacityCard = 0;
+
+    return capacity;
 
-       /* check whether the card is high capacity card */
-       if(capacity>2*1024*1024)
-               HighCapacityCard = 1;
-       else
-               HighCapacityCard = 0;
-
-       return capacity;
 }
 
-cyg_uint32 mxcmci_data_read(cyg_uint32 *dest_ptr, cyg_uint32 len,
-                                                       cyg_uint32 offset)
+cyg_uint32 mxcmci_data_read(cyg_uint32 * dest_ptr, cyg_uint32 len,
+                cyg_uint32 offset)
 {
-       cyg_uint32 read_status = FAIL;
+    cyg_uint32 read_status = FAIL;
 
-       read_status = mmc_data_read(dest_ptr, len, offset);
+    read_status = mmc_data_read(dest_ptr, len, offset);
+
+    if (read_status) {
+        len = 0;
+    }
+    return len;
 
-       if (read_status) {
-               len = 0;
-       }
-       return len;
 }
 
 cyg_uint32 mxcmci_software_reset(void)
 {
-       command_t cmd;
-       cyg_uint32 response = FAIL;
-
-       /*Configure CMD0 for MMC/SD card */
-       /*CMD0 doesnt expect any response */
-       mxcmci_cmd_config(&cmd, CMD0, NO_ARG, READ, RESPONSE_NONE,
-                                       DATA_PRESENT_NONE, DISABLE, DISABLE);
-
-       /*Issue CMD0 to MMC/SD card to put in active state */
-       if (host_send_cmd(&cmd) != FAIL) {
-               response = SUCCESS;
-       } else {
-               diag_printf("Card SW Reset Failed.\n");
-       }
-
-       return response;
+    command_t cmd;
+    cyg_uint32 response = FAIL;
+
+    /*Configure CMD0 for MMC/SD card */
+    /*CMD0 doesnt expect any response */
+    mxcmci_cmd_config(&cmd, CMD0, NO_ARG, READ, RESPONSE_NONE,
+              DATA_PRESENT_NONE, DISABLE, DISABLE);
+
+    /*Issue CMD0 to MMC/SD card to put in active state */
+    if (host_send_cmd(&cmd) != FAIL) {
+        response = SUCCESS;
+    } else {
+        diag_printf("Card SW Reset Failed.\n");
+    }
+
+    return response;
 }
 
 cyg_uint32 mxcmci_get_cid(void)
 {
 
-       command_t cmd;
-       cyg_uint32 cid_request = FAIL;
-       command_response_t response;
-
-       /* Configure CMD2 for card */
-       /* No Argument is expected for CMD2 */
-       mxcmci_cmd_config(&cmd, CMD2, NO_ARG, READ, RESPONSE_136,
-                                       DATA_PRESENT_NONE, ENABLE, DISABLE);
-
-       /* Issue CMD2 to card to determine CID contents */
-       if (host_send_cmd(&cmd) == FAIL) {
-               cid_request = FAIL;
-               diag_printf("Send CMD2 Failed.\n");
-       } else {
-               /* Read Command response  */
-               response.format = RESPONSE_136;
-               host_read_response(&response);
-
-               /* Assign CID values to mmc_cid structures */
-               Card_identification.cid0 = response.cmd_rsp0;
-               Card_identification.cid1 = response.cmd_rsp1;
-               Card_identification.cid2 = response.cmd_rsp2;
-               Card_identification.cid3 = response.cmd_rsp3;
-
-               /* Assign cid_request as SUCCESS */
-               cid_request = SUCCESS;
-       }
-
-       flash_dprintf(FLASH_DEBUG_MAX, "%s:CID=%X:%X:%X:%X\n", __FUNCTION__,
-                               Card_identification.cid0, Card_identification.cid1,
-                               Card_identification.cid2, Card_identification.cid3);
-       return cid_request;
+    command_t cmd;
+    cyg_uint32 cid_request = FAIL;
+    command_response_t response;
+
+    /* Configure CMD2 for card */
+    /* No Argument is expected for CMD2 */
+    mxcmci_cmd_config(&cmd, CMD2, NO_ARG, READ, RESPONSE_136,
+              DATA_PRESENT_NONE, ENABLE, DISABLE);
+
+    /* Issue CMD2 to card to determine CID contents */
+    if (host_send_cmd(&cmd) == FAIL) {
+        cid_request = FAIL;
+        diag_printf("Send CMD2 Failed.\n");
+    } else {
+        /* Read Command response  */
+        response.format = RESPONSE_136;
+        host_read_response(&response);
+
+        /* Assign CID values to mmc_cid structures */
+        Card_identification.cid0 = response.cmd_rsp0;
+        Card_identification.cid1 = response.cmd_rsp1;
+        Card_identification.cid2 = response.cmd_rsp2;
+        Card_identification.cid3 = response.cmd_rsp3;
+
+        /* Assign cid_request as SUCCESS */
+        cid_request = SUCCESS;
+    }
+
+    flash_dprintf(FLASH_DEBUG_MAX, "%s:CID=%X:%X:%X:%X\n", __FUNCTION__,
+              Card_identification.cid0, Card_identification.cid1,
+              Card_identification.cid2, Card_identification.cid3);
+    return cid_request;
 }
 
 cyg_uint32 mxcmci_trans_prepare(void)
 {
-       command_t cmd;
-       cyg_uint32 card_state = 0;
-       cyg_uint32 transfer_status = 0;
-       command_response_t response;
-       cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
-
-       /* Configure CMD7 for MMC card */
-       /* 16bit card address is expected as Argument */
-       mxcmci_cmd_config(&cmd, CMD7, card_address, READ, RESPONSE_48,
-                                       DATA_PRESENT_NONE, ENABLE, ENABLE);
-
-       /* Sending the card from stand-by to transfer state */
-       if (host_send_cmd(&cmd) == FAIL) {
-               transfer_status = FAIL;
-               diag_printf("Send CMD7 Failed.\n");
-       } else {
-
-               /* Configure CMD13 to read status of the card becuase CMD7 has R1b response */
-               mxcmci_cmd_config(&cmd, CMD13, card_address, READ, RESPONSE_48,
-                                               DATA_PRESENT_NONE, ENABLE, ENABLE);
-
-               if (host_send_cmd(&cmd) == FAIL) {
-                       transfer_status = FAIL;
-                       diag_printf("Send CMD13 Failed.\n");
-               } else {
-                       /* Read Command response */
-                       response.format = RESPONSE_48;
-                       host_read_response(&response);
-
-                       card_state = CURR_CARD_STATE(response.cmd_rsp0);
-
-                       if (card_state == TRAN) {
-                               transfer_status = SUCCESS;
-
-                       } else {
-                               diag_printf("card_state: 0x%x\n", card_state);
-                               transfer_status = FAIL;
-                       }
-               }
-
-       }
+    command_t cmd;
+    cyg_uint32 card_state = 0;
+    cyg_uint32 transfer_status = 0;
+    command_response_t response;
+    cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
+
+    /* Configure CMD7 for MMC card */
+    /* 16bit card address is expected as Argument */
+    mxcmci_cmd_config(&cmd, CMD7, card_address, READ, RESPONSE_48,
+              DATA_PRESENT_NONE, ENABLE, ENABLE);
+
+    /* Sending the card from stand-by to transfer state    */
+    if (host_send_cmd(&cmd) == FAIL) {
+        transfer_status = FAIL;
+        diag_printf("Send CMD7 Failed.\n");
+    } else {
+
+        /* Configure CMD13 to read status of the card becuase CMD7 has R1b response */
+        mxcmci_cmd_config(&cmd, CMD13, card_address, READ, RESPONSE_48,
+                  DATA_PRESENT_NONE, ENABLE, ENABLE);
+
+        if (host_send_cmd(&cmd) == FAIL) {
+            transfer_status = FAIL;
+            diag_printf("Send CMD13 Failed.\n");
+        } else {
+            /* Read Command response */
+            response.format = RESPONSE_48;
+            host_read_response(&response);
+
+            card_state = CURR_CARD_STATE(response.cmd_rsp0);
+
+            if (card_state == TRAN) {
+                transfer_status = SUCCESS;
+
+            } else {
+                diag_printf("card_state: 0x%x\n", card_state);
+                transfer_status = FAIL;
+            }
+        }
+
+    }
+
+    return transfer_status;
 
-       return transfer_status;
 }
 
 cyg_uint32 mxcmci_trans_status(void)
 {
-       command_t cmd;
-       cyg_uint32 card_state = 0;
-       cyg_uint32 transfer_status = 0;
-       command_response_t response;
-       cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
-
-       /* Configure CMD13 to read status of the card becuase CMD7 has R1b response */
-       mxcmci_cmd_config(&cmd, CMD13, card_address, READ, RESPONSE_48,
-                                       DATA_PRESENT_NONE, ENABLE, ENABLE);
-
-       if (host_send_cmd(&cmd) == FAIL) {
-               diag_printf("Fail, CMD13\n");
-               transfer_status = FAIL;
-       }
-
-       else {
-               /* Read Command response */
-               response.format = RESPONSE_48;
-               host_read_response(&response);
-
-               card_state = CURR_CARD_STATE(response.cmd_rsp0);
-
-               if (card_state == TRAN) {
-                       transfer_status = SUCCESS;
-                       //diag_printf("card_state: 0x%x\n", card_state);
-               }
+    command_t cmd;
+    cyg_uint32 card_state = 0;
+    cyg_uint32 transfer_status = 0;
+    command_response_t response;
+    cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
+
+    /* Configure CMD13 to read status of the card becuase CMD7 has R1b response */
+    mxcmci_cmd_config(&cmd, CMD13, card_address, READ, RESPONSE_48,
+              DATA_PRESENT_NONE, ENABLE, ENABLE);
+
+    if (host_send_cmd(&cmd) == FAIL) {
+        diag_printf("Fail, CMD13\n");
+        transfer_status = FAIL;
+    }
+
+    else {
+        /* Read Command response */
+        response.format = RESPONSE_48;
+        host_read_response(&response);
+
+        card_state = CURR_CARD_STATE(response.cmd_rsp0);
+
+        if (card_state == TRAN) {
+            transfer_status = SUCCESS;
+            //diag_printf("card_state: 0x%x\n", card_state);
+        }
+
+        else {
+            //diag_printf("card_state: 0x%x\n", card_state);
+            transfer_status = FAIL;
+        }
+    }
+    return transfer_status;
 
-               else {
-                       //diag_printf("card_state: 0x%x\n", card_state);
-                       transfer_status = FAIL;
-               }
-       }
-       return transfer_status;
 }
 
-void mxcmci_cmd_config(command_t *cmd_config, cyg_uint32 index,
-                                       cyg_uint32 argument, xfer_type_t transfer,
-                                       response_format_t format, data_present_select data,
-                                       crc_check_enable crc, cmdindex_check_enable cmdindex)
+void mxcmci_cmd_config(command_t * cmd_config, cyg_uint32 index,
+               cyg_uint32 argument, xfer_type_t transfer,
+               response_format_t format, data_present_select data,
+               crc_check_enable crc, cmdindex_check_enable cmdindex)
 {
-       command_t *cmd;
 
-       /* Assign cmd to cmd_config */
-       cmd = cmd_config;
+    command_t *cmd;
 
-       /* Configure Command index */
-       cmd->command = index;
+    /* Assign cmd to cmd_config */
+    cmd = cmd_config;
 
-       /* Configure Command Argument */
-       cmd->arg = argument;
+    /* Configure Command index */
+    cmd->command = index;
 
-       /* Configure Data transfer type */
-       cmd->data_transfer = transfer;
+    /* Configure Command Argument */
+    cmd->arg = argument;
 
-       /* Configure Response Format */
-       cmd->response_format = format;
+    /* Configure Data transfer type */
+    cmd->data_transfer = transfer;
 
-       /* Configure Data Present Select */
-       cmd->data_present = data;
+    /* Configure Response Format */
+    cmd->response_format = format;
 
-       /* Configiure CRC check Enable */
-       cmd->crc_check = crc;
+    /* Configure Data Present Select */
+    cmd->data_present = data;
 
-       /* Configure Command index check enable */
-       cmd->cmdindex_check = cmdindex;
+    /* Configiure CRC check Enable */
+    cmd->crc_check = crc;
 
-       /* if multi-block is used */
-       if (CMD18 == index || CMD25 == index) {
-               /* Configure Block count enable */
-               cmd->block_count_enable_check = ENABLE;
-               /* Configure Multi single block select */
-               cmd->multi_single_block = MULTIPLE;
-       } else {
-               /* Configure Block count enable */
-               cmd->block_count_enable_check = DISABLE;
+    /*Configure Command index check enable */
+    cmd->cmdindex_check = cmdindex;
 
-               /* Configure Multi single block select */
-               cmd->multi_single_block = SINGLE;
-       }
+    /* if multi-block is used */
+    if (CMD18 == index || CMD25 == index) {
+        /*Configure Block count enable */
+        cmd->block_count_enable_check = ENABLE;
+        /*Configure Multi single block select */
+        cmd->multi_single_block = MULTIPLE;
+    } else {
+        /*Configure Block count enable */
+        cmd->block_count_enable_check = DISABLE;
+
+        /*Configure Multi single block select */
+        cmd->multi_single_block = SINGLE;
+    }
 }
index 4a8751c1ff979b51d337aed339a5c2d513b9f2c1..cf80b2a699b6c47644f43c044679518a5bd1872b 100644 (file)
 //
 //==========================================================================
 
-#include <cyg/infra/diag.h>
 #include <cyg/io/mxcmci_host.h>
 #include <cyg/io/mxcmci_core.h>
 #include <cyg/io/mxcmci_mmc.h>
 #include <cyg/io/mxc_mmc.h>
-#include <cyg/hal/hal_intr.h>
+
+extern int HighCapacityCard;
 
 static cyg_uint32 mmc_set_rca(void);
 static cyg_uint32 mmc_set_bus_width(cyg_uint32 bus_width);
+static cyg_uint32 mmc_set_high_speed_mode(void);
 
 cyg_uint32 address_mode;    /* Global variable for addressing mode */
 
@@ -87,6 +88,7 @@ cyg_uint32 mmc_init(cyg_uint32 bus_width)
                                        return FAIL;
                                }
 #endif
+
                                /* Set block length for transfer */
                                //diag_printf("Send CMD to Set Block Length.\n");
                                if (sdmmc_set_blklen(BLK_LEN))
@@ -111,10 +113,11 @@ cyg_uint32 mmc_init(cyg_uint32 bus_width)
 
 }
 
-cyg_uint32 mmc_data_read(cyg_uint32 *dest_ptr, cyg_uint32 length,
-                                               cyg_uint32 offset)
+cyg_uint32 mmc_data_read(cyg_uint32 * dest_ptr, cyg_uint32 length,
+             cyg_uint32 offset)
 {
        command_t cmd;
+       int len;
        cyg_uint32 read_block_status = 0;
        cyg_uint32 blk_len = BLK_LEN;
        unsigned int SectorNum = 0;
@@ -129,7 +132,7 @@ cyg_uint32 mmc_data_read(cyg_uint32 *dest_ptr, cyg_uint32 length,
 
        /* wait until in transfer mode */
        while (mxcmci_trans_status()) {
-               HAL_DELAY_US(5);
+               hal_delay_us(5);
        }
 
 reread:
@@ -197,11 +200,12 @@ reread:
        return read_block_status;
 }
 
-cyg_uint32 mmc_data_write(cyg_uint32 *src_ptr, cyg_uint32 length,
-                                               cyg_uint32 offset)
+cyg_uint32 mmc_data_write(cyg_uint32 * src_ptr, cyg_uint32 length,
+              cyg_uint32 offset)
 {
 
        command_t cmd;
+       cyg_int32 len;
        cyg_uint32 blk_len = BLK_LEN;
        cyg_uint32 write_block_status = SUCCESS;
        unsigned int SectorNum;
@@ -217,12 +221,12 @@ cyg_uint32 mmc_data_write(cyg_uint32 *src_ptr, cyg_uint32 length,
                offset = offset/512;
 
        //need waiting until CARD out of Prg status, or will cause CMD25 timeout
-       //HAL_DELAY_US(100);
+       //hal_delay_us(100);
 
        //StartCounter();
 
        while (mxcmci_trans_status()) {
-               HAL_DELAY_US(2);
+               hal_delay_us(2);
        }
 
        //counter = StopCounter();
@@ -244,7 +248,7 @@ rewrite:
                        esdhc_softreset(ESDHC_RESET_CMD_MSK | ESDHC_RESET_DAT_MSK);
                        write_block_status = FAIL;
 
-                       //HAL_DELAY_US(1000);
+                       //hal_delay_us(1000);
                        goto rewrite;
 
                } else {
@@ -301,378 +305,390 @@ rewrite:
        }
 
        return write_block_status;
+
 }
 
 cyg_uint32 mmc_data_erase(cyg_uint32 offset, cyg_uint32 size)
 {
-       command_t cmd;
-       extern int Card_Mode;
-       cyg_uint8 startEraseBlockCmd = CMD35;
-       cyg_uint8 endEraseBlockCmd = CMD36;
-
-       cyg_uint32 startBlock = offset / BLK_LEN;
-       cyg_uint32 endBlock = (offset + size - 1) / BLK_LEN;
-       cyg_uint32 ret;
+    command_t cmd;
+    extern int Card_Mode;
+    cyg_uint8 startEraseBlockCmd = CMD35;
+    cyg_uint8 endEraseBlockCmd = CMD36;
+
+    cyg_uint32 startBlock = offset / BLK_LEN;
+    cyg_uint32 endBlock = (offset + size - 1) / BLK_LEN;
+    cyg_uint32 ret;
 //    diag_printf("card_data_erase\n");
-       if (Card_Mode == 0) {
-               startBlock *= BLK_LEN;
-               endBlock *= BLK_LEN;
-               startEraseBlockCmd = CMD35;
-               endEraseBlockCmd = CMD36;
-       }
-
-       else if (Card_Mode == 1) {
-               startBlock *= BLK_LEN;
-               endBlock *= BLK_LEN;
-               startEraseBlockCmd = CMD32;
-               endEraseBlockCmd = CMD33;
-       }
+    if (Card_Mode == 0) {
+        startBlock *= BLK_LEN;
+        endBlock *= BLK_LEN;
+        startEraseBlockCmd = CMD35;
+        endEraseBlockCmd = CMD36;
+    }
+
+    else if (Card_Mode == 1) {
+        startBlock *= BLK_LEN;
+        endBlock *= BLK_LEN;
+        startEraseBlockCmd = CMD32;
+        endEraseBlockCmd = CMD33;
+    }
 #if 1
-       /* hight capacity card uses sector mode */
-       if(HighCapacityCard)
-               startBlock /= BLK_LEN;
-       endBlock /= BLK_LEN;
+    /* hight capacity card uses sector mode */
+    if(HighCapacityCard)
+        startBlock /= BLK_LEN;
+        endBlock /= BLK_LEN;
 #endif
 //     diag_printf("0x%x - 0x%x, size: 0x%x\n", startBlock, endBlock, size);
-       /* Configure start erase command to set first block */
-       mxcmci_cmd_config(&cmd, startEraseBlockCmd, startBlock, READ,
-                                       RESPONSE_48, DATA_PRESENT_NONE, ENABLE, ENABLE);
-       /* wait response */
-       if ((ret = host_send_cmd(&cmd)) == SUCCESS) {
-               flash_dprintf(FLASH_DEBUG_MAX,
-                                       "%s: successful for host_send_cmd\n",
-                                       __FUNCTION__);
-               /* Configure end erase command to set end block */
-               mxcmci_cmd_config(&cmd, endEraseBlockCmd, endBlock, READ,
-                                               RESPONSE_48, DATA_PRESENT_NONE, ENABLE, ENABLE);
-               if ((ret = host_send_cmd(&cmd)) == SUCCESS) {
-                       flash_dprintf(FLASH_DEBUG_MAX,
-                                               "%s: successful for host_send_cmd:2\n",
-                                               __FUNCTION__);
-                       /* Comfigure command to start erase */
-                       mxcmci_cmd_config(&cmd, CMD38, 0, READ, RESPONSE_48,
-                                                       DATA_PRESENT_NONE, ENABLE, ENABLE);
-                       if ((ret = host_send_cmd(&cmd)) == SUCCESS) {
-                               flash_dprintf(FLASH_DEBUG_MAX,
-                                                       "%s: successful for host_send_cmd:3\n",
-                                                       __FUNCTION__);
-                               //wait for completion
-                               return ret;
-                       }
-               }
-       }
-
-       flash_dprintf(FLASH_DEBUG_MAX, "%s: Error return (%d)\n", __FUNCTION__,
-                               ret);
-       return ret;
+    /* Configure start erase command to set first block */
+    mxcmci_cmd_config(&cmd, startEraseBlockCmd, startBlock, READ,
+              RESPONSE_48, DATA_PRESENT_NONE, ENABLE, ENABLE);
+    /* wait response */
+    if ((ret = host_send_cmd(&cmd)) == SUCCESS) {
+        flash_dprintf(FLASH_DEBUG_MAX,
+                  "%s: successful for host_send_cmd\n",
+                  __FUNCTION__);
+        /* Configure end erase command to set end block */
+        mxcmci_cmd_config(&cmd, endEraseBlockCmd, endBlock, READ,
+                  RESPONSE_48, DATA_PRESENT_NONE, ENABLE, ENABLE);
+        if ((ret = host_send_cmd(&cmd)) == SUCCESS) {
+            flash_dprintf(FLASH_DEBUG_MAX,
+                      "%s: successful for host_send_cmd:2\n",
+                      __FUNCTION__);
+            /* Comfigure command to start erase */
+            mxcmci_cmd_config(&cmd, CMD38, 0, READ, RESPONSE_48,
+                      DATA_PRESENT_NONE, ENABLE, ENABLE);
+            if ((ret = host_send_cmd(&cmd)) == SUCCESS) {
+                flash_dprintf(FLASH_DEBUG_MAX,
+                          "%s: successful for host_send_cmd:3\n",
+                          __FUNCTION__);
+                //wait for completion
+                return ret;
+            }
+        }
+    }
+
+    flash_dprintf(FLASH_DEBUG_MAX, "%s: Error return (%d)\n", __FUNCTION__,
+              ret);
+    return ret;
 }
 
 cyg_uint32 mmc_voltage_validation(void)
 {
-       command_t cmd;
-       command_response_t response;
-       cyg_uint32 voltage_validation_command = 0;
-       cyg_uint32 ocr_val = 0;
-       cyg_uint32 voltage_validation = FAIL;
-
-       ocr_val = (cyg_uint32) ((MMC_OCR_VALUE) & 0xFFFFFFFF);
-
-       while ((voltage_validation_command < MMCSD_READY_TIMEOUT)
-               && (voltage_validation != SUCCESS)) {
-               /* Configure CMD1 for MMC card */
-               mxcmci_cmd_config(&cmd, CMD1, ocr_val, READ, RESPONSE_48,
-                                               DATA_PRESENT_NONE, DISABLE, DISABLE);
-
-               /* Issue CMD1 to MMC card to determine OCR value */
-               if (host_send_cmd(&cmd) == FAIL) {
-                       voltage_validation = FAIL;
-                       break;
-               } else {
-                       /* Read Response from CMDRSP0 Register */
-                       response.format = RESPONSE_48;
-                       host_read_response(&response);
-
-                       /* Check if card busy bit is cleared or not */
-                       if (!(response.cmd_rsp0 & CARD_BUSY_BIT)) {
-                               /* Iterate One more time */
-                               voltage_validation_command++;
-                       } else {
-                               if ((response.cmd_rsp0 & MMC_OCR_HC_RES) ==
-                                       MMC_OCR_HC_RES) {
-                                       address_mode = SECT_MODE;
-                                       voltage_validation = SUCCESS;
-                               } else if ((response.cmd_rsp0 & MMC_OCR_LC_RES)
-                                               == MMC_OCR_LC_RES) {
-                                       address_mode = BYTE_MODE;
-                                       voltage_validation = SUCCESS;
-                               }
-                       }
-
-               }
-       }
-
-       return voltage_validation;
+    command_t cmd;
+    command_response_t response;
+    cyg_uint32 voltage_validation_command = 0;
+    cyg_uint32 ocr_val = 0;
+    cyg_uint32 voltage_validation = FAIL;
+
+    ocr_val = (cyg_uint32) ((MMC_OCR_VALUE) & 0xFFFFFFFF);
+
+    while ((voltage_validation_command < MMCSD_READY_TIMEOUT)
+           && (voltage_validation != SUCCESS)) {
+        /* Configure CMD1 for MMC card */
+        mxcmci_cmd_config(&cmd, CMD1, ocr_val, READ, RESPONSE_48,
+                  DATA_PRESENT_NONE, DISABLE, DISABLE);
+
+        /* Issue CMD1 to MMC card to determine OCR value */
+        if (host_send_cmd(&cmd) == FAIL) {
+            voltage_validation = FAIL;
+            break;
+        } else {
+            /* Read Response from CMDRSP0 Register */
+            response.format = RESPONSE_48;
+            host_read_response(&response);
+
+            /* Check if card busy bit is cleared or not */
+            if (!(response.cmd_rsp0 & CARD_BUSY_BIT)) {
+                /* Iterate One more time */
+                voltage_validation_command++;
+            } else {
+                if ((response.cmd_rsp0 & MMC_OCR_HC_RES) ==
+                    MMC_OCR_HC_RES) {
+                    address_mode = SECT_MODE;
+                    voltage_validation = SUCCESS;
+                } else if ((response.cmd_rsp0 & MMC_OCR_LC_RES)
+                       == MMC_OCR_LC_RES) {
+                    address_mode = BYTE_MODE;
+                    voltage_validation = SUCCESS;
+                }
+            }
+
+        }
+    }
+
+    return voltage_validation;
 }
 
 static cyg_uint32 mmc_set_rca(void)
 {
-       command_t cmd;
-       cyg_uint32 card_state = 0;
-       cyg_uint32 rca_request = 0;
-       command_response_t response;
-       cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
-
-       /* Configure CMD3 for MMC card */
-       /* 32bit card address is expected as Argument */
-       mxcmci_cmd_config(&cmd, CMD3, card_address, READ, RESPONSE_48,
-                                       DATA_PRESENT_NONE, ENABLE, ENABLE);
-
-       /* Assigns relative address to the card
-        */
-
-       if (host_send_cmd(&cmd) == FAIL) {
-               rca_request = FAIL;
-       }
-
-       else {
-               /* Read Command response */
-               response.format = RESPONSE_48;
-               host_read_response(&response);
-               card_state = CURR_CARD_STATE(response.cmd_rsp0);
-               if (card_state == IDENT) {
-                       rca_request = SUCCESS;
-
-               } else {
-                       rca_request = FAIL;
-               }
-       }
-
-       return rca_request;
+    command_t cmd;
+    cyg_uint32 card_state = 0;
+    cyg_uint32 rca_request = 0;
+    command_response_t response;
+    cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
+
+    /* Configure CMD3 for MMC card */
+    /* 32bit card address is expected as Argument */
+    mxcmci_cmd_config(&cmd, CMD3, card_address, READ, RESPONSE_48,
+              DATA_PRESENT_NONE, ENABLE, ENABLE);
+
+    /* Assigns relative address to the card
+     */
+
+    if (host_send_cmd(&cmd) == FAIL) {
+        rca_request = FAIL;
+    }
+
+    else {
+        /* Read Command response */
+        response.format = RESPONSE_48;
+        host_read_response(&response);
+        card_state = CURR_CARD_STATE(response.cmd_rsp0);
+        if (card_state == IDENT) {
+            rca_request = SUCCESS;
+
+        } else {
+            rca_request = FAIL;
+        }
+    }
+
+    return rca_request;
 }
 
 cyg_uint32 mmc_get_spec_ver(void)
 {
 
-       cyg_uint32 mmc_spec_version;
+    cyg_uint32 mmc_spec_version;
 
-       if (card_get_csd() == FAIL) {
-               mmc_spec_version = 0;
-       } else {
-               mmc_spec_version = ((csd.csd3 && MMC_SPEC_VER) >> MMC_SPEC_VER_SHIFT);
-       }
+    if (card_get_csd() == FAIL) {
+        mmc_spec_version = 0;
+    } else {
+        mmc_spec_version = ((csd.csd3 && MMC_SPEC_VER) >> MMC_SPEC_VER_SHIFT);
+    }
+
+    return mmc_spec_version;
 
-       return mmc_spec_version;
 }
 
 cyg_uint32 card_flash_query(void *data)
 {
-       command_t cmd;
-       cyg_uint32 cid_request = FAIL;
-       command_response_t response;
-
-       /* Configure CMD2 for card */
-       mxcmci_cmd_config(&cmd, CMD2, NO_ARG, READ, RESPONSE_136,
-                                       DATA_PRESENT_NONE, ENABLE, DISABLE);
-       /* Issue CMD2 to card to determine CID contents */
-       if (host_send_cmd(&cmd) == FAIL) {
-               cid_request = FAIL;
-               flash_dprintf(FLASH_DEBUG_MAX, "%s: can't send query command\n",
-                                       __FUNCTION__);
-       } else {
-               cyg_uint32 *d = (cyg_uint32 *) data;
-               /* Read Command response  */
-               response.format = RESPONSE_136;
-               host_read_response(&response);
-               /* Assign CID values to mmc_cid structures */
-               *d++ = response.cmd_rsp0;
-               *d++ = response.cmd_rsp1;
-               *d++ = response.cmd_rsp2;
-               *d = response.cmd_rsp3;
-
-               /* Assign cid_request as SUCCESS */
-               cid_request = SUCCESS;
-       }
-       flash_dprintf(FLASH_DEBUG_MAX,
-                               "%s(Success?=%d):(ID=0x%x: 0x%x, 0x%x, 0x%x)\n",
-                               __FUNCTION__, cid_request, *(cyg_uint32 *) (data),
-                               *(cyg_uint32 *) ((cyg_uint32) data + 4),
-                               *(cyg_uint8 *) ((cyg_uint32) data + 8),
-                               *(cyg_uint8 *) ((cyg_uint32) data + 12));
-       return cid_request;
+    command_t cmd;
+    cyg_uint32 cid_request = FAIL;
+    command_response_t response;
+
+    /* Configure CMD2 for card */
+    mxcmci_cmd_config(&cmd, CMD2, NO_ARG, READ, RESPONSE_136,
+              DATA_PRESENT_NONE, ENABLE, DISABLE);
+    /* Issue CMD2 to card to determine CID contents */
+    if (host_send_cmd(&cmd) == FAIL) {
+        cid_request = FAIL;
+        flash_dprintf(FLASH_DEBUG_MAX, "%s: can't send query command\n",
+                  __FUNCTION__);
+    } else {
+        cyg_uint32 *d = (cyg_uint32 *) data;
+        /* Read Command response  */
+        response.format = RESPONSE_136;
+        host_read_response(&response);
+        /* Assign CID values to mmc_cid structures */
+        *d++ = response.cmd_rsp0;
+        *d++ = response.cmd_rsp1;
+        *d++ = response.cmd_rsp2;
+        *d = response.cmd_rsp3;
+
+        /* Assign cid_request as SUCCESS */
+        cid_request = SUCCESS;
+    }
+    flash_dprintf(FLASH_DEBUG_MAX,
+              "%s(Success?=%d):(ID=0x%x: 0x%x, 0x%x, 0x%x)\n",
+              __FUNCTION__, cid_request, *(cyg_uint32 *) (data),
+              *(cyg_uint32 *) ((cyg_uint32) data + 4),
+              *(cyg_uint8 *) ((cyg_uint32) data + 8),
+              *(cyg_uint8 *) ((cyg_uint32) data + 12));
+    return;
 }
 
 static cyg_uint32 mmc_set_bus_width(cyg_uint32 bus_width)
 {
-       command_t cmd;
-       cyg_uint32 set_bus_width_status = FAIL;
+    command_t cmd;
+    cyg_uint32 set_bus_width_status = FAIL;
+    command_response_t response;
+    cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
 
-       if ((bus_width == 4) || (bus_width == 8) || (bus_width == 1)) {
+    if ((bus_width == FOUR) || (bus_width == EIGHT) || (bus_width == ONE)) {
 
-               /* Configure CMD6 to write to EXT_CSD register for BUS_WIDTH */
-               mxcmci_cmd_config(&cmd, CMD6, 0x03b70001 | ((bus_width >> 2) << 8), READ,
-                                               RESPONSE_48, DATA_PRESENT_NONE, ENABLE, ENABLE);
+        /* Configure CMD6 to write to EXT_CSD register for BUS_WIDTH */
+        mxcmci_cmd_config(&cmd, CMD6, 0x03b70001 | ((bus_width >> 2) << 8), READ,
+                  RESPONSE_48, DATA_PRESENT_NONE, ENABLE, ENABLE);
 
-               if (host_send_cmd(&cmd) == SUCCESS) {
-                       set_bus_width_status = SUCCESS;
-               } else {
-                       diag_printf("Setting MMC bus width failed.\n");
-               }
-       }
+        if (host_send_cmd(&cmd) == SUCCESS) {
+            set_bus_width_status = SUCCESS;
+        } else {
+            diag_printf("Setting MMC bus width failed.\n");
+        }
+    }
 
-       return set_bus_width_status;
+    return set_bus_width_status;
 }
 
-cyg_uint32 mmc_set_high_speed_mode(void)
+static cyg_uint32 mmc_set_high_speed_mode(void)
 {
-       command_t cmd;
-       cyg_uint32 status;
-
-       //diag_printf("Send CMD6 to Set High Speed Mode.\n");
-       /* Configure CMD6 to write to EXT_CSD register for BUS_WIDTH */
-       mxcmci_cmd_config(&cmd, CMD6, 0x03b90100, READ, RESPONSE_48,
-                                       DATA_PRESENT_NONE, ENABLE, ENABLE);
-
-       status = host_send_cmd(&cmd);
-       if (status == SUCCESS) {
-               /* wait until in transfer mode */
-               while (mxcmci_trans_status()) {
-                       HAL_DELAY_US(5);
-               }
-       } else {
-               diag_printf("Setting MMC High Speed Mode FAILED.\n");
-       }
-
-       return status;
+    command_t cmd;
+    command_response_t response;
+    cyg_uint32 status = FAIL;
+
+    //diag_printf("Send CMD6 to Set High Speed Mode.\n");
+    /* Configure CMD6 to write to EXT_CSD register for BUS_WIDTH */
+    mxcmci_cmd_config(&cmd, CMD6, 0x03b90100, READ, RESPONSE_48,
+              DATA_PRESENT_NONE, ENABLE, ENABLE);
+
+    if (host_send_cmd(&cmd) == SUCCESS) {
+        /* wait until in transfer mode */
+        while (mxcmci_trans_status()) {
+            hal_delay_us(5);
+        }
+
+        status = SUCCESS;
+    } else {
+        diag_printf("Setting MMC High Speed Mode FAILED.\n");
+    }
+
+    return status;
 }
 
 int sdmmc_set_blklen(int len)
 {
-       int status;
-       command_t cmd;
-
-       /* Configure CMD16 to set block length as 512 bytes. */
-       mxcmci_cmd_config(&cmd, CMD16, len, READ, RESPONSE_48,
-                                       DATA_PRESENT_NONE, ENABLE, ENABLE);
-
-       /* Issue command CMD16 to set block length as 512 bytes */
-       if (host_send_cmd(&cmd) == FAIL) {
-               diag_printf("%s: Can't set block length!(CMD16)\n",
-                                       __FUNCTION__);
-               esdhc_softreset(ESDHC_RESET_CMD_MSK);
-               status = FAIL;
-       } else {
-               status = SUCCESS;
-       }
-
-       return status;
+    int status = FAIL;
+    command_t cmd;
+    command_response_t response;
+
+    /* Configure CMD16 to set block length as 512 bytes. */
+    mxcmci_cmd_config(&cmd, CMD16, len, READ, RESPONSE_48,
+              DATA_PRESENT_NONE, ENABLE, ENABLE);
+
+    /* Issue command CMD16 to set block length as 512 bytes */
+    if (host_send_cmd(&cmd) == FAIL) {
+        diag_printf("%s: Can't set block length!(CMD16)\n",
+                __FUNCTION__);
+        esdhc_softreset(ESDHC_RESET_CMD_MSK);
+        status = FAIL;
+    } else {
+        status = SUCCESS;
+    }
+
+    return status;
 }
 
 int sdmmc_stop_transmission(void)
 {
-       command_t cmd;
+    int status = FAIL;
+    command_t cmd;
+    command_response_t response;
 
-       /* Comfigure command CMD12 for read stop */
-       mxcmci_cmd_config(&cmd, CMD12, 0, READ, RESPONSE_48,
-                                       DATA_PRESENT_NONE, ENABLE, ENABLE);
+    /* Comfigure command CMD12 for read stop */
+    mxcmci_cmd_config(&cmd, CMD12, 0, READ, RESPONSE_48,
+              DATA_PRESENT_NONE, ENABLE, ENABLE);
 
-       if (host_send_cmd(&cmd) == FAIL) {
-               //diag_printf("%s: Can't send CMD12!\n", __FUNCTION__);
-               //esdhc_softreset(ESDHC_RESET_CMD_MSK | ESDHC_RESET_DAT_MSK);
-               //read_block_status = FAIL;
-       }
+    if (host_send_cmd(&cmd) == FAIL) {
+        //diag_printf("%s: Can't send CMD12!\n", __FUNCTION__);
+        //esdhc_softreset(ESDHC_RESET_CMD_MSK | ESDHC_RESET_DAT_MSK);
+        //read_block_status = FAIL;
+    }
 
-       return 0;
+    return 0;
 }
 
 static unsigned int mmc_set_extendCSD(unsigned int ECSD_index, unsigned int value, unsigned int access_mode)
 {
-       unsigned int argument = 0;
-       command_t cmd;
-
-       /* access mode: 0b01 set bits/ 0b10 clear bits/ 0b11 write bytes */
-       argument = (access_mode << 24) | (ECSD_index << 16) | (value << 8);
-       //argument = 0x1b30000;
-
-       mxcmci_cmd_config(&cmd, CMD6, argument, READ, RESPONSE_48,
-                                       DATA_PRESENT_NONE, ENABLE, ENABLE);
-
-       if(host_send_cmd(&cmd) == SUCCESS) {
-               return 0;
-       } else {
-               //diag_printf("%s: Setting MMC boot Failed.\n", __FUNCTION__);
-               return 1;
-       }
+    unsigned int argument = 0;
+    command_t cmd;
+
+    /* access mode: 0b01 set bits/ 0b10 clear bits/ 0b11 write bytes */
+    argument = (access_mode << 24) | (ECSD_index << 16) | (value << 8);
+    //argument = 0x1b30000;
+
+    mxcmci_cmd_config(&cmd, CMD6, argument, READ, RESPONSE_48,
+                      DATA_PRESENT_NONE, ENABLE, ENABLE);
+
+    if(host_send_cmd(&cmd) == SUCCESS) {
+        return 0;
+    } else {
+        //diag_printf("%s: Setting MMC boot Failed.\n", __FUNCTION__);
+        return 1;
+    }
 }
 
-void mmc_set_boot_partition_size(unsigned int value)
+static void mmc_set_boot_partition_size(unsigned int value)
 {
-       command_t cmd;
-
-       mxcmci_cmd_config(&cmd, CMD62, 0XEFAC62EC, READ, RESPONSE_48,
-                                       DATA_PRESENT_NONE, ENABLE, ENABLE);
-       host_send_cmd(&cmd);
-
-       mxcmci_cmd_config(&cmd, CMD62, 0X00CBAEA7, READ, RESPONSE_48,
-                                       DATA_PRESENT_NONE, ENABLE, ENABLE);
-       host_send_cmd(&cmd);
-
-       mxcmci_cmd_config(&cmd, CMD62, value, READ, RESPONSE_48,
-                                       DATA_PRESENT, ENABLE, ENABLE);
-       host_send_cmd(&cmd);
+    command_t cmd;
+    command_response_t response;
+    cyg_uint32 card_state = 0;
+    cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
+
+    mxcmci_cmd_config(&cmd, CMD62, 0XEFAC62EC, READ, RESPONSE_48,
+                      DATA_PRESENT_NONE, ENABLE, ENABLE);
+    host_send_cmd(&cmd);
+
+    mxcmci_cmd_config(&cmd, CMD62, 0X00CBAEA7, READ, RESPONSE_48,
+                      DATA_PRESENT_NONE, ENABLE, ENABLE);
+    host_send_cmd(&cmd);
+
+    mxcmci_cmd_config(&cmd, CMD62, value, READ, RESPONSE_48,
+                      DATA_PRESENT, ENABLE, ENABLE);
+    host_send_cmd(&cmd);
 }
 
 cyg_uint32 emmc_set_boot_partition (cyg_uint32 *src_ptr, cyg_uint32 length)
 {
-       cyg_uint32 status=FAIL;
-       unsigned int value;
-       unsigned int eMMCBootDataSize = (length / (128 * 1024)) + 1;
-
-       if (MMC_Spec_vers < 4)
-               return 1;
-
-       /* read back 1KB data as we are programming to user are and want to aviod erasing MBR
-        * will be removed once we program Redboot to boot partition of the card
-        */
-       mmc_data_read(src_ptr, 0x400, 0);
-
-       /* Set boot partition */
-       /* 1. Configure CMD6 to write to EXT_CSD register for eMMC boot partition, Byte 179*/
-       /* boot partition: user area enable and r/w enable */
-       value = (0x7 << 3) | (0x7);
-       //value = (0x1 << 3) | (0x1);
-       status = mmc_set_extendCSD(179, value, 0x3);
-       if(status) {
-               return 1; /* failed */
-       }
-
-       /* 2. Set boot partition size: n*128KB */
-       value = eMMCBootDataSize;
-       //status = mmc_set_extendCSD(226, value, 0x3);
-       //if(status) {
-       //    return 1; /* failed */
-       //}
-       //mmc_set_boot_partition_size(value);
-
-       //diag_printf("Boot partition size: 0x%xKB\n", eMMCBootDataSize * 128);
-
-       /* 3. Program to boot partition, default address is alway 0x0  */
-       status = mmc_data_write (src_ptr, eMMCBootDataSize*128*1024, 0);
-       if (status) {
-               return 1; /* failed */
-       }
-
-       while (mxcmci_trans_status());
-
-       /* 4. Clear boot partition access bits, to protect w/r of boot partition */
-       /* bit 6: send boot ack signal, boot partition: user area enable and r/w access disable */
-       //value = (0x1 << 6) | (0x1 << 3) | (0x0);
-       value = (0x1 << 6) | (0x7 << 3) | (0x0);
-       status = mmc_set_extendCSD(179, value, 0x3);
-       if(status) {
-               return 1; /* failed */
-       }
-
-       return 0;
+    cyg_uint32 status=FAIL;
+    unsigned int value;
+    unsigned int eMMCBootDataSize = (length / (128 * 1024)) + 1;
+
+    if (MMC_Spec_vers < 4)
+        return 1;
+
+    /* read back 1KB data as we are programming to user are and want to aviod erasing MBR
+      * will be removed once we program Redboot to boot partition of the card
+      */
+    mmc_data_read(src_ptr, 0x400, 0);
+
+    /* Set boot partition */
+    /* 1. Configure CMD6 to write to EXT_CSD register for eMMC boot partition, Byte 179*/
+    /* boot partition: user area enable and r/w enable */
+    value = (0x7 << 3) | (0x7);
+    //value = (0x1 << 3) | (0x1);
+    status = mmc_set_extendCSD(179, value, 0x3);
+    if(status) {
+        return 1; /* failed */
+    }
+
+    /* 2. Set boot partition size: n*128KB */
+    value = eMMCBootDataSize;
+    //status = mmc_set_extendCSD(226, value, 0x3);
+    //if(status) {
+    //    return 1; /* failed */
+    //}
+    //mmc_set_boot_partition_size(value);
+
+    //diag_printf("Boot partition size: 0x%xKB\n", eMMCBootDataSize * 128);
+
+    /* 3. Program to boot partition, default address is alway 0x0  */
+    status = mmc_data_write (src_ptr, eMMCBootDataSize*128*1024, 0);
+    if(status) {
+        return 1; /* failed */
+    }
+
+    while (mxcmci_trans_status());
+
+    /* 4. Clear boot partition access bits, to protect w/r of boot partition */
+    /* bit 6: send boot ack signal, boot partition: user area enable and r/w access disable */
+    //value = (0x1 << 6) | (0x1 << 3) | (0x0);
+    value = (0x1 << 6) | (0x7 << 3) | (0x0);
+    status = mmc_set_extendCSD(179, value, 0x3);
+    if(status) {
+        return 1; /* failed */
+    }
+
+    return 0;
 }
 
 /* end of mxcmci_mmc.c */
index cb6199d7b92f68a12e01525a8c3e6f0d7a2ca45a..e2fa47101758aa05d001184f943bf532b089aa4e 100644 (file)
@@ -51,7 +51,6 @@
 //
 //==========================================================================
 
-#include <cyg/infra/diag.h>
 #include <cyg/io/mxcmci_host.h>
 #include <cyg/io/mxcmci_core.h>
 #include <cyg/io/mxcmci_mmc.h>
@@ -84,416 +83,416 @@ static cyg_uint32 sd_set_high_speed_mode(void);
 
 cyg_uint32 sd_init(cyg_uint32 bus_width)
 {
-       cyg_uint32 status = FAIL;
-       cyg_uint32 bus_size = bus_width;
-
-       /* Get CID number of SD Memory Card */
-       if (!mxcmci_get_cid()) {
-               //diag_printf("%s:mxcmci_get_cid OK!\n", __FUNCTION__);
-               /* Set RCA of the SD Card */
-               if (!sd_get_rca()) {
-                       //diag_printf("%s:sd_get_rca OK!\n", __FUNCTION__);
-                       /*Get CSD from Card */
-                       if (card_get_csd())
-                               return FAIL;
-
-                       /*Enable operating frequency */
-                       host_cfg_clock(OPERATING_FREQ);
-
-                       //diag_printf("Set SD Card in Transfer State.\n");
-
-                       /*Put SD Card in Transfer State */
-                       if (!mxcmci_trans_prepare()) {
+    cyg_uint32 status = FAIL;
+    cyg_uint32 bus_size = bus_width;
+
+    /* Get CID number of SD Memory Card */
+    if (!mxcmci_get_cid()) {
+        //diag_printf("%s:mxcmci_get_cid OK!\n", __FUNCTION__);
+        /* Set RCA of the SD Card */
+        if (!sd_get_rca()) {
+            //diag_printf("%s:sd_get_rca OK!\n", __FUNCTION__);
+            /*Get CSD from Card */
+            if (card_get_csd())
+                return FAIL;
+
+            /*Enable operating frequency */
+            host_cfg_clock(OPERATING_FREQ);
+
+            //diag_printf("Set SD Card in Transfer State.\n");
+
+            /*Put SD Card in Transfer State */
+            if (!mxcmci_trans_prepare()) {
 #if 0
-                               if (sd_set_high_speed_mode()) {
-                                       return FAIL;
-                               }
+                if (sd_set_high_speed_mode()) {
+                    return FAIL;
+                }
 #endif
 
-                               if (sdmmc_set_blklen(BLK_LEN))
-                                       return FAIL;
-
-                               /* SD can only support 1/4 bit bitwidth, 8 bit is not supported */
-                               if (8 == bus_width) {
-                                       bus_width = 4;
-                               }
-                               if (!sd_set_bus_width(bus_width)) {
-                                       esdhc_base_pointer->protocol_control &=
-                                               ~(0x3 << 1);
-                                       esdhc_base_pointer->protocol_control |=
-                                               (bus_width / 4) << 1;
-                                       diag_printf("Bus Width:    %d\n",
-                                                               bus_width);
-                                       status = SUCCESS;
-                               }
-                       }
-               }
-
-       } else {
-               diag_printf("Get CID Failed.\n");
-
-       }
-
-       //diag_printf("%s:failed to Init SD card!\n", __FUNCTION__);
-       return status;
+                if (sdmmc_set_blklen(BLK_LEN))
+                    return FAIL;
+
+                /* SD can only support 1/4 bit bitwidth, 8 bit is not supported */
+                if (EIGHT == bus_width) {
+                    bus_width = FOUR;
+                }
+                if (!sd_set_bus_width(bus_width)) {
+                    esdhc_base_pointer->protocol_control &=
+                        ~(0x3 << 1);
+                    esdhc_base_pointer->protocol_control |=
+                        (bus_width / 4) << 1;
+                    diag_printf("Bus Width:    %d\n",
+                            bus_width);
+                    status = SUCCESS;
+                }
+            }
+        }
+
+    } else {
+        diag_printf("Get CID Failed.\n");
+
+    }
+
+    //diag_printf("%s:failed to Init SD card!\n", __FUNCTION__);
+    return status;
 
 }
 
 cyg_uint32 sd_voltage_validation(void)
 {
-       //wait max timeout (unit: ms)
-       cyg_uint32 timeout = 15000;
-
-       command_t cmd;
-       command_response_t response;
-       cyg_uint32 voltage_validation_command = 0;
-       cyg_uint32 default_rca = 0;
-
-       cyg_uint32 ocr_value = SD_OCR_VALUE_HV_LC;    /* nirp_oct07: <- split OCR to 3.3v and 1.8v cases */
-       cyg_uint32 voltage_validation = FAIL;
-       cyg_uint32 interface_value = 0;
-       cyg_uint32 card_usable = SUCCESS;
-
-       /* Configure Command CMD8 to check for High capacity support */
-       /* try 3.3V first */
-       mxcmci_cmd_config(&cmd, CMD8, SD_IF_HV_COND_ARG, READ, RESPONSE_48,
-                                       DATA_PRESENT_NONE, ENABLE, ENABLE);
-
-       /* Issue Command CMD8  to SD Memory card */
-       if (host_send_cmd(&cmd) == SUCCESS) {    /* nirp_oct07: <- changed order of detection */
-               //diag_printf("%s:CMD8 OK!\n", __FUNCTION__);
-               response.format = RESPONSE_48;
-               host_read_response(&response);
-
-               /* Obtain Interface value from the response buffer */
-               interface_value = response.cmd_rsp0;
-
-               /* Check if volatge lies in range or not */
-               if ((interface_value & SD_IF_HV_COND_ARG) == SD_IF_HV_COND_ARG) {
-                       ocr_value = ((cyg_uint32) (SD_OCR_VALUE_HV_HC) & 0xFFFFFFFF);    /* nirp_oct07: <- split OCR to 3.3v and 1.8v cases */
-               }
-
-               /* start timer for a  delay of 1.5sec, for ACMD41 */
-               hal_delay_us(1500);
-
-               while ((voltage_validation_command < 20)
-                       && (voltage_validation != SUCCESS)
-                       && (card_usable == SUCCESS)) {
-                       /* Configure CMD55 for SD card */
-                       /* This command expects defualt RCA 0x0000 as argument. */
-                       mxcmci_cmd_config(&cmd, CMD55, default_rca, READ,
-                                                       RESPONSE_48, DATA_PRESENT_NONE,
-                                                       ENABLE, ENABLE);
-
-                       /* Issue CMD55 to SD Memory card */
-                       if (host_send_cmd(&cmd) == FAIL) {
-                               voltage_validation = FAIL;
-                               //diag_printf("Send CMD55 Failed.\n");
-                               break;
-                       } else {
-                               /* Configure ACMD41 for SD card */
-                               /* This command expects operating voltage range as argument. */
-                               /* CODE REVIEW START: Need to check why BUSY was expected */
-                               /* INTERNAL CODE REVIEW: Accepted - to fix original code if needed */
-                               /* nirp: changed RESPONSE_48_CHECK_BUSY to RESPONSE_48 */
-                               /* nirp_oct03: why with busy again? ACMD41 doesn't hold busy line */
-                               mxcmci_cmd_config(&cmd, ACMD41, ocr_value, READ,
-                                                               RESPONSE_48, DATA_PRESENT_NONE, DISABLE,
-                                                               DISABLE);
-
-                               /* Issue ACMD41 to SD Memory card to determine OCR value */
-                               if (host_send_cmd(&cmd) == FAIL) {
-                                       voltage_validation = FAIL;
-                                       diag_printf("Send CMD41 Failed.\n");
-                                       break;
-                               } else {
-                                       /* Read Response from CMDRSP0 Register */
-                                       response.format = RESPONSE_48;
-                                       host_read_response(&response);
-
-                                       /* Obtain OCR Values from the response */
-                                       /* Obtain OCR value from the response buffer */
-                                       ocr_value = response.cmd_rsp0;
-
-                                       /* Check if card busy bit is cleared or not */
-                                       if (!(response.cmd_rsp0 & CARD_BUSY_BIT)) {
-                                               /* Iterate One more time */
-                                               voltage_validation_command++;
-                                       } else {
-
-                                               /*CODE REVIEW START: Update code and check only bit 30, HC or LC card type. All voltage bits needs to be masked. */
-                                               /* INTERNAL CODE REVIEW: Accepted - need fix the code accordingly */
-                                               /* nirp: It may be better to check the actual power supply voltage - requiring the entire range (0xff8000) may fail the sequence even if the device can be supported */
-                                               /*CODE REVIEW END: */
-
-                                               if ((response.cmd_rsp0 & SD_OCR_HC_RES) == SD_OCR_HC_RES) {
-                                                       address_mode = SECT_MODE;
-                                                       voltage_validation = SUCCESS;
-                                               }
-                                               /* CODE REVIEW 3: (same as above) Check is logically correct, but seems redundent.
-                                                  Anything that fails the HC check, is assumed Low Capacity */
-                                               /* nirp_oct03: this can be just an "else". the LC macro is 0 anyway,
-                                                  and anything not HC is LC by default */
-                                               /* removed else if */
-                                               else {
-                                                       address_mode = BYTE_MODE;
-                                                       voltage_validation = SUCCESS;
-                                               }
-                                       }
-                               }
-                       }
-
-                       hal_delay_us(1000);
-               }
-
-               if (voltage_validation == FAIL) {
-                       card_usable = FAIL;
-               }
-
-       } else {
-               /*3.3v test failed, try to test 1.8v mode! */
-               mxcmci_cmd_config(&cmd, CMD8, SD_IF_LV_COND_ARG, READ,
-                                               RESPONSE_48, DATA_PRESENT_NONE, ENABLE,
-                                               ENABLE);
-
-               /* Issue Command CMD8  to SD Memory card */
-               if (host_send_cmd(&cmd) == FAIL) {
-                       //diag_printf("%s:CMD8 for 1.8v failed!\n", __FUNCTION__);
-                       /* nirp_oct07: CMD8 failed both in 3.3 and in 1.8v, try SD 1.x case - no CMD8, LC, 3.3v only */
-                       ocr_value = ((cyg_uint32) (SD_OCR_VALUE_HV_LC) & 0xFFFFFFFF);    /* nirp_oct07: <- changed order of detection */
-               } else {
-                       //diag_printf("%s:CMD8 for 1.8v OK!\n", __FUNCTION__);
-                       response.format = RESPONSE_48;
-                       host_read_response(&response);
-
-                       /* Obtain Interface value from the response buffer */
-                       interface_value = response.cmd_rsp0;
-
-                       /* Check if volatge lies in range or not */
-                       if ((interface_value & SD_IF_LV_COND_ARG) == SD_IF_LV_COND_ARG) {
-                               ocr_value = ((cyg_uint32) (SD_OCR_VALUE_LV_HC) & 0xFFFFFFFF);    /* nirp_oct07: <- split OCR to 3.3v and 1.8v cases */
-                       }
-                       /* nirp_oct07: otherwise, try with HV_LC settings (set at function start) */
-               }
-
-       }
-
-       /* start timer for a  delay of 1.5sec, for ACMD41 */
-       hal_delay_us(1500);
-
-       /* nirp_oct03: MMCSD_READY_TIMEOUT too long.
-          ACMD41 also takes longer than CMD1 (twice - ~200 clocks for CMD55+resp+CMD41+resp */
-       /* In any case ,ACMD 41 will loop not more than 1.5 sec */
-       while ((voltage_validation_command < 20)
-               && (voltage_validation != SUCCESS) && (card_usable == SUCCESS)) {
-               /* Configure CMD55 for SD card */
-               /* This command expects defualt RCA 0x0000 as argument. */
-               mxcmci_cmd_config(&cmd, CMD55, default_rca, READ, RESPONSE_48,
-                                               DATA_PRESENT_NONE, ENABLE, ENABLE);
-
-               /* Issue CMD55 to SD Memory card */
-               if (host_send_cmd(&cmd) == FAIL) {
-                       voltage_validation = FAIL;
-                       //diag_printf("Send CMD55 Failed!\n");
-                       break;
-               } else {
-                       /* Configure ACMD41 for SD card */
-                       /* This command expects operating voltage range as argument. */
-                       /* CODE REVIEW START: Need to check why BUSY was expected */
-                       /* INTERNAL CODE REVIEW: Accepted - to fix original code if needed */
-                       /* nirp: changed RESPONSE_48_CHECK_BUSY to RESPONSE_48 */
-                       /* nirp_oct03: why with busy again? ACMD41 doesn't hold busy line */
-                       mxcmci_cmd_config(&cmd, ACMD41, ocr_value, READ,
-                                                       RESPONSE_48, DATA_PRESENT_NONE,
-                                                       DISABLE, DISABLE);
-
-                       /* CODE REVIEW END:  */
-
-                       /* Issue ACMD41 to SD Memory card to determine OCR value */
-                       if (host_send_cmd(&cmd) == FAIL) {
-                               voltage_validation = FAIL;
-                               diag_printf("Send ACMD41 Failed!\n");
-                               break;
-                       } else {
-                               /* Read Response from CMDRSP0 Register */
-                               response.format = RESPONSE_48;
-                               host_read_response(&response);
-
-                               /* Obtain OCR Values from the response */
-                               /* Obtain OCR value from the response buffer
-                                */
-                               ocr_value = response.cmd_rsp0;
-
-                               /* Check if card busy bit is cleared or not */
-                               if (!(response.cmd_rsp0 & CARD_BUSY_BIT)) {
-                                       /* Iterate One more time */
-                                       voltage_validation_command++;
-                               } else {
-                                       /*CODE REVIEW START: Update code and check only bit 30, HC or LC card type. All voltage bits needs to be masked. */
-                                       /* INTERNAL CODE REVIEW: Accepted - need fix the code accordingly */
-                                       /* nirp: It may be better to check the actual power supply voltage - requiring the entire range (0xff8000) may fail the sequence even if the device can be supported */
-                                       /*CODE REVIEW END: */
-
-                                       if ((response.cmd_rsp0 & SD_OCR_HC_RES) == SD_OCR_HC_RES) {
-                                               address_mode = SECT_MODE;
-                                               voltage_validation = SUCCESS;
-                                       }
-                                       /* CODE REVIEW 3: (same as above) Check is logically correct, but seems redundent.
-                                          Anything that fails the HC check, is assumed Low Capacity */
-                                       /* nirp_oct03: this can be just an "else". the LC macro is 0 anyway,
-                                          and anything not HC is LC by default */
-                                       else {
-                                               address_mode = BYTE_MODE;
-                                               voltage_validation = SUCCESS;
-                                       }
-                               }
-                       }
-
-               }
-
-               hal_delay_us(1000);
-
-       }
-
-       return voltage_validation;
+    //wait max timeout (unit: ms)
+    cyg_uint32 timeout = 15000;
+
+    command_t cmd;
+    command_response_t response;
+    cyg_uint32 voltage_validation_command = 0;
+    cyg_uint32 default_rca = 0;
+
+    cyg_uint32 ocr_value = SD_OCR_VALUE_HV_LC;    /* nirp_oct07: <- split OCR to 3.3v and 1.8v cases */
+    cyg_uint32 voltage_validation = FAIL;
+    cyg_uint32 interface_value = 0;
+    cyg_uint32 card_usable = SUCCESS;
+
+    /* Configure Command CMD8 to check for High capacity support */
+    /* try 3.3V first */
+    mxcmci_cmd_config(&cmd, CMD8, SD_IF_HV_COND_ARG, READ, RESPONSE_48,
+              DATA_PRESENT_NONE, ENABLE, ENABLE);
+
+    /* Issue Command CMD8  to SD Memory card */
+    if (host_send_cmd(&cmd) == SUCCESS) {    /* nirp_oct07: <- changed order of detection */
+        //diag_printf("%s:CMD8 OK!\n", __FUNCTION__);
+        response.format = RESPONSE_48;
+        host_read_response(&response);
+
+        /* Obtain Interface value from the response buffer */
+        interface_value = response.cmd_rsp0;
+
+        /* Check if volatge lies in range or not */
+        if ((interface_value & SD_IF_HV_COND_ARG) == SD_IF_HV_COND_ARG) {
+            ocr_value = ((cyg_uint32) (SD_OCR_VALUE_HV_HC) & 0xFFFFFFFF);    /* nirp_oct07: <- split OCR to 3.3v and 1.8v cases */
+        }
+
+        /* start timer for a  delay of 1.5sec, for ACMD41 */
+        hal_delay_us(1500);
+
+        while ((voltage_validation_command < 20)
+               && (voltage_validation != SUCCESS)
+               && (card_usable == SUCCESS)) {
+            /* Configure CMD55 for SD card */
+            /* This command expects defualt RCA 0x0000 as argument. */
+            mxcmci_cmd_config(&cmd, CMD55, default_rca, READ,
+                      RESPONSE_48, DATA_PRESENT_NONE,
+                      ENABLE, ENABLE);
+
+            /* Issue CMD55 to SD Memory card */
+            if (host_send_cmd(&cmd) == FAIL) {
+                voltage_validation = FAIL;
+                //diag_printf("Send CMD55 Failed.\n");
+                break;
+            } else {
+                /* Configure ACMD41 for SD card */
+                /* This command expects operating voltage range as argument. */
+                /* CODE REVIEW START: Need to check why BUSY was expected */
+                /* INTERNAL CODE REVIEW: Accepted - to fix original code if needed */
+                /* nirp: changed RESPONSE_48_CHECK_BUSY to RESPONSE_48 */
+                /* nirp_oct03: why with busy again? ACMD41 doesn't hold busy line */
+                mxcmci_cmd_config(&cmd, ACMD41, ocr_value, READ,
+                          RESPONSE_48, DATA_PRESENT_NONE, DISABLE,
+                          DISABLE);
+
+                /* Issue ACMD41 to SD Memory card to determine OCR value */
+                if (host_send_cmd(&cmd) == FAIL) {
+                    voltage_validation = FAIL;
+                    diag_printf("Send CMD41 Failed.\n");
+                    break;
+                } else {
+                    /* Read Response from CMDRSP0 Register */
+                    response.format = RESPONSE_48;
+                    host_read_response(&response);
+
+                    /* Obtain OCR Values from the response */
+                    /* Obtain OCR value from the response buffer */
+                    ocr_value = response.cmd_rsp0;
+
+                    /* Check if card busy bit is cleared or not */
+                    if (!(response.cmd_rsp0 & CARD_BUSY_BIT)) {
+                        /* Iterate One more time */
+                        voltage_validation_command++;
+                    } else {
+
+                        /*CODE REVIEW START: Update code and check only bit 30, HC or LC card type. All voltage bits needs to be masked. */
+                        /* INTERNAL CODE REVIEW: Accepted - need fix the code accordingly */
+                        /* nirp: It may be better to check the actual power supply voltage - requiring the entire range (0xff8000) may fail the sequence even if the device can be supported */
+                        /*CODE REVIEW END: */
+
+                        if ((response.cmd_rsp0 & SD_OCR_HC_RES) == SD_OCR_HC_RES) {
+                            address_mode = SECT_MODE;
+                            voltage_validation = SUCCESS;
+                        }
+                        /* CODE REVIEW 3: (same as above) Check is logically correct, but seems redundent.
+                           Anything that fails the HC check, is assumed Low Capacity */
+                        /* nirp_oct03: this can be just an "else". the LC macro is 0 anyway,
+                           and anything not HC is LC by default */
+                        /* removed else if */
+                        else {
+                            address_mode = BYTE_MODE;
+                            voltage_validation = SUCCESS;
+                        }
+                    }
+                }
+            }
+
+            hal_delay_us(1000);
+        }
+
+        if (voltage_validation == FAIL) {
+            card_usable = FAIL;
+        }
+
+    } else {
+        /*3.3v test failed, try to test 1.8v mode! */
+        mxcmci_cmd_config(&cmd, CMD8, SD_IF_LV_COND_ARG, READ,
+                  RESPONSE_48, DATA_PRESENT_NONE, ENABLE,
+                  ENABLE);
+
+        /* Issue Command CMD8  to SD Memory card */
+        if (host_send_cmd(&cmd) == FAIL) {
+            //diag_printf("%s:CMD8 for 1.8v failed!\n", __FUNCTION__);
+            /* nirp_oct07: CMD8 failed both in 3.3 and in 1.8v, try SD 1.x case - no CMD8, LC, 3.3v only */
+            ocr_value = ((cyg_uint32) (SD_OCR_VALUE_HV_LC) & 0xFFFFFFFF);    /* nirp_oct07: <- changed order of detection */
+        } else {
+            //diag_printf("%s:CMD8 for 1.8v OK!\n", __FUNCTION__);
+            response.format = RESPONSE_48;
+            host_read_response(&response);
+
+            /* Obtain Interface value from the response buffer */
+            interface_value = response.cmd_rsp0;
+
+            /* Check if volatge lies in range or not */
+            if ((interface_value & SD_IF_LV_COND_ARG) == SD_IF_LV_COND_ARG) {
+                ocr_value = ((cyg_uint32) (SD_OCR_VALUE_LV_HC) & 0xFFFFFFFF);    /* nirp_oct07: <- split OCR to 3.3v and 1.8v cases */
+            }
+            /* nirp_oct07: otherwise, try with HV_LC settings (set at function start) */
+        }
+
+    }
+
+    /* start timer for a  delay of 1.5sec, for ACMD41 */
+    hal_delay_us(1500);
+
+    /* nirp_oct03: MMCSD_READY_TIMEOUT too long.
+       ACMD41 also takes longer than CMD1 (twice - ~200 clocks for CMD55+resp+CMD41+resp */
+    /* In any case ,ACMD 41 will loop not more than 1.5 sec */
+    while ((voltage_validation_command < 20)
+           && (voltage_validation != SUCCESS) && (card_usable == SUCCESS)) {
+        /* Configure CMD55 for SD card */
+        /* This command expects defualt RCA 0x0000 as argument. */
+        mxcmci_cmd_config(&cmd, CMD55, default_rca, READ, RESPONSE_48,
+                  DATA_PRESENT_NONE, ENABLE, ENABLE);
+
+        /* Issue CMD55 to SD Memory card */
+        if (host_send_cmd(&cmd) == FAIL) {
+            voltage_validation = FAIL;
+            //diag_printf("Send CMD55 Failed!\n");
+            break;
+        } else {
+            /* Configure ACMD41 for SD card */
+            /* This command expects operating voltage range as argument. */
+            /* CODE REVIEW START: Need to check why BUSY was expected */
+            /* INTERNAL CODE REVIEW: Accepted - to fix original code if needed */
+            /* nirp: changed RESPONSE_48_CHECK_BUSY to RESPONSE_48 */
+            /* nirp_oct03: why with busy again? ACMD41 doesn't hold busy line */
+            mxcmci_cmd_config(&cmd, ACMD41, ocr_value, READ,
+                      RESPONSE_48, DATA_PRESENT_NONE,
+                      DISABLE, DISABLE);
+
+            /* CODE REVIEW END:  */
+
+            /* Issue ACMD41 to SD Memory card to determine OCR value */
+            if (host_send_cmd(&cmd) == FAIL) {
+                voltage_validation = FAIL;
+                diag_printf("Send ACMD41 Failed!\n");
+                break;
+            } else {
+                /* Read Response from CMDRSP0 Register */
+                response.format = RESPONSE_48;
+                host_read_response(&response);
+
+                /* Obtain OCR Values from the response */
+                /* Obtain OCR value from the response buffer
+                 */
+                ocr_value = response.cmd_rsp0;
+
+                /* Check if card busy bit is cleared or not */
+                if (!(response.cmd_rsp0 & CARD_BUSY_BIT)) {
+                    /* Iterate One more time */
+                    voltage_validation_command++;
+                } else {
+                    /*CODE REVIEW START: Update code and check only bit 30, HC or LC card type. All voltage bits needs to be masked. */
+                    /* INTERNAL CODE REVIEW: Accepted - need fix the code accordingly */
+                    /* nirp: It may be better to check the actual power supply voltage - requiring the entire range (0xff8000) may fail the sequence even if the device can be supported */
+                    /*CODE REVIEW END: */
+
+                    if ((response.cmd_rsp0 & SD_OCR_HC_RES) == SD_OCR_HC_RES) {
+                        address_mode = SECT_MODE;
+                        voltage_validation = SUCCESS;
+                    }
+                    /* CODE REVIEW 3: (same as above) Check is logically correct, but seems redundent.
+                       Anything that fails the HC check, is assumed Low Capacity */
+                    /* nirp_oct03: this can be just an "else". the LC macro is 0 anyway,
+                       and anything not HC is LC by default */
+                    else {
+                        address_mode = BYTE_MODE;
+                        voltage_validation = SUCCESS;
+                    }
+                }
+            }
+
+        }
+
+        hal_delay_us(1000);
+
+    }
+
+    return voltage_validation;
 }
 
 static cyg_uint32 sd_get_rca(void)
 {
-       command_t cmd;
-       cyg_uint32 card_state = 0;
-       cyg_uint32 rca_request = 0;
-       command_response_t response;
-
-       /* Configure CMD3 for MMC card */
-       /* 32bit card address is expected as Argument */
-       mxcmci_cmd_config(&cmd, CMD3, NO_ARG, READ, RESPONSE_48,
-                                       DATA_PRESENT_NONE, ENABLE, ENABLE);
-
-       /* Get relative address of the card     */
-
-       if (host_send_cmd(&cmd) == FAIL) {
-               rca_request = FAIL;
-               diag_printf("Send CMD3 Failed.\n");
-       } else {
-               /* Read Command response */
-               response.format = RESPONSE_48;
-               host_read_response(&response);
-
-               Card_rca = ((cyg_uint32) (response.cmd_rsp0 >> RCA_SHIFT));
-
-               card_state = CURR_CARD_STATE(response.cmd_rsp0);
-
-               if (card_state == IDENT) {
-                       rca_request = SUCCESS;
-               } else {
-                       rca_request = FAIL;
-                       diag_printf("Get RCA Failed.\n");
-               }
-       }
-
-       return rca_request;
+    command_t cmd;
+    cyg_uint32 card_state = 0;
+    cyg_uint32 rca_request = 0;
+    command_response_t response;
+
+    /* Configure CMD3 for MMC card */
+    /* 32bit card address is expected as Argument */
+    mxcmci_cmd_config(&cmd, CMD3, NO_ARG, READ, RESPONSE_48,
+              DATA_PRESENT_NONE, ENABLE, ENABLE);
+
+    /* Get relative address of the card     */
+
+    if (host_send_cmd(&cmd) == FAIL) {
+        rca_request = FAIL;
+        diag_printf("Send CMD3 Failed.\n");
+    } else {
+        /* Read Command response */
+        response.format = RESPONSE_48;
+        host_read_response(&response);
+
+        Card_rca = ((cyg_uint32) (response.cmd_rsp0 >> RCA_SHIFT));
+
+        card_state = CURR_CARD_STATE(response.cmd_rsp0);
+
+        if (card_state == IDENT) {
+            rca_request = SUCCESS;
+        } else {
+            rca_request = FAIL;
+            diag_printf("Get RCA Failed.\n");
+        }
+    }
+
+    return rca_request;
 }
 
 static cyg_uint32 sd_get_bit_mode_support(void)
 {
-       command_t cmd;
-       cyg_uint32 rd_data_buff[128];
-       cyg_uint32 bit4_mode_support;
-       command_response_t response;
-       cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
-
-       /* Configure CMD55 for SD card */
-       /* This command expects RCA as argument. */
-       mxcmci_cmd_config(&cmd, CMD55, card_address, READ, RESPONSE_48,
-                                       DATA_PRESENT_NONE, ENABLE, ENABLE);
-
-       /* Issue CMD55 to SD Memory card */
-       if (host_send_cmd(&cmd) == FAIL) {
-               bit4_mode_support = 0;
-       } else {
-               /* Read Command response */
-               response.format = RESPONSE_48;
-               host_read_response(&response);
-
-               /* Afetr giving ACMD Command, the R1 response should have
-                * STATUS_APP_CMD set
-                */
-               if (response.cmd_rsp0 & SD_R1_STATUS_APP_CMD_MSK) {
-
-                       /* Configure ACMD51 for SD card */
-                       /* This command expects No argument. */
-
-                       mxcmci_cmd_config(&cmd, ACMD51, NO_ARG, READ,
-                                                       RESPONSE_48, DATA_PRESENT, ENABLE,
-                                                       ENABLE);
-
-                       /* Issue ACMD51 to SD Memory card */
-                       if (host_send_cmd(&cmd) == FAIL) {
-                               bit4_mode_support = 0;
-                       } else {
-                               /* Read Response from e-SDHC buffer */
-                               host_data_read(rd_data_buff, 512);
-
-                               /* Check for bus width supported */
-                               bit4_mode_support = (rd_data_buff[SD_BUS_WIDTH_OFFSET] & BIT_MODE_4_SUPPORT);
-
-                               if (bit4_mode_support) {
-                                       bit4_mode_support = BIT_4_MODE;
-                               }
-
-                       }
-               }
-       }
-
-       return bit4_mode_support;
+    command_t cmd;
+    cyg_uint32 rd_data_buff[128];
+    cyg_uint32 bit4_mode_support;
+    command_response_t response;
+    cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
+
+    /* Configure CMD55 for SD card */
+    /* This command expects RCA as argument. */
+    mxcmci_cmd_config(&cmd, CMD55, card_address, READ, RESPONSE_48,
+              DATA_PRESENT_NONE, ENABLE, ENABLE);
+
+    /* Issue CMD55 to SD Memory card */
+    if (host_send_cmd(&cmd) == FAIL) {
+        bit4_mode_support = 0;
+    } else {
+        /* Read Command response */
+        response.format = RESPONSE_48;
+        host_read_response(&response);
+
+        /* Afetr giving ACMD Command, the R1 response should have
+         * STATUS_APP_CMD set
+         */
+        if (response.cmd_rsp0 & SD_R1_STATUS_APP_CMD_MSK) {
+
+            /* Configure ACMD51 for SD card */
+            /* This command expects No argument. */
+
+            mxcmci_cmd_config(&cmd, ACMD51, NO_ARG, READ,
+                      RESPONSE_48, DATA_PRESENT, ENABLE,
+                      ENABLE);
+
+            /* Issue ACMD51 to SD Memory card */
+            if (host_send_cmd(&cmd) == FAIL) {
+                bit4_mode_support = 0;
+            } else {
+                /* Read Response from e-SDHC buffer */
+                host_data_read(rd_data_buff, 512);
+
+                /* Check for bus width supported */
+                bit4_mode_support = (rd_data_buff[SD_BUS_WIDTH_OFFSET] & BIT_MODE_4_SUPPORT);
+
+                if (bit4_mode_support) {
+                    bit4_mode_support = BIT_4_MODE;
+                }
+
+            }
+        }
+    }
+
+    return bit4_mode_support;
 }
 
 static cyg_uint32 sd_set_bus_width(cyg_uint32 bus_width)
 {
-       command_t cmd;
-       cyg_uint32 set_bus_width_status = 0;
-       command_response_t response;
-       cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
-
-       if ((bus_width == 4) || (bus_width == 1)) {
-               /* Configure CMD55 for SD card */
-               /* This command expects RCA as argument. */
-
-               mxcmci_cmd_config(&cmd, CMD55, card_address, READ, RESPONSE_48,
-                                               DATA_PRESENT_NONE, ENABLE, ENABLE);
-
-               /* Issue CMD55 to SD Memory card */
-               if (host_send_cmd(&cmd) == FAIL) {
-                       set_bus_width_status = FAIL;
-               } else {
-                       /* Read Command response */
-                       response.format = RESPONSE_48;
-                       host_read_response(&response);
-
-                       /* Afetr giving ACMD Command, the R1 response should have
-                        * STATUS_APP_CMD set
-                        */
-                       if (response.cmd_rsp0 & SD_R1_STATUS_APP_CMD_MSK) {
-                               bus_width = (bus_width >> ONE);
-
-                               /* Configure ACMD6 for SD card */
-                               mxcmci_cmd_config(&cmd, ACMD6, bus_width, READ,
-                                                               RESPONSE_48,
-                                                               DATA_PRESENT_NONE, ENABLE,
-                                                               ENABLE);
-
-                               /* Issue ACMD6 to SD Memory card */
-                               if (host_send_cmd(&cmd) == FAIL) {
-                                       set_bus_width_status = FAIL;
-                               } else {
-                                       set_bus_width_status = SUCCESS;
-                               }
-                       }
-               }
-       }
-
-       return set_bus_width_status;
+    command_t cmd;
+    cyg_uint32 set_bus_width_status = 0;
+    command_response_t response;
+    cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
+
+    if ((bus_width == FOUR) || (bus_width == ONE)) {
+        /* Configure CMD55 for SD card */
+        /* This command expects RCA as argument. */
+
+        mxcmci_cmd_config(&cmd, CMD55, card_address, READ, RESPONSE_48,
+                  DATA_PRESENT_NONE, ENABLE, ENABLE);
+
+        /* Issue CMD55 to SD Memory card */
+        if (host_send_cmd(&cmd) == FAIL) {
+            set_bus_width_status = FAIL;
+        } else {
+            /* Read Command response */
+            response.format = RESPONSE_48;
+            host_read_response(&response);
+
+            /* Afetr giving ACMD Command, the R1 response should have
+             * STATUS_APP_CMD set
+             */
+            if (response.cmd_rsp0 & SD_R1_STATUS_APP_CMD_MSK) {
+                bus_width = (bus_width >> ONE);
+
+                /* Configure ACMD6 for SD card */
+                mxcmci_cmd_config(&cmd, ACMD6, bus_width, READ,
+                          RESPONSE_48,
+                          DATA_PRESENT_NONE, ENABLE,
+                          ENABLE);
+
+                /* Issue ACMD6 to SD Memory card */
+                if (host_send_cmd(&cmd) == FAIL) {
+                    set_bus_width_status = FAIL;
+                } else {
+                    set_bus_width_status = SUCCESS;
+                }
+            }
+        }
+    }
+
+    return set_bus_width_status;
 }
 
 /*==========================================================================
@@ -516,74 +515,74 @@ Detailed Description:
 
 cyg_uint32 esd_set_boot_partition(cyg_uint32 *src_ptr, cyg_uint32 length)
 {
-       command_t cmd;
-       cyg_uint32 set_partition_status = FAIL;
-       command_response_t response;
-       cyg_uint8 response_data[512];
-       cyg_uint32 *response_pointer = (cyg_uint32 *) response_data;
-       cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
-       cyg_uint32 card_state;
-
-       /* Send CMD43 to select partition PARTITION1 active */
-       mxcmci_cmd_config(&cmd, CMD43,
-                                       0x1<<24,
-                                       READ,
-                                       RESPONSE_48,
-                                       DATA_PRESENT_NONE,
-                                       ENABLE,
-                                       ENABLE);
-
-       if(host_send_cmd(&cmd) == FAIL) {
-               //diag_printf("%s: Send CMD43 Failed.\n", __FUNCTION__);
-               return 1;
-       }
-
-       set_partition_status = mmc_data_write (src_ptr, length, 0);
-       if(set_partition_status) {
-               return 1; /* failed */
-       }
-
-       return 0;
+    command_t cmd;
+    cyg_uint32 set_partition_status = FAIL;
+    command_response_t response;
+    cyg_uint8 response_data[512];
+    cyg_uint32 *response_pointer = (cyg_uint32 *) response_data;
+    cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
+    cyg_uint32 card_state;
+
+   /* Send CMD43 to select partition PARTITION1 active */
+    mxcmci_cmd_config(&cmd, CMD43,
+                              0x1<<24,
+                              READ,
+                              RESPONSE_48,
+                              DATA_PRESENT_NONE,
+                              ENABLE,
+                              ENABLE);
+
+    if(host_send_cmd(&cmd) == FAIL) {
+        //diag_printf("%s: Send CMD43 Failed.\n", __FUNCTION__);
+        return 1;
+    }
+
+    set_partition_status = mmc_data_write (src_ptr, length, 0);
+    if(set_partition_status) {
+        return 1; /* failed */
+    }
+
+    return 0;
 }
 
 static cyg_uint32 sd_set_high_speed_mode(void)
 {
-       command_t cmd;
-       cyg_uint32 status = FAIL;
-       command_response_t response;
-
-       /* Configure CMD6 for SD card */
-       mxcmci_cmd_config(&cmd, CMD6, 0xfffff1, READ, RESPONSE_48,
-                                       DATA_PRESENT_NONE, ENABLE, ENABLE);
-
-       /* Issue CMD6 to SD Memory card */
-       if (host_send_cmd(&cmd) == FAIL) {
-               status = FAIL;
-               diag_printf("Send CMD6 Failed.\n");
-               return FAIL;
-       } else {
-               hal_delay_us(1000);
-               status = SUCCESS;
-
-       }
-
-       mxcmci_cmd_config(&cmd, CMD6, 0x80fffff1, READ, RESPONSE_48,
-                                       DATA_PRESENT_NONE, ENABLE, ENABLE);
-
-       /* Issue CMD6 to SD Memory card */
-       if (host_send_cmd(&cmd) == FAIL) {
-               status = FAIL;
-               diag_printf("Send CMD6 Failed.\n");
-       } else {
-               /* wait until in transfer mode */
-               while (mxcmci_trans_status()) {
-                       hal_delay_us(5);
-               }
-
-               status = SUCCESS;
-       }
-
-       return status;
+    command_t cmd;
+    cyg_uint32 status = FAIL;
+    command_response_t response;
+
+    /* Configure CMD6 for SD card */
+    mxcmci_cmd_config(&cmd, CMD6, 0xfffff1, READ, RESPONSE_48,
+              DATA_PRESENT_NONE, ENABLE, ENABLE);
+
+    /* Issue CMD6 to SD Memory card */
+    if (host_send_cmd(&cmd) == FAIL) {
+        status = FAIL;
+        diag_printf("Send CMD6 Failed.\n");
+        return FAIL;
+    } else {
+        hal_delay_us(1000);
+        status = SUCCESS;
+
+    }
+
+    mxcmci_cmd_config(&cmd, CMD6, 0x80fffff1, READ, RESPONSE_48,
+              DATA_PRESENT_NONE, ENABLE, ENABLE);
+
+    /* Issue CMD6 to SD Memory card */
+    if (host_send_cmd(&cmd) == FAIL) {
+        status = FAIL;
+        diag_printf("Send CMD6 Failed.\n");
+    } else {
+        /* wait until in transfer mode */
+        while (mxcmci_trans_status()) {
+            hal_delay_us(5);
+        }
+
+        status = SUCCESS;
+    }
+
+    return status;
 }
 
 /* end of mxcmic_sd.c */
index 2d2c7a32f18a81ea7b09d097d39afa104898424f..8f655ca9c82ebd70acba742c123e146313983e35 100644 (file)
@@ -20,7 +20,6 @@
 // System-wide configuration info
 #include <pkgconf/system.h>
 #include <cyg/infra/cyg_type.h>
-#include <cyg/infra/diag.h>
 #ifdef CYGBLD_HAL_PLF_DEFS_H
 #include CYGBLD_HAL_PLF_DEFS_H
 #else
index a26d209ad7241216d0c58aa35ecf54eec5ef231b..533a867c664bb660e7812acb76349b45ac3e8e40 100644 (file)
@@ -1817,15 +1817,6 @@ package CYGPKG_DEVS_ETH_ARM_TX51 {
        This package provides Ethernet support for the Ka-Ro electronics TX51 processor module."
 }
 
-package CYGPKG_DEVS_ETH_ARM_TX53 {
-       alias           { "Ethernet driver for Ka-Ro electronics TX53 processor module" devs_eth_arm_tx53 }
-       directory       devs/eth/arm/tx53karo
-       script          tx53_eth_drivers.cdl
-       hardware
-       description "
-       This package provides Ethernet support for the Ka-Ro electronics TX53 processor module."
-}
-
 package CYGPKG_DEVS_ETH_ARM_IMX_3STACK {
        alias           { "Ethernet driver for Freescale 3-Stack board" imx_3stack_eth_driver }
        hardware
@@ -3602,16 +3593,6 @@ package CYGPKG_HAL_ARM_MX51 {
         eCos on Freescale i.MX51 based systems."
 }
 
-package CYGPKG_HAL_ARM_MX53 {
-       alias           { "Freescale i.MX53 Chipset" hal_arm_mx53 }
-       directory       hal/arm/mx53/var
-       script          hal_arm_soc.cdl
-       hardware
-        description "
-        The MX53 HAL package provides the support needed to run
-        eCos on Freescale i.MX53 based systems."
-}
-
 package CYGPKG_HAL_ARM_MXC91321 {
        alias           { "Freescale MXC91321 Chipset" hal_arm_mxc91321 }
        directory       hal/arm/mxc91321/var
@@ -3781,16 +3762,6 @@ package CYGPKG_HAL_ARM_TX51KARO {
         eCos on a Ka-Ro electronics TX51 processor module."
 }
 
-package CYGPKG_HAL_ARM_TX53KARO {
-       alias           { "Ka-Ro electronics TX53 processor module" hal_arm_tx53karo }
-       directory       hal/arm/mx53/karo
-       script          hal_arm_tx53.cdl
-       hardware
-        description "
-        The TX53 HAL package provides the support needed to run
-        eCos on a Ka-Ro electronics TX53 processor module."
-}
-
 # --------------------------------------------------------------------------
 # SH packages
 package CYGPKG_HAL_SH {
@@ -5926,18 +5897,6 @@ target tx51karo {
         Freescale i.MX51 processor."
 }
 
-target tx53karo {
-       alias { "Ka-Ro electronics TX53 processor module" mx53 tx53karo }
-       packages {  CYGPKG_HAL_ARM
-                       CYGPKG_HAL_ARM_MX53
-                       CYGPKG_HAL_ARM_TX53KARO
-        }
-        description "
-        The tx53karo target provides the packages needed to run
-        eCos on a Ka-Ro electronics TX53 module equipped with a
-        Freescale i.MX53 processor."
-}
-
 target mx31ads {
        alias { "Freescale i.MX31 ADS board" mx31 mx31ads }
        packages {  CYGPKG_HAL_ARM
index 9d7a5f9c99f4bab95f7ec9b25d2bf7b807d011a3..81c1bec83f098427d9ecb1d538950ce7ad729e5e 100644 (file)
@@ -77,7 +77,7 @@
 #include <cyg/hal/hal_io.h>
 
 #ifndef CYGARC_PHYSICAL_ADDRESS
-# error CYGARC_PHYSICAL_ADDRESS not defined
+# error
 # define CYGARC_PHYSICAL_ADDRESS(x) (x)
 #endif
 
index 2ecdca2050475d5b71da829a60be7bc8d336cd36..3c0b32c5b80fffd3885a49deb28b6c4928caf1dc 100644 (file)
@@ -372,18 +372,6 @@ static void display_clock_src(void)
 #define WDOG_WRSR      ((CYG_WORD16 *)(WDOG_BASE_ADDR + 0x4))
 #define CRM_RCSR       ((CYG_WORD32 *)(CCM_BASE_ADDR + 0x28))
 
-static unsigned long random;
-extern unsigned int hal_timer_count(void);
-/* provide at least _some_ sort of randomness */
-static void random_init(void)
-{
-       do {
-               srand(random + hal_timer_count());
-               random = rand();
-       } while ((hal_timer_count() < 5) || (hal_timer_count() & 0x47110815));
-}
-RedBoot_init(random_init, RedBoot_INIT_FIRST);
-
 static void display_board_type(void)
 {
        diag_printf("\nBoard Type: Ka-Ro TX25\n");
index e37aaa88ce7b4fda34c0dc32bf1b142c6f815df0..0e7e480dcf491d387d8253414417c53160726595 100644 (file)
@@ -507,18 +507,6 @@ static void display_clock_src(void)
        }
 }
 
-static unsigned long random;
-extern unsigned int hal_timer_count(void);
-/* provide at least _some_ sort of randomness */
-static void random_init(void)
-{
-       do {
-               srand(random + hal_timer_count());
-               random = rand();
-       } while ((hal_timer_count() < 5) || (hal_timer_count() & 0x47110815));
-}
-RedBoot_init(random_init, RedBoot_INIT_FIRST);
-
 #define WDOG_WRSR      ((CYG_WORD16 *)0x10002004)
 static void display_board_type(void)
 {
index 55a19405d7aaa35502fd37e41c1360d69b572943..dfcdf6a2d04051fe9d13bfbaa5b949878a30648f 100644 (file)
@@ -219,7 +219,16 @@ cdl_package CYGPKG_HAL_ARM_TX51KARO {
             legal_values  { 166 200 }
             default_value { 166 }
             description   "
-                This option specifies the SDRAM clock im MHz of the TX51 module."
+                This option specifies the SDRAM clock in MHz of the TX51 module."
+        }
+
+        cdl_option CYGNUM_HAL_ARM_TX51_CPU_CLK {
+            display       "CPU clock"
+            flavor        data
+            legal_values  { 600 800 }
+            default_value { 800 }
+            description   "
+                This option specifies the CPU clock in MHz of the TX51 module."
         }
 
         cdl_option CYGOPT_HAL_ARM_TX51_DEBUG {
index 60117ce3c34a3da7c4100deba39ad443546e897c..ca4d18b9929bacf76c1910c238a3e31987defed3 100644 (file)
@@ -50,6 +50,9 @@
 #include <cyg/hal/karo_tx51.h>                 // Platform specific hardware definitions
 #include CYGHWR_MEMORY_LAYOUT_H
 
+#define CPU_CLK                                CYGNUM_HAL_ARM_TX51_CPU_CLK
+#define SDRAM_CLK                      CYGNUM_HAL_ARM_TX51_SDRAM_CLK
+
 #if defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM)
 #define PLATFORM_SETUP1 _platform_setup1
 #define CYGHWR_HAL_ARM_HAS_MMU
@@ -192,6 +195,7 @@ Normal_Boot_Continue:
  * Note:
  *     IOMUX/PBC setup is done in C function plf_hardware_init() for simplicity
  */
+
 STACK_Setup:
        @ Set up a stack [for calling C code]
        ldr     r1, =__startup_stack
@@ -296,7 +300,13 @@ osc_ok:
        mov     r1, #0x4
        str     r1, [r0, #CLKCTL_CCSR]
 
+#if CPU_CLK == 800
        setup_pll PLL1, 800
+#elif CPU_CLK == 600
+       setup_pll PLL1, 600
+#else
+#error Bad CPU clock
+#endif
        setup_pll PLL3, 665
 
        /* Switch peripheral to PLL 3 */
@@ -487,8 +497,6 @@ _KARO_CECFG_END:
 #define ESDCTL_VAL     (0x80000000 | (SREFR << 28) | (RA_BITS << 24) | (CA_BITS << 20) | \
                         (DSIZ << 16) | (SRT << 14) | (PWDT << 12))
 
-#define SDRAM_CLK      CYGNUM_HAL_ARM_TX51_SDRAM_CLK
-
 #define NS_TO_CK(ns)   (((ns) * SDRAM_CLK + 999) / 1000)
 
        .macro          CK_VAL, name, clks, offs
@@ -603,10 +611,33 @@ M4IF_FPWC_VAL:            .word   0x00240126
 MXC_REDBOOT_ROM_START: .long   SDRAM_BASE_ADDR + SDRAM_SIZE - REDBOOT_OFFSET
 CCM_CBCDR_VAL1:                .word   0x19239145
 CCM_CBCDR_VAL2:                .word   0x13239145
+#if (CPU_CLK % SDRAM_CLK == 0)
+CCM_CBCDR_VAL3:                .word   (((CPU_CLK + SDRAM_CLK - 1) / SDRAM_CLK - 1) << 27) | (1 << 30) | 0x01e35100
+#else
+CCM_CBCDR_VAL3:                .word   0x01e35100
+#endif
+#if 0
+
 #if SDRAM_CLK == 200
+#if CPU_CLK == 800
 CCM_CBCDR_VAL3:                .word   0x59E35100
+#elif CPU_CLK == 600
+CCM_CBCDR_VAL3:                .word   0x51E35100
 #else
+#error Bad CPU_CLK
+#endif
+#elif SDRAM_CLK == 166
+#if CPU_CLK == 800
 CCM_CBCDR_VAL3:                .word   0x01E35100
+#elif CPU_CLK == 600
+CCM_CBCDR_VAL3:                .word   0x01E35100
+#else
+#error Bad CPU_CLK
+#endif
+#else
+#error Bad SDRAM_CLK
+#endif
+
 #endif
 CCM_CBCMR_VAL1:                .word   0x000010C0
 CCM_CBCMR_VAL2:                .word   0x000020C0
@@ -622,6 +653,9 @@ W_DP_MFN_800:               .word   DP_MFN_800
 W_DP_OP_700:           .word   DP_OP_700
 W_DP_MFD_700:          .word   DP_MFD_700
 W_DP_MFN_700:          .word   DP_MFN_700
+W_DP_OP_600:           .word   DP_OP_600
+W_DP_MFD_600:          .word   DP_MFD_600
+W_DP_MFN_600:          .word   DP_MFN_600
 W_DP_OP_400:           .word   DP_OP_400
 W_DP_MFD_400:          .word   DP_MFD_400
 W_DP_MFN_400:          .word   DP_MFN_400
index c350bbad3e9b7e3ddd429084e62839f4bbcb0899..3bd2987d08cd3c0dc7d04bed071196b09d8afde6 100644 (file)
@@ -476,25 +476,6 @@ void increase_core_voltage(bool i)
        }
 }
 
-static unsigned long random;
-/* provide at least _some_ sort of randomness */
-#define MAX_LOOPS      100
-extern int hal_timer_count(void);
-
-static void random_init(void)
-{
-       unsigned long timer;
-
-       int loops = MAX_LOOPS;
-
-       do {
-               timer = hal_timer_count();
-               srand(random + timer);
-               random = rand();
-       } while ((timer < 5) || ((timer & (random >> (random & 0x1f))) && --loops > 0));
-}
-RedBoot_init(random_init, RedBoot_INIT_FIRST);
-
 static void display_board_type(void)
 {
        diag_printf("\nBoard Type: Ka-Ro TX51-80x%d\n",
index 0cc988f49d31a51f24688aa19eb27724cd6a6670..e710a2bd21eb9a082289f7be76c5a2f1f1311813 100644 (file)
@@ -585,6 +585,10 @@ externC void plf_hardware_init(void);
 #define DP_MFD_700                                     (24 - 1)
 #define DP_MFN_700                                     7
 
+#define DP_OP_600                                      ((6 << 4) + ((1 - 1)  << 0))
+#define DP_MFD_600                                     (4 - 1)
+#define DP_MFN_600                                     1
+
 #define DP_OP_400                                      ((8 << 4) + ((2 - 1)  << 0))
 #define DP_MFD_400                                     (3 - 1)
 #define DP_MFN_400                                     1
index 5fc75a0fb64ec07b7bab089b9458999d69c41497..189303eb8171fe6b3d16fdcb50992edd4b2909d5 100644 (file)
@@ -42,7 +42,7 @@
 //#####DESCRIPTIONBEGIN####
 //
 // Author(s):    nickg,gthomas,jlarmour
-// Contributors:
+// Contributors: 
 // Date:         1999-02-22
 // Purpose:      Infrastructure diagnostic output
 // Description:  Implementations of infrastructure diagnostic routines.
 #include <pkgconf/hal.h>
 #include <pkgconf/infra.h>
 
-#include <cyg/infra/cyg_type.h>                // base types
-
-#include <cyg/infra/diag.h>            // HAL polled output
-#include <cyg/hal/hal_arch.h>          // architectural stuff for...
-#include <cyg/hal/hal_intr.h>          // interrupt control
-#include <cyg/hal/hal_diag.h>          // diagnostic output routines
+#include <cyg/infra/cyg_type.h>         // base types
+  
+#include <cyg/infra/diag.h>             // HAL polled output
+#include <cyg/hal/hal_arch.h>           // architectural stuff for...
+#include <cyg/hal/hal_intr.h>           // interrupt control
+#include <cyg/hal/hal_diag.h>           // diagnostic output routines
 #include <stdarg.h>
 #include <limits.h>
 #include <ctype.h>
-
+  
 #ifdef CYG_HAL_DIAG_LOCK_DATA_DEFN
 CYG_HAL_DIAG_LOCK_DATA_DEFN;
 #endif
-
+  
 /*----------------------------------------------------------------------*/
 
 externC void diag_write_num(
-       cyg_uint64      n,                      /* number to write                      */
-       cyg_ucount8 base,               /* radix to write to            */
-       cyg_ucount8 sign,               /* sign, '-' if -ve, '+' if +ve */
-       cyg_bool        pfzero,         /* prefix with zero ?           */
-       cyg_ucount8 width               /* min width of number          */
-       );
+    cyg_uint32 n,              /* number to write              */
+    cyg_ucount8 base,          /* radix to write to            */
+    cyg_ucount8 sign,          /* sign, '-' if -ve, '+' if +ve */
+    cyg_bool   pfzero,         /* prefix with zero ?           */
+    cyg_ucount8 width          /* min width of number          */
+    );
 
 class Cyg_dummy_diag_init_class {
 public:
        Cyg_dummy_diag_init_class() {
-               HAL_DIAG_INIT();
-       }
+           HAL_DIAG_INIT();
+    }
 };
 
 // Initialize after HAL.
 static Cyg_dummy_diag_init_class cyg_dummy_diag_init_obj
-CYGBLD_ATTRIB_INIT_AFTER(CYG_INIT_HAL);
+                                     CYGBLD_ATTRIB_INIT_AFTER(CYG_INIT_HAL);
 
 /*----------------------------------------------------------------------*/
 /* Write single char to output                                          */
 
 externC void diag_write_char(char c)
 {
-       /* Translate LF into CRLF */
+    /* Translate LF into CRLF */
 
-       if (c == '\n') {
-               HAL_DIAG_WRITE_CHAR('\r');
-       }
+    if( c == '\n' )
+    {
+       HAL_DIAG_WRITE_CHAR('\r');
+    }
 
-       HAL_DIAG_WRITE_CHAR(c);
+    HAL_DIAG_WRITE_CHAR(c);
 }
 
 // Default wrapper function used by diag_printf
 static void
 _diag_write_char(char c, void *param)
 {
-       diag_write_char(c);
+    diag_write_char(c);
 }
 
 /*----------------------------------------------------------------------*/
@@ -127,7 +128,7 @@ static void (*_putc)(char c, void *param) = _diag_write_char;
 externC void
 diag_init_putc(void (*putc)(char c, void *param))
 {
-       _putc = putc;
+    _putc = putc;
 }
 
 /*----------------------------------------------------------------------*/
@@ -135,32 +136,29 @@ diag_init_putc(void (*putc)(char c, void *param))
 
 externC void diag_write_string(const char *psz)
 {
-       while (*psz)
-               diag_write_char(*psz++);
+    while( *psz ) diag_write_char( *psz++ );
 }
 
 /*----------------------------------------------------------------------*/
 /* Write decimal value                                                  */
 
-externC void diag_write_dec(cyg_int32 n)
+externC void diag_write_dec( cyg_int32 n)
 {
-       cyg_ucount8 sign;
+    cyg_ucount8 sign;
 
-       if (n < 0)
-               n = -n, sign = '-';
-       else
-               sign = '+';
-
-       diag_write_num(n, 10, sign, false, 0);
+    if( n < 0 ) n = -n, sign = '-';
+    else sign = '+';
+    
+    diag_write_num( n, 10, sign, false, 0);
 }
 
 /*----------------------------------------------------------------------*/
 /* Write hexadecimal value                                              */
 
-externC void diag_write_hex(cyg_uint32 n)
+externC void diag_write_hex( cyg_uint32 n)
 {
-       diag_write_num(n, 16, '+', false, 0);
-}
+    diag_write_num( n, 16, '+', false, 0);
+}    
 
 /*----------------------------------------------------------------------*/
 /* Generic number writing function                                      */
@@ -169,94 +167,94 @@ externC void diag_write_hex(cyg_uint32 n)
 /* the left.                                                            */
 
 externC void diag_write_long_num(
-       cyg_uint64      n,                      /* number to write                      */
-       cyg_ucount8 base,               /* radix to write to            */
-       cyg_ucount8 sign,               /* sign, '-' if -ve, '+' if +ve */
-       cyg_bool        pfzero,         /* prefix with zero ?           */
-       cyg_ucount8 width               /* min width of number          */
-       )
+    cyg_uint64  n,              /* number to write              */
+    cyg_ucount8 base,           /* radix to write to            */
+    cyg_ucount8 sign,           /* sign, '-' if -ve, '+' if +ve */
+    cyg_bool    pfzero,         /* prefix with zero ?           */
+    cyg_ucount8 width           /* min width of number          */
+    )
 {
-       char buf[32];
-       cyg_count8 bpos;
-       char bufinit = pfzero?'0':' ';
-       const char *digits = "0123456789ABCDEF";
-
-       /* init buffer to padding char: space or zero */
-       for (bpos = 0; bpos < (cyg_count8)sizeof(buf); bpos++)
-               buf[bpos] = bufinit;
-
-       /* Set pos to start */
-       bpos = 0;
-
-       /* construct digits into buffer in reverse order */
-       if (n == 0)
-               buf[bpos++] = '0';
-       else
-               while (n != 0) {
-                       cyg_ucount8 d = n % base;
-                       buf[bpos++] = digits[d];
-                       n /= base;
-               }
-
-       /* set pos to width if less. */
-       if ((cyg_count8)width > bpos)
-               bpos = width;
-
-       /* set sign if negative. */
-       if (sign == '-') {
-               if (buf[bpos-1] == bufinit) bpos--;
-               buf[bpos] = sign;
-       } else {
-               bpos--;
-       }
-
-       /* Now write it out in correct order. */
-       while(bpos >= 0)
-               diag_write_char(buf[bpos--]);
+    char buf[32];
+    cyg_count8 bpos;
+    char bufinit = pfzero?'0':' ';
+    const char *digits = "0123456789ABCDEF";
+
+    /* init buffer to padding char: space or zero */
+    for( bpos = 0; bpos < (cyg_count8)sizeof(buf); bpos++ ) buf[bpos] = bufinit;
+
+    /* Set pos to start */
+    bpos = 0;
+
+    /* construct digits into buffer in reverse order */
+    if( n == 0 ) buf[bpos++] = '0';
+    else while( n != 0 )
+    {
+        cyg_ucount8 d = n % base;
+        buf[bpos++] = digits[d];
+        n /= base;
+    }
+
+    /* set pos to width if less. */
+    if( (cyg_count8)width > bpos ) bpos = width;
+
+    /* set sign if negative. */
+    if( sign == '-' )
+    {
+        if( buf[bpos-1] == bufinit ) bpos--;
+        buf[bpos] = sign;
+    }
+    else bpos--;
+
+    /* Now write it out in correct order. */
+    while( bpos >= 0 )
+        diag_write_char(buf[bpos--]);
 }
 
 externC void diag_write_num(
-       cyg_uint64      n,                      /* number to write                      */
-       cyg_ucount8 base,               /* radix to write to            */
-       cyg_ucount8 sign,               /* sign, '-' if -ve, '+' if +ve */
-       cyg_bool        pfzero,         /* prefix with zero ?           */
-       cyg_ucount8 width               /* min width of number          */
-       )
+    cyg_uint32  n,              /* number to write              */
+    cyg_ucount8 base,           /* radix to write to            */
+    cyg_ucount8 sign,           /* sign, '-' if -ve, '+' if +ve */
+    cyg_bool    pfzero,         /* prefix with zero ?           */
+    cyg_ucount8 width           /* min width of number          */
+    )
 {
-       diag_write_long_num(n, base, sign, pfzero, width);
+    diag_write_long_num((long long)n, base, sign, pfzero, width);
 }
 
 /*----------------------------------------------------------------------*/
 /* perform some simple sanity checks on a string to ensure that it      */
 /* consists of printable characters and is of reasonable length.        */
 
-static cyg_bool diag_check_string(const char *str)
+static cyg_bool diag_check_string( const char *str )
 {
-       cyg_bool result = true;
-       const char *s;
+    cyg_bool result = true;
+    const char *s;
+
+    if( str == NULL ) return false;
+    
+    for( s = str ; result && *s ; s++ )
+    {
+        char c = *s;
 
-       if (str == NULL)
-               return false;
+        /* Check for a reasonable length string. */
+        
+        if( s-str > 2048 ) result = false;
 
-       for (s = str ; result && *s ; s++) {
-               char c = *s;
+        /* We only really support CR, NL, tab and backspace at present.
+        * If we want to use other special chars, this test will
+         * have to be expanded.  */
 
-               /* Check for a reasonable length string. */
-               if (s - str > 2048)
-                       result = false;
+        if( c == '\n' || c == '\r' || c == '\b' || c == '\t' )
+            continue;
 
-               /* We only really support CR, NL, tab and backspace at present.
-                * If we want to use other special chars, this test will
-                * have to be expanded.  */
-               if (c == '\n' || c == '\r' || c == '\b' || c == '\t')
-                       continue;
+        /* Check for printable chars. This assumes ASCII */
+        
+        if( c < ' ' || c > '~' )
+            result = false;
 
-               /* Check for printable chars. This assumes ASCII */
-               if (c < ' ' || c > '~')
-                       result = false;
-       }
+    }
 
-       return result;
+    return result;
 }
 
 /*----------------------------------------------------------------------*/
@@ -264,25 +262,25 @@ static cyg_bool diag_check_string(const char *str)
 static int
 _cvt(unsigned long long val, char *buf, long radix, const char *digits)
 {
-       char temp[80];
-       char *cp = temp;
-       int length = 0;
-
-       if (val == 0) {
-               /* Special case */
-               *cp++ = '0';
-       } else {
-               while (val) {
-                       *cp++ = digits[val % radix];
-                       val /= radix;
-               }
-       }
-       while (cp != temp) {
-               *buf++ = *--cp;
-               length++;
-       }
-       *buf = '\0';
-       return length;
+    char temp[80];
+    char *cp = temp;
+    int length = 0;
+
+    if (val == 0) {
+        /* Special case */
+        *cp++ = '0';
+    } else {
+        while (val) {
+            *cp++ = digits[val % radix];
+            val /= radix;
+        }
+    }
+    while (cp != temp) {
+        *buf++ = *--cp;
+        length++;
+    }
+    *buf = '\0';
+    return (length);
 }
 
 #define is_digit(c) ((c >= '0') && (c <= '9'))
@@ -290,379 +288,375 @@ _cvt(unsigned long long val, char *buf, long radix, const char *digits)
 static int
 _vprintf(void (*putc)(char c, void *param), void *param, const char *fmt, va_list ap)
 {
-       char buf[sizeof(long long) * 8];
-       char c, sign;
-       const char *cp = buf;
-       int left_prec, right_prec, zero_fill, pad, pad_on_right,
-               i, islong, islonglong;
-       long long val = 0;
-       int res = 0, length = 0;
-
-       if (!diag_check_string(fmt)) {
-               diag_write_string("<Bad format string: ");
-               diag_write_hex((cyg_uint32)fmt);
-               diag_write_string(" :");
-               for (i = 0; i < 8; i++) {
-                       diag_write_char(' ');
-                       val = va_arg(ap, unsigned long);
-                       diag_write_hex(val);
-               }
-               diag_write_string(">\n");
-               return 0;
-       }
-       while ((c = *fmt++) != '\0') {
-               if (c == '%') {
-                       c = *fmt++;
-                       left_prec = right_prec = pad_on_right = islong = islonglong = 0;
-                       if (c == '-') {
-                               c = *fmt++;
-                               pad_on_right++;
-                       }
-                       if (c == '0') {
-                               zero_fill = true;
-                               c = *fmt++;
-                       } else {
-                               zero_fill = false;
-                       }
-                       while (is_digit(c)) {
-                               left_prec = (left_prec * 10) + (c - '0');
-                               c = *fmt++;
-                       }
-                       if (c == '.') {
-                               c = *fmt++;
-                               zero_fill++;
-                               while (is_digit(c)) {
-                                       right_prec = (right_prec * 10) + (c - '0');
-                                       c = *fmt++;
-                               }
-                       } else {
-                               right_prec = left_prec;
-                       }
-                       sign = '\0';
-                       if (c == 'l') {
-                               // 'long' qualifier
-                               c = *fmt++;
-                               islong = 1;
-                               if (c == 'l') {
-                                       // long long qualifier
-                                       c = *fmt++;
-                                       islonglong = 1;
-                               }
-                       }
-                       if (c == 'z') {
-                               c = *fmt++;
-                               islong = sizeof(size_t) == sizeof(long);
-                       }
-                       // Fetch value [numeric descriptors only]
-                       switch (c) {
-                       case 'p':
-                               islong = 1;
-                       case 'd':
-                       case 'D':
-                       case 'x':
-                       case 'X':
-                       case 'u':
-                       case 'U':
-                       case 'b':
-                       case 'B':
-                               if (islonglong) {
-                                       val = va_arg(ap, long long);
-                               } else if (islong) {
-                                       val = (long long)va_arg(ap, long);
-                               } else{
-                                       val = (long long)va_arg(ap, int);
-                               }
-                               if ((c == 'd') || (c == 'D')) {
-                                       if (val < 0) {
-                                               sign = '-';
-                                               val = -val;
-                                       }
-                               } else {
-                                       // Mask to unsigned, sized quantity
-                                       if (!islonglong) {
-                                               // no need to mask longlong
-                                               if (islong)
-                                                       val &= ((long long)1 << (sizeof(long) * 8)) - 1;
-                                               else
-                                                       val &= ((long long)1 << (sizeof(int) * 8)) - 1;
-                                       }
-                               }
-                               break;
-                       default:
-                               break;
-                       }
-                       // Process output
-                       switch (c) {
-                       case 'p':  // Pointer
-                               putc('0', param);
-                               putc('x', param);
-                               zero_fill = true;
-                               left_prec = sizeof(unsigned long) * 2;
-                               res += 2;  // Account for "0x" leadin
-                       case 'd':
-                       case 'D':
-                       case 'u':
-                       case 'U':
-                       case 'x':
-                       case 'X':
-                               switch (c) {
-                               case 'd':
-                               case 'D':
-                               case 'u':
-                               case 'U':
-                                       length = _cvt(val, buf, 10, "0123456789");
-                                       break;
-                               case 'p':
-                               case 'x':
-                                       length = _cvt(val, buf, 16, "0123456789abcdef");
-                                       break;
-                               case 'X':
-                                       length = _cvt(val, buf, 16, "0123456789ABCDEF");
-                                       break;
-                               }
-                               cp = buf;
-                               break;
-                       case 's':
-                       case 'S':
-                               cp = va_arg(ap, char *);
-                               if (cp == NULL)
-                                       cp = "<null>";
+    char buf[sizeof(long long)*8];
+    char c, sign;
+    const char *cp=buf;
+    int left_prec, right_prec, zero_fill, pad, pad_on_right, 
+        i, islong, islonglong;
+    long long val = 0;
+    int res = 0, length = 0;
+
+    if (!diag_check_string(fmt)) {
+        diag_write_string("<Bad format string: ");
+        diag_write_hex((cyg_uint32)fmt);
+        diag_write_string(" :");
+        for( i = 0; i < 8; i++ ) {
+            diag_write_char(' ');
+            val = va_arg(ap, unsigned long);
+            diag_write_hex(val);
+        }
+        diag_write_string(">\n");
+        return 0;
+    }
+    while ((c = *fmt++) != '\0') {
+        if (c == '%') {
+            c = *fmt++;
+            left_prec = right_prec = pad_on_right = islong = islonglong = 0;
+            if (c == '-') {
+                c = *fmt++;
+                pad_on_right++;
+            }
+            if (c == '0') {
+                zero_fill = true;
+                c = *fmt++;
+            } else {
+                zero_fill = false;
+            }
+            while (is_digit(c)) {
+                left_prec = (left_prec * 10) + (c - '0');
+                c = *fmt++;
+            }
+            if (c == '.') {
+                c = *fmt++;
+                zero_fill++;
+                while (is_digit(c)) {
+                    right_prec = (right_prec * 10) + (c - '0');
+                    c = *fmt++;
+                }
+            } else {
+                right_prec = left_prec;
+            }
+            sign = '\0';
+            if (c == 'l') {
+                // 'long' qualifier
+                c = *fmt++;
+               islong = 1;
+                if (c == 'l') {
+                    // long long qualifier
+                    c = *fmt++;
+                    islonglong = 1;
+                }
+            }
+            if (c == 'z') {
+                c = *fmt++;
+               islong = sizeof(size_t) == sizeof(long);
+            }
+            // Fetch value [numeric descriptors only]
+            switch (c) {
+            case 'p':
+               islong = 1;
+            case 'd':
+            case 'D':
+            case 'x':
+            case 'X':
+            case 'u':
+            case 'U':
+            case 'b':
+            case 'B':
+                if (islonglong) {
+                    val = va_arg(ap, long long);
+               } else if (islong) {
+                    val = (long long)va_arg(ap, long);
+               } else{
+                    val = (long long)va_arg(ap, int);
+                }
+                if ((c == 'd') || (c == 'D')) {
+                    if (val < 0) {
+                        sign = '-';
+                        val = -val;
+                    }
+                } else {
+                    // Mask to unsigned, sized quantity
+                    if (islong) {
+                        val &= ((long long)1 << (sizeof(long) * 8)) - 1;
+                    } else if (!islonglong) { // no need to mask longlong
+                        val &= ((long long)1 << (sizeof(int) * 8)) - 1;
+                    }
+                }
+                break;
+            default:
+                break;
+            }
+            // Process output
+            switch (c) {
+            case 'p':  // Pointer
+                (*putc)('0', param);
+                (*putc)('x', param);
+                zero_fill = true;
+                left_prec = sizeof(unsigned long)*2;
+                res += 2;  // Account for "0x" leadin
+            case 'd':
+            case 'D':
+            case 'u':
+            case 'U':
+            case 'x':
+            case 'X':
+                switch (c) {
+                case 'd':
+                case 'D':
+                case 'u':
+                case 'U':
+                    length = _cvt(val, buf, 10, "0123456789");
+                    break;
+                case 'p':
+                case 'x':
+                    length = _cvt(val, buf, 16, "0123456789abcdef");
+                    break;
+                case 'X':
+                    length = _cvt(val, buf, 16, "0123456789ABCDEF");
+                    break;
+                }
+                cp = buf;
+                break;
+            case 's':
+            case 'S':
+                cp = va_arg(ap, char *);
+                if (cp == NULL) 
+                    cp = "<null>";
 #if !CYGINT_ISO_CTYPE
 #warning enable CYGINT_ISO_CTYPE to get sensible string output instead of bogus '<Not a string 0x...>' messages for unprintable characters
-                               else if (!diag_check_string(cp)) {
-                                       diag_write_string("<Not a string: 0x");
-                                       diag_write_hex((cyg_uint32)cp);
-                                       cp = ">";
-                               }
+                else if (!diag_check_string(cp)) {
+                    diag_write_string("<Not a string: 0x");
+                    diag_write_hex((cyg_uint32)cp);
+                    cp = ">";
+                }
 #endif
-                               length = 0;
-                               while (cp[length] != '\0') length++;
-                               break;
-                       case 'c':
-                       case 'C':
-                               c = va_arg(ap, int /*char*/);
-                               putc(c, param);
-                               res++;
-                               continue;
-                       case 'b':
-                       case 'B':
-                               length = left_prec;
-                               if (left_prec == 0) {
-                                       if (islonglong)
-                                               length = sizeof(long long) * 8;
-                                       else if (islong)
-                                               length = sizeof(long) * 8;
-                                       else
-                                               length = sizeof(int) * 8;
-                               }
-                               for (i = 0;  i < length-1;  i++) {
-                                       buf[i] = ((val & ((long long)1<<i)) ? '1' : '.');
-                               }
-                               cp = buf;
-                               break;
-                       case '%':
-                               putc('%', param);
-                               res++;
-                               continue;
-                       default:
-                               putc('%', param);
-                               putc(c, param);
-                               res += 2;
-                               continue;
-                       }
-                       pad = left_prec - length;
-                       if (sign != '\0') {
-                               pad--;
-                       }
-                       if (zero_fill) {
-                               c = '0';
-                               if (sign != '\0') {
-                                       putc(sign, param);
-                                       res++;
-                                       sign = '\0';
-                               }
-                       } else {
-                               c = ' ';
-                       }
-                       if (!pad_on_right) {
-                               while (pad-- > 0) {
-                                       putc(c, param);
-                                       res++;
-                               }
-                       }
-                       if (sign != '\0') {
-                               putc(sign, param);
-                               res++;
-                       }
-                       while (length-- > 0) {
-                               c = *cp++;
+                length = 0;
+                while (cp[length] != '\0') length++;
+                break;
+            case 'c':
+            case 'C':
+                c = va_arg(ap, int /*char*/);
+                (*putc)(c, param);
+                res++;
+                continue;
+            case 'b':
+            case 'B':
+                length = left_prec;
+                if (left_prec == 0) {
+                    if (islonglong)
+                        length = sizeof(long long)*8;
+                    else if (islong)
+                        length = sizeof(long)*8;
+                    else
+                        length = sizeof(int)*8;
+                }
+                for (i = 0;  i < length-1;  i++) {
+                    buf[i] = ((val & ((long long)1<<i)) ? '1' : '.');
+                }
+                cp = buf;
+                break;
+            case '%':
+                (*putc)('%', param);
+                res++;
+                continue;
+            default:
+                (*putc)('%', param);
+                (*putc)(c, param);
+                res += 2;
+                continue;
+            }
+            pad = left_prec - length;
+            if (sign != '\0') {
+                pad--;
+            }
+            if (zero_fill) {
+                c = '0';
+                if (sign != '\0') {
+                    (*putc)(sign, param);
+                    res++;
+                    sign = '\0';
+                }
+            } else {
+                c = ' ';
+            }
+            if (!pad_on_right) {
+                while (pad-- > 0) {
+                    (*putc)(c, param);
+                    res++;
+                }
+            }
+            if (sign != '\0') {
+                (*putc)(sign, param);
+                res++;
+            }
+            while (length-- > 0) {
+                c = *cp++;
 #if CYGINT_ISO_CTYPE
-                               if (isprint(c) || isspace(c)) {
-                                       putc(c, param);
-                               } else if (iscntrl(c)) {
-                                       putc('\\', param);
-                                       putc('C', param);
-                                       putc('-', param);
-                                       putc(c | 0x40, param);
-                               } else {
-                                       int len = _cvt(c, buf, 16, "0123456789ABCDEF");
-                                       putc('\\', param);
-                                       putc('0', param);
-                                       putc('x', param);
-                                       for (int i = 0; i < len; i++) {
-                                               putc(buf[i], param);
-                                       }
-                               }
-#else
-                               putc(c, param);
-#endif
-                               res++;
-                       }
-                       if (pad_on_right) {
-                               while (pad-- > 0) {
-                                       putc(' ', param);
-                                       res++;
-                               }
-                       }
+                if (isprint(c) || isspace(c)) {
+                (*putc)(c, param);
+               } else if (iscntrl(c)) {
+                       (*putc)('\\', param);
+                       (*putc)('C', param);
+                       (*putc)('-', param);
+                       (*putc)(c | 0x40, param);
                } else {
-                       putc(c, param);
-                       res++;
+                       int len = _cvt(c, buf, 16, "0123456789ABCDEF");
+                       (*putc)('\\', param);
+                       (*putc)('0', param);
+                       (*putc)('x', param);
+                       for (int i = 0; i < len; i++) {
+                               (*putc)(buf[i], param);
+                       }
                }
-       }
-       return res;
+#else
+               (*putc)(c, param);
+#endif
+                res++;
+            }
+            if (pad_on_right) {
+                while (pad-- > 0) {
+                    (*putc)(' ', param);
+                    res++;
+                }
+            }
+        } else {
+            (*putc)(c, param);
+            res++;
+        }
+    }
+    return (res);
 }
 
 struct _sputc_info {
-       char *ptr;
-       int max, len;
+    char *ptr;
+    int max, len;
 };
 
-static void
+static void 
 _sputc(char c, void *param)
 {
-       struct _sputc_info *info = (struct _sputc_info *)param;
+    struct _sputc_info *info = (struct _sputc_info *)param;
 
-       if (info->len < info->max) {
-               *info->ptr++ = c;
-               *info->ptr = '\0';
-               info->len++;
-       }
+    if (info->len < info->max) {
+        *(info->ptr)++ = c;
+        *(info->ptr) = '\0';
+        info->len++;
+    }
 }
 
 int
 diag_sprintf(char *buf, const char *fmt, ...)
-{
-       int ret;
-       va_list ap;
-       struct _sputc_info info;
-
-       va_start(ap, fmt);
-       info.ptr = buf;
-       info.max = 1024;  // Unlimited
-       info.len = 0;
-       ret = _vprintf(_sputc, &info, fmt, ap);
-       va_end(ap);
-       return info.len;
+{        
+    int ret;
+    va_list ap;
+    struct _sputc_info info;
+
+    va_start(ap, fmt);
+    info.ptr = buf;
+    info.max = 1024;  // Unlimited
+    info.len = 0;
+    ret = _vprintf(_sputc, (void *)&info, fmt, ap);
+    va_end(ap);
+    return (info.len);
 }
 
 int
 diag_snprintf(char *buf, size_t len, const char *fmt, ...)
-{
-       int ret;
-       va_list ap;
-       struct _sputc_info info;
-
-       va_start(ap, fmt);
-       info.ptr = buf;
-       info.len = 0;
-       info.max = len-1;
-       ret = _vprintf(_sputc, &info, fmt, ap);
-       va_end(ap);
-       return info.len;
+{        
+    int ret;
+    va_list ap;
+    struct _sputc_info info;
+
+    va_start(ap, fmt);
+    info.ptr = buf;
+    info.len = 0;
+    info.max = len-1;
+    ret = _vprintf(_sputc, (void *)&info, fmt, ap);
+    va_end(ap);
+    return (info.len);
 }
 
-int
+int 
 diag_vsprintf(char *buf, const char *fmt, va_list ap)
 {
-       int ret;
-       struct _sputc_info info;
-
-       info.ptr = buf;
-       info.max = 1024;  // Unlimited
-       info.len = 0;
-       ret = _vprintf(_sputc, &info, fmt, ap);
-       return info.len;
+    int ret;
+    struct _sputc_info info;
+
+    info.ptr = buf;
+    info.max = 1024;  // Unlimited
+    info.len = 0;
+    ret = _vprintf(_sputc, (void *)&info, fmt, ap);
+    return (info.len);
 }
 
 int
 diag_printf(const char *fmt, ...)
 {
-       va_list ap;
-       int ret;
+    va_list ap;
+    int ret;
 
-       va_start(ap, fmt);
-       ret = _vprintf(_putc, NULL, fmt, ap);
-       va_end(ap);
-       return ret;
+    va_start(ap, fmt);
+    ret = _vprintf(_putc, (void *)0, fmt, ap);
+    va_end(ap);
+    return (ret);
 }
 
 int
 diag_vprintf(const char *fmt, va_list ap)
 {
-       int ret;
+    int ret;
 
-       ret = _vprintf(_putc, NULL, fmt, ap);
-       return ret;
+    ret = _vprintf(_putc, (void *)0, fmt, ap);
+    return (ret);
 }
 
 void
 diag_vdump_buf_with_offset(__printf_fun *pf,
-                                                  cyg_uint8    *p,
-                                                  CYG_ADDRWORD  s,
-                                                  cyg_uint8    *base)
+                           cyg_uint8     *p, 
+                           CYG_ADDRWORD   s, 
+                           cyg_uint8     *base)
 {
-       int i, c;
-
-       if ((CYG_ADDRWORD)s > (CYG_ADDRWORD)p) {
-               s = (CYG_ADDRWORD)s - (CYG_ADDRWORD)p;
-       }
-       while ((int)s > 0) {
-               if (base) {
-                       pf("%08X: ", (CYG_ADDRWORD)p - (CYG_ADDRWORD)base);
-               } else {
-                       pf("%08X: ", p);
-               }
-               for (i = 0;  i < 16;  i++) {
-                       if (i < (int)s) {
-                               pf("%02X ", p[i] & 0xFF);
-                       } else {
-                               pf("   ");
-                       }
-                       if (i == 7)
-                               pf(" ");
-               }
-               pf(" |");
-               for (i = 0;  i < 16;  i++) {
-                       if (i < (int)s) {
-                               c = p[i] & 0xFF;
-                               if ((c < 0x20) || (c >= 0x7F)) c = '.';
-                       } else {
-                               c = ' ';
-                       }
-                       pf("%c", c);
-               }
-               pf("|\n");
-               s -= 16;
-               p += 16;
-       }
+    int i, c;
+    if ((CYG_ADDRWORD)s > (CYG_ADDRWORD)p) {
+        s = (CYG_ADDRWORD)s - (CYG_ADDRWORD)p;
+    }
+    while ((int)s > 0) {
+        if (base) {
+            (*pf)("%08X: ", (CYG_ADDRWORD)p - (CYG_ADDRWORD)base);
+        } else {
+            (*pf)("%08X: ", p);
+        }
+        for (i = 0;  i < 16;  i++) {
+            if (i < (int)s) {
+                (*pf)("%02X ", p[i] & 0xFF);
+            } else {
+                (*pf)("   ");
+            }
+           if (i == 7) (*pf)(" ");
+        }
+        (*pf)(" |");
+        for (i = 0;  i < 16;  i++) {
+            if (i < (int)s) {
+                c = p[i] & 0xFF;
+                if ((c < 0x20) || (c >= 0x7F)) c = '.';
+            } else {
+                c = ' ';
+            }
+            (*pf)("%c", c);
+        }
+        (*pf)("|\n");
+        s -= 16;
+        p += 16;
+    }
 }
 
 void
-diag_dump_buf_with_offset(cyg_uint8            *p,
-                                                 CYG_ADDRWORD   s,
-                                                 cyg_uint8             *base)
+diag_dump_buf_with_offset(cyg_uint8     *p, 
+                          CYG_ADDRWORD   s, 
+                          cyg_uint8     *base)
 {
-       diag_vdump_buf_with_offset(diag_printf, p, s, base);
+    diag_vdump_buf_with_offset(diag_printf, p, s, base);
 }
 
 void
@@ -672,32 +666,31 @@ diag_dump_buf(void *p, CYG_ADDRWORD s)
 }
 
 void
-diag_dump_buf_with_offset_32bit(cyg_uint32   *p,
-                                                               CYG_ADDRWORD  s,
-                                                               cyg_uint32   *base)
+diag_dump_buf_with_offset_32bit(cyg_uint32   *p, 
+                               CYG_ADDRWORD  s, 
+                               cyg_uint32   *base)
 {
-       int i;
-
-       if ((CYG_ADDRWORD)s > (CYG_ADDRWORD)p) {
-               s = (CYG_ADDRWORD)s - (CYG_ADDRWORD)p;
-       }
-       while ((int)s > 0) {
-               if (base) {
-                       diag_printf("%08X: ", (CYG_ADDRWORD)p - (CYG_ADDRWORD)base);
-               } else {
-                       diag_printf("%08X: ", (CYG_ADDRWORD)p);
-               }
-               for (i = 0;  i < 4;  i++) {
-                       if (i < (int)s / 4) {
-                               diag_printf("%08X ", p[i]);
-                       } else {
-                               diag_printf("         ");
-                       }
-               }
-               diag_printf("\n");
-               s -= 16;
-               p += 4;
-       }
+    int i;
+    if ((CYG_ADDRWORD)s > (CYG_ADDRWORD)p) {
+        s = (CYG_ADDRWORD)s - (CYG_ADDRWORD)p;
+    }
+    while ((int)s > 0) {
+        if (base) {
+            diag_printf("%08X: ", (CYG_ADDRWORD)p - (CYG_ADDRWORD)base);
+        } else {
+            diag_printf("%08X: ", (CYG_ADDRWORD)p);
+        }
+        for (i = 0;  i < 4;  i++) {
+            if (i < (int)s/4) {
+                diag_printf("%08X ", p[i] );
+            } else {
+                diag_printf("         ");
+            }
+        }
+        diag_printf("\n");
+        s -= 16;
+        p += 4;
+    }
 }
 
 externC void
@@ -707,32 +700,32 @@ diag_dump_buf_32bit(void *p, CYG_ADDRWORD s)
 }
 
 void
-diag_dump_buf_with_offset_16bit(cyg_uint16   *p,
-                                                               CYG_ADDRWORD  s,
-                                                               cyg_uint16   *base)
+diag_dump_buf_with_offset_16bit(cyg_uint16   *p, 
+                               CYG_ADDRWORD  s, 
+                               cyg_uint16   *base)
 {
-       int i;
-       if ((CYG_ADDRWORD)s > (CYG_ADDRWORD)p) {
-               s = (CYG_ADDRWORD)s - (CYG_ADDRWORD)p;
-       }
-       while ((int)s > 0) {
-               if (base) {
-                       diag_printf("%08X: ", (CYG_ADDRWORD)p - (CYG_ADDRWORD)base);
-               } else {
-                       diag_printf("%08X: ", (CYG_ADDRWORD)p);
-               }
-               for (i = 0;  i < 8;  i++) {
-                       if (i < (int)s / 2) {
-                               diag_printf("%04X ", p[i]);
-                               if (i == 3) diag_printf(" ");
-                       } else {
-                               diag_printf("     ");
-                       }
-               }
-               diag_printf("\n");
-               s -= 16;
-               p += 8;
-       }
+    int i;
+    if ((CYG_ADDRWORD)s > (CYG_ADDRWORD)p) {
+        s = (CYG_ADDRWORD)s - (CYG_ADDRWORD)p;
+    }
+    while ((int)s > 0) {
+        if (base) {
+            diag_printf("%08X: ", (CYG_ADDRWORD)p - (CYG_ADDRWORD)base);
+        } else {
+            diag_printf("%08X: ", (CYG_ADDRWORD)p);
+        }
+        for (i = 0;  i < 8;  i++) {
+            if (i < (int)s/2) {
+             diag_printf("%04X ", p[i] );
+             if (i == 3) diag_printf(" ");
+            } else {
+             diag_printf("     ");
+            }
+        }
+        diag_printf("\n");
+        s -= 16;
+        p += 8;
+    }
 }
 
 externC void
index 688aba180594fdfb11a473862f0fa59a5d72b8d1..8becb38a10eb1a3839f35f344f66453bebeb54e5 100644 (file)
@@ -74,57 +74,57 @@ externC int flash_get_block_info(int *block_size, int *blocks);
 externC bool flash_code_overlaps(void *start, void *end);
 externC char *flash_errmsg(int err);
 
-#define FLASH_ERR_OK                     0x00  // No error - operation complete
-#define FLASH_ERR_INVALID                0x01  // Invalid FLASH address
-#define FLASH_ERR_ERASE                          0x02  // Error trying to erase
-#define FLASH_ERR_LOCK                   0x03  // Error trying to lock/unlock
-#define FLASH_ERR_PROGRAM                0x04  // Error trying to program
-#define FLASH_ERR_PROTOCOL               0x05  // Generic error
-#define FLASH_ERR_PROTECT                0x06  // Device/region is write-protected
-#define FLASH_ERR_NOT_INIT               0x07  // FLASH info not yet initialized
-#define FLASH_ERR_HWR                    0x08  // Hardware (configuration?) problem
-#define FLASH_ERR_ERASE_SUSPEND          0x09  // Device is in erase suspend mode
-#define FLASH_ERR_PROGRAM_SUSPEND 0x0a // Device is in in program suspend mode
-#define FLASH_ERR_DRV_VERIFY     0x0b  // Driver failed to verify data
-#define FLASH_ERR_DRV_TIMEOUT    0x0c  // Driver timed out waiting for device
-#define FLASH_ERR_DRV_WRONG_PART  0x0d // Driver does not support device
-#define FLASH_ERR_LOW_VOLTAGE    0x0e  // Not enough juice to complete job
+#define FLASH_ERR_OK              0x00  // No error - operation complete
+#define FLASH_ERR_INVALID         0x01  // Invalid FLASH address
+#define FLASH_ERR_ERASE           0x02  // Error trying to erase
+#define FLASH_ERR_LOCK            0x03  // Error trying to lock/unlock
+#define FLASH_ERR_PROGRAM         0x04  // Error trying to program
+#define FLASH_ERR_PROTOCOL        0x05  // Generic error
+#define FLASH_ERR_PROTECT         0x06  // Device/region is write-protected
+#define FLASH_ERR_NOT_INIT        0x07  // FLASH info not yet initialized
+#define FLASH_ERR_HWR             0x08  // Hardware (configuration?) problem
+#define FLASH_ERR_ERASE_SUSPEND   0x09  // Device is in erase suspend mode
+#define FLASH_ERR_PROGRAM_SUSPEND 0x0a  // Device is in in program suspend mode
+#define FLASH_ERR_DRV_VERIFY      0x0b  // Driver failed to verify data
+#define FLASH_ERR_DRV_TIMEOUT     0x0c  // Driver timed out waiting for device
+#define FLASH_ERR_DRV_WRONG_PART  0x0d  // Driver does not support device
+#define FLASH_ERR_LOW_VOLTAGE     0x0e  // Not enough juice to complete job
 
 #ifdef CYGPKG_IO_FLASH_BLOCK_DEVICE
 typedef struct {
-       CYG_ADDRESS offset;
-       int len;
-       int flasherr;
-       void **err_address;
+    CYG_ADDRESS offset;
+    int len;
+    int flasherr;
+    void **err_address;
 } cyg_io_flash_getconfig_erase_t;
 
 typedef struct {
-       int dev_size;
+    int dev_size;
 } cyg_io_flash_getconfig_devsize_t;
 
 typedef struct {
-       CYG_ADDRESS offset;
-       int block_size;
+    CYG_ADDRESS offset;
+    int block_size;
 } cyg_io_flash_getconfig_blocksize_t;
 #endif
 
 #ifdef _FLASH_PRIVATE_
 
 struct flash_info {
-       int   block_size;   // Assuming fixed size "blocks"
-       int   blocks;       // Number of blocks
-       int   buffer_size;  // Size of write buffer (only defined for some devices)
-       unsigned long block_mask;
-       void *start, *end;  // Address range
-       int   init;
-       _printf *pf;
+    int   block_size;   // Assuming fixed size "blocks"
+    int   blocks;       // Number of blocks
+    int   buffer_size;  // Size of write buffer (only defined for some devices)
+    unsigned long block_mask;
+    void *start, *end;  // Address range
+    int   init;
+    _printf *pf;
 };
 
 externC struct flash_info flash_info;
 externC int  flash_hwr_init(void);
 externC int  flash_hwr_map_error(int err);
 
-//
+// 
 // Some FLASH devices may require additional support, e.g. to turn on
 // appropriate voltage drivers, before any operation.
 //
index aee6b861c522a76affdf2ca92f06c1a21eb70088..59725c5083fc252919b6c8ed9b85412ced7b5d5c 100644 (file)
 // Author(s):    gthomas
 // Contributors: gthomas
 // Date:         2000-07-26
-// Purpose:
-// Description:
-//
+// Purpose:      
+// Description:  
+//              
 //####DESCRIPTIONEND####
 //
 //==========================================================================
+
 #include <pkgconf/system.h>
 #include <pkgconf/io_flash.h>
 
@@ -84,17 +85,17 @@ externC code_fun flash_unlock_block;
 int
 flash_init(_printf *pf)
 {
-       int err;
+    int err;
 
-       flash_info.pf = pf; // Do this before calling into the driver
-       if (flash_info.init) return FLASH_ERR_OK;
+    flash_info.pf = pf; // Do this before calling into the driver
+    if (flash_info.init) return FLASH_ERR_OK;
 
-       if ((err = flash_hwr_init()) != FLASH_ERR_OK) {
-               return err;
-       }
-       flash_info.block_mask = ~(flash_info.block_size - 1);
-       flash_info.init = 1;
-       return FLASH_ERR_OK;
+    if ((err = flash_hwr_init()) != FLASH_ERR_OK) {
+        return err;
+    }
+    flash_info.block_mask = ~(flash_info.block_size-1);
+    flash_info.init = 1;
+    return FLASH_ERR_OK;
 }
 
 // Use this function to make function pointers anonymous - forcing the
@@ -111,285 +112,286 @@ static void *__anonymizer(void *p)
 void
 flash_dev_query(void *data)
 {
-       typedef void code_fun(void *);
-       code_fun *_flash_query;
-       int d_cache, i_cache;
+    typedef void code_fun(void *);
+    code_fun *_flash_query;
+    int d_cache, i_cache;
 
-       _flash_query = (code_fun*)__anonymizer(&flash_query);
+    _flash_query = (code_fun*)__anonymizer(&flash_query);
 
-       HAL_FLASH_CACHES_OFF(d_cache, i_cache);
-       (*_flash_query)(data);
-       HAL_FLASH_CACHES_ON(d_cache, i_cache);
+    HAL_FLASH_CACHES_OFF(d_cache, i_cache);
+    (*_flash_query)(data);
+    HAL_FLASH_CACHES_ON(d_cache, i_cache);
 }
 
 int
 flash_verify_addr(void *target)
 {
-       if (!flash_info.init) {
-               return FLASH_ERR_NOT_INIT;
-       }
-       if (((CYG_ADDRESS)target >= (CYG_ADDRESS)flash_info.start) &&
-               ((CYG_ADDRESS)target <= ((CYG_ADDRESS)flash_info.end - 1))) {
-               return FLASH_ERR_OK;
-       } else {
-               return FLASH_ERR_INVALID;
-       }
+    if (!flash_info.init) {
+        return FLASH_ERR_NOT_INIT;
+    }
+    if (((CYG_ADDRESS)target >= (CYG_ADDRESS)flash_info.start) &&
+        ((CYG_ADDRESS)target <= ((CYG_ADDRESS)flash_info.end - 1))) {
+        return FLASH_ERR_OK;
+    } else {
+        return FLASH_ERR_INVALID;
+    }
 }
 
 int
 flash_get_limits(void *target, void **start, void **end)
 {
-       if (!flash_info.init) {
-               return FLASH_ERR_NOT_INIT;
-       }
-       *start = flash_info.start;
-       *end = flash_info.end;
-       return FLASH_ERR_OK;
+    if (!flash_info.init) {
+        return FLASH_ERR_NOT_INIT;
+    }
+    *start = flash_info.start;
+    *end = flash_info.end;
+    return FLASH_ERR_OK;
 }
 
 int
 flash_get_block_info(int *block_size, int *blocks)
 {
-       if (!flash_info.init) {
-               return FLASH_ERR_NOT_INIT;
-       }
-       *block_size = flash_info.block_size;
-       *blocks = flash_info.blocks;
-       return FLASH_ERR_OK;
+    if (!flash_info.init) {
+        return FLASH_ERR_NOT_INIT;
+    }
+    *block_size = flash_info.block_size;
+    *blocks = flash_info.blocks;
+    return FLASH_ERR_OK;
 }
 
 int
 flash_erase(void *addr, int len, void **err_addr)
 {
-       unsigned short *block, *end_addr;
-       int stat = 0;
-       typedef int code_fun(unsigned short *, unsigned int);
-       code_fun *_flash_erase_block;
-       int d_cache, i_cache;
+    unsigned short *block, *end_addr;
+    int stat = 0;
+    typedef int code_fun(unsigned short *, unsigned int);
+    code_fun *_flash_erase_block;
+    int d_cache, i_cache;
 
-       if (!flash_info.init) {
-               return FLASH_ERR_NOT_INIT;
-       }
+    if (!flash_info.init) {
+        return FLASH_ERR_NOT_INIT;
+    }
 
 #ifdef CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT
-       if (plf_flash_query_soft_wp(addr,len))
-               return FLASH_ERR_PROTECT;
+    if (plf_flash_query_soft_wp(addr,len))
+        return FLASH_ERR_PROTECT;
 #endif
 
-       _flash_erase_block = (code_fun*)__anonymizer(&flash_erase_block);
+     _flash_erase_block = (code_fun*)__anonymizer(&flash_erase_block);
 
-       block = (unsigned short *)((CYG_ADDRESS)addr & flash_info.block_mask);
-       end_addr = (unsigned short *)((CYG_ADDRESS)addr + len);
+    block = (unsigned short *)((CYG_ADDRESS)addr & flash_info.block_mask);
+    end_addr = (unsigned short *)((CYG_ADDRESS)addr + len);
 
-       /* Check to see if end_addr overflowed */
-       if ((end_addr < block) && (len > 0)) {
-               end_addr = (unsigned short *)((CYG_ADDRESS)flash_info.end);
-       }
+    /* Check to see if end_addr overflowed */
+    if ((end_addr < block) && (len > 0)) {
+        end_addr = (unsigned short *)((CYG_ADDRESS)flash_info.end - 1);
+    }
 
 #ifdef CYGSEM_IO_FLASH_CHATTER
-       flash_info.pf("... Erase from %p-%p: ", block, end_addr);
+    flash_info.pf("... Erase from %p-%p: ", block, end_addr);
 #endif
 
-       HAL_FLASH_CACHES_OFF(d_cache, i_cache);
-       FLASH_Enable(block, end_addr);
-       while (block < end_addr) {
-               // Supply the blocksize for a gross check for erase success
-               unsigned short *tmp_block;
+    HAL_FLASH_CACHES_OFF(d_cache, i_cache);
+    FLASH_Enable(block, end_addr);
+    while (block < end_addr) {
+        // Supply the blocksize for a gross check for erase success
+        unsigned short *tmp_block;
 #if !defined(CYGSEM_IO_FLASH_READ_INDIRECT)
-               int i;
-               unsigned char *dp;
-               bool erased = true;
-
-               dp = (unsigned char *)block;
-               for (i = 0; i < flash_info.block_size; i++) {
-                       if (*dp++ != 0xFF) {
-                               erased = false;
-                               break;
-                       }
-               }
+        int i;
+        unsigned char *dp;
+        bool erased = true;
+
+        dp = (unsigned char *)block;
+        for (i = 0;  i < flash_info.block_size;  i++) {
+            if (*dp++ != 0xFF) {
+                erased = false;
+                break;
+            }
+        }
 #else
-               bool erased = false;
+        bool erased = false;
 #endif
 
-               if (!erased) {
-                       stat = (*_flash_erase_block)(block, flash_info.block_size);
-                       stat = flash_hwr_map_error(stat);
-               }
-               if (stat) {
-                       *err_addr = block;
-                       break;
-               }
-
-               // Check to see if block will overflow
-               tmp_block = block + flash_info.block_size / sizeof(*block);
-               if (tmp_block < block) {
-                       // If block address overflows, set block value to end on this loop
-                       block = end_addr;
-               } else {
-                       block = tmp_block;
-               }
+        if (!erased) {
+            stat = (*_flash_erase_block)(block, flash_info.block_size);
+            stat = flash_hwr_map_error(stat);
+        }
+        if (stat) {
+            *err_addr = block;
+            break;
+        }
+
+        // Check to see if block will overflow
+        tmp_block = block + flash_info.block_size / sizeof(*block);
+        if (tmp_block < block) {
+            // If block address overflows, set block value to end on this loop
+            block = end_addr;
+        } else {
+            block = tmp_block;
+        }
 #ifdef CYGSEM_IO_FLASH_CHATTER
-               flash_info.pf(".");
+        flash_info.pf(".");
 #endif
-       }
-       FLASH_Disable((void *)((CYG_ADDRESS)addr & flash_info.block_mask),
-                               end_addr);
-       HAL_FLASH_CACHES_ON(d_cache, i_cache);
+    }
+    FLASH_Disable((void *)((CYG_ADDRESS)addr & flash_info.block_mask),
+                                 end_addr);
+    HAL_FLASH_CACHES_ON(d_cache, i_cache);
 #ifdef CYGSEM_IO_FLASH_CHATTER
-       flash_info.pf("\n");
+    flash_info.pf("\n");
 #endif
-       return stat;
+    return stat;
 }
 
 int
 flash_program(void *_addr, void *_data, int len, void **err_addr)
 {
-       int stat = 0;
-       int size;
-       typedef int code_fun(void *, void *, int, unsigned long, int);
-       code_fun *_flash_program_buf;
-       unsigned char *addr = _addr;
-       unsigned char *data = _data;
-       CYG_ADDRESS tmp;
-       int d_cache, i_cache;
-
-       if (!flash_info.init) {
-               return FLASH_ERR_NOT_INIT;
-       }
+    int stat = 0;
+    int size;
+    typedef int code_fun(void *, void *, int, unsigned long, int);
+    code_fun *_flash_program_buf;
+    unsigned char *addr = _addr;
+    unsigned char *data = _data;
+    CYG_ADDRESS tmp;
+    int d_cache, i_cache;
+
+    if (!flash_info.init) {
+        return FLASH_ERR_NOT_INIT;
+    }
 
 #ifdef CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT
-       if (plf_flash_query_soft_wp(addr,len))
-               return FLASH_ERR_PROTECT;
+    if (plf_flash_query_soft_wp(addr,len))
+        return FLASH_ERR_PROTECT;
 #endif
 
-       _flash_program_buf = (code_fun*)__anonymizer(&flash_program_buf);
+    _flash_program_buf = (code_fun*)__anonymizer(&flash_program_buf);
 
 #ifdef CYGSEM_IO_FLASH_CHATTER
-       flash_info.pf("... Program from %p-%p at %p: ", data,
-                               (void *)((CYG_ADDRESS)data + len), addr);
+    flash_info.pf("... Program from %p-%p at %p: ", data, 
+                     (void *)((CYG_ADDRESS)data + len), addr);
 #endif
 
-       HAL_FLASH_CACHES_OFF(d_cache, i_cache);
-       FLASH_Enable(addr, addr + len);
-       while (len > 0) {
-               size = len;
+    HAL_FLASH_CACHES_OFF(d_cache, i_cache);
+    FLASH_Enable(addr, addr + len);
+    while (len > 0) {
+        size = len;
 #if defined(MXCFLASH_SELECT_NAND) || defined(MXCFLASH_SELECT_MMC)
-               if (flash_info.start != 0)
+        if (flash_info.start != 0)
 #endif
-                       if (size > flash_info.block_size) size = flash_info.block_size;
+        if (size > flash_info.block_size) size = flash_info.block_size;
 
-               tmp = (CYG_ADDRESS)addr & ~flash_info.block_mask;
-               if (tmp) {
-                       tmp = flash_info.block_size - tmp;
-                       if (size > tmp) size = tmp;
-               }
+        tmp = (CYG_ADDRESS)addr & ~flash_info.block_mask;
+        if (tmp) {
+                tmp = flash_info.block_size - tmp;
+                if (size > tmp) size = tmp;
+        }
 
-               stat = (*_flash_program_buf)(addr, data, size,
-                                                                       flash_info.block_mask, flash_info.buffer_size);
-               stat = flash_hwr_map_error(stat);
+        stat = (*_flash_program_buf)(addr, data, size, 
+                                     flash_info.block_mask, flash_info.buffer_size);
+        stat = flash_hwr_map_error(stat);
 #ifdef CYGSEM_IO_FLASH_VERIFY_PROGRAM
-               if (0 == stat) // Claims to be OK
-                       if (memcmp(addr, data, size) != 0) {
-                               stat = 0x0BAD;
+        if (0 == stat) // Claims to be OK
+            if (memcmp(addr, data, size) != 0) {                
+                stat = 0x0BAD;
 #ifdef CYGSEM_IO_FLASH_CHATTER
-                               flash_info.pf("V");
+                flash_info.pf("V");
 #endif
-                       }
+            }
 #endif
-               if (stat) {
-                       *err_addr = addr;
-                       break;
-               }
+        if (stat) {
+            *err_addr = addr;
+            break;
+        }
 #ifdef CYGSEM_IO_FLASH_CHATTER
-               flash_info.pf(".");
+        flash_info.pf(".");
 #endif
-               len -= size;
-               addr += size / sizeof(*addr);
-               data += size / sizeof(*data);
-       }
-       FLASH_Disable(_addr, addr + len);
-       HAL_FLASH_CACHES_ON(d_cache, i_cache);
+        len -= size;
+        addr += size / sizeof(*addr);
+        data += size / sizeof(*data);
+    }
+    FLASH_Disable(_addr, addr + len);
+    HAL_FLASH_CACHES_ON(d_cache, i_cache);
 #ifdef CYGSEM_IO_FLASH_CHATTER
-       flash_info.pf("\n");
+    flash_info.pf("\n");
 #endif
-       return stat;
+    return stat;
 }
 
 int
 flash_read(void *_addr, void *_data, int len, void **err_addr)
 {
 #ifdef CYGSEM_IO_FLASH_READ_INDIRECT
-       int stat = 0;
-       int size;
-       typedef int code_fun(void *, void *, int, unsigned long, int);
-       code_fun *_flash_read_buf;
-       unsigned char *addr = _addr;
-       unsigned char *data = _data;
-       CYG_ADDRESS tmp;
-       int d_cache, i_cache;
+    int stat = 0;
+    int size;
+    typedef int code_fun(void *, void *, int, unsigned long, int);
+    code_fun *_flash_read_buf;
+    unsigned char *addr = _addr;
+    unsigned char *data = _data;
+    CYG_ADDRESS tmp;
+    int d_cache, i_cache;
 
-       if (!flash_info.init) {
-               return FLASH_ERR_NOT_INIT;
-       }
+    if (!flash_info.init) {
+        return FLASH_ERR_NOT_INIT;
+    }
 
-       _flash_read_buf = (code_fun*)__anonymizer(&flash_read_buf);
+    _flash_read_buf = (code_fun*)__anonymizer(&flash_read_buf);
 
 #ifdef CYGSEM_IO_FLASH_CHATTER_VERBOSE
-       flash_info.pf("... Read from %p-%p at %p: ", data,
-                               (void *)((CYG_ADDRESS)data + len), addr);
+    flash_info.pf("... Read from %p-%p at %p: ", data, 
+                     (void *)((CYG_ADDRESS)data + len), addr);
 #endif
 
-       HAL_FLASH_CACHES_OFF(d_cache, i_cache);
-       FLASH_Enable(addr, addr + len);
-       while (len > 0) {
-               size = len;
+    HAL_FLASH_CACHES_OFF(d_cache, i_cache);
+    FLASH_Enable(addr, addr + len);
+    while (len > 0) {
+        size = len;
 #if defined(MXCFLASH_SELECT_NAND) || defined(MXCFLASH_SELECT_MMC)
-               if (flash_info.start != 0)
+        if (flash_info.start !=0)
 #endif
-               if (size > flash_info.block_size) size = flash_info.block_size;
+        if (size > flash_info.block_size) size = flash_info.block_size;
 
-               tmp = (CYG_ADDRESS)addr & ~flash_info.block_mask;
-               if (tmp) {
-                       tmp = flash_info.block_size - tmp;
-                       if (size>tmp) size = tmp;
-               }
+        tmp = (CYG_ADDRESS)addr & ~flash_info.block_mask;
+        if (tmp) {
+                tmp = flash_info.block_size - tmp;
+                if (size>tmp) size = tmp;
 
-               stat = (*_flash_read_buf)(addr, data, size,
-                                                               flash_info.block_mask, flash_info.buffer_size);
-               stat = flash_hwr_map_error(stat);
+        }
+
+        stat = (*_flash_read_buf)(addr, data, size, 
+                                     flash_info.block_mask, flash_info.buffer_size);
+        stat = flash_hwr_map_error(stat);
 #ifdef CYGSEM_IO_FLASH_VERIFY_PROGRAM
-               if (0 == stat) // Claims to be OK
-                       if (memcmp(addr, data, size) != 0) {
-                               stat = 0x0BAD;
+        if (0 == stat) // Claims to be OK
+            if (memcmp(addr, data, size) != 0) {                
+                stat = 0x0BAD;
 #ifdef CYGSEM_IO_FLASH_CHATTER_VERBOSE
-                               flash_info.pf("V");
+                flash_info.pf("V");
 #endif
-                       }
+            }
 #endif
-               if (stat) {
-                       *err_addr = addr;
-                       break;
-               }
+        if (stat) {
+            *err_addr = addr;
+            break;
+        }
 #ifdef CYGSEM_IO_FLASH_CHATTER_VERBOSE
-               flash_info.pf(".");
+        flash_info.pf(".");
 #endif
-               len -= size;
-               addr += size / sizeof(*addr);
-               data += size / sizeof(*data);
-       }
-       FLASH_Disable(_addr, addr + len);
-       HAL_FLASH_CACHES_ON(d_cache, i_cache);
+        len -= size;
+        addr += size / sizeof(*addr);
+        data += size / sizeof(*data);
+    }
+    FLASH_Disable(_addr, addr + len);
+    HAL_FLASH_CACHES_ON(d_cache, i_cache);
 #ifdef CYGSEM_IO_FLASH_CHATTER_VERBOSE
-       flash_info.pf("\n");
+    flash_info.pf("\n");
 #endif
-       return stat;
+    return stat;
 #else // CYGSEM_IO_FLASH_READ_INDIRECT
-       // Direct access to FLASH memory is possible - just move the requested bytes
-       if (!flash_info.init) {
-               return FLASH_ERR_NOT_INIT;
-       }
-       memcpy(_data, _addr, len);
-       return FLASH_ERR_OK;
+    // Direct access to FLASH memory is possible - just move the requested bytes
+    if (!flash_info.init) {
+        return FLASH_ERR_NOT_INIT;
+    }
+    memcpy(_data, _addr, len);
+    return FLASH_ERR_OK;
 #endif
 }
 
@@ -398,65 +400,65 @@ flash_read(void *_addr, void *_data, int len, void **err_addr)
 int
 flash_lock(void *addr, int len, void **err_addr)
 {
-       unsigned short *block, *end_addr;
-       int stat = 0;
-       typedef int code_fun(unsigned short *);
-       code_fun *_flash_lock_block;
-       int d_cache, i_cache;
+    unsigned short *block, *end_addr;
+    int stat = 0;
+    typedef int code_fun(unsigned short *);
+    code_fun *_flash_lock_block;
+    int d_cache, i_cache;
 
-       if (!flash_info.init) {
-               return FLASH_ERR_NOT_INIT;
-       }
+    if (!flash_info.init) {
+        return FLASH_ERR_NOT_INIT;
+    }
 
 #ifdef CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT
-       if (plf_flash_query_soft_wp(addr,len))
-               return FLASH_ERR_PROTECT;
+    if (plf_flash_query_soft_wp(addr,len))
+        return FLASH_ERR_PROTECT;
 #endif
 
-       _flash_lock_block = (code_fun*)__anonymizer(&flash_lock_block);
+    _flash_lock_block = (code_fun*)__anonymizer(&flash_lock_block);
 
-       block = (unsigned short *)((CYG_ADDRESS)addr & flash_info.block_mask);
-       end_addr = (unsigned short *)((CYG_ADDRESS)addr + len);
+    block = (unsigned short *)((CYG_ADDRESS)addr & flash_info.block_mask);
+    end_addr = (unsigned short *)((CYG_ADDRESS)addr + len);
 
-       /* Check to see if end_addr overflowed */
-       if ((end_addr < block) && (len > 0)) {
-               end_addr = (unsigned short *)((CYG_ADDRESS)flash_info.end - 1);
-       }
+    /* Check to see if end_addr overflowed */
+    if ((end_addr < block) && (len > 0)) {
+        end_addr = (unsigned short *)((CYG_ADDRESS)flash_info.end - 1);
+    }
 
 #ifdef CYGSEM_IO_FLASH_CHATTER
-       flash_info.pf("... Lock from %p-%p: ", block, end_addr);
+    flash_info.pf("... Lock from %p-%p: ", block, end_addr);
 #endif
 
-       HAL_FLASH_CACHES_OFF(d_cache, i_cache);
-       FLASH_Enable(block, end_addr);
-       while (block < end_addr) {
-               unsigned short *tmp_block;
-               stat = (*_flash_lock_block)(block);
-               stat = flash_hwr_map_error(stat);
-               if (stat) {
-                       *err_addr = block;
-                       break;
-               }
-
-               // Check to see if block will overflow
-               tmp_block = block + flash_info.block_size / sizeof(*block);
-               if (tmp_block < block) {
-                       // If block address overflows, set block value to end on this loop
-                       block = end_addr;
-               } else {
-                       block = tmp_block;
-               }
+    HAL_FLASH_CACHES_OFF(d_cache, i_cache);
+    FLASH_Enable(block, end_addr);
+    while (block < end_addr) {
+        unsigned short *tmp_block;
+        stat = (*_flash_lock_block)(block);
+        stat = flash_hwr_map_error(stat);
+        if (stat) {
+            *err_addr = block;
+            break;
+        }
+
+        // Check to see if block will overflow
+        tmp_block = block + flash_info.block_size / sizeof(*block);
+        if (tmp_block < block) {
+            // If block address overflows, set block value to end on this loop
+            block = end_addr;
+        } else {
+            block = tmp_block;
+        }
 #ifdef CYGSEM_IO_FLASH_CHATTER
-               flash_info.pf(".");
+        flash_info.pf(".");
 #endif
-       }
-       FLASH_Disable((void *)((CYG_ADDRESS)addr & flash_info.block_mask),
-                               end_addr);
-       HAL_FLASH_CACHES_ON(d_cache, i_cache);
+    }
+    FLASH_Disable((void *)((CYG_ADDRESS)addr & flash_info.block_mask),
+                                 end_addr);
+    HAL_FLASH_CACHES_ON(d_cache, i_cache);
 #ifdef CYGSEM_IO_FLASH_CHATTER
-       flash_info.pf("\n");
+    flash_info.pf("\n");
 #endif
-       return stat;
+    return stat;
 }
 
 int
@@ -526,38 +528,38 @@ flash_unlock(void *addr, int len, void **err_addr)
 char *
 flash_errmsg(int err)
 {
-       switch (err) {
-       case FLASH_ERR_OK:
-               return "No error - operation complete";
-       case FLASH_ERR_ERASE_SUSPEND:
-               return "Device is in erase suspend state";
-       case FLASH_ERR_PROGRAM_SUSPEND:
-               return "Device is in program suspend state";
-       case FLASH_ERR_INVALID:
-               return "Invalid FLASH address";
-       case FLASH_ERR_ERASE:
-               return "Error trying to erase";
-       case FLASH_ERR_LOCK:
-               return "Error trying to lock/unlock";
-       case FLASH_ERR_PROGRAM:
-               return "Error trying to program";
-       case FLASH_ERR_PROTOCOL:
-               return "Generic error";
-       case FLASH_ERR_PROTECT:
-               return "Device/region is write-protected";
-       case FLASH_ERR_NOT_INIT:
-               return "FLASH sub-system not initialized";
-       case FLASH_ERR_DRV_VERIFY:
-               return "Data verify failed after operation";
-       case FLASH_ERR_DRV_TIMEOUT:
-               return "Driver timed out waiting for device";
-       case FLASH_ERR_DRV_WRONG_PART:
-               return "Driver does not support device";
-       case FLASH_ERR_LOW_VOLTAGE:
-               return "Device reports low voltage";
-       default:
-               return "Unknown error";
-       }
+    switch (err) {
+    case FLASH_ERR_OK:
+        return "No error - operation complete";
+    case FLASH_ERR_ERASE_SUSPEND:
+        return "Device is in erase suspend state";
+    case FLASH_ERR_PROGRAM_SUSPEND:
+        return "Device is in program suspend state";
+    case FLASH_ERR_INVALID:
+        return "Invalid FLASH address";
+    case FLASH_ERR_ERASE:
+        return "Error trying to erase";
+    case FLASH_ERR_LOCK:
+        return "Error trying to lock/unlock";
+    case FLASH_ERR_PROGRAM:
+        return "Error trying to program";
+    case FLASH_ERR_PROTOCOL:
+        return "Generic error";
+    case FLASH_ERR_PROTECT:
+        return "Device/region is write-protected";
+    case FLASH_ERR_NOT_INIT:
+        return "FLASH sub-system not initialized";
+    case FLASH_ERR_DRV_VERIFY:
+        return "Data verify failed after operation";
+    case FLASH_ERR_DRV_TIMEOUT:
+        return "Driver timed out waiting for device";
+    case FLASH_ERR_DRV_WRONG_PART:
+        return "Driver does not support device";
+    case FLASH_ERR_LOW_VOLTAGE:
+        return "Device reports low voltage";
+    default:
+        return "Unknown error";
+    }
 }
 
 // EOF io/flash/..../flash.c
index c7488a500c07c9fc0d55dca16622560a272a4e2b..775710d40a8589c9e56baa45be39c92fe53828a5 100644 (file)
@@ -44,9 +44,9 @@
 // Author(s):    gthomas
 // Contributors: gthomas,hmt,jlarmour
 // Date:         2000-07-14
-// Purpose:
-// Description:
-//
+// Purpose:      
+// Description:  
+//              
 // This code is part of RedBoot (tm).
 //
 //####DESCRIPTIONEND####
@@ -64,100 +64,100 @@ static void
 do_channel(int argc, char *argv[]);
 
 #ifdef CYGPKG_REDBOOT_ANY_CONSOLE
-RedBoot_cmd("channel",
-                       "Display/switch console channel",
-                       "[-1|<channel number>]",
-                       do_channel
-       );
+RedBoot_cmd("channel", 
+            "Display/switch console channel", 
+            "[-1|<channel number>]",
+            do_channel
+    );
 #else
-RedBoot_cmd("channel",
-                       "Display/switch console channel",
-                       "[<channel number>]",
-                       do_channel
-       );
+RedBoot_cmd("channel", 
+            "Display/switch console channel", 
+            "[<channel number>]",
+            do_channel
+    );
 #endif
 
 static void
 do_channel(int argc, char *argv[])
 {
-       int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
+    int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
 
-       if (argc == 2) {
+    if (argc == 2) { 
 #ifdef CYGPKG_REDBOOT_ANY_CONSOLE
-               if (strcmp( argv[1], "-1") == 0) {
-                       console_selected = false;
-                       console_echo = true;
-               } else
+        if (strcmp( argv[1], "-1") == 0) {
+            console_selected = false;
+            console_echo = true;
+        } else 
 #endif
-               {
-                       unsigned long chan;
-                       if ( !parse_num( argv[1], &chan, NULL, NULL) ) {
-                               diag_printf("** Error: invalid channel '%s'\n", argv[1]);
-                       } else {
-                               if (chan < CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS) {
-                                       CYGACC_CALL_IF_SET_CONSOLE_COMM(chan);
-                                       CYGACC_CALL_IF_SET_DEBUG_COMM(chan);
-                                       if (chan != cur)
-                                               console_echo = true;
-                               }
-                               else {
-                                       diag_printf("**Error: bad channel number '%s'\n", argv[1]);
-                               }
-                       }
-               }
-       }
-       /* else display */
-       else {
-               diag_printf("Current console channel id: ");
+        {
+            unsigned long chan;
+            if ( !parse_num( argv[1], &chan, NULL, NULL) ) {
+                diag_printf("** Error: invalid channel '%s'\n", argv[1]);
+            } else {
+                if (chan < CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS) {
+                    CYGACC_CALL_IF_SET_CONSOLE_COMM(chan);
+                    CYGACC_CALL_IF_SET_DEBUG_COMM(chan);
+                    if (chan != cur)
+                        console_echo = true;
+                }
+                else {
+                    diag_printf("**Error: bad channel number '%s'\n", argv[1]);
+                }
+            }
+        }
+    }
+    /* else display */ 
+    else {
+        diag_printf("Current console channel id: ");
 #ifdef CYGPKG_REDBOOT_ANY_CONSOLE
-               if (!console_selected)
-                       diag_printf("-1\n");
-               else
+        if (!console_selected)
+            diag_printf("-1\n");
+        else
 #endif
-                       diag_printf("%d\n", cur);
-       }
+            diag_printf("%d\n", cur);
+    }
 }
 
-void
+void 
 mon_write_char(char c)
 {
-       hal_virtual_comm_table_t *__chan;
+    hal_virtual_comm_table_t *__chan;
 
 #ifdef CYGPKG_REDBOOT_ANY_CONSOLE
-       if (!console_selected) {
-               int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
-               int i;
-               // Send output to all channels
-               for (i = 0;  i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS;  i++) {
-                       CYGACC_CALL_IF_SET_CONSOLE_COMM(i);
-                       __chan = CYGACC_CALL_IF_CONSOLE_PROCS();
-                       CYGACC_COMM_IF_PUTC(*__chan, c);
-               }
-               CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);
-       } else
+    if (!console_selected) {
+        int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
+        int i;
+        // Send output to all channels
+        for (i = 0;  i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS;  i++) {
+            CYGACC_CALL_IF_SET_CONSOLE_COMM(i);
+            __chan = CYGACC_CALL_IF_CONSOLE_PROCS();
+            CYGACC_COMM_IF_PUTC(*__chan, c);
+        }
+        CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);
+    } else 
 #endif
-       {
-               __chan = CYGACC_CALL_IF_CONSOLE_PROCS();
-               if (__chan)
-                       CYGACC_COMM_IF_PUTC(*__chan, c);
-               else {
-                       __chan = CYGACC_CALL_IF_DEBUG_PROCS();
-                       CYGACC_COMM_IF_PUTC(*__chan, c);
-               }
-       }
+    {
+        __chan = CYGACC_CALL_IF_CONSOLE_PROCS();
+        if (__chan)
+            CYGACC_COMM_IF_PUTC(*__chan, c);
+        else {
+            __chan = CYGACC_CALL_IF_DEBUG_PROCS();
+            CYGACC_COMM_IF_PUTC(*__chan, c);
+        }
+    }
 }
 
-static void
+static void 
 mon_read_char(char *c)
 {
-       hal_virtual_comm_table_t *__chan = CYGACC_CALL_IF_CONSOLE_PROCS();
-
-       if (__chan)
-               *c = CYGACC_COMM_IF_GETC(*__chan);
-       else {
-               __chan = CYGACC_CALL_IF_DEBUG_PROCS();
-               *c = CYGACC_COMM_IF_GETC(*__chan);
-       }
+    hal_virtual_comm_table_t* __chan = CYGACC_CALL_IF_CONSOLE_PROCS();
+    
+    if (__chan)
+        *c = CYGACC_COMM_IF_GETC(*__chan);
+    else {
+        __chan = CYGACC_CALL_IF_DEBUG_PROCS();
+        *c = CYGACC_COMM_IF_GETC(*__chan);
+    }
 }
 
 #ifdef CYGPKG_REDBOOT_ANY_CONSOLE
@@ -167,84 +167,84 @@ static int _mon_timeout;
 bool
 mon_read_char_with_timeout(char *c)
 {
-       bool res = false;
-       hal_virtual_comm_table_t *__chan;
+    bool res = false;
+    hal_virtual_comm_table_t *__chan;
 
 #ifdef CYGPKG_REDBOOT_ANY_CONSOLE
-       if (!console_selected) {
-               int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
-               int i, j, tot;
-               // Try input from all channels
-               tot = 0;
-               while (tot < _mon_timeout) {
-                       for (i = 0;  i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS;  i++, tot++) {
-                               CYGACC_CALL_IF_SET_CONSOLE_COMM(i);
-                               __chan = CYGACC_CALL_IF_CONSOLE_PROCS();
-                               res = CYGACC_COMM_IF_GETC_TIMEOUT(*__chan, c);
-                               if (res) {
-                                       // Input available on this channel, make it be the console
-                                       if (*c != '\0') {
-                                               // Don't chose this unless real data have arrived
-                                               console_selected = true;
-                                               CYGACC_CALL_IF_SET_DEBUG_COMM(i);
-                                               // Disable interrupts on all channels but this one
-                                               for (j = 0;  j < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS;  j++) {
-                                                       if (i != j) {
-                                                               CYGACC_CALL_IF_SET_CONSOLE_COMM(j);
-                                                               __chan = CYGACC_CALL_IF_CONSOLE_PROCS();
-                                                               CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_IRQ_DISABLE);
-                                                       }
-                                               }
-                                               CYGACC_CALL_IF_SET_CONSOLE_COMM(i);
-                                               return res;
-                                       }
-                               }
-                       }
-               }
-               CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);
-       } else
+    if (!console_selected) {
+        int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
+        int i, j, tot;
+        // Try input from all channels
+        tot = 0;
+        while (tot < _mon_timeout) {
+            for (i = 0;  i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS;  i++, tot++) {
+                CYGACC_CALL_IF_SET_CONSOLE_COMM(i);
+                __chan = CYGACC_CALL_IF_CONSOLE_PROCS();
+                res = CYGACC_COMM_IF_GETC_TIMEOUT(*__chan, c);
+                if (res) {
+                    // Input available on this channel, make it be the console
+                    if (*c != '\0') {
+                        // Don't chose this unless real data have arrived
+                        console_selected = true;
+                        CYGACC_CALL_IF_SET_DEBUG_COMM(i);
+                        // Disable interrupts on all channels but this one
+                        for (j = 0;  j < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS;  j++) {
+                            if (i != j) {
+                                CYGACC_CALL_IF_SET_CONSOLE_COMM(j);
+                                __chan = CYGACC_CALL_IF_CONSOLE_PROCS();
+                                CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_IRQ_DISABLE);
+                            }
+                        }
+                        CYGACC_CALL_IF_SET_CONSOLE_COMM(i);
+                        return res;
+                    }
+                }
+            }
+        }
+        CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);        
+    } else 
 #endif
-       {
-               __chan = CYGACC_CALL_IF_CONSOLE_PROCS();
-               if (__chan)
-                       res = CYGACC_COMM_IF_GETC_TIMEOUT(*__chan, c);
-               else {
-                       __chan = CYGACC_CALL_IF_DEBUG_PROCS();
-                       res = CYGACC_COMM_IF_GETC_TIMEOUT(*__chan, c);
-               }
-       }
-       return res;
+    {
+        __chan = CYGACC_CALL_IF_CONSOLE_PROCS();
+        if (__chan)
+            res = CYGACC_COMM_IF_GETC_TIMEOUT(*__chan, c);
+        else {
+            __chan = CYGACC_CALL_IF_DEBUG_PROCS();
+            res = CYGACC_COMM_IF_GETC_TIMEOUT(*__chan, c);
+        }
+    }
+    return res;
 }
 
 void
 mon_set_read_char_timeout(int ms)
 {
-       hal_virtual_comm_table_t *__chan;
+    hal_virtual_comm_table_t *__chan;
 
 #ifdef CYGPKG_REDBOOT_ANY_CONSOLE
-       if (!console_selected) {
-               int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
-               int i;
-               // Set timeout to minimum on each channel; total amounts to desired value
-               _mon_timeout = ms;
-               ms = 1;
-               for (i = 0;  i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS;  i++) {
-                       CYGACC_CALL_IF_SET_CONSOLE_COMM(i);
-                       if ((__chan = CYGACC_CALL_IF_CONSOLE_PROCS()) != 0) {
-                               CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_SET_TIMEOUT, ms);
-                       }
-               }
-               CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);
-       } else
+    if (!console_selected) {
+        int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
+        int i;
+        // Set timeout to minimum on each channel; total amounts to desired value
+        _mon_timeout = ms;
+        ms = 1;
+        for (i = 0;  i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS;  i++) {
+            CYGACC_CALL_IF_SET_CONSOLE_COMM(i);
+            if ((__chan = CYGACC_CALL_IF_CONSOLE_PROCS()) != 0) {
+                CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_SET_TIMEOUT, ms);
+            }
+        }
+        CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);        
+    } else 
 #endif
-       {
-               if ((__chan = CYGACC_CALL_IF_CONSOLE_PROCS()) != 0) {
-                       CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_SET_TIMEOUT, ms);
-               }
-               if ((__chan = CYGACC_CALL_IF_DEBUG_PROCS()) != 0) {
-                       CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_SET_TIMEOUT, ms);
-               }
-       }
+    {
+        if ((__chan = CYGACC_CALL_IF_CONSOLE_PROCS()) != 0) {
+            CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_SET_TIMEOUT, ms);
+        }
+        if ((__chan = CYGACC_CALL_IF_DEBUG_PROCS()) != 0) {
+            CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_SET_TIMEOUT, ms);
+        }
+    }
 }
 
 //
@@ -253,14 +253,14 @@ mon_set_read_char_timeout(int ms)
 bool
 _rb_break(int timeout)
 {
-       char c;
-       mon_set_read_char_timeout(timeout);
-       if (mon_read_char_with_timeout(&c)) {
-               if (c == 0x03) {  // Test for ^C
-                       return true;
-               }
-       }
-       return false;
+    char c;
+    mon_set_read_char_timeout(timeout);
+    if (mon_read_char_with_timeout(&c)) {
+        if (c == 0x03) {  // Test for ^C
+            return true;
+        }
+    }
+    return false;
 }
 
 #ifdef CYGFUN_REDBOOT_BOOT_SCRIPT
@@ -275,40 +275,40 @@ _rb_break(int timeout)
 static int
 getc_script(char *cp)
 {
-       static bool newline = true;
-       bool skip;
-
-       while (script && *script) {
-               if (newline && *script == '{') {
-                       skip = false;
-                       ++script;
-
-                       // skip if it isn't for this startup type
-                       if (strncmp(script, _STARTUP_STR, strlen(_STARTUP_STR)))
-                               skip = true;
-
-                       // skip past "{...}"
-                       while (*script && *script++ != '}')
-                               ;
-
-                       // skip script line if neccessary
-                       if (skip) {
-                               while (*script && *script++ != '\n')
-                                       ;
-                       } else
-                               newline = false;
-
-               } else {
-                       *cp = *script++;
-                       if (*cp == '\n') {
-                               newline = true;
-                       } else {
-                               newline = false;
-                       }
-                       return true;
-               }
+    static bool newline = true;
+    bool skip;
+
+    while (script && *script) {
+       if (newline && *script == '{') {
+           skip = false;
+           ++script;
+
+           // skip if it isn't for this startup type
+           if (strncmp(script, _STARTUP_STR, strlen(_STARTUP_STR)))
+               skip = true;
+
+           // skip past "{...}"
+           while (*script && *script++ != '}')
+               ;
+
+           // skip script line if neccessary
+           if (skip) {
+               while (*script && *script++ != '\n')
+                   ;
+           } else
+               newline = false;
+
+       } else {
+           *cp = *script++;
+           if (*cp == '\n') {
+              newline = true;
+            } else {
+              newline = false;
+            }
+           return true;
        }
-       return false;
+    }
+    return false;
 }
 #endif
 
@@ -351,422 +351,422 @@ static void expand_history(char *);
 int
 _rb_gets_preloaded(char *buf, int buflen, int timeout)
 {
-       char *ip = buf;   // Insertion point
-       char *eol = buf;  // End of line
-       char c;
-       bool res = false;
-       static char last_ch = '\0';
-       int _timeout;
+    char *ip = buf;   // Insertion point
+    char *eol = buf;  // End of line
+    char c;
+    bool res = false;
+    static char last_ch = '\0';
+    int _timeout;
 #if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
-       int   _index = _cl_index;  // Last saved line
-       char *xp;
+    int   _index = _cl_index;  // Last saved line
+    char *xp;
 #ifdef CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES
-       int   ansi_state = 0;      // Used to drive ANSI parser
-       char  ansi_char = '\0';
+    int   ansi_state = 0;      // Used to drive ANSI parser
+    char  ansi_char = '\0';
 #endif
 #endif
 
-       // Display current buffer data
-       while (*eol) {
-               mon_write_char(*eol++);
-       }
-       ip = eol;
+    // Display current buffer data
+    while (*eol) {
+        mon_write_char(*eol++);
+    }
+    ip = eol;
 
-       while (true) {
+    while (true) {
 #ifdef CYGFUN_REDBOOT_BOOT_SCRIPT
-               if (getc_script(&c))
-                       do_idle(false);
-               else
+        if (getc_script(&c))
+            do_idle(false);
+        else
 #endif
-                       if ((timeout > 0) && (eol == buf)) {
+        if ((timeout > 0) && (eol == buf)) {
 #define MIN_TIMEOUT 50
-                               _timeout = timeout > MIN_TIMEOUT ? MIN_TIMEOUT : timeout;
-                               mon_set_read_char_timeout(_timeout);
-                               while (timeout > 0) {
-                                       res = mon_read_char_with_timeout(&c);
-                                       if (res) {
-                                               // Got a character
-                                               do_idle(false);
-                                               break;
-                                       }
-                                       timeout -= _timeout;
-                               }
-                               if (res == false) {
-                                       do_idle(true);
-                                       return _GETS_TIMEOUT;  // Input timed out
-                               }
-                       } else {
-                               mon_read_char(&c);
-                       }
-               *eol = '\0';
+            _timeout = timeout > MIN_TIMEOUT ? MIN_TIMEOUT : timeout;
+            mon_set_read_char_timeout(_timeout);
+            while (timeout > 0) {
+                res = mon_read_char_with_timeout(&c);
+                if (res) {
+                    // Got a character
+                    do_idle(false);
+                    break;
+                }
+                timeout -= _timeout;
+            }
+            if (res == false) {
+                do_idle(true);
+                return _GETS_TIMEOUT;  // Input timed out
+            }
+        } else {
+            mon_read_char(&c);
+        }
+        *eol = '\0';
 #define CTRL(c) ((c)&0x1F)
 #ifdef CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES
-               // Special handling of ANSI keyboard sequences (arrows, etc)
-               if (c == 0x1B) {
-                       // Leadin for ANSI keyboard sequence
-                       ansi_state = 1;
-                       continue;
-               }
-               switch (ansi_state) {
-               case 0:
-                       // No ANSI sequence in progress
-                       break;
-               case 1:
-                       // ESC seen, look for '['
-                       if (c == '[') {
-                               ansi_state = 2;
-                       } else if (c == 'O') {
-                               ansi_state = 4;
-                       } else {
-                               // Handle bad sequences?
-                               ansi_state = 0;
-                       }
-                       continue;
-               case 2:
-                       // ESC+[ seen, process key
-                       ansi_state = 0;
-                       switch (c) {
-                       case 'A':
-                               c = CTRL('P');
-                               break;
-                       case 'B':
-                               c = CTRL('N');
-                               break;
-                       case 'C':
-                               c = CTRL('F');
-                               break;
-                       case 'D':
-                               c = CTRL('B');
-                               break;
-                       case 'F':
-                               c = CTRL('E');
-                               break;
-                       case 'H':
-                               c = CTRL('A');
-                               break;
-                       case '1':
-                               ansi_char = CTRL('A');
-                               ansi_state = 3;
-                               continue;
-                       case '3':
-                               ansi_char = CTRL('D');
-                               ansi_state = 3;
-                               continue;
-                       default:
-                               // Handle bad sequences?
-                               continue;
-                       }
-                       break;
-               case 3:
-                       // Sequences like ^[[1~ == ^H
-                       ansi_state = 0;
-                       if (c == '~') {
-                               c = ansi_char;
-                       } else {
-                               // Handle bad sequences?
-                               continue;
-                       }
-                       break;
-               case 4:
-                       // Sequences like ^[OF == ^E
-                       ansi_state = 0;
-                       if (c == 'F') {
-                               c = CTRL('E');
-                       } else {
-                               // Handle bad sequences?
-                               continue;
-                       }
-                       break;
-               }
+        // Special handling of ANSI keyboard sequences (arrows, etc)
+        if (c == 0x1B) {
+            // Leadin for ANSI keyboard sequence
+            ansi_state = 1;
+            continue;
+        }
+        switch (ansi_state) {
+        case 0:
+            // No ANSI sequence in progress
+            break;
+        case 1:
+            // ESC seen, look for '['
+            if (c == '[') {
+                ansi_state = 2;
+            } else if (c == 'O') {
+                ansi_state = 4;
+            } else {
+                // Handle bad sequences?
+                ansi_state = 0;
+            }
+            continue;
+        case 2:
+            // ESC+[ seen, process key
+            ansi_state = 0;
+            switch (c) {
+            case 'A':
+                c = CTRL('P');
+                break;
+            case 'B':
+                c = CTRL('N');
+                break;
+            case 'C':
+                c = CTRL('F');
+                break;
+            case 'D':
+                c = CTRL('B');
+                break;
+            case 'F':
+                c = CTRL('E');
+                break;
+            case 'H':
+                c = CTRL('A');
+                break;
+            case '1':
+                ansi_char = CTRL('A');
+                ansi_state = 3;
+                continue;
+            case '3':
+                ansi_char = CTRL('D');
+                ansi_state = 3;
+                continue;
+            default:
+                // Handle bad sequences?
+                continue;
+            }
+            break;
+        case 3:
+            // Sequences like ^[[1~ == ^H
+            ansi_state = 0;
+            if (c == '~') {
+                c = ansi_char;
+            } else {
+                // Handle bad sequences?
+                continue;
+            }
+            break;
+        case 4:
+            // Sequences like ^[OF == ^E
+            ansi_state = 0;
+            if (c == 'F') {
+                c = CTRL('E');
+            } else {
+                // Handle bad sequences?
+                continue;
+            }
+            break;
+        }
 #endif
-               switch (c) {
+        switch (c) {
 #if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
-               case CTRL('P'):
-                       // Fetch the previous line into the buffer
-                       if (_index >= 0) {
-                               // Erase the previous line [crude]
-                               while (ip != buf) {
-                                       mon_write_char('\b');
-                                       mon_write_char(' ');
-                                       mon_write_char('\b');
-                                       ip--;
-                               }
-                               strcpy(buf, _cl_lines[_index]);
-                               while (*ip) {
-                                       mon_write_char(*ip++);
-                               }
-                               eol = ip;
-                               // Move to previous line
-                               _index--;
-                               if (_index < 0) {
-                                       _index = _cl_max_index;
-                               }
-                       } else {
-                               mon_write_char(0x07);  // Audible bell on most devices
-                       }
-                       break;
-               case CTRL('N'):
-                       // Fetch the next line into the buffer
-                       if (_index >= 0) {
-                               if (++_index > _cl_max_index) _index = 0;
-                               // Erase the previous line [crude]
-                               while (ip != buf) {
-                                       mon_write_char('\b');
-                                       mon_write_char(' ');
-                                       mon_write_char('\b');
-                                       ip--;
-                               }
-                               strcpy(buf, _cl_lines[_index]);
-                               while (*ip) {
-                                       mon_write_char(*ip++);
-                               }
-                               eol = ip;
-                       } else {
-                               mon_write_char(0x07);  // Audible bell on most devices
-                       }
-                       break;
-               case CTRL('B'):
-                       // Move insertion point backwards
-                       if (ip != buf) {
-                               mon_write_char('\b');
-                               ip--;
-                       }
-                       break;
-               case CTRL('F'):
-                       // Move insertion point forwards
-                       if (ip != eol) {
-                               mon_write_char(*ip++);
-                       }
-                       break;
-               case CTRL('E'):
-                       // Move insertion point to end of line
-                       while (ip != eol) {
-                               mon_write_char(*ip++);
-                       }
-                       break;
-               case CTRL('A'):
-                       // Move insertion point to beginning of line
-                       if (ip != buf) {
-                               xp = ip;
-                               while (xp-- != buf) {
-                                       mon_write_char('\b');
-                               }
-                       }
-                       ip = buf;
-                       break;
-               case CTRL('K'):
-                       // Kill to the end of line
-                       if (ip != eol) {
-                               xp = ip;
-                               while (xp++ != eol) {
-                                       mon_write_char(' ');
-                               }
-                               while (--xp != ip) {
-                                       mon_write_char('\b');
-                               }
-                               eol = ip;
-                       }
-                       break;
-               case CTRL('D'):
-                       // Erase the character under the cursor
-                       if (ip != eol) {
-                               xp = ip;
-                               eol--;
-                               while (xp != eol) {
-                                       *xp = *(xp+1);
-                                       mon_write_char(*xp++);
-                               }
-                               mon_write_char(' ');  // Erases last character
-                               mon_write_char('\b');
-                               while (xp-- != ip) {
-                                       mon_write_char('\b');
-                               }
-                       }
-                       break;
+        case CTRL('P'):
+            // Fetch the previous line into the buffer
+            if (_index >= 0) {
+                // Erase the previous line [crude]
+                while (ip != buf) {
+                    mon_write_char('\b');
+                    mon_write_char(' ');
+                    mon_write_char('\b');
+                    ip--;
+                }
+                strcpy(buf, _cl_lines[_index]);
+                while (*ip) {
+                    mon_write_char(*ip++);
+                }
+                eol = ip;
+                // Move to previous line
+                _index--;
+                if (_index < 0) {
+                    _index = _cl_max_index;
+                }
+            } else {
+                mon_write_char(0x07);  // Audible bell on most devices
+            }
+            break;
+        case CTRL('N'):
+            // Fetch the next line into the buffer
+            if (_index >= 0) {
+                if (++_index > _cl_max_index) _index = 0;
+                // Erase the previous line [crude]
+                while (ip != buf) {
+                    mon_write_char('\b');
+                    mon_write_char(' ');
+                    mon_write_char('\b');
+                    ip--;
+                }
+                strcpy(buf, _cl_lines[_index]);
+                while (*ip) {
+                    mon_write_char(*ip++);
+                }
+                eol = ip;
+            } else {
+                mon_write_char(0x07);  // Audible bell on most devices
+            }
+            break;
+        case CTRL('B'): 
+            // Move insertion point backwards
+            if (ip != buf) {
+                mon_write_char('\b');
+                ip--;
+            }
+            break;
+        case CTRL('F'):
+            // Move insertion point forwards
+            if (ip != eol) {
+                mon_write_char(*ip++);
+            }
+            break;
+        case CTRL('E'):
+            // Move insertion point to end of line
+            while (ip != eol) {
+                mon_write_char(*ip++);
+            }
+            break;
+        case CTRL('A'):
+            // Move insertion point to beginning of line
+            if (ip != buf) {
+                xp = ip;
+                while (xp-- != buf) {
+                    mon_write_char('\b');
+                }
+            }
+            ip = buf;
+            break;
+        case CTRL('K'):
+            // Kill to the end of line
+            if (ip != eol) {
+                xp = ip;
+                while (xp++ != eol) {
+                    mon_write_char(' ');
+                }
+                while (--xp != ip) {
+                    mon_write_char('\b');
+                }
+                eol = ip;
+            }
+            break;
+        case CTRL('D'):
+            // Erase the character under the cursor
+            if (ip != eol) {
+                xp = ip;
+                eol--;
+                while (xp != eol) {
+                    *xp = *(xp+1);
+                    mon_write_char(*xp++);
+                }
+                mon_write_char(' ');  // Erases last character
+                mon_write_char('\b');
+                while (xp-- != ip) {
+                    mon_write_char('\b');
+                }
+            }
+            break;
 #endif // CYGNUM_REDBOOT_CMD_LINE_EDITING
-               case CTRL('C'): // ^C
-                       // Abort current input
-                       diag_printf("^C\n");
-                       *buf = '\0';  // Nothing useful in buffer
-                       return _GETS_CTRLC;
-               case '\n':
-               case '\r':
-                       // If previous character was the "other" end-of-line, ignore this one
-                       if (((c == '\n') && (last_ch == '\r')) ||
-                               ((c == '\r') && (last_ch == '\n'))) {
-                               c = '\0';
-                               break;
-                       }
-                       // End of line
-                       if (console_echo) {
-                               mon_write_char('\r');
-                               mon_write_char('\n');
-                       }
-                       last_ch = c;
+        case CTRL('C'): // ^C
+            // Abort current input
+            diag_printf("^C\n");
+            *buf = '\0';  // Nothing useful in buffer
+            return _GETS_CTRLC;
+        case '\n':
+        case '\r':
+            // If previous character was the "other" end-of-line, ignore this one
+            if (((c == '\n') && (last_ch == '\r')) ||
+                ((c == '\r') && (last_ch == '\n'))) {
+                c = '\0';
+                break;
+            }
+            // End of line
+           if (console_echo) {
+                mon_write_char('\r');
+                mon_write_char('\n');
+           }
+            last_ch = c;
 #if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
-                       if (cmd_history) {
-                               // History handling - only when enabled
+            if (cmd_history) {
+                // History handling - only when enabled
 #ifdef CYGBLD_REDBOOT_CMD_LINE_HISTORY
-                               expand_history(buf);
+               expand_history(buf);
 #endif
-                               if (*buf != '\0') {
-                                       if (++_cl_index == _CL_NUM_LINES) _cl_index = 0;
-                                       if (_cl_index > _cl_max_index) _cl_max_index = _cl_index;
-                                       strcpy(_cl_lines[_cl_index], buf);
-                               }
-                       }
+               if (*buf != '\0') {
+                   if (++_cl_index == _CL_NUM_LINES) _cl_index = 0;
+                   if (_cl_index > _cl_max_index) _cl_max_index = _cl_index;
+                   strcpy(_cl_lines[_cl_index], buf);
+               }
+            }
 #endif
-                       return _GETS_OK;
-               case '\b':
-               case 0x7F:  // DEL
-                       if (ip != buf) {
+            return _GETS_OK;
+        case '\b':
+        case 0x7F:  // DEL
+            if (ip != buf) {
 #if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
-                               if (ip != eol) {
-                                       ip--;
-                                       mon_write_char('\b');
-                                       xp = ip;
-                                       while (xp != (eol-1)) {
-                                               *xp = *(xp+1);
-                                               mon_write_char(*xp++);
-                                       }
-                                       mon_write_char(' ');  // Erases last character
-                                       mon_write_char('\b');
-                                       while (xp-- != ip) {
-                                               mon_write_char('\b');
-                                       }
-                               } else {
-                                       if (console_echo) {
-                                               mon_write_char('\b');
-                                               mon_write_char(' ');
-                                               mon_write_char('\b');
-                                       }
-                                       ip--;
-                               }
-                               eol--;
+                if (ip != eol) {
+                    ip--;
+                    mon_write_char('\b');
+                    xp = ip;
+                    while (xp != (eol-1)) {
+                        *xp = *(xp+1);
+                        mon_write_char(*xp++);
+                    }
+                    mon_write_char(' ');  // Erases last character
+                    mon_write_char('\b');
+                    while (xp-- != ip) {
+                        mon_write_char('\b');
+                    }
+                } else {
+                    if (console_echo) {
+                        mon_write_char('\b');
+                        mon_write_char(' ');
+                        mon_write_char('\b');
+                    }
+                    ip--;
+                }
+                eol--;
 #else
-                               if (console_echo) {
-                                       mon_write_char('\b');
-                                       mon_write_char(' ');
-                                       mon_write_char('\b');
-                               }
-                               ip--;
-                               eol--;
+                if (console_echo) {
+                    mon_write_char('\b');
+                    mon_write_char(' ');
+                    mon_write_char('\b');
+                }
+                ip--;
+                eol--;
 #endif
-                       }
-                       break;
+            }
+            break;
 #ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-               case '+': // fall through
-               case '$':
-                       if (ip == buf || last_ch != '\\')
-                       {
-                               // Give up and try GDB protocol
-                               ungetDebugChar(c);  // Push back character so stubs will see it
-                               return _GETS_GDB;
-                       }
-                       if (last_ch == '\\') {
+        case '+': // fall through
+        case '$':
+            if (ip == buf || last_ch != '\\')
+            {
+                // Give up and try GDB protocol
+                ungetDebugChar(c);  // Push back character so stubs will see it
+                return _GETS_GDB;
+            }
+            if (last_ch == '\\') {
 #if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
-                               if (ip == eol) {
-                                       // Just save \$ as $
-                                       eol = --ip;
-                               } else {
-                                       mon_write_char('\b');
-                                       *--ip = c;
-                                       mon_write_char(c);
-                                       break;
-                               }
+                if (ip == eol) {
+                    // Just save \$ as $
+                    eol = --ip;
+                } else {
+                    mon_write_char('\b');
+                    *--ip = c;
+                    mon_write_char(c);
+                    break;
+                }
 #else
-                               ip--;  // Save \$ as $
+                ip--;  // Save \$ as $
 #endif
-                       }
-                       // else fall through
+            }
+            // else fall through
 #endif
-               default:
+        default:
 #if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
-                       // If the insertion point is not at the end of line, make space for it
-                       if (ip != eol) {
-                               xp = eol;
-                               *++eol = '\0';
-                               while (xp != ip) {
-                                       *xp = *(xp-1);
-                                       xp--;
-                               }
-                       }
+            // If the insertion point is not at the end of line, make space for it
+            if (ip != eol) {
+                xp = eol;
+                *++eol = '\0';
+                while (xp != ip) {
+                    *xp = *(xp-1);
+                    xp--;
+                }
+            }
 #endif
-                       if (console_echo) {
-                               mon_write_char(c);
-                       }
-                       if (ip == eol) {
-                               // Advance both pointers
-                               *ip++ = c;
-                               eol = ip;
+            if (console_echo) {
+                mon_write_char(c);
+            }
+            if (ip == eol) {
+                // Advance both pointers
+                *ip++ = c;
+                eol = ip;
 #if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
-                       } else {
-                               // Just insert the character
-                               *ip++ = c;
-                               xp = ip;
-                               while (xp != eol) {
-                                       mon_write_char(*xp++);
-                               }
-                               while (xp-- != ip) {
-                                       mon_write_char('\b');
-                               }
+            } else {
+                // Just insert the character
+                *ip++ = c;
+                xp = ip;
+                while (xp != eol) {
+                    mon_write_char(*xp++);
+                }
+                while (xp-- != ip) {
+                    mon_write_char('\b');
+                }
 #endif
-                       }
-               }
-               last_ch = c;
-               if (ip == buf + buflen - 1) { // Buffer full
-                       *ip = '\0';
-                       return buflen;
-               }
-       }
+            }
+        }
+        last_ch = c;
+        if (ip == buf + buflen - 1) { // Buffer full
+            *ip = '\0';
+            return buflen;
+        }
+    }
 }
 
 int
 _rb_gets(char *buf, int buflen, int timeout)
 {
-       *buf = '\0';  // Empty buffer
-       return _rb_gets_preloaded(buf, buflen, timeout);
+    *buf = '\0';  // Empty buffer
+    return _rb_gets_preloaded(buf, buflen, timeout);
 }
 
 static bool
 _verify_action(int timeout, char *fmt, va_list ap)
 {
-       char ans[8];
-       int ret;
+    char ans[8];
+    int ret;
 #ifdef CYGFUN_REDBOOT_BOOT_SCRIPT
-       // Don't ask if we're executing a script
-       if (script && *script)
-               return 1;
+    // Don't ask if we're executing a script
+    if (script && *script)
+        return 1;
 #endif
 
-       diag_vprintf(fmt, ap);
-       diag_printf(" - continue (y/n)? ");
-       if ((ret = _rb_gets(ans, sizeof(ans), timeout)) > 0) {
-               return ((ans[0] == 'y') || (ans[0] == 'Y'));
-       } else {
-               if (ret == _GETS_TIMEOUT) {
-                       diag_printf(" ** Timed out!\n");
-               }
-               return 0;  // Timed out or ^C
-       }
+    diag_vprintf(fmt, ap);
+    diag_printf(" - continue (y/n)? ");
+    if ((ret = _rb_gets(ans, sizeof(ans), timeout)) > 0) {
+        return ((ans[0] == 'y') || (ans[0] == 'Y'));
+    } else {
+        if (ret == _GETS_TIMEOUT) {
+            diag_printf(" ** Timed out!\n");
+        }
+        return 0;  // Timed out or ^C
+    }
 }
 
 bool
 verify_action(char *fmt, ...)
 {
-       va_list ap;
+    va_list ap;
 
-       va_start(ap, fmt);
-       return _verify_action(0, fmt, ap);
+    va_start(ap, fmt);
+    return _verify_action(0, fmt, ap);
 }
 
 bool
 verify_action_with_timeout(int timeout, char *fmt, ...)
 {
-       va_list ap;
+    va_list ap;
 
-       va_start(ap, fmt);
-       return _verify_action(timeout, fmt, ap);
+    va_start(ap, fmt);
+    return _verify_action(timeout, fmt, ap);
 }
 
 
@@ -776,15 +776,15 @@ verify_action_with_timeout(int timeout, char *fmt, ...)
 static int
 parse_history_index(char *s)
 {
-       int val = 0;
+    int val = 0;
 
-       while ('0' <= *s && *s <= '9')
-               val = (val * 10) + (*s++ - '0');
+    while ('0' <= *s && *s <= '9')
+       val = (val * 10) + (*s++ - '0');
 
-       if (*s)
-               return -1;
+    if (*s)
+       return -1;
 
-       return val;
+    return val;
 }
 
 // Check input line to see if it needs history expansion. If so,
@@ -792,60 +792,60 @@ parse_history_index(char *s)
 static void
 expand_history(char *buf)
 {
-       int ncmds = _cl_max_index + 1;
-       int i, index, len;
+    int ncmds = _cl_max_index + 1;
+    int i, index, len;
 
-       if (buf[0] != '!' || buf[1] == '\0')
-               return;
+    if (buf[0] != '!' || buf[1] == '\0')
+       return;
 
-       if (ncmds > 0) {
-               if (!strcmp(buf, "!!")) {
-                       strcpy(buf, _cl_lines[_cl_index]);
-                       return;
-               }
-               if ((index = parse_history_index(buf + 1)) >= 0) {
-                       if (index <= _cl_max_index) {
-                               strcpy(buf, _cl_lines[index]);
-                               return;
-                       }
-               }
-               len = strlen(buf + 1);
-               for (i = 0, index = _cl_index; i < ncmds; i++) {
-                       if (!strncmp(_cl_lines[index], buf+1, len)) {
-                               strcpy(buf, _cl_lines[index]);
-                               return;
-                       }
-                       if (--index < 0)
-                               index = _cl_max_index;
-               }
+    if (ncmds > 0) {
+       if (!strcmp(buf, "!!")) {
+           strcpy(buf, _cl_lines[_cl_index]);
+           return;
+       }
+       if ((index = parse_history_index(buf + 1)) >= 0) {
+           if (index <= _cl_max_index) {
+               strcpy(buf, _cl_lines[index]);
+               return;
+           }
+       }
+       len = strlen(buf + 1);
+       for (i = 0, index = _cl_index; i < ncmds; i++) {
+           if (!strncmp(_cl_lines[index], buf+1, len)) {
+               strcpy(buf, _cl_lines[index]);
+               return;
+           }
+           if (--index < 0)
+               index = _cl_max_index;
        }
+    }
 
-       diag_printf("%s: event not found\n", buf);
-       *buf = '\0';
+    diag_printf("%s: event not found\n", buf);
+    *buf = '\0';
 }
 
 static void
 do_history(int argc, char *argv[])
 {
-       int ncmds = _cl_max_index + 1;
-       int i, index;
-
-       if (_cl_index == _cl_max_index) {
-               // history has not wrapped around
-               for (i = 0; i < ncmds; i++)
-                       diag_printf("%3d %s\n", i, _cl_lines[i]);
-       } else {
-               for (i = 0, index = _cl_index + 1; i < ncmds; i++) {
-                       diag_printf("%3d %s\n", i, _cl_lines[index++]);
-                       if (index > _cl_max_index)
-                               index = 0;
-               }
+    int ncmds = _cl_max_index + 1;
+    int i, index;
+
+    if (_cl_index == _cl_max_index) {
+       // history has not wrapped around
+       for (i = 0; i < ncmds; i++)
+           diag_printf("%3d %s\n", i, _cl_lines[i]);
+    } else {
+       for (i = 0, index = _cl_index + 1; i < ncmds; i++) {
+           diag_printf("%3d %s\n", i, _cl_lines[index++]);
+           if (index > _cl_max_index)
+               index = 0;
        }
+    }
 }
 
-RedBoot_cmd("history",
-                       "Display command history",
-                       "",
-                       do_history
-       );
+RedBoot_cmd("history", 
+            "Display command history", 
+            "",
+            do_history
+    );
 #endif  // CYGBLD_REDBOOT_CMD_LINE_HISTORY
index 202318bb8201315306f7e4f0c615e18d9756a5e2..04d7cdf4cf7971c475d4fca9e5502e6a360f6e82 100644 (file)
@@ -51,7 +51,6 @@
 //
 //==========================================================================
 
-#include <stdlib.h>
 #define  DEFINE_VARS
 #include <redboot.h>
 #include <cyg/hal/hal_arch.h>
@@ -761,25 +760,3 @@ valid_address(unsigned char *addr)
        }
        return false;
 }
-
-static unsigned long random;
-/* provide at least _some_ sort of randomness */
-#define MAX_LOOPS      1000
-
-extern unsigned int hal_timer_count(void);
-
-static void random_init(void)
-{
-       unsigned int timer;
-       int i;
-
-       unsigned int start = hal_timer_count();
-
-       start = hal_timer_count();
-       for (i = 0; i < MAX_LOOPS; i++) {
-               timer = hal_timer_count();
-               srand(random + timer);
-               random = rand();
-       }
-}
-RedBoot_init(random_init, RedBoot_INIT_FIRST);