};
# <
+# 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
};
# <
+# 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
};
# <
+# 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
};
# <
+# 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
--- /dev/null
+# 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
+};
+
+# <
+# <
+
--- /dev/null
+# 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
+};
+
+# <
+# <
+
} tx51_fec_gpio_data[] = {
/* iomux reg offset, func, gpgrp, */
/* gpiofn, gpshift, */
- { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS3, 0x12, 0x13, 3, 19, },
- { IOMUXC_SW_MUX_CTL_PAD_EIM_EB2, 0x13, 0x11, 2, 22, },
- { IOMUXC_SW_MUX_CTL_PAD_NANDF_RB3, 0x11, 0x13, 3, 11, },
- { IOMUXC_SW_MUX_CTL_PAD_NANDF_D11, 0x12, 0x13, 3, 29, },
- { IOMUXC_SW_MUX_CTL_PAD_NANDF_D9, 0x12, 0x13, 3, 31, },
- { IOMUXC_SW_MUX_CTL_PAD_EIM_EB3, 0x13, 0x11, 2, 23, },
- { IOMUXC_SW_MUX_CTL_PAD_EIM_CS2, 0x13, 0x11, 2, 27, },
- { IOMUXC_SW_MUX_CTL_PAD_EIM_CS3, 0x13, 0x11, 2, 28, },
- { IOMUXC_SW_MUX_CTL_PAD_EIM_CS4, 0x13, 0x11, 2, 29, },
- { IOMUXC_SW_MUX_CTL_PAD_NANDF_RDY_INT, 0x11, 0x13, 3, 24, },
- { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS7, 0x11, 0x13, 3, 23, },
- { IOMUXC_SW_MUX_CTL_PAD_NANDF_D8, 0x12, 0x13, 4, 0, },
- { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS4, 0x12, 0x13, 3, 20, },
- { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS5, 0x12, 0x13, 3, 21, },
- { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS6, 0x12, 0x13, 3, 22, },
- { IOMUXC_SW_MUX_CTL_PAD_NANDF_RB2, 0x11, 0x13, 3, 10, },
- { IOMUXC_SW_MUX_CTL_PAD_EIM_CS5, 0x13, 0x11, 2, 30, },
- { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS2, 0x13, 0x13, 3, 18, },
+ { 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[] = {
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."
+ }
}
#define FEC_BD_RX_NUM 256
#define FEC_BD_TX_NUM 2
-#ifdef CYGPKG_HAL_ARM_MX25
+#ifdef CYGOPT_HAL_ARM_MXC_FEC_MIIGSK
/* the defines for MIIGSK */
/* RMII frequency control: 0=50MHz, 1=5MHz */
#define erdsr 0x180 /*Pointer to Receive Descriptor Ring*/
#define etdsr 0x184 /*Pointer to Transmit Descriptor Ring*/
#define emrbr 0x188 /*Maximum Receive Buffer size*/
-#ifdef CYGPKG_HAL_ARM_MX25
+#ifdef CYGOPT_HAL_ARM_MXC_FEC_MIIGSK
#define miigsk_cfgr 0x300 /* MIIGSK Configuration Register */
#define miigsk_enr 0x308 /* MIIGSK Enable Register */
#endif
mxc_fec_reg_write(hw_reg, paur, value << 16);
}
-#ifdef CYGPKG_HAL_ARM_MX25
+#ifdef CYGOPT_HAL_ARM_MXC_FEC_MIIGSK
static int mxc_fec_mii_setup(mxc_fec_priv_t *priv)
{
volatile mxc_fec_reg_t *hw_reg = priv->hw_reg;
//
// 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####
//
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)
cdl_option CYGHWR_DEVS_FLASH_MMC_ESDHC {
display "MXC platform MMC card for newer SDHC controllers"
- active_if { CYGPKG_HAL_ARM_MX37_3STACK || CYGPKG_HAL_ARM_MX35_3STACK || CYGPKG_HAL_ARM_MX25_3STACK || CYGPKG_HAL_ARM_MX51}
+ active_if { CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 ||
+ CYGPKG_HAL_ARM_MX25 || 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
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", __FUNCTION__); \
+ diag_printf("%s: Timeout waiting for prog done\n", \
+ __func__); \
break; \
} \
} \
- if (loops < max_loops) { \
+ if (MAX_LOOPS - loops < max_loops) { \
diag_printf1("%s: auto_prog done after %u loops\n", \
__FUNCTION__, MAX_LOOPS - loops); \
- max_loops = loops; \
+ max_loops = MAX_LOOPS - loops; \
} \
nfc_reg_write((nfc_reg_read(NFC_IPC_REG) & ~NFC_IPC_AUTO_DONE), \
NFC_IPC_REG); \
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", __FUNCTION__); \
+ diag_printf("%s: Timeout waiting for NFC ready\n", \
+ __func__); \
break; \
} \
} \
- if (loops < max_loops) { \
+ if (MAX_LOOPS - loops < max_loops) { \
diag_printf1("%s: NFC ready after %u loops\n", \
__FUNCTION__, MAX_LOOPS - loops); \
- max_loops = loops; \
+ max_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)
{
return;
}
}
- if (loops < max_loops) {
- diag_printf("%s: NFC ready after %u loops\n",
+ if (MAX_LOOPS - loops < max_loops) {
+ diag_printf1("%s: NFC ready after %u loops\n",
__FUNCTION__, MAX_LOOPS - loops);
- max_loops = loops;
+ max_loops = MAX_LOOPS - loops;
}
nfc_reg_write(val, reg);
nfc_reg_write((nfc_reg_read(NFC_IPC_REG) & ~NFC_IPC_CREQ), NFC_IPC_REG);
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);
}
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.
#include "mxcmci_mmc.h"
#include "mxcmci_host.h"
-#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 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 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;
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 */
MMC_CSD_1_1,
MMC_CSD_1_2,
MMC_UNKNOWN
-}card_type;
+} card_type;
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;
/*==================================================================================================
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_
#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.
// Date: 2008-05-13 Initial version
// Purpose:
// Description:
-//
+//
//
//####DESCRIPTIONEND####
//====================================================================================================
#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
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_ */
#include <cyg/io/flash.h>
#include <cyg/io/mxc_mmc.h>
-#if defined(CYGPKG_HAL_ARM_MX31ADS) || defined(CYGPKG_HAL_ARM_MX31_3STACK)
+#ifdef CYGPKG_HAL_ARM_MX31
#include <cyg/io/card_mx32.h>
#endif
-#if defined(CYGPKG_HAL_ARM_MX25_3STACK) || defined(CYGPKG_HAL_ARM_MX35_3STACK) || defined(CYGPKG_HAL_ARM_MX37_3STACK) || defined(CYGPKG_HAL_ARM_MX51)
+#if defined(CYGPKG_HAL_ARM_MX25) || defined(CYGPKG_HAL_ARM_MX35) || \
+ defined(CYGPKG_HAL_ARM_MX37) || defined(CYGPKG_HAL_ARM_MX51)
#include <cyg/io/mxcmci_core.h>
#endif
#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)
+#define write_nfc_ip_reg(a, b) CYG_EMPTY_STATEMENT
#endif
#ifndef MXCFLASH_SELECT_MULTI
__FUNCTION__, __LINE__, &id[0], data);
memcpy(data, id, sizeof(id));
}
- nfc_printf(NFC_DEBUG_MAX, "%s@%d %p\n", __FUNCTION__, __LINE__,
+ nfc_printf(NFC_DEBUG_MAX, "%s@%d called from %p\n", __FUNCTION__, __LINE__,
__builtin_return_address(0));
}
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)
static u8 *g_bbt, *g_page_buf;
static u32 g_bbt_sz;
-static bool mxcnfc_init_ok = false;
+static bool mxcnfc_init_ok;
static bool mxc_nfc_scan_done;
// this callback allows the platform specific function to be called right
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;
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",
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++) {
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) {
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) {
- nfc_printf(NFC_DEBUG_MAX, "%s@%d\n", __FUNCTION__, __LINE__);
+ if (nfc_setup)
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);
- }
- nfc_printf(NFC_DEBUG_MAX, "%s@%d\n", __FUNCTION__, __LINE__);
+ flash_dev_info->type, num_of_nand_chips);
+
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++) {
#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;
==============================================================================*/
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");
+ }
- 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;
-
+ return status;
}
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;
- }
-
- /* check whether the card is high capacity card */
- if(capacity>2*1024*1024)
- HighCapacityCard = 1;
- else
- HighCapacityCard = 0;
-
- return capacity;
+ 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;
}
-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;
-
- read_status = mmc_data_read(dest_ptr, len, offset);
+ cyg_uint32 read_status = FAIL;
- if (read_status) {
- len = 0;
- }
- return len;
+ read_status = mmc_data_read(dest_ptr, len, offset);
+ 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;
- }
- }
-
- }
-
- return transfer_status;
+ 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;
}
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);
- }
-
- else {
- //diag_printf("card_state: 0x%x\n", card_state);
- transfer_status = FAIL;
- }
- }
- return transfer_status;
+ 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;
}
-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;
- command_t *cmd;
-
- /* Assign cmd to cmd_config */
- cmd = cmd_config;
+ /* Assign cmd to cmd_config */
+ cmd = cmd_config;
- /* Configure Command index */
- cmd->command = index;
+ /* Configure Command index */
+ cmd->command = index;
- /* Configure Command Argument */
- cmd->arg = argument;
+ /* Configure Command Argument */
+ cmd->arg = argument;
- /* Configure Data transfer type */
- cmd->data_transfer = transfer;
+ /* Configure Data transfer type */
+ cmd->data_transfer = transfer;
- /* Configure Response Format */
- cmd->response_format = format;
+ /* Configure Response Format */
+ cmd->response_format = format;
- /* Configure Data Present Select */
- cmd->data_present = data;
+ /* Configure Data Present Select */
+ cmd->data_present = data;
- /* Configiure CRC check Enable */
- cmd->crc_check = crc;
+ /* Configiure CRC check Enable */
+ cmd->crc_check = crc;
- /*Configure Command index check enable */
- cmd->cmdindex_check = cmdindex;
+ /* Configure Command index check enable */
+ cmd->cmdindex_check = cmdindex;
- /* 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;
+ /* 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;
- }
+ /* Configure Multi single block select */
+ cmd->multi_single_block = SINGLE;
+ }
}
//
//==========================================================================
+#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>
-
-extern int HighCapacityCard;
+#include <cyg/hal/hal_intr.h>
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 */
return FAIL;
}
#endif
-
/* Set block length for transfer */
//diag_printf("Send CMD to Set Block Length.\n");
if (sdmmc_set_blklen(BLK_LEN))
}
-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;
/* wait until in transfer mode */
while (mxcmci_trans_status()) {
- hal_delay_us(5);
+ HAL_DELAY_US(5);
}
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;
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();
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 {
}
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;
-
- if (card_get_csd() == FAIL) {
- mmc_spec_version = 0;
- } else {
- mmc_spec_version = ((csd.csd3 && MMC_SPEC_VER) >> MMC_SPEC_VER_SHIFT);
- }
+ cyg_uint32 mmc_spec_version;
- return 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);
+ }
+ 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;
+ 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;
}
static cyg_uint32 mmc_set_bus_width(cyg_uint32 bus_width)
{
- command_t cmd;
- cyg_uint32 set_bus_width_status = FAIL;
- command_response_t response;
- cyg_uint32 card_address = (Card_rca << RCA_SHIFT);
+ command_t cmd;
+ cyg_uint32 set_bus_width_status = FAIL;
- if ((bus_width == FOUR) || (bus_width == EIGHT) || (bus_width == ONE)) {
+ if ((bus_width == 4) || (bus_width == 8) || (bus_width == 1)) {
- /* 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;
}
-static cyg_uint32 mmc_set_high_speed_mode(void)
+cyg_uint32 mmc_set_high_speed_mode(void)
{
- 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;
+ 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;
}
int sdmmc_set_blklen(int len)
{
- 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 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 sdmmc_stop_transmission(void)
{
- int status = FAIL;
- command_t cmd;
- command_response_t response;
+ command_t cmd;
- /* 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;
+ }
}
-static void mmc_set_boot_partition_size(unsigned int value)
+void mmc_set_boot_partition_size(unsigned int value)
{
- 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);
+ 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);
}
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 */
//
//==========================================================================
+#include <cyg/infra/diag.h>
#include <cyg/io/mxcmci_host.h>
#include <cyg/io/mxcmci_core.h>
#include <cyg/io/mxcmci_mmc.h>
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 (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;
+ 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;
}
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 == 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;
+ 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;
}
/*==========================================================================
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 */
// 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
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
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
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 {
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
#include <cyg/hal/hal_io.h>
#ifndef CYGARC_PHYSICAL_ADDRESS
-# error
+# error CYGARC_PHYSICAL_ADDRESS not defined
# define CYGARC_PHYSICAL_ADDRESS(x) (x)
#endif
//#####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_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 */
- );
+ 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 */
+ );
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);
}
/*----------------------------------------------------------------------*/
externC void
diag_init_putc(void (*putc)(char c, void *param))
{
- _putc = putc;
+ _putc = putc;
}
/*----------------------------------------------------------------------*/
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 */
/* 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_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 */
- )
+ 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 */
+ )
{
- diag_write_long_num((long long)n, base, sign, pfzero, width);
+ diag_write_long_num(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;
-
- if( str == NULL ) return false;
-
- for( s = str ; result && *s ; s++ )
- {
- char c = *s;
+ cyg_bool result = true;
+ const char *s;
- /* Check for a reasonable length string. */
-
- if( s-str > 2048 ) result = false;
+ if (str == NULL)
+ return false;
- /* 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. */
+ for (s = str ; result && *s ; s++) {
+ char c = *s;
- if( c == '\n' || c == '\r' || c == '\b' || c == '\t' )
- continue;
+ /* Check for a reasonable length string. */
+ if (s - str > 2048)
+ result = false;
- /* Check for printable chars. This assumes ASCII */
-
- if( c < ' ' || c > '~' )
- result = false;
+ /* 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;
+ }
- return result;
+ return result;
}
/*----------------------------------------------------------------------*/
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'))
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 (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>";
+ 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>";
#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++;
-#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);
+ 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);
+ putc(c, param);
#endif
- res++;
- }
- if (pad_on_right) {
- while (pad-- > 0) {
- (*putc)(' ', param);
- res++;
- }
- }
- } else {
- (*putc)(c, param);
- res++;
- }
- }
- return (res);
+ 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, (void *)&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, &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, (void *)&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, &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, (void *)&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, &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, (void *)0, fmt, ap);
- va_end(ap);
- return (ret);
+ va_start(ap, fmt);
+ ret = _vprintf(_putc, NULL, fmt, ap);
+ va_end(ap);
+ return ret;
}
int
diag_vprintf(const char *fmt, va_list ap)
{
- int ret;
+ int ret;
- ret = _vprintf(_putc, (void *)0, fmt, ap);
- return (ret);
+ ret = _vprintf(_putc, NULL, 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
}
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
}
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
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.
//
// Author(s): gthomas
// Contributors: gthomas
// Date: 2000-07-26
-// Purpose:
-// Description:
-//
+// Purpose:
+// Description:
+//
//####DESCRIPTIONEND####
//
//==========================================================================
-
#include <pkgconf/system.h>
#include <pkgconf/io_flash.h>
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
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 - 1);
- }
+ /* Check to see if end_addr overflowed */
+ if ((end_addr < block) && (len > 0)) {
+ end_addr = (unsigned short *)((CYG_ADDRESS)flash_info.end);
+ }
#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
}
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
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
// Author(s): gthomas
// Contributors: gthomas,hmt,jlarmour
// Date: 2000-07-14
-// Purpose:
-// Description:
-//
+// Purpose:
+// Description:
+//
// This code is part of RedBoot (tm).
//
//####DESCRIPTIONEND####
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
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);
+ }
+ }
}
//
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
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
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);
}
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,
static void
expand_history(char *buf)
{
- int ncmds = _cl_max_index + 1;
- int i, index, len;
-
- if (buf[0] != '!' || buf[1] == '\0')
- return;
+ int ncmds = _cl_max_index + 1;
+ int i, index, len;
- 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]);
+ if (buf[0] != '!' || buf[1] == '\0')
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
//
//==========================================================================
+#include <stdlib.h>
#define DEFINE_VARS
#include <redboot.h>
#include <cyg/hal/hal_arch.h>
}
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);