From 4c2006ffbdfc5374f88746332a30f8356deecc69 Mon Sep 17 00:00:00 2001 From: lothar Date: Wed, 27 Jul 2011 12:38:32 +0000 Subject: [PATCH] TX51 Release 2011-07-27 --- .cvssymlinks | 3 - config/TX27-40x0.ecc | 18 - config/TX27-40x1.ecc | 18 - config/TX37-50x0.ecc | 18 - config/TX51-80x0.ecc | 32 +- config/TX53-1xx1.ecc | 10352 ---------------- config/TX53-1xx2.ecc | 10352 ---------------- .../v1_0/include/devs_eth_arm_tx27.inl | 2 +- .../v1_0/include/devs_eth_arm_tx51.inl | 259 +- .../devs/eth/fec/v2_0/cdl/fec_eth_drivers.cdl | 10 - packages/devs/eth/fec/v2_0/include/fec.h | 4 +- packages/devs/eth/fec/v2_0/src/if_fec.c | 2 +- packages/devs/eth/phy/v2_0/src/LAN8700.c | 11 +- .../arm/mxc/v2_0/cdl/mxc_flash_select.cdl | 3 +- .../arm/mxc/v2_0/include/mxc_nand_parts.inl | 22 + .../flash/arm/mxc/v2_0/include/mxc_nfc_v3.h | 69 +- .../flash/arm/mxc/v2_0/include/mxcmci_core.h | 35 +- .../flash/arm/mxc/v2_0/include/mxcmci_mmc.h | 19 +- .../devs/flash/arm/mxc/v2_0/src/mxc_mmc.c | 5 +- .../devs/flash/arm/mxc/v2_0/src/mxc_nfc.c | 51 +- .../devs/flash/arm/mxc/v2_0/src/mxcmci_core.c | 472 +- .../devs/flash/arm/mxc/v2_0/src/mxcmci_mmc.c | 660 +- .../devs/flash/arm/mxc/v2_0/src/mxcmci_sd.c | 909 +- .../ipu/arm/imx/v1_0/include/ipu_common.h | 1 - packages/ecos.db | 41 - .../arm/arch/v2_0/src/redboot_linux_exec.c | 2 +- .../hal/arm/mx25/karo/v1_0/src/tx25_misc.c | 12 - .../hal/arm/mx27/karo/v1_0/src/tx27_misc.c | 12 - .../arm/mx51/karo/v1_0/cdl/hal_arm_tx51.cdl | 11 +- .../karo/v1_0/include/hal_platform_setup.h | 38 +- .../hal/arm/mx51/karo/v1_0/src/tx51_misc.c | 19 - .../hal/arm/mx51/var/v2_0/include/hal_soc.h | 4 + packages/infra/v2_0/src/diag.cxx | 999 +- packages/io/flash/v2_0/include/flash.h | 60 +- packages/io/flash/v2_0/src/flash.c | 554 +- packages/redboot/v2_0/src/io.c | 1188 +- packages/redboot/v2_0/src/main.c | 23 - 37 files changed, 2675 insertions(+), 23615 deletions(-) delete mode 100644 config/TX53-1xx1.ecc delete mode 100644 config/TX53-1xx2.ecc diff --git a/.cvssymlinks b/.cvssymlinks index 7cf7db11..e97979b6 100644 --- a/.cvssymlinks +++ b/.cvssymlinks @@ -2,13 +2,11 @@ v1_0 packages/devs/eth/arm/tx25karo/current v1_0 packages/devs/eth/arm/tx27karo/current v1_0 packages/devs/eth/arm/tx37karo/current v1_0 packages/devs/eth/arm/tx51karo/current -v1_0 packages/devs/eth/arm/tx53karo/current v1_0 packages/devs/ipu/arm/imx/current v1_0 packages/hal/arm/mx25/karo/current v1_0 packages/hal/arm/mx27/karo/current v1_0 packages/hal/arm/mx37/karo/current v1_0 packages/hal/arm/mx51/karo/current -v1_0 packages/hal/arm/mx53/karo/current v2_0 packages/compat/linux/current v2_0 packages/compat/posix/current v2_0 packages/compat/uitron/current @@ -352,7 +350,6 @@ v2_0 packages/hal/arm/mx51/3stack/current v2_0 packages/hal/arm/mx51/babbage/current v2_0 packages/hal/arm/mx51/rocky/current v2_0 packages/hal/arm/mx51/var/current -v2_0 packages/hal/arm/mx53/var/current v2_0 packages/hal/arm/mxc91131/evb/current v2_0 packages/hal/arm/mxc91131/var/current v2_0 packages/hal/arm/mxc91221/evb/current diff --git a/config/TX27-40x0.ecc b/config/TX27-40x0.ecc index 9362d5cb..a9de1f03 100644 --- a/config/TX27-40x0.ecc +++ b/config/TX27-40x0.ecc @@ -794,24 +794,6 @@ cdl_option CYGPKG_DEVS_ETH_FEC_CFLAGS_ADD { }; # < -# MXC FEC MII Gasket for RMII mode -# This option enables the use of the MII Gasket for -# RMII mode found in i.MX25 and i.MX53 processors. -# -cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK { - # This option is not active - # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - # < # Ethernet transceiver (PHY) support # API for ethernet PHY devices diff --git a/config/TX27-40x1.ecc b/config/TX27-40x1.ecc index 6109d967..7cef0a19 100644 --- a/config/TX27-40x1.ecc +++ b/config/TX27-40x1.ecc @@ -794,24 +794,6 @@ cdl_option CYGPKG_DEVS_ETH_FEC_CFLAGS_ADD { }; # < -# MXC FEC MII Gasket for RMII mode -# This option enables the use of the MII Gasket for -# RMII mode found in i.MX25 and i.MX53 processors. -# -cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK { - # This option is not active - # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - # < # Ethernet transceiver (PHY) support # API for ethernet PHY devices diff --git a/config/TX37-50x0.ecc b/config/TX37-50x0.ecc index 226da56f..aa397c88 100644 --- a/config/TX37-50x0.ecc +++ b/config/TX37-50x0.ecc @@ -792,24 +792,6 @@ cdl_option CYGPKG_DEVS_ETH_FEC_CFLAGS_ADD { }; # < -# MXC FEC MII Gasket for RMII mode -# This option enables the use of the MII Gasket for -# RMII mode found in i.MX25 and i.MX53 processors. -# -cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK { - # This option is not active - # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - # < # Ethernet transceiver (PHY) support # API for ethernet PHY devices diff --git a/config/TX51-80x0.ecc b/config/TX51-80x0.ecc index bb5b40cd..8ea46ed1 100644 --- a/config/TX51-80x0.ecc +++ b/config/TX51-80x0.ecc @@ -794,24 +794,6 @@ cdl_option CYGPKG_DEVS_ETH_FEC_CFLAGS_ADD { }; # < -# MXC FEC MII Gasket for RMII mode -# This option enables the use of the MII Gasket for -# RMII mode found in i.MX25 and i.MX53 processors. -# -cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK { - # This option is not active - # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - # < # Ethernet transceiver (PHY) support # API for ethernet PHY devices @@ -3457,7 +3439,7 @@ cdl_option CYGNUM_HAL_ARM_TX51_SDRAM_SIZE { }; # SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX51 module. +# This option specifies the SDRAM clock in MHz of the TX51 module. # cdl_option CYGNUM_HAL_ARM_TX51_SDRAM_CLK { # Flavor: data @@ -3468,6 +3450,18 @@ cdl_option CYGNUM_HAL_ARM_TX51_SDRAM_CLK { # Legal values: 166 200 }; +# CPU clock +# This option specifies the CPU clock in MHz of the TX51 module. +# +cdl_option CYGNUM_HAL_ARM_TX51_CPU_CLK { + # Flavor: data + # No user value, uncomment the following line to provide one. + # user_value 800 + # value_source default + # Default value: 800 + # Legal values: 600 800 +}; + # Enable low level debugging with LED # This option enables low level debugging by blink codes # of the LED on STK5. diff --git a/config/TX53-1xx1.ecc b/config/TX53-1xx1.ecc deleted file mode 100644 index fb588343..00000000 --- a/config/TX53-1xx1.ecc +++ /dev/null @@ -1,10352 +0,0 @@ -# eCos saved configuration - -# ---- commands -------------------------------------------------------- -# This section contains information about the savefile format. -# It should not be edited. Any modifications made to this section -# may make it impossible for the configuration tools to read -# the savefile. - -cdl_savefile_version 1; -cdl_savefile_command cdl_savefile_version {}; -cdl_savefile_command cdl_savefile_command {}; -cdl_savefile_command cdl_configuration { description hardware template package }; -cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value }; -cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value }; -cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value }; -cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value }; - -# ---- toplevel -------------------------------------------------------- -# This section defines the toplevel configuration object. The only -# values that can be changed are the name of the configuration and -# the description field. It is not possible to modify the target, -# the template or the set of packages simply by editing the lines -# below because these changes have wide-ranging effects. Instead -# the appropriate tools should be used to make such modifications. - -cdl_configuration eCos { - description "" ; - - # These fields should not be modified. - hardware tx53karo ; - template redboot ; - package -hardware CYGPKG_HAL_ARM current ; - package -hardware CYGPKG_HAL_ARM_MX53 current ; - package -hardware CYGPKG_HAL_ARM_TX53KARO current ; - package -template CYGPKG_HAL current ; - package -template CYGPKG_INFRA current ; - package -template CYGPKG_REDBOOT current ; - package -template CYGPKG_ISOINFRA current ; - package -template CYGPKG_LIBC_STRING current ; - package -template CYGPKG_CRC current ; - package -hardware CYGPKG_IO_ETH_DRIVERS current ; - package -hardware CYGPKG_DEVS_ETH_ARM_TX53 current ; - package -hardware CYGPKG_DEVS_ETH_FEC current ; - package -hardware CYGPKG_COMPRESS_ZLIB current ; - package -hardware CYGPKG_IO_FLASH current ; - package -hardware CYGPKG_DEVS_FLASH_ONMXC current ; - package -template CYGPKG_MEMALLOC current ; - package -template CYGPKG_DEVS_ETH_PHY current ; - package -template CYGPKG_LIBC_I18N current ; - package -template CYGPKG_LIBC_STDLIB current ; - package -template CYGPKG_ERROR current ; - package -hardware CYGPKG_DEVS_MXC_I2C current ; - package -hardware CYGPKG_DEVS_IMX_IPU current ; -}; - -# ---- conflicts ------------------------------------------------------- -# There are no conflicts. - -# ---- contents -------------------------------------------------------- -# > -# > -# Global build options -# Global build options including control over -# compiler flags, linker flags and choice of toolchain. -# -cdl_component CYGBLD_GLOBAL_OPTIONS { - # There is no associated value. - - # The following properties are affected by this value -}; - -# > -# Global command prefix -# This option specifies the command prefix used when -# invoking the build tools. -# -cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { - # Flavor: data - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu -}; - -# Global compiler flags -# This option controls the global compiler flags which are used to -# compile all packages by default. Individual packages may define -# options which override these global flags. -# -cdl_option CYGBLD_GLOBAL_CFLAGS { - # Flavor: data - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS - # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # option CYGBLD_INFRA_CFLAGS_PIPE - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") -}; - -# Global linker flags -# This option controls the global linker flags. Individual -# packages may define options which override these global flags. -# -cdl_option CYGBLD_GLOBAL_LDFLAGS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" - # value_source default - # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" -}; - -# Build common GDB stub ROM image -# Unless a target board has specific requirements to the -# stub implementation, it can use a simple common stub. -# This option, which gets enabled by platform HALs as -# appropriate, controls the building of the common stub. -# -cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 -}; - -# < -# ISO C library string functions -# doc: ref/libc.html -# This package provides string functions specified by the -# ISO C standard - ISO/IEC 9899:1990. -# -cdl_package CYGPKG_LIBC_STRING { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == "" - # CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == - # --> 1 - # Requires: CYGBLD_ISO_STRING_MEMFUNCS_HEADER == "" - # CYGBLD_ISO_STRING_MEMFUNCS_HEADER == - # --> 1 - # Requires: CYGBLD_ISO_STRING_STRFUNCS_HEADER == "" - # CYGBLD_ISO_STRING_STRFUNCS_HEADER == - # --> 1 - # Requires: CYGBLD_ISO_STRTOK_R_HEADER == "" - # CYGBLD_ISO_STRTOK_R_HEADER == - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 -}; - -# > -# Inline versions of functions -# This option chooses whether some of the -# particularly simple string functions from -# 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 == "" - # CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == - # --> 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 -# 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 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 == "" - # 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 == "" - # CYGBLD_ISO_CTYPE_HEADER == - # --> 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 functions -# This option chooses whether the simple character -# classification and conversion functions (e.g. -# isupper(), isalpha(), toupper(), etc.) -# from 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 == "" - # CYGBLD_ISO_CTYPE_HEADER == - # --> 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 -# 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 functions -# This option chooses whether some of the -# particularly simple standard utility functions -# from 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 == "" - # CYGBLD_ISO_STDLIB_ABS_HEADER == - # --> 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 == "" - # CYGBLD_ISO_STDLIB_DIV_HEADER == - # --> 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 == "" - # CYGBLD_ISO_STDLIB_STRCONV_HEADER == - # --> 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 -# 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 -# 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: "" - # Flavor: data - # Current_value: -}; - -# Memory layout header file -# -cdl_option CYGHWR_MEMORY_LAYOUT_H { - # Calculated value: "" - # Flavor: data - # Current_value: -}; - -# < -# < -# < -# < -# < -# 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 ) -# 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 - # 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 == "" - # option CYGIMP_LIBC_I18N_CTYPE_INLINES - # Requires: CYGBLD_ISO_CTYPE_HEADER == "" -}; - -# < -# 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 - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_ERROR - # Requires: CYGBLD_ISO_ERRNO_CODES_HEADER == "" -}; - -# 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 - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # component CYGPKG_ERROR_ERRNO - # Requires: CYGBLD_ISO_ERRNO_HEADER == "" -}; - -# < -# 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 - # 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 == "" -}; - -# 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 - # 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 == "" -}; - -# 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 - # 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 == "" -}; - -# 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 == "" -}; - -# 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 - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_ERROR_STRERROR - # Requires: CYGBLD_ISO_STRERROR_HEADER == "" -}; - -# 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 - # 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 == "" -}; - -# 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 - # 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 == "" -}; - -# 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 - # 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 == "" -}; - -# 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 - # 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 == "" -}; - -# 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 - # 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 == "" -}; - -# < -# 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 -# -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 -}; - -# < -# 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 -}; - -# 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 contents -# This covers the types required by POSIX to be in -# -# -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 contents -# This covers the extra types required by non-POSIX -# packages to be in . 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 - # 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 . -# -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 - # value_source default - # Default value: - - # The following properties are affected by this value - # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE - # Requires: CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == "" - # option CYGIMP_MEMALLOC_MALLOC_DLMALLOC - # Requires: CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == "" -}; - -# 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 == "" - # CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == - # --> 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 == "" - # CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == - # --> 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 == "" - # CYGBLD_ISO_ERRNO_CODES_HEADER == - # --> 1 -}; - -# > -# errno variable -# This package controls the behaviour of the -# errno variable (or more strictly, expression) -# from . -# -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 == "" - # CYGBLD_ISO_ERRNO_HEADER == - # --> 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 -# -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 == "" - # CYGBLD_ISO_STRERROR_HEADER == - # --> 1 -}; - -# Error package build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_ERROR_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the error package. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_ERROR_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the error package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_ERROR_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# < -# I2C driver for FSL MXC-based platforms -# -cdl_package CYGPKG_DEVS_MXC_I2C { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# ipu driver for mxc -# -cdl_package CYGPKG_DEVS_IMX_IPU { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # option CYGHWR_MX53_LCD_LOGO - # ActiveIf: CYGPKG_DEVS_IMX_IPU -}; - -# > -# IPU version 3EX support -# When this option is enabled, it indicates the IPU version -# is 3EX -# -cdl_option CYGHWR_DEVS_IPU_3_EX { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # The inferred value should not be edited directly. - inferred_value 1 - # value_source inferred - # Default value: 0 -}; - -# IPU version 3D support -# When this option is enabled, it indicates the IPU version -# is 3D -# -cdl_option CYGHWR_DEVS_IPU_3_D { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# < - diff --git a/config/TX53-1xx2.ecc b/config/TX53-1xx2.ecc deleted file mode 100644 index b708a332..00000000 --- a/config/TX53-1xx2.ecc +++ /dev/null @@ -1,10352 +0,0 @@ -# eCos saved configuration - -# ---- commands -------------------------------------------------------- -# This section contains information about the savefile format. -# It should not be edited. Any modifications made to this section -# may make it impossible for the configuration tools to read -# the savefile. - -cdl_savefile_version 1; -cdl_savefile_command cdl_savefile_version {}; -cdl_savefile_command cdl_savefile_command {}; -cdl_savefile_command cdl_configuration { description hardware template package }; -cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value }; -cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value }; -cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value }; -cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value }; - -# ---- toplevel -------------------------------------------------------- -# This section defines the toplevel configuration object. The only -# values that can be changed are the name of the configuration and -# the description field. It is not possible to modify the target, -# the template or the set of packages simply by editing the lines -# below because these changes have wide-ranging effects. Instead -# the appropriate tools should be used to make such modifications. - -cdl_configuration eCos { - description "" ; - - # These fields should not be modified. - hardware tx53karo ; - template redboot ; - package -hardware CYGPKG_HAL_ARM current ; - package -hardware CYGPKG_HAL_ARM_MX53 current ; - package -hardware CYGPKG_HAL_ARM_TX53KARO current ; - package -template CYGPKG_HAL current ; - package -template CYGPKG_INFRA current ; - package -template CYGPKG_REDBOOT current ; - package -template CYGPKG_ISOINFRA current ; - package -template CYGPKG_LIBC_STRING current ; - package -template CYGPKG_CRC current ; - package -hardware CYGPKG_IO_ETH_DRIVERS current ; - package -hardware CYGPKG_DEVS_ETH_ARM_TX53 current ; - package -hardware CYGPKG_DEVS_ETH_FEC current ; - package -hardware CYGPKG_COMPRESS_ZLIB current ; - package -hardware CYGPKG_IO_FLASH current ; - package -hardware CYGPKG_DEVS_FLASH_ONMXC current ; - package -template CYGPKG_MEMALLOC current ; - package -template CYGPKG_DEVS_ETH_PHY current ; - package -template CYGPKG_LIBC_I18N current ; - package -template CYGPKG_LIBC_STDLIB current ; - package -template CYGPKG_ERROR current ; - package -hardware CYGPKG_DEVS_MXC_I2C current ; - package -hardware CYGPKG_DEVS_IMX_IPU current ; -}; - -# ---- conflicts ------------------------------------------------------- -# There are no conflicts. - -# ---- contents -------------------------------------------------------- -# > -# > -# Global build options -# Global build options including control over -# compiler flags, linker flags and choice of toolchain. -# -cdl_component CYGBLD_GLOBAL_OPTIONS { - # There is no associated value. - - # The following properties are affected by this value -}; - -# > -# Global command prefix -# This option specifies the command prefix used when -# invoking the build tools. -# -cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { - # Flavor: data - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu -}; - -# Global compiler flags -# This option controls the global compiler flags which are used to -# compile all packages by default. Individual packages may define -# options which override these global flags. -# -cdl_option CYGBLD_GLOBAL_CFLAGS { - # Flavor: data - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS - # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # option CYGBLD_INFRA_CFLAGS_PIPE - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") -}; - -# Global linker flags -# This option controls the global linker flags. Individual -# packages may define options which override these global flags. -# -cdl_option CYGBLD_GLOBAL_LDFLAGS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" - # value_source default - # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" -}; - -# Build common GDB stub ROM image -# Unless a target board has specific requirements to the -# stub implementation, it can use a simple common stub. -# This option, which gets enabled by platform HALs as -# appropriate, controls the building of the common stub. -# -cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 -}; - -# < -# ISO C library string functions -# doc: ref/libc.html -# This package provides string functions specified by the -# ISO C standard - ISO/IEC 9899:1990. -# -cdl_package CYGPKG_LIBC_STRING { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == "" - # CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == - # --> 1 - # Requires: CYGBLD_ISO_STRING_MEMFUNCS_HEADER == "" - # CYGBLD_ISO_STRING_MEMFUNCS_HEADER == - # --> 1 - # Requires: CYGBLD_ISO_STRING_STRFUNCS_HEADER == "" - # CYGBLD_ISO_STRING_STRFUNCS_HEADER == - # --> 1 - # Requires: CYGBLD_ISO_STRTOK_R_HEADER == "" - # CYGBLD_ISO_STRTOK_R_HEADER == - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 -}; - -# > -# Inline versions of functions -# This option chooses whether some of the -# particularly simple string functions from -# 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 == "" - # CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == - # --> 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 -# 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 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 == "" - # 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 == "" - # CYGBLD_ISO_CTYPE_HEADER == - # --> 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 functions -# This option chooses whether the simple character -# classification and conversion functions (e.g. -# isupper(), isalpha(), toupper(), etc.) -# from 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 == "" - # CYGBLD_ISO_CTYPE_HEADER == - # --> 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 -# 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 functions -# This option chooses whether some of the -# particularly simple standard utility functions -# from 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 == "" - # CYGBLD_ISO_STDLIB_ABS_HEADER == - # --> 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 == "" - # CYGBLD_ISO_STDLIB_DIV_HEADER == - # --> 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 == "" - # CYGBLD_ISO_STDLIB_STRCONV_HEADER == - # --> 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 -# 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 -# 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: "" - # Flavor: data - # Current_value: -}; - -# Memory layout header file -# -cdl_option CYGHWR_MEMORY_LAYOUT_H { - # Calculated value: "" - # Flavor: data - # Current_value: -}; - -# < -# < -# < -# < -# < -# 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 ) -# 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 - # 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 == "" - # option CYGIMP_LIBC_I18N_CTYPE_INLINES - # Requires: CYGBLD_ISO_CTYPE_HEADER == "" -}; - -# < -# 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 - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_ERROR - # Requires: CYGBLD_ISO_ERRNO_CODES_HEADER == "" -}; - -# 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 - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # component CYGPKG_ERROR_ERRNO - # Requires: CYGBLD_ISO_ERRNO_HEADER == "" -}; - -# < -# 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 - # 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 == "" -}; - -# 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 - # 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 == "" -}; - -# 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 - # 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 == "" -}; - -# 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 == "" -}; - -# 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 - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_ERROR_STRERROR - # Requires: CYGBLD_ISO_STRERROR_HEADER == "" -}; - -# 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 - # 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 == "" -}; - -# 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 - # 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 == "" -}; - -# 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 - # 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 == "" -}; - -# 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 - # 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 == "" -}; - -# 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 - # 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 == "" -}; - -# < -# 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 -# -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 -}; - -# < -# 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 -}; - -# 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 contents -# This covers the types required by POSIX to be in -# -# -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 contents -# This covers the extra types required by non-POSIX -# packages to be in . 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 - # 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 . -# -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 - # value_source default - # Default value: - - # The following properties are affected by this value - # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE - # Requires: CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == "" - # option CYGIMP_MEMALLOC_MALLOC_DLMALLOC - # Requires: CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == "" -}; - -# 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 == "" - # CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == - # --> 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 == "" - # CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == - # --> 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 == "" - # CYGBLD_ISO_ERRNO_CODES_HEADER == - # --> 1 -}; - -# > -# errno variable -# This package controls the behaviour of the -# errno variable (or more strictly, expression) -# from . -# -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 == "" - # CYGBLD_ISO_ERRNO_HEADER == - # --> 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 -# -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 == "" - # CYGBLD_ISO_STRERROR_HEADER == - # --> 1 -}; - -# Error package build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_ERROR_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the error package. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_ERROR_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the error package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_ERROR_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# < -# I2C driver for FSL MXC-based platforms -# -cdl_package CYGPKG_DEVS_MXC_I2C { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# ipu driver for mxc -# -cdl_package CYGPKG_DEVS_IMX_IPU { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # option CYGHWR_MX53_LCD_LOGO - # ActiveIf: CYGPKG_DEVS_IMX_IPU -}; - -# > -# IPU version 3EX support -# When this option is enabled, it indicates the IPU version -# is 3EX -# -cdl_option CYGHWR_DEVS_IPU_3_EX { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # The inferred value should not be edited directly. - inferred_value 1 - # value_source inferred - # Default value: 0 -}; - -# IPU version 3D support -# When this option is enabled, it indicates the IPU version -# is 3D -# -cdl_option CYGHWR_DEVS_IPU_3_D { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# < - diff --git a/packages/devs/eth/arm/tx27karo/v1_0/include/devs_eth_arm_tx27.inl b/packages/devs/eth/arm/tx27karo/v1_0/include/devs_eth_arm_tx27.inl index c14e2b20..1b9d3a08 100644 --- a/packages/devs/eth/arm/tx27karo/v1_0/include/devs_eth_arm_tx27.inl +++ b/packages/devs/eth/arm/tx27karo/v1_0/include/devs_eth_arm_tx27.inl @@ -315,7 +315,7 @@ NETDEVTAB_ENTRY(mxc_fec_netdev, RedBoot_config_option("Set FEC network hardware address [MAC]", fec_esa, ALWAYS_ENABLED, true, - CONFIG_BOOL, false + CONFIG_BOOL, true ); RedBoot_config_option("FEC network hardware address [MAC]", fec_esa_data, diff --git a/packages/devs/eth/arm/tx51karo/v1_0/include/devs_eth_arm_tx51.inl b/packages/devs/eth/arm/tx51karo/v1_0/include/devs_eth_arm_tx51.inl index 230921fd..9d31daac 100644 --- a/packages/devs/eth/arm/tx51karo/v1_0/include/devs_eth_arm_tx51.inl +++ b/packages/devs/eth/arm/tx51karo/v1_0/include/devs_eth_arm_tx51.inl @@ -58,6 +58,8 @@ #ifdef CYGPKG_DEVS_ETH_PHY +static bool mxc_fec_init(struct cyg_netdevtab_entry *tab); + static char mxc_fec_name[] = "mxc_fec"; #define MX51_GPIO_ADDR(bank) (GPIO1_BASE_ADDR + (((bank) - 1) << 14)) @@ -70,8 +72,7 @@ static char mxc_fec_name[] = "mxc_fec"; // static char oui[3] = CYGDAT_DEVS_ETH_ARM_TX51KARO_OUI; -bool -cyg_plf_redboot_esa_validate(unsigned char *val) +bool cyg_plf_redboot_esa_validate(unsigned char *val) { return (val[0] == oui[0]) && (val[1] == oui[1]) && (val[2] == oui[2]); } @@ -103,121 +104,87 @@ static inline void tx51_set_reg(CYG_ADDRWORD base_addr, CYG_WORD32 offset, CYG_WORD32 val; HAL_READ_UINT32(base_addr + offset, val); - if (net_debug) diag_printf("Changing reg %08x from %08x to %08x\n", base_addr + offset, val, - (val & ~clr_mask) | set_mask); + if (net_debug) diag_printf("Changing reg %08x from %08x to %08x\n", + base_addr + offset, val, + (val & ~clr_mask) | set_mask); val = (val & ~clr_mask) | set_mask; HAL_WRITE_UINT32(base_addr + offset, val); } static struct tx51_gpio_setup { cyg_uint32 iomux_addr; - cyg_uint8 on_func; - cyg_uint8 off_func; - cyg_uint8 grp; - cyg_uint8 shift; + unsigned on_func:5, + off_func:5, + grp:3, + shift:5, + dir:1, /* 0: input; 1: output */ + level:1; } tx51_fec_gpio_data[] = { - /* iomux reg offset, func, gpgrp, */ - /* gpiofn, gpshift, */ - { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS3, 0x12, 0x13, 3, 19, }, /* MDC */ - { IOMUXC_SW_MUX_CTL_PAD_EIM_EB2, 0x13, 0x11, 2, 22, }, /* MDIO */ - { IOMUXC_SW_MUX_CTL_PAD_NANDF_RB3, 0x11, 0x13, 3, 11, }, /* RXC */ - { IOMUXC_SW_MUX_CTL_PAD_NANDF_D11, 0x12, 0x13, 3, 29, }, /* RDV */ - { IOMUXC_SW_MUX_CTL_PAD_NANDF_D9, 0x12, 0x13, 3, 31, }, /* RXD0 */ - { IOMUXC_SW_MUX_CTL_PAD_EIM_EB3, 0x13, 0x11, 2, 23, }, /* RXD1 */ - { IOMUXC_SW_MUX_CTL_PAD_EIM_CS2, 0x13, 0x11, 2, 27, }, /* RXD2 */ - { IOMUXC_SW_MUX_CTL_PAD_EIM_CS3, 0x13, 0x11, 2, 28, }, /* RXD3 */ - { IOMUXC_SW_MUX_CTL_PAD_EIM_CS4, 0x13, 0x11, 2, 29, }, /* RX_ER */ - { IOMUXC_SW_MUX_CTL_PAD_NANDF_RDY_INT, 0x11, 0x13, 3, 24, }, /* TXC */ - { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS7, 0x11, 0x13, 3, 23, }, /* TXE */ - { IOMUXC_SW_MUX_CTL_PAD_NANDF_D8, 0x12, 0x13, 4, 0, }, /* TXD0 */ - { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS4, 0x12, 0x13, 3, 20, }, /* TXD1 */ - { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS5, 0x12, 0x13, 3, 21, }, /* TXD2 */ - { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS6, 0x12, 0x13, 3, 22, }, /* TXD3 */ - { IOMUXC_SW_MUX_CTL_PAD_NANDF_RB2, 0x11, 0x13, 3, 10, }, /* COL */ - { IOMUXC_SW_MUX_CTL_PAD_EIM_CS5, 0x13, 0x11, 2, 30, }, /* CRS */ - { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS2, 0x13, 0x13, 3, 18, }, /* TX_ER */ -}; - -static struct tx51_gpio_setup tx51_fec_pwr_pins[] = { - { IOMUXC_SW_MUX_CTL_PAD_EIM_A20, 0x11, 0x11, 2, 14, }, /* PHY reset */ - { IOMUXC_SW_MUX_CTL_PAD_GPIO1_3, 0x10, 0x10, 1, 3, }, /* PHY power enable */ + /* iomux reg offset, func, gpgrp, in/out */ + /* gpiofn, gpshft,level */ + { IOMUXC_SW_MUX_CTL_PAD_EIM_A20, 0x11, 0x11, 2, 14, 1, 0, }, /* PHY reset */ + { IOMUXC_SW_MUX_CTL_PAD_GPIO1_3, 0x10, 0x10, 1, 3, 1, 1, }, /* PHY power enable */ + { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS3, 0x02, 0x13, 3, 19, 1, 0, }, /* MDC */ + { IOMUXC_SW_MUX_CTL_PAD_EIM_EB2, 0x03, 0x11, 2, 22, 1, 0, }, /* MDIO */ + { IOMUXC_SW_MUX_CTL_PAD_NANDF_RB3, 0x01, 0x13, 3, 11, 0, }, /* RX_CLK */ + { IOMUXC_SW_MUX_CTL_PAD_NANDF_D11, 0x02, 0x13, 3, 29, 0, }, /* RX_DV */ + { IOMUXC_SW_MUX_CTL_PAD_NANDF_D9, 0x02, 0x13, 3, 31, 1, 1, }, /* RXD0/Mode0 */ + { IOMUXC_SW_MUX_CTL_PAD_EIM_EB3, 0x03, 0x11, 2, 23, 1, 1, }, /* RXD1/Mode1 */ + { IOMUXC_SW_MUX_CTL_PAD_EIM_CS2, 0x03, 0x11, 2, 27, 1, 1, }, /* RXD2/Mode2 */ + { IOMUXC_SW_MUX_CTL_PAD_EIM_CS3, 0x03, 0x11, 2, 28, 1, 1, }, /* RXD3/nINTSEL */ + { IOMUXC_SW_MUX_CTL_PAD_EIM_CS4, 0x03, 0x11, 2, 29, 0, }, /* RX_ER/RXD4 */ + { IOMUXC_SW_MUX_CTL_PAD_NANDF_RDY_INT, 0x01, 0x13, 3, 24, 0, }, /* TX_CLK */ + { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS7, 0x01, 0x13, 3, 23, 1, 0, }, /* TX_EN */ + { IOMUXC_SW_MUX_CTL_PAD_NANDF_D8, 0x02, 0x13, 4, 0, 1, 0, }, /* TXD0 */ + { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS4, 0x02, 0x13, 3, 20, 1, 0, }, /* TXD1 */ + { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS5, 0x02, 0x13, 3, 21, 1, 0, }, /* TXD2 */ + { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS6, 0x02, 0x13, 3, 22, 1, 0, }, /* TXD3 */ + { IOMUXC_SW_MUX_CTL_PAD_NANDF_RB2, 0x01, 0x13, 3, 10, 1, 0, }, /* COL/RMII/CRSDV */ + { IOMUXC_SW_MUX_CTL_PAD_EIM_CS5, 0x03, 0x11, 2, 30, 1, 0, }, /* CRS */ + { IOMUXC_SW_MUX_CTL_PAD_NANDF_CS2, 0x03, 0x13, 3, 18, 0, }, /* nINT/TX_ER/TXD4 */ }; -static struct tx51_gpio_setup tx51_fec_strap_pins[] = { - { IOMUXC_SW_MUX_CTL_PAD_GPIO1_3, 0x10, 0x10, 1, 3, }, /* PHY Power enable */ - { IOMUXC_SW_MUX_CTL_PAD_NANDF_D9, 0x12, 0x13, 3, 31, }, /* Mode[0] */ - { IOMUXC_SW_MUX_CTL_PAD_EIM_EB3, 0x13, 0x11, 2, 23, }, /* Mode[1] */ - { IOMUXC_SW_MUX_CTL_PAD_EIM_CS2, 0x13, 0x11, 2, 27, }, /* Mode[2] */ - { IOMUXC_SW_MUX_CTL_PAD_EIM_CS3, 0x13, 0x11, 2, 28, }, /* nINTSEL */ -}; - -static inline void tx51_phy_power_off(void) +static inline void tx51_phy_gpio_init(void) { int i; - if (net_debug) diag_printf("Switching PHY POWER off\n"); -#if 1 - for (i = 0; i < NUM_ELEMS(tx51_fec_gpio_data); i++) { - struct tx51_gpio_setup *gs = &tx51_fec_gpio_data[i]; + if (net_debug) diag_printf("PHY GPIO init\n"); - if (net_debug) diag_printf("%s: GPIO%d_%d[%d] is %d\n", __FUNCTION__, - gs->grp, gs->shift, i, - gpio_tst_bit(gs->grp, gs->shift)); - } -#endif - /* deassert all pins attached to the PHY */ - for (i = 0; i < NUM_ELEMS(tx51_fec_pwr_pins); i++) { - struct tx51_gpio_setup *gs = &tx51_fec_pwr_pins[i]; - - tx51_set_reg(MX51_GPIO_ADDR(gs->grp), - GPIO_DR, 0, 1 << gs->shift); - tx51_set_reg(MX51_GPIO_ADDR(gs->grp), - GPIO_GDIR, 1 << gs->shift, 0); - } + /* setup all pins attached to the PHY to required level */ for (i = 0; i < NUM_ELEMS(tx51_fec_gpio_data); i++) { struct tx51_gpio_setup *gs = &tx51_fec_gpio_data[i]; -#if 0 - tx51_set_reg(MX51_GPIO_ADDR(gs->grp), - GPIO_GDIR, 0, 1 << gs->shift); -#else + tx51_set_reg(MX51_GPIO_ADDR(gs->grp), - GPIO_DR, 0, 1 << gs->shift); + GPIO_DR, gs->level << gs->shift, !gs->level << gs->shift); tx51_set_reg(MX51_GPIO_ADDR(gs->grp), GPIO_GDIR, 1 << gs->shift, 0); -#endif - tx51_write_reg(0, gs->iomux_addr, gs->off_func); + tx51_write_reg(gs->iomux_addr, 0, gs->off_func); } for (i = 0; i < NUM_ELEMS(tx51_fec_gpio_data); i++) { struct tx51_gpio_setup *gs = &tx51_fec_gpio_data[i]; - if (gpio_tst_bit(gs->grp, gs->shift)) { - diag_printf("%s: GPIO%d_%d[%d] is not low\n", __FUNCTION__, - gs->grp, gs->shift, i); + if (gs->dir) { + if (gs->level ^ gpio_tst_bit(gs->grp, gs->shift)) { + diag_printf("%s: GPIO%d_%d[%d] is not %s\n", __FUNCTION__, + gs->grp, gs->shift, i, gs->level ? "HIGH" : "LOW"); + } } } - if (net_debug) diag_printf("PHY POWER off done\n"); + if (net_debug) diag_printf("PHY GPIO init done\n"); } -static bool mxc_fec_init(struct cyg_netdevtab_entry *tab); static bool tx51_fec_init(struct cyg_netdevtab_entry *tab) { -#if 1 cyg_bool esa_set; int ok; /* Check, whether MAC address is enabled */ ok = CYGACC_CALL_IF_FLASH_CFG_OP(CYGNUM_CALL_IF_FLASH_CFG_GET, "fec_esa", &esa_set, CONFIG_BOOL); -#if 0 -ok |= 0; -//esa_set |= ok; -net_debug |= 1; -#endif if (!(ok && esa_set)) { diag_printf("FEC disabled; set fec_esa=true to enable networking\n"); return false; } -#endif return mxc_fec_init(tab); } @@ -225,130 +192,30 @@ static void tx51_fec_phy_init(void) { int i; int phy_reset_delay = 100; - int dbg = net_debug; -#if 0 - net_debug |= 1; -#endif /* * make sure the ETH PHY strap pins are pulled to the right voltage * before deasserting the PHY reset GPIO */ - /* assert FEC PHY Reset (GPIO2_14) and switch PHY power on (GPIO1_3) */ - -#if 0 - tx51_phy_power_off(); -#endif + tx51_phy_gpio_init(); + /* LAN8700 requires 21ms to power up */ + phy_reset_delay = 22000; if (!gpio_tst_bit(1, 3)) { - if (0 || net_debug) diag_printf("Switching PHY POWER on\n"); - gpio_clr_bit(2, 14); - gpio_set_bit(1, 3); - /* wait for 22ms for LAN8700 to power up */ - phy_reset_delay = 22000; -#if 1 - if (!gpio_tst_bit(1, 3)) { - diag_printf("**Failed to switch PHY power on: GPIO1_PSR[%08lx]=%08x\n", - MX51_GPIO_ADDR(1) + GPIO_PSR, - tx51_read_reg(MX51_GPIO_ADDR(1), GPIO_PSR)); - } -#endif -#if 1 - if (gpio_tst_bit(2, 14)) { - diag_printf("**Failed to assert PHY reset: GPIO2_PSR[%08lx]=%08x\n", - MX51_GPIO_ADDR(2) + GPIO_PSR, - tx51_read_reg(MX51_GPIO_ADDR(2), GPIO_PSR)); - } -#endif - } else { - if (0 || net_debug) diag_printf("Asserting PHY RESET\n"); - gpio_clr_bit(2, 14); -#if 1 - if (gpio_tst_bit(2, 14)) { - diag_printf("**Failed to assert PHY reset: GPIO2_PSR[%08lx]=%08x\n", - MX51_GPIO_ADDR(2) + GPIO_PSR, - tx51_read_reg(MX51_GPIO_ADDR(2), GPIO_PSR)); - } -#endif + diag_printf("**Failed to switch PHY power on: GPIO1_PSR[%08lx]=%08x\n", + MX51_GPIO_ADDR(1) + GPIO_PSR, + tx51_read_reg(MX51_GPIO_ADDR(1), GPIO_PSR)); } - for (i = 0; i < NUM_ELEMS(tx51_fec_gpio_data); i++) { - struct tx51_gpio_setup *gs = &tx51_fec_gpio_data[i]; - int j; - int strap = 0; - - for (j = 0; j < NUM_ELEMS(tx51_fec_strap_pins); j++) { - struct tx51_gpio_setup *sp = &tx51_fec_strap_pins[j]; - - if (gs->grp == sp->grp && gs->shift == sp->shift) { - strap = 1; - break; - } - } - if (strap) { - gpio_set_bit(gs->grp, gs->shift); - if (net_debug) diag_printf("Setting GPIO%d_%d[%d] high\n", - gs->grp, gs->shift, i); - } else { - gpio_clr_bit(gs->grp, gs->shift); - if (net_debug) diag_printf("Setting GPIO%d_%d[%d] low\n", - gs->grp, gs->shift, i); - } - tx51_set_reg(MX51_GPIO_ADDR(gs->grp), - GPIO_GDIR, 1 << gs->shift, 0); - tx51_write_reg(0, gs->iomux_addr, - gs->off_func); + if (gpio_tst_bit(2, 14)) { + diag_printf("**Failed to assert PHY reset: GPIO2_PSR[%08lx]=%08x\n", + MX51_GPIO_ADDR(2) + GPIO_PSR, + tx51_read_reg(MX51_GPIO_ADDR(2), GPIO_PSR)); } -#if 1 - /* configure FEC strap pins to their required values */ - for (i = 0; i < NUM_ELEMS(tx51_fec_strap_pins); i++) { - struct tx51_gpio_setup *gs = &tx51_fec_strap_pins[i]; - if (net_debug) diag_printf("Asserting GPIO%d_%d\n", gs->grp, - gs->shift); - tx51_set_reg(MX51_GPIO_ADDR(gs->grp), - GPIO_GDIR, 1 << gs->shift, 0); - tx51_set_reg(MX51_GPIO_ADDR(gs->grp), - GPIO_DR, 1 << gs->shift, 0); - tx51_write_reg(0, gs->iomux_addr, - gs->off_func); - gpio_set_bit(gs->grp, gs->shift); - if (!gpio_tst_bit(gs->grp, gs->shift)) { - diag_printf("**Failed to assert GPIO%d_%d: GPIO%d_PSR[%08lx]=%08x\n", - gs->grp, gs->shift, gs->grp, - MX51_GPIO_ADDR(gs->grp) + GPIO_PSR, - tx51_read_reg(MX51_GPIO_ADDR(gs->grp), GPIO_PSR)); - } - } -#endif - for (i = 0; i < NUM_ELEMS(tx51_fec_gpio_data); i++) { - struct tx51_gpio_setup *gs = &tx51_fec_gpio_data[i]; - int j; - int strap = 0; - - for (j = 0; j < NUM_ELEMS(tx51_fec_strap_pins); j++) { - struct tx51_gpio_setup *sp = &tx51_fec_strap_pins[j]; - - if (gs->grp == sp->grp && gs->shift == sp->shift) { - strap = 1; - break; - } - } - if (strap) { - if (!gpio_tst_bit(gs->grp, gs->shift)) { - diag_printf("GPIO%d_%d[%d] is low instead of high\n", - gs->grp, gs->shift, i); - } - } else { - if (gpio_tst_bit(gs->grp, gs->shift)) { - diag_printf("GPIO%d_%d[%d] is high instead of low\n", - gs->grp, gs->shift, i); - } - } - } - /* wait for 100us according to LAN8700 spec. before ... */ + /* wait the specified time according to LAN8700 spec. before ... */ HAL_DELAY_US(phy_reset_delay); /* ... deasserting FEC PHY reset */ - if (0 || net_debug) diag_printf("Releasing PHY RESET\n"); + if (net_debug) diag_printf("Releasing PHY RESET\n"); gpio_set_bit(2, 14); if (!gpio_tst_bit(2, 14)) { diag_printf("**Failed to release PHY reset\n"); @@ -358,10 +225,8 @@ static void tx51_fec_phy_init(void) for (i = 0; i < NUM_ELEMS(tx51_fec_gpio_data); i++) { struct tx51_gpio_setup *gs = &tx51_fec_gpio_data[i]; - tx51_write_reg(0, gs->iomux_addr, gs->on_func); - HAL_DELAY_US(10000); + tx51_write_reg(gs->iomux_addr, 0, gs->on_func); } - net_debug = dbg; } ETH_PHY_REG_LEVEL_ACCESS_FUNS(eth0_phy, @@ -479,13 +344,13 @@ NETDEVTAB_ENTRY(mxc_fec_netdev, RedBoot_config_option("Set FEC network hardware address [MAC]", fec_esa, ALWAYS_ENABLED, true, - CONFIG_BOOL, false - ); + CONFIG_BOOL, true + ); RedBoot_config_option("FEC network hardware address [MAC]", fec_esa_data, "fec_esa", true, CONFIG_ESA, 0 - ); + ); #endif // CYGPKG_REDBOOT && CYGSEM_REDBOOT_FLASH_CONFIG #ifdef CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT diff --git a/packages/devs/eth/fec/v2_0/cdl/fec_eth_drivers.cdl b/packages/devs/eth/fec/v2_0/cdl/fec_eth_drivers.cdl index 101d8eb2..683509f3 100644 --- a/packages/devs/eth/fec/v2_0/cdl/fec_eth_drivers.cdl +++ b/packages/devs/eth/fec/v2_0/cdl/fec_eth_drivers.cdl @@ -85,15 +85,5 @@ cdl_package CYGPKG_DEVS_ETH_FEC { to the set of global flags." } } - - cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK { - display "MXC FEC MII Gasket for RMII mode" - active_if CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - flavor bool - default_value 1 - description " - This option enables the use of the MII Gasket for - RMII mode found in i.MX25 and i.MX53 processors." - } } diff --git a/packages/devs/eth/fec/v2_0/include/fec.h b/packages/devs/eth/fec/v2_0/include/fec.h index 87a5a565..2f3f2a93 100644 --- a/packages/devs/eth/fec/v2_0/include/fec.h +++ b/packages/devs/eth/fec/v2_0/include/fec.h @@ -147,7 +147,7 @@ void mxc_fec_phy_write(int reg, int unit, unsigned short data); #define FEC_BD_RX_NUM 256 #define FEC_BD_TX_NUM 2 -#ifdef CYGOPT_HAL_ARM_MXC_FEC_MIIGSK +#ifdef CYGPKG_HAL_ARM_MX25 /* the defines for MIIGSK */ /* RMII frequency control: 0=50MHz, 1=5MHz */ @@ -199,7 +199,7 @@ typedef volatile void mxc_fec_reg_t; #define erdsr 0x180 /*Pointer to Receive Descriptor Ring*/ #define etdsr 0x184 /*Pointer to Transmit Descriptor Ring*/ #define emrbr 0x188 /*Maximum Receive Buffer size*/ -#ifdef CYGOPT_HAL_ARM_MXC_FEC_MIIGSK +#ifdef CYGPKG_HAL_ARM_MX25 #define miigsk_cfgr 0x300 /* MIIGSK Configuration Register */ #define miigsk_enr 0x308 /* MIIGSK Enable Register */ #endif diff --git a/packages/devs/eth/fec/v2_0/src/if_fec.c b/packages/devs/eth/fec/v2_0/src/if_fec.c index 8708e63d..172588f4 100644 --- a/packages/devs/eth/fec/v2_0/src/if_fec.c +++ b/packages/devs/eth/fec/v2_0/src/if_fec.c @@ -299,7 +299,7 @@ mxc_fec_set_mac_address(volatile mxc_fec_reg_t *hw_reg, unsigned char *enaddr) mxc_fec_reg_write(hw_reg, paur, value << 16); } -#ifdef CYGOPT_HAL_ARM_MXC_FEC_MIIGSK +#ifdef CYGPKG_HAL_ARM_MX25 static int mxc_fec_mii_setup(mxc_fec_priv_t *priv) { volatile mxc_fec_reg_t *hw_reg = priv->hw_reg; diff --git a/packages/devs/eth/phy/v2_0/src/LAN8700.c b/packages/devs/eth/phy/v2_0/src/LAN8700.c index f0dffd6e..85da4d03 100644 --- a/packages/devs/eth/phy/v2_0/src/LAN8700.c +++ b/packages/devs/eth/phy/v2_0/src/LAN8700.c @@ -2,7 +2,7 @@ // // dev/AM79C874.c // -// Ethernet transceiver (PHY) support +// Ethernet transceiver (PHY) support // //========================================================================== //####ECOSGPLCOPYRIGHTBEGIN#### @@ -41,11 +41,11 @@ //#####DESCRIPTIONBEGIN#### // // Author(s): LW@KARO-electronics.de -// Contributors: +// Contributors: // Date: 2008-01-28 -// Purpose: +// Purpose: // Description: Support for ethernet SMSC LAN8700 PHY -// +// // //####DESCRIPTIONEND#### // @@ -105,9 +105,8 @@ static bool lan8700_stat(eth_phy_access_t *f, int *state) return true; } } - return false; + return false; } _eth_phy_dev("SMSC LAN8700 Rev. 3", 0x0007c0c3, lan8700_stat) _eth_phy_dev("SMSC LAN8700 Rev. 4", 0x0007c0c4, lan8700_stat) -_eth_phy_dev("SMSC LAN8710 Rev. 1", 0x0007c0f1, lan8700_stat) diff --git a/packages/devs/flash/arm/mxc/v2_0/cdl/mxc_flash_select.cdl b/packages/devs/flash/arm/mxc/v2_0/cdl/mxc_flash_select.cdl index 2e284c32..530e810a 100644 --- a/packages/devs/flash/arm/mxc/v2_0/cdl/mxc_flash_select.cdl +++ b/packages/devs/flash/arm/mxc/v2_0/cdl/mxc_flash_select.cdl @@ -66,8 +66,7 @@ cdl_package CYGPKG_DEVS_FLASH_ONMXC { cdl_option CYGHWR_DEVS_FLASH_MMC_ESDHC { display "MXC platform MMC card for newer SDHC controllers" - active_if { CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || - CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX51 } + active_if { CYGPKG_HAL_ARM_MX37_3STACK || CYGPKG_HAL_ARM_MX35_3STACK || CYGPKG_HAL_ARM_MX25_3STACK || CYGPKG_HAL_ARM_MX51} default_value 1 requires { CYGSEM_IO_FLASH_READ_INDIRECT == 1 } compile mxcmci_core.c mxcmci_host.c mxcmci_mmc.c mxcmci_sd.c mxcmci_sd.c diff --git a/packages/devs/flash/arm/mxc/v2_0/include/mxc_nand_parts.inl b/packages/devs/flash/arm/mxc/v2_0/include/mxc_nand_parts.inl index e64d465c..a7d4aaf6 100644 --- a/packages/devs/flash/arm/mxc/v2_0/include/mxc_nand_parts.inl +++ b/packages/devs/flash/arm/mxc/v2_0/include/mxc_nand_parts.inl @@ -447,4 +447,26 @@ vendor_info: "Micron MT29F32G08QAA 8-bit 4K page 4GB (32Gb) nand, 218B spare", max_bad_blk: 20, }, + { + device_id : 0xa198, // Toshiba TC58NYG0S3EBAI4 (2KB page 8 bit nand) + device_id2 : 0xFFFF, + device_id3 : 0xFFFF, + device_id4 : 0xFFFF, + col_cycle : 2, + row_cycle : 2, + page_size : 512 * 4, + spare_size : 16 * 4, + pages_per_block : 64, + block_size : 64 * 2 * 1024, + block_count: 1024, + device_size: 0x08000000, // 128MB device =0x08000000 + port_size : MXC_NAND_8_BIT, + type : NAND_SLC, + options : NAND_BBT_SCAN2NDPAGE, + fis_start_addr: 0x80000, // first 0.5MB reserved for Redboot + bbt_blk_max_nr: 4, // reserve 4 blocks for the bad block tables + bi_off : MXC_NAND_BI_OFF(2048, 512 + 16), + vendor_info: "Toshiba TC58NYG0S3EBAI4 8-bit 2K page 128MB", + max_bad_blk: 20, + }, #endif // CYGONCE_DEVS_FLASH_MXC_NAND_PARTS_INL diff --git a/packages/devs/flash/arm/mxc/v2_0/include/mxc_nfc_v3.h b/packages/devs/flash/arm/mxc/v2_0/include/mxc_nfc_v3.h index 347e8133..89b31ffd 100644 --- a/packages/devs/flash/arm/mxc/v2_0/include/mxc_nfc_v3.h +++ b/packages/devs/flash/arm/mxc/v2_0/include/mxc_nfc_v3.h @@ -109,19 +109,17 @@ enum nfc_output_mode { CYG_MACRO_START \ int loops = MAX_LOOPS; \ static int max_loops = MAX_LOOPS; \ - \ while ((nfc_reg_read(NFC_IPC_REG) & NFC_IPC_AUTO_DONE) == 0) { \ HAL_DELAY_US(10); \ if (loops-- < 0) { \ - diag_printf("%s: Timeout waiting for prog done\n", \ - __func__); \ + diag_printf("%s: Timeout waiting for prog done\n", __FUNCTION__); \ break; \ } \ } \ - if (MAX_LOOPS - loops < max_loops) { \ + if (loops < max_loops) { \ diag_printf1("%s: auto_prog done after %u loops\n", \ __FUNCTION__, MAX_LOOPS - loops); \ - max_loops = MAX_LOOPS - loops; \ + max_loops = loops; \ } \ nfc_reg_write((nfc_reg_read(NFC_IPC_REG) & ~NFC_IPC_AUTO_DONE), \ NFC_IPC_REG); \ @@ -132,49 +130,23 @@ enum nfc_output_mode { CYG_MACRO_START \ int loops = MAX_LOOPS; \ static int max_loops = MAX_LOOPS; \ - \ while ((nfc_reg_read(NFC_IPC_REG) & NFC_IPC_INT) == 0) { \ HAL_DELAY_US(10); \ if (loops-- < 0) { \ - diag_printf("%s: Timeout waiting for NFC ready\n", \ - __func__); \ + diag_printf("%s: Timeout waiting for NFC ready\n", __FUNCTION__); \ break; \ } \ } \ - if (MAX_LOOPS - loops < max_loops) { \ + if (loops < max_loops) { \ diag_printf1("%s: NFC ready after %u loops\n", \ __FUNCTION__, MAX_LOOPS - loops); \ - max_loops = MAX_LOOPS - loops; \ + max_loops = loops; \ } \ nfc_reg_write(0, NFC_IPC_REG); \ CYG_MACRO_END -#if 0 #define nfc_reg_read(r) readl(r) #define nfc_reg_write(v, r) writel(v, r) -#else -#define nfc_reg_read(r) __nfc_reg_read(r, #r, __func__, __LINE__) -#define nfc_reg_write(v, r) __nfc_reg_write(v, r, #r, __func__, __LINE__) - -static inline u32 __nfc_reg_read(unsigned long reg, const char *reg_name, - const char *fn, int ln) -{ - u32 val; - - val = readl(reg); - if (g_nfc_debug_level >= NFC_DEBUG_MAX) - diag_printf("%s@%d: Read %08x from %s[%08lx]\n", fn, ln, val, reg_name, reg); - return val; -} - -static inline void __nfc_reg_write(u32 val, unsigned long reg, - const char *reg_name, const char *fn, int ln) -{ - if (g_nfc_debug_level >= NFC_DEBUG_MAX) - diag_printf("%s@%d: Writing %08x to %s[%08lx]\n", fn, ln, val, reg_name, reg); - writel(val, reg); -} -#endif static void write_nfc_ip_reg(u32 val, u32 reg) { @@ -195,10 +167,10 @@ static void write_nfc_ip_reg(u32 val, u32 reg) return; } } - if (MAX_LOOPS - loops < max_loops) { - diag_printf1("%s: NFC ready after %u loops\n", + if (loops < max_loops) { + diag_printf("%s: NFC ready after %u loops\n", __FUNCTION__, MAX_LOOPS - loops); - max_loops = MAX_LOOPS - loops; + max_loops = loops; } nfc_reg_write(val, reg); nfc_reg_write((nfc_reg_read(NFC_IPC_REG) & ~NFC_IPC_CREQ), NFC_IPC_REG); @@ -253,6 +225,7 @@ static void NFC_SET_NFC_ACTIVE_CS(u32 cs_line) nfc_reg_write(v, NAND_CONFIGURATION1_REG); } +#ifdef IMX51_TO_2 static inline u16 NFC_STATUS_READ(void) { u16 val = nfc_reg_read(NAND_STATUS_SUM_REG); @@ -262,6 +235,28 @@ static inline u16 NFC_STATUS_READ(void) } return val; } +#else +static inline u16 NFC_STATUS_READ(void) +{ + u32 status; + int i; + u16 status_sum = 0; + + /* Cannot rely on STATUS_SUM register due to errata */ + for (i = 0; i < num_of_nand_chips; i++) { + NFC_SET_NFC_ACTIVE_CS(i); + do { + nfc_reg_write(NAND_LAUNCH_AUTO_STAT, NAND_LAUNCH_REG); + status = (nfc_reg_read(NAND_CONFIGURATION1_REG) & 0x00FF0000) >> 16; + } while ((status & 0x40) == 0); // make sure I/O 6 == 1 + /* Get Pass/Fail status */ + status = (nfc_reg_read(NAND_CONFIGURATION1_REG) >> 16) & 0x1; + status_sum |= (status << i); + } + diag_printf("NFC TO2 STATUS: %04x\n", status_sum); + return status_sum; +} +#endif /* This function uses a global variable for the page size. It shouldn't be a big * problem since we don't expect mixed page size nand flash parts on the same IC. diff --git a/packages/devs/flash/arm/mxc/v2_0/include/mxcmci_core.h b/packages/devs/flash/arm/mxc/v2_0/include/mxcmci_core.h index 9042f085..04774da3 100644 --- a/packages/devs/flash/arm/mxc/v2_0/include/mxcmci_core.h +++ b/packages/devs/flash/arm/mxc/v2_0/include/mxcmci_core.h @@ -30,21 +30,25 @@ Portability: Portable to other compilers or platforms. #include "mxcmci_mmc.h" #include "mxcmci_host.h" -#define SUCCESS 0 -#define FAIL 1 -#define NO_ARG 0 -#define RCA_SHIFT 16 -#define MMCSD_READY_TIMEOUT 3000 /* ~(3s / (2 * 48 * 10us)) */ -#define ESDHC_ACMD41_TIMEOUT 48000 /* 1.5 sec =1500 msec delay for ACMD41 cmd */ +#define SUCCESS 0 +#define FAIL 1 +#define NO_ARG 0 +#define RCA_SHIFT 16 +#define ONE 1 +#define FOUR 4 +#define EIGHT 8 +#define TWO_K_SIZE 2048 +#define MMCSD_READY_TIMEOUT 3000 /* ~(3s / (2 * 48 * 10us)) */ +#define ESDHC_ACMD41_TIMEOUT 48000 /* 1.5 sec =1500 msec delay for ACMD41 cmd */ #define MMCSD_SUPPORT #define CURR_CARD_STATE(r) ((cyg_uint32) ((r) & 0x1E00) >> 9) -/* Defines of CSD data*/ -#define CSD_STRUCT_MSK 0x00C00000 -#define CSD_STRUCT_SHIFT 22 -#define MMC_CSD_SPEC_VERS_MASK 0x003C0000 -#define MMC_CSD_SPEC_VERS_SHIFT 18 +/*Defines of CSD data*/ +#define CSD_STRUCT_MSK 0x00C00000 +#define CSD_STRUCT_SHIFT 22 +#define MMC_CSD_SPEC_VERS_MASK 0x003C0000 +#define MMC_CSD_SPEC_VERS_SHIFT 18 extern cyg_uint32 Card_rca; extern cyg_uint32 address_mode; @@ -52,7 +56,6 @@ extern cyg_uint32 MMC_Spec_vers; extern card_specific_data csd; /* Global variable for Card Specific Data */ extern cyg_uint32 Card_capacity_size; /* Capacity size (C_SIZE) for card*/ extern cyg_uint32 CCC; /* Card Command Class */ -extern int HighCapacityCard; /* Defines the id for each command */ @@ -116,7 +119,7 @@ typedef enum MMC_CSD_1_1, MMC_CSD_1_2, MMC_UNKNOWN -} card_type; +}card_type; typedef struct { @@ -124,12 +127,12 @@ typedef struct cyg_uint32 cid1; cyg_uint32 cid2; cyg_uint32 cid3; -} card_ident; +}card_ident; /* CARD Flash Configuration Parameters Structure */ typedef struct { - cyg_uint32 length; /* Length of Card data to read */ + cyg_uint32 length; /* Length of Card data to read */ } CARD_FLASH_CFG_PARMS_T; /*================================================================================================== @@ -146,8 +149,6 @@ extern cyg_uint32 mxcmci_get_cid (void); extern cyg_uint32 mxcmci_trans_prepare(void); extern void mxcmci_cmd_config (command_t *cmd_config,cyg_uint32 index,cyg_uint32 argument,xfer_type_t transfer,response_format_t format, data_present_select data,crc_check_enable crc,cmdindex_check_enable cmdindex); -extern cyg_uint32 mxcmci_trans_status(void); -extern cyg_uint32 card_get_csd(void); #endif //_MXCMCI_CORE_H_ diff --git a/packages/devs/flash/arm/mxc/v2_0/include/mxcmci_mmc.h b/packages/devs/flash/arm/mxc/v2_0/include/mxcmci_mmc.h index 681bdc20..697aa3d6 100644 --- a/packages/devs/flash/arm/mxc/v2_0/include/mxcmci_mmc.h +++ b/packages/devs/flash/arm/mxc/v2_0/include/mxcmci_mmc.h @@ -1,14 +1,14 @@ #ifndef _MXCMCI_MMC_H_ #define _MXCMCI_MMC_H_ -// ========================================================================== -// +// ========================================================================== +// // Module Name: mxcmci_mmc.h // // General Description: Limited Bootloader eSDHC Driver. -// -// -// ========================================================================== +// +// +// ========================================================================== //####ECOSGPLCOPYRIGHTBEGIN#### // ------------------------------------------- // This file is part of eCos, the Embedded Configurable Operating System. @@ -49,7 +49,7 @@ // Date: 2008-05-13 Initial version // Purpose: // Description: -// +// // //####DESCRIPTIONEND#### //==================================================================================================== @@ -65,7 +65,7 @@ #define CARD_BUSY_BIT 0x80000000 #define CURR_STATE_SHIFT 9 #define MMC_SPEC_VER 0x003C0000 -#define MMC_SPEC_VER_SHIFT 18 +#define MMC_SPEC_VER_SHIFT 18 #define MMC_R1_SWITCH_ERROR_MASK 0x80 #define SWITCH_ERROR_SHIFT 7 #define BUS_SIZE_SHIFT 2 @@ -81,15 +81,14 @@ extern cyg_uint32 mmc_get_spec_ver (void); extern cyg_uint32 sd_voltage_validation (void); extern cyg_uint32 sd_init(cyg_uint32); extern cyg_uint32 card_flash_query(void* data); -extern int sdmmc_set_blklen(int len); -typedef struct +typedef struct { cyg_uint32 csd0; cyg_uint32 csd1; cyg_uint32 csd2; cyg_uint32 csd3; -} card_specific_data; +}card_specific_data; #endif /* _MXCMCI_MMC_H_ */ diff --git a/packages/devs/flash/arm/mxc/v2_0/src/mxc_mmc.c b/packages/devs/flash/arm/mxc/v2_0/src/mxc_mmc.c index 86a79913..118f6f92 100644 --- a/packages/devs/flash/arm/mxc/v2_0/src/mxc_mmc.c +++ b/packages/devs/flash/arm/mxc/v2_0/src/mxc_mmc.c @@ -66,12 +66,11 @@ #include #include -#ifdef CYGPKG_HAL_ARM_MX31 +#if defined(CYGPKG_HAL_ARM_MX31ADS) || defined(CYGPKG_HAL_ARM_MX31_3STACK) #include #endif -#if defined(CYGPKG_HAL_ARM_MX25) || defined(CYGPKG_HAL_ARM_MX35) || \ - defined(CYGPKG_HAL_ARM_MX37) || defined(CYGPKG_HAL_ARM_MX51) +#if defined(CYGPKG_HAL_ARM_MX25_3STACK) || defined(CYGPKG_HAL_ARM_MX35_3STACK) || defined(CYGPKG_HAL_ARM_MX37_3STACK) || defined(CYGPKG_HAL_ARM_MX51) #include #endif diff --git a/packages/devs/flash/arm/mxc/v2_0/src/mxc_nfc.c b/packages/devs/flash/arm/mxc/v2_0/src/mxc_nfc.c index 7b19ff0e..683b954e 100644 --- a/packages/devs/flash/arm/mxc/v2_0/src/mxc_nfc.c +++ b/packages/devs/flash/arm/mxc/v2_0/src/mxc_nfc.c @@ -167,7 +167,7 @@ CYG_MACRO_END #define NAND_CONFIGURATION1_REG 0xDEADEEEE #define NFC_FLASH_CONFIG2_REG 0xDEADEEEE #define NFC_FLASH_CONFIG2_ECC_EN 0xDEADEEEE -#define write_nfc_ip_reg(a, b) CYG_EMPTY_STATEMENT +#define write_nfc_ip_reg(a, b) #endif #ifndef MXCFLASH_SELECT_MULTI @@ -188,7 +188,7 @@ void nandflash_query(void *data) __FUNCTION__, __LINE__, &id[0], data); memcpy(data, id, sizeof(id)); } - nfc_printf(NFC_DEBUG_MAX, "%s@%d called from %p\n", __FUNCTION__, __LINE__, + nfc_printf(NFC_DEBUG_MAX, "%s@%d %p\n", __FUNCTION__, __LINE__, __builtin_return_address(0)); } @@ -290,21 +290,21 @@ static const flash_dev_info_t *flash_dev_info; static const flash_dev_info_t supported_devices[] = { #include }; -#define NUM_DEVICES NUM_ELEMS(supported_devices) - -#define COL_CYCLE flash_dev_info->col_cycle -#define ROW_CYCLE flash_dev_info->row_cycle -#define NF_PG_SZ (flash_dev_info->page_size * num_of_nand_chips) -#define NF_SPARE_SZ (flash_dev_info->spare_size * num_of_nand_chips) -#define NF_PG_PER_BLK flash_dev_info->pages_per_block -#define NF_DEV_SZ (flash_dev_info->device_size * num_of_nand_chips_for_nandsize) -#define NF_BLK_SZ (flash_dev_info->block_size * num_of_nand_chips) -#define NF_BLK_CNT (flash_dev_info->block_count / scale_block_cnt) -#define NF_VEND_INFO flash_dev_info->vendor_info -#define NF_OPTIONS flash_dev_info->options -#define NF_BBT_MAX_NR flash_dev_info->bbt_blk_max_nr -#define NF_OPTIONS flash_dev_info->options -#define NF_BI_OFF flash_dev_info->bi_off +#define NUM_DEVICES NUM_ELEMS(supported_devices) + +#define COL_CYCLE flash_dev_info->col_cycle +#define ROW_CYCLE flash_dev_info->row_cycle +#define NF_PG_SZ ((flash_dev_info->page_size) * num_of_nand_chips) +#define NF_SPARE_SZ ((flash_dev_info->spare_size) * num_of_nand_chips) +#define NF_PG_PER_BLK flash_dev_info->pages_per_block +#define NF_DEV_SZ ((flash_dev_info->device_size) * num_of_nand_chips_for_nandsize) +#define NF_BLK_SZ ((flash_dev_info->block_size) * num_of_nand_chips) +#define NF_BLK_CNT ((flash_dev_info->block_count) / scale_block_cnt) +#define NF_VEND_INFO flash_dev_info->vendor_info +#define NF_OPTIONS flash_dev_info->options +#define NF_BBT_MAX_NR flash_dev_info->bbt_blk_max_nr +#define NF_OPTIONS flash_dev_info->options +#define NF_BI_OFF flash_dev_info->bi_off #define MXC_NAND_ADDR_MASK (NF_DEV_SZ - 1) #define BLOCK_TO_OFFSET(blk) ((blk) * NF_PG_PER_BLK * NF_PG_SZ) @@ -315,7 +315,7 @@ static const flash_dev_info_t supported_devices[] = { static u8 *g_bbt, *g_page_buf; static u32 g_bbt_sz; -static bool mxcnfc_init_ok; +static bool mxcnfc_init_ok = false; static bool mxc_nfc_scan_done; // this callback allows the platform specific function to be called right @@ -369,8 +369,6 @@ void mxc_flash_enable(void *start, void *end) flash_addr_t s = (unsigned long)start & MXC_NAND_ADDR_MASK; flash_addr_t e = ((unsigned long)end - 1) & MXC_NAND_ADDR_MASK; - if (start == end) - return; if (flash_enable++ == 0) { flash_region_start = s; flash_region_end = e; @@ -391,8 +389,6 @@ void mxc_flash_disable(void *start, void *end) flash_addr_t s = (unsigned long)start & MXC_NAND_ADDR_MASK; flash_addr_t e = ((unsigned long)end - 1) & MXC_NAND_ADDR_MASK; - if (start == end) - return; if (flash_enable) { if (--flash_enable == 0) { diag_printf1("Disabling flash region 0x%08llx..0x%08llx\n", @@ -427,7 +423,9 @@ nandflash_hwr_init(void) NFC_CMD_INPUT(FLASH_Reset); // Look through table for device data + nfc_printf(NFC_DEBUG_MAX, "%s@%d %p\n", __FUNCTION__, __LINE__, &id[0]); flash_dev_query(&id[0]); + nfc_printf(NFC_DEBUG_MAX, "%s@%d\n", __FUNCTION__, __LINE__); flash_dev_info = supported_devices; for (i = 0; i < NUM_DEVICES; i++) { @@ -437,6 +435,7 @@ nandflash_hwr_init(void) break; flash_dev_info++; } + nfc_printf(NFC_DEBUG_MAX, "%s@%d\n", __FUNCTION__, __LINE__); // Did we find the device? If not, return error. if (NUM_DEVICES == i) { @@ -459,10 +458,12 @@ nandflash_hwr_init(void) nfc_printf(NFC_DEBUG_MED, "%s(): %d out of NUM_DEVICES=%d, id=0x%02x\n", __FUNCTION__, i, NUM_DEVICES, flash_dev_info->device_id); - if (nfc_setup) + if (nfc_setup) { + nfc_printf(NFC_DEBUG_MAX, "%s@%d\n", __FUNCTION__, __LINE__); g_nfc_version = nfc_setup(NF_PG_SZ / num_of_nand_chips, flash_dev_info->port_size, - flash_dev_info->type, num_of_nand_chips); - + flash_dev_info->type, num_of_nand_chips); + } + nfc_printf(NFC_DEBUG_MAX, "%s@%d\n", __FUNCTION__, __LINE__); diag_printf1("NFC version: %02x\n", g_nfc_version); if (g_nfc_version >= MXC_NFC_V3) { for (i = 2; i <= NUM_OF_CS_LINES; i++) { diff --git a/packages/devs/flash/arm/mxc/v2_0/src/mxcmci_core.c b/packages/devs/flash/arm/mxc/v2_0/src/mxcmci_core.c index 474e363e..43d1fb62 100644 --- a/packages/devs/flash/arm/mxc/v2_0/src/mxcmci_core.c +++ b/packages/devs/flash/arm/mxc/v2_0/src/mxcmci_core.c @@ -63,13 +63,13 @@ static cyg_uint32 csd_get_value(void *csd, cyg_uint32 start_bit, #define MMCSD_INIT_DELAY 64 -cyg_uint32 Card_rca = 0x1; /* Relative Card Address */ -card_ident Card_identification; /* Card Identification Data */ -card_type Card_type; /* Card Type */ -cyg_uint32 MMC_Spec_vers = 0x1; /* Spec vers used for MMC */ -card_specific_data csd; /* Global variable for Card Specific Data */ -cyg_uint32 Card_capacity_size = 0; /* Card capacity size */ -cyg_uint32 CCC = 0; /* Card Command Class */ +cyg_uint32 Card_rca = 0x1; /* Relative Card Address */ +card_ident Card_identification; /* Card Identification Data */ +card_type Card_type; /* Card Type */ +cyg_uint32 MMC_Spec_vers = 0x1; /* Spec vers used for MMC */ +card_specific_data csd; /* Global variable for Card Specific Data */ +cyg_uint32 Card_capacity_size = 0; /*Card capacity size */ +cyg_uint32 CCC = 0; /* Card Command Class */ int Card_Mode = 2; int HighCapacityCard = 0; @@ -162,37 +162,39 @@ Detailed Description: ==============================================================================*/ cyg_uint32 card_get_csd(void) { - command_t cmd; - command_response_t response; - cyg_uint32 status = FAIL; - cyg_uint32 card_address = (Card_rca << RCA_SHIFT); - - /* Configure CMD9 for MMC/SD card */ - /* 16bit card address is expected as Argument */ - mxcmci_cmd_config(&cmd, CMD9, card_address, READ, RESPONSE_136, - DATA_PRESENT_NONE, ENABLE, DISABLE); - - /* Issue Command CMD9 to Extrace CSD register contents */ - - if (host_send_cmd(&cmd) != FAIL) { - /* Read Command response */ - response.format = RESPONSE_136; - host_read_response(&response); - - /* Assign Response to CSD Strcuture */ - csd.csd0 = response.cmd_rsp0; - csd.csd1 = response.cmd_rsp1; - csd.csd2 = response.cmd_rsp2; - csd.csd3 = response.cmd_rsp3; - - flash_dprintf(FLASH_DEBUG_MAX, "CSD:%x:%x:%x:%x\n", csd.csd0, - csd.csd1, csd.csd2, csd.csd3); - status = SUCCESS; - } else { - diag_printf("Get CSD Failed.\n"); - } - return status; + command_t cmd; + command_response_t response; + cyg_uint32 status = FAIL; + cyg_uint32 card_address = (Card_rca << RCA_SHIFT); + + /* Configure CMD9 for MMC/SD card */ + /* 16bit card address is expected as Argument */ + mxcmci_cmd_config(&cmd, CMD9, card_address, READ, RESPONSE_136, + DATA_PRESENT_NONE, ENABLE, DISABLE); + + /* Issue Command CMD9 to Extrace CSD register contents */ + + if (host_send_cmd(&cmd) != FAIL) { + /* Read Command response */ + response.format = RESPONSE_136; + host_read_response(&response); + + /* Assign Response to CSD Strcuture */ + csd.csd0 = response.cmd_rsp0; + csd.csd1 = response.cmd_rsp1; + csd.csd2 = response.cmd_rsp2; + csd.csd3 = response.cmd_rsp3; + + flash_dprintf(FLASH_DEBUG_MAX, "CSD:%x:%x:%x:%x\n", csd.csd0, + csd.csd1, csd.csd2, csd.csd3); + status = SUCCESS; + } else { + diag_printf("Get CSD Failed.\n"); + } + + return status; + } static cyg_uint32 csd_get_value(void *csd, cyg_uint32 start_bit, @@ -234,242 +236,248 @@ static cyg_uint32 csd_get_value(void *csd, cyg_uint32 start_bit, __FUNCTION__, value, *pcsd, *(pcsd + 1), *(pcsd + 2), *(pcsd + 3)); return value; + } cyg_uint32 card_get_capacity_size(void) { - cyg_uint32 capacity = 0; - cyg_uint32 c_size, c_size_mult, blk_len; - - if (!csd.csd0 && !csd.csd1 && !csd.csd2 && !csd.csd3) - flash_dprintf(FLASH_DEBUG_MAX, - "WARNINGS:mxcmci_init should be done first!\n"); - - switch (Card_type) { - case SD_CSD_1_0: - case MMC_CSD_1_0: - case MMC_CSD_1_1: - case MMC_CSD_1_2: + cyg_uint32 capacity = 0; + cyg_uint32 c_size, c_size_mult, blk_len; + + if (!csd.csd0 && !csd.csd1 && !csd.csd2 && !csd.csd3) + flash_dprintf(FLASH_DEBUG_MAX, + "WARNINGS:mxcmci_init should be done first!\n"); + + switch (Card_type) { + case SD_CSD_1_0: + case MMC_CSD_1_0: + case MMC_CSD_1_1: + case MMC_CSD_1_2: c_size = csd_get_value((void*)&csd, 62, 73); - c_size_mult = csd_get_value(&csd, 47, 49); - blk_len = csd_get_value(&csd, 80, 83); - capacity = (c_size + 1) << (c_size_mult + 2 + blk_len - 10); - break; - case SD_CSD_2_0: - //blk_len = csd_get_value(&csd, 80, 83); - c_size = csd_get_value(&csd, 48, 69); - capacity = (c_size + 1) * 512; /* block length is fixed to 512B */ - break; - default: - capacity = 1; - break; - } + c_size_mult = csd_get_value(&csd, 47, 49); + blk_len = csd_get_value(&csd, 80, 83); + capacity = (c_size + 1) << (c_size_mult + 2 + blk_len - 10); + break; + case SD_CSD_2_0: + //blk_len = csd_get_value(&csd, 80, 83); + c_size = csd_get_value(&csd, 48, 69); + capacity = (c_size + 1) * 512; /* block length is fixed to 512B */ + break; + default: + capacity = 1; + break; + } + + /* check whether the card is high capacity card */ + if(capacity>2*1024*1024) + HighCapacityCard = 1; + else + HighCapacityCard = 0; + + return capacity; - /* check whether the card is high capacity card */ - if(capacity>2*1024*1024) - HighCapacityCard = 1; - else - HighCapacityCard = 0; - - return capacity; } -cyg_uint32 mxcmci_data_read(cyg_uint32 *dest_ptr, cyg_uint32 len, - cyg_uint32 offset) +cyg_uint32 mxcmci_data_read(cyg_uint32 * dest_ptr, cyg_uint32 len, + cyg_uint32 offset) { - cyg_uint32 read_status = FAIL; + cyg_uint32 read_status = FAIL; - read_status = mmc_data_read(dest_ptr, len, offset); + read_status = mmc_data_read(dest_ptr, len, offset); + + if (read_status) { + len = 0; + } + return len; - if (read_status) { - len = 0; - } - return len; } cyg_uint32 mxcmci_software_reset(void) { - command_t cmd; - cyg_uint32 response = FAIL; - - /*Configure CMD0 for MMC/SD card */ - /*CMD0 doesnt expect any response */ - mxcmci_cmd_config(&cmd, CMD0, NO_ARG, READ, RESPONSE_NONE, - DATA_PRESENT_NONE, DISABLE, DISABLE); - - /*Issue CMD0 to MMC/SD card to put in active state */ - if (host_send_cmd(&cmd) != FAIL) { - response = SUCCESS; - } else { - diag_printf("Card SW Reset Failed.\n"); - } - - return response; + command_t cmd; + cyg_uint32 response = FAIL; + + /*Configure CMD0 for MMC/SD card */ + /*CMD0 doesnt expect any response */ + mxcmci_cmd_config(&cmd, CMD0, NO_ARG, READ, RESPONSE_NONE, + DATA_PRESENT_NONE, DISABLE, DISABLE); + + /*Issue CMD0 to MMC/SD card to put in active state */ + if (host_send_cmd(&cmd) != FAIL) { + response = SUCCESS; + } else { + diag_printf("Card SW Reset Failed.\n"); + } + + return response; } cyg_uint32 mxcmci_get_cid(void) { - command_t cmd; - cyg_uint32 cid_request = FAIL; - command_response_t response; - - /* Configure CMD2 for card */ - /* No Argument is expected for CMD2 */ - mxcmci_cmd_config(&cmd, CMD2, NO_ARG, READ, RESPONSE_136, - DATA_PRESENT_NONE, ENABLE, DISABLE); - - /* Issue CMD2 to card to determine CID contents */ - if (host_send_cmd(&cmd) == FAIL) { - cid_request = FAIL; - diag_printf("Send CMD2 Failed.\n"); - } else { - /* Read Command response */ - response.format = RESPONSE_136; - host_read_response(&response); - - /* Assign CID values to mmc_cid structures */ - Card_identification.cid0 = response.cmd_rsp0; - Card_identification.cid1 = response.cmd_rsp1; - Card_identification.cid2 = response.cmd_rsp2; - Card_identification.cid3 = response.cmd_rsp3; - - /* Assign cid_request as SUCCESS */ - cid_request = SUCCESS; - } - - flash_dprintf(FLASH_DEBUG_MAX, "%s:CID=%X:%X:%X:%X\n", __FUNCTION__, - Card_identification.cid0, Card_identification.cid1, - Card_identification.cid2, Card_identification.cid3); - return cid_request; + command_t cmd; + cyg_uint32 cid_request = FAIL; + command_response_t response; + + /* Configure CMD2 for card */ + /* No Argument is expected for CMD2 */ + mxcmci_cmd_config(&cmd, CMD2, NO_ARG, READ, RESPONSE_136, + DATA_PRESENT_NONE, ENABLE, DISABLE); + + /* Issue CMD2 to card to determine CID contents */ + if (host_send_cmd(&cmd) == FAIL) { + cid_request = FAIL; + diag_printf("Send CMD2 Failed.\n"); + } else { + /* Read Command response */ + response.format = RESPONSE_136; + host_read_response(&response); + + /* Assign CID values to mmc_cid structures */ + Card_identification.cid0 = response.cmd_rsp0; + Card_identification.cid1 = response.cmd_rsp1; + Card_identification.cid2 = response.cmd_rsp2; + Card_identification.cid3 = response.cmd_rsp3; + + /* Assign cid_request as SUCCESS */ + cid_request = SUCCESS; + } + + flash_dprintf(FLASH_DEBUG_MAX, "%s:CID=%X:%X:%X:%X\n", __FUNCTION__, + Card_identification.cid0, Card_identification.cid1, + Card_identification.cid2, Card_identification.cid3); + return cid_request; } cyg_uint32 mxcmci_trans_prepare(void) { - command_t cmd; - cyg_uint32 card_state = 0; - cyg_uint32 transfer_status = 0; - command_response_t response; - cyg_uint32 card_address = (Card_rca << RCA_SHIFT); - - /* Configure CMD7 for MMC card */ - /* 16bit card address is expected as Argument */ - mxcmci_cmd_config(&cmd, CMD7, card_address, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - - /* Sending the card from stand-by to transfer state */ - if (host_send_cmd(&cmd) == FAIL) { - transfer_status = FAIL; - diag_printf("Send CMD7 Failed.\n"); - } else { - - /* Configure CMD13 to read status of the card becuase CMD7 has R1b response */ - mxcmci_cmd_config(&cmd, CMD13, card_address, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - - if (host_send_cmd(&cmd) == FAIL) { - transfer_status = FAIL; - diag_printf("Send CMD13 Failed.\n"); - } else { - /* Read Command response */ - response.format = RESPONSE_48; - host_read_response(&response); - - card_state = CURR_CARD_STATE(response.cmd_rsp0); - - if (card_state == TRAN) { - transfer_status = SUCCESS; - - } else { - diag_printf("card_state: 0x%x\n", card_state); - transfer_status = FAIL; - } - } - - } + command_t cmd; + cyg_uint32 card_state = 0; + cyg_uint32 transfer_status = 0; + command_response_t response; + cyg_uint32 card_address = (Card_rca << RCA_SHIFT); + + /* Configure CMD7 for MMC card */ + /* 16bit card address is expected as Argument */ + mxcmci_cmd_config(&cmd, CMD7, card_address, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + + /* Sending the card from stand-by to transfer state */ + if (host_send_cmd(&cmd) == FAIL) { + transfer_status = FAIL; + diag_printf("Send CMD7 Failed.\n"); + } else { + + /* Configure CMD13 to read status of the card becuase CMD7 has R1b response */ + mxcmci_cmd_config(&cmd, CMD13, card_address, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + + if (host_send_cmd(&cmd) == FAIL) { + transfer_status = FAIL; + diag_printf("Send CMD13 Failed.\n"); + } else { + /* Read Command response */ + response.format = RESPONSE_48; + host_read_response(&response); + + card_state = CURR_CARD_STATE(response.cmd_rsp0); + + if (card_state == TRAN) { + transfer_status = SUCCESS; + + } else { + diag_printf("card_state: 0x%x\n", card_state); + transfer_status = FAIL; + } + } + + } + + return transfer_status; - return transfer_status; } cyg_uint32 mxcmci_trans_status(void) { - command_t cmd; - cyg_uint32 card_state = 0; - cyg_uint32 transfer_status = 0; - command_response_t response; - cyg_uint32 card_address = (Card_rca << RCA_SHIFT); - - /* Configure CMD13 to read status of the card becuase CMD7 has R1b response */ - mxcmci_cmd_config(&cmd, CMD13, card_address, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - - if (host_send_cmd(&cmd) == FAIL) { - diag_printf("Fail, CMD13\n"); - transfer_status = FAIL; - } - - else { - /* Read Command response */ - response.format = RESPONSE_48; - host_read_response(&response); - - card_state = CURR_CARD_STATE(response.cmd_rsp0); - - if (card_state == TRAN) { - transfer_status = SUCCESS; - //diag_printf("card_state: 0x%x\n", card_state); - } + command_t cmd; + cyg_uint32 card_state = 0; + cyg_uint32 transfer_status = 0; + command_response_t response; + cyg_uint32 card_address = (Card_rca << RCA_SHIFT); + + /* Configure CMD13 to read status of the card becuase CMD7 has R1b response */ + mxcmci_cmd_config(&cmd, CMD13, card_address, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + + if (host_send_cmd(&cmd) == FAIL) { + diag_printf("Fail, CMD13\n"); + transfer_status = FAIL; + } + + else { + /* Read Command response */ + response.format = RESPONSE_48; + host_read_response(&response); + + card_state = CURR_CARD_STATE(response.cmd_rsp0); + + if (card_state == TRAN) { + transfer_status = SUCCESS; + //diag_printf("card_state: 0x%x\n", card_state); + } + + else { + //diag_printf("card_state: 0x%x\n", card_state); + transfer_status = FAIL; + } + } + return transfer_status; - else { - //diag_printf("card_state: 0x%x\n", card_state); - transfer_status = FAIL; - } - } - return transfer_status; } -void mxcmci_cmd_config(command_t *cmd_config, cyg_uint32 index, - cyg_uint32 argument, xfer_type_t transfer, - response_format_t format, data_present_select data, - crc_check_enable crc, cmdindex_check_enable cmdindex) +void mxcmci_cmd_config(command_t * cmd_config, cyg_uint32 index, + cyg_uint32 argument, xfer_type_t transfer, + response_format_t format, data_present_select data, + crc_check_enable crc, cmdindex_check_enable cmdindex) { - command_t *cmd; - /* Assign cmd to cmd_config */ - cmd = cmd_config; + command_t *cmd; - /* Configure Command index */ - cmd->command = index; + /* Assign cmd to cmd_config */ + cmd = cmd_config; - /* Configure Command Argument */ - cmd->arg = argument; + /* Configure Command index */ + cmd->command = index; - /* Configure Data transfer type */ - cmd->data_transfer = transfer; + /* Configure Command Argument */ + cmd->arg = argument; - /* Configure Response Format */ - cmd->response_format = format; + /* Configure Data transfer type */ + cmd->data_transfer = transfer; - /* Configure Data Present Select */ - cmd->data_present = data; + /* Configure Response Format */ + cmd->response_format = format; - /* Configiure CRC check Enable */ - cmd->crc_check = crc; + /* Configure Data Present Select */ + cmd->data_present = data; - /* Configure Command index check enable */ - cmd->cmdindex_check = cmdindex; + /* Configiure CRC check Enable */ + cmd->crc_check = crc; - /* if multi-block is used */ - if (CMD18 == index || CMD25 == index) { - /* Configure Block count enable */ - cmd->block_count_enable_check = ENABLE; - /* Configure Multi single block select */ - cmd->multi_single_block = MULTIPLE; - } else { - /* Configure Block count enable */ - cmd->block_count_enable_check = DISABLE; + /*Configure Command index check enable */ + cmd->cmdindex_check = cmdindex; - /* Configure Multi single block select */ - cmd->multi_single_block = SINGLE; - } + /* if multi-block is used */ + if (CMD18 == index || CMD25 == index) { + /*Configure Block count enable */ + cmd->block_count_enable_check = ENABLE; + /*Configure Multi single block select */ + cmd->multi_single_block = MULTIPLE; + } else { + /*Configure Block count enable */ + cmd->block_count_enable_check = DISABLE; + + /*Configure Multi single block select */ + cmd->multi_single_block = SINGLE; + } } diff --git a/packages/devs/flash/arm/mxc/v2_0/src/mxcmci_mmc.c b/packages/devs/flash/arm/mxc/v2_0/src/mxcmci_mmc.c index 4a8751c1..cf80b2a6 100644 --- a/packages/devs/flash/arm/mxc/v2_0/src/mxcmci_mmc.c +++ b/packages/devs/flash/arm/mxc/v2_0/src/mxcmci_mmc.c @@ -51,15 +51,16 @@ // //========================================================================== -#include #include #include #include #include -#include + +extern int HighCapacityCard; static cyg_uint32 mmc_set_rca(void); static cyg_uint32 mmc_set_bus_width(cyg_uint32 bus_width); +static cyg_uint32 mmc_set_high_speed_mode(void); cyg_uint32 address_mode; /* Global variable for addressing mode */ @@ -87,6 +88,7 @@ cyg_uint32 mmc_init(cyg_uint32 bus_width) return FAIL; } #endif + /* Set block length for transfer */ //diag_printf("Send CMD to Set Block Length.\n"); if (sdmmc_set_blklen(BLK_LEN)) @@ -111,10 +113,11 @@ cyg_uint32 mmc_init(cyg_uint32 bus_width) } -cyg_uint32 mmc_data_read(cyg_uint32 *dest_ptr, cyg_uint32 length, - cyg_uint32 offset) +cyg_uint32 mmc_data_read(cyg_uint32 * dest_ptr, cyg_uint32 length, + cyg_uint32 offset) { command_t cmd; + int len; cyg_uint32 read_block_status = 0; cyg_uint32 blk_len = BLK_LEN; unsigned int SectorNum = 0; @@ -129,7 +132,7 @@ cyg_uint32 mmc_data_read(cyg_uint32 *dest_ptr, cyg_uint32 length, /* wait until in transfer mode */ while (mxcmci_trans_status()) { - HAL_DELAY_US(5); + hal_delay_us(5); } reread: @@ -197,11 +200,12 @@ reread: return read_block_status; } -cyg_uint32 mmc_data_write(cyg_uint32 *src_ptr, cyg_uint32 length, - cyg_uint32 offset) +cyg_uint32 mmc_data_write(cyg_uint32 * src_ptr, cyg_uint32 length, + cyg_uint32 offset) { command_t cmd; + cyg_int32 len; cyg_uint32 blk_len = BLK_LEN; cyg_uint32 write_block_status = SUCCESS; unsigned int SectorNum; @@ -217,12 +221,12 @@ cyg_uint32 mmc_data_write(cyg_uint32 *src_ptr, cyg_uint32 length, offset = offset/512; //need waiting until CARD out of Prg status, or will cause CMD25 timeout - //HAL_DELAY_US(100); + //hal_delay_us(100); //StartCounter(); while (mxcmci_trans_status()) { - HAL_DELAY_US(2); + hal_delay_us(2); } //counter = StopCounter(); @@ -244,7 +248,7 @@ rewrite: esdhc_softreset(ESDHC_RESET_CMD_MSK | ESDHC_RESET_DAT_MSK); write_block_status = FAIL; - //HAL_DELAY_US(1000); + //hal_delay_us(1000); goto rewrite; } else { @@ -301,378 +305,390 @@ rewrite: } return write_block_status; + } cyg_uint32 mmc_data_erase(cyg_uint32 offset, cyg_uint32 size) { - command_t cmd; - extern int Card_Mode; - cyg_uint8 startEraseBlockCmd = CMD35; - cyg_uint8 endEraseBlockCmd = CMD36; - - cyg_uint32 startBlock = offset / BLK_LEN; - cyg_uint32 endBlock = (offset + size - 1) / BLK_LEN; - cyg_uint32 ret; + command_t cmd; + extern int Card_Mode; + cyg_uint8 startEraseBlockCmd = CMD35; + cyg_uint8 endEraseBlockCmd = CMD36; + + cyg_uint32 startBlock = offset / BLK_LEN; + cyg_uint32 endBlock = (offset + size - 1) / BLK_LEN; + cyg_uint32 ret; // diag_printf("card_data_erase\n"); - if (Card_Mode == 0) { - startBlock *= BLK_LEN; - endBlock *= BLK_LEN; - startEraseBlockCmd = CMD35; - endEraseBlockCmd = CMD36; - } - - else if (Card_Mode == 1) { - startBlock *= BLK_LEN; - endBlock *= BLK_LEN; - startEraseBlockCmd = CMD32; - endEraseBlockCmd = CMD33; - } + if (Card_Mode == 0) { + startBlock *= BLK_LEN; + endBlock *= BLK_LEN; + startEraseBlockCmd = CMD35; + endEraseBlockCmd = CMD36; + } + + else if (Card_Mode == 1) { + startBlock *= BLK_LEN; + endBlock *= BLK_LEN; + startEraseBlockCmd = CMD32; + endEraseBlockCmd = CMD33; + } #if 1 - /* hight capacity card uses sector mode */ - if(HighCapacityCard) - startBlock /= BLK_LEN; - endBlock /= BLK_LEN; + /* hight capacity card uses sector mode */ + if(HighCapacityCard) + startBlock /= BLK_LEN; + endBlock /= BLK_LEN; #endif // diag_printf("0x%x - 0x%x, size: 0x%x\n", startBlock, endBlock, size); - /* Configure start erase command to set first block */ - mxcmci_cmd_config(&cmd, startEraseBlockCmd, startBlock, READ, - RESPONSE_48, DATA_PRESENT_NONE, ENABLE, ENABLE); - /* wait response */ - if ((ret = host_send_cmd(&cmd)) == SUCCESS) { - flash_dprintf(FLASH_DEBUG_MAX, - "%s: successful for host_send_cmd\n", - __FUNCTION__); - /* Configure end erase command to set end block */ - mxcmci_cmd_config(&cmd, endEraseBlockCmd, endBlock, READ, - RESPONSE_48, DATA_PRESENT_NONE, ENABLE, ENABLE); - if ((ret = host_send_cmd(&cmd)) == SUCCESS) { - flash_dprintf(FLASH_DEBUG_MAX, - "%s: successful for host_send_cmd:2\n", - __FUNCTION__); - /* Comfigure command to start erase */ - mxcmci_cmd_config(&cmd, CMD38, 0, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - if ((ret = host_send_cmd(&cmd)) == SUCCESS) { - flash_dprintf(FLASH_DEBUG_MAX, - "%s: successful for host_send_cmd:3\n", - __FUNCTION__); - //wait for completion - return ret; - } - } - } - - flash_dprintf(FLASH_DEBUG_MAX, "%s: Error return (%d)\n", __FUNCTION__, - ret); - return ret; + /* Configure start erase command to set first block */ + mxcmci_cmd_config(&cmd, startEraseBlockCmd, startBlock, READ, + RESPONSE_48, DATA_PRESENT_NONE, ENABLE, ENABLE); + /* wait response */ + if ((ret = host_send_cmd(&cmd)) == SUCCESS) { + flash_dprintf(FLASH_DEBUG_MAX, + "%s: successful for host_send_cmd\n", + __FUNCTION__); + /* Configure end erase command to set end block */ + mxcmci_cmd_config(&cmd, endEraseBlockCmd, endBlock, READ, + RESPONSE_48, DATA_PRESENT_NONE, ENABLE, ENABLE); + if ((ret = host_send_cmd(&cmd)) == SUCCESS) { + flash_dprintf(FLASH_DEBUG_MAX, + "%s: successful for host_send_cmd:2\n", + __FUNCTION__); + /* Comfigure command to start erase */ + mxcmci_cmd_config(&cmd, CMD38, 0, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + if ((ret = host_send_cmd(&cmd)) == SUCCESS) { + flash_dprintf(FLASH_DEBUG_MAX, + "%s: successful for host_send_cmd:3\n", + __FUNCTION__); + //wait for completion + return ret; + } + } + } + + flash_dprintf(FLASH_DEBUG_MAX, "%s: Error return (%d)\n", __FUNCTION__, + ret); + return ret; } cyg_uint32 mmc_voltage_validation(void) { - command_t cmd; - command_response_t response; - cyg_uint32 voltage_validation_command = 0; - cyg_uint32 ocr_val = 0; - cyg_uint32 voltage_validation = FAIL; - - ocr_val = (cyg_uint32) ((MMC_OCR_VALUE) & 0xFFFFFFFF); - - while ((voltage_validation_command < MMCSD_READY_TIMEOUT) - && (voltage_validation != SUCCESS)) { - /* Configure CMD1 for MMC card */ - mxcmci_cmd_config(&cmd, CMD1, ocr_val, READ, RESPONSE_48, - DATA_PRESENT_NONE, DISABLE, DISABLE); - - /* Issue CMD1 to MMC card to determine OCR value */ - if (host_send_cmd(&cmd) == FAIL) { - voltage_validation = FAIL; - break; - } else { - /* Read Response from CMDRSP0 Register */ - response.format = RESPONSE_48; - host_read_response(&response); - - /* Check if card busy bit is cleared or not */ - if (!(response.cmd_rsp0 & CARD_BUSY_BIT)) { - /* Iterate One more time */ - voltage_validation_command++; - } else { - if ((response.cmd_rsp0 & MMC_OCR_HC_RES) == - MMC_OCR_HC_RES) { - address_mode = SECT_MODE; - voltage_validation = SUCCESS; - } else if ((response.cmd_rsp0 & MMC_OCR_LC_RES) - == MMC_OCR_LC_RES) { - address_mode = BYTE_MODE; - voltage_validation = SUCCESS; - } - } - - } - } - - return voltage_validation; + command_t cmd; + command_response_t response; + cyg_uint32 voltage_validation_command = 0; + cyg_uint32 ocr_val = 0; + cyg_uint32 voltage_validation = FAIL; + + ocr_val = (cyg_uint32) ((MMC_OCR_VALUE) & 0xFFFFFFFF); + + while ((voltage_validation_command < MMCSD_READY_TIMEOUT) + && (voltage_validation != SUCCESS)) { + /* Configure CMD1 for MMC card */ + mxcmci_cmd_config(&cmd, CMD1, ocr_val, READ, RESPONSE_48, + DATA_PRESENT_NONE, DISABLE, DISABLE); + + /* Issue CMD1 to MMC card to determine OCR value */ + if (host_send_cmd(&cmd) == FAIL) { + voltage_validation = FAIL; + break; + } else { + /* Read Response from CMDRSP0 Register */ + response.format = RESPONSE_48; + host_read_response(&response); + + /* Check if card busy bit is cleared or not */ + if (!(response.cmd_rsp0 & CARD_BUSY_BIT)) { + /* Iterate One more time */ + voltage_validation_command++; + } else { + if ((response.cmd_rsp0 & MMC_OCR_HC_RES) == + MMC_OCR_HC_RES) { + address_mode = SECT_MODE; + voltage_validation = SUCCESS; + } else if ((response.cmd_rsp0 & MMC_OCR_LC_RES) + == MMC_OCR_LC_RES) { + address_mode = BYTE_MODE; + voltage_validation = SUCCESS; + } + } + + } + } + + return voltage_validation; } static cyg_uint32 mmc_set_rca(void) { - command_t cmd; - cyg_uint32 card_state = 0; - cyg_uint32 rca_request = 0; - command_response_t response; - cyg_uint32 card_address = (Card_rca << RCA_SHIFT); - - /* Configure CMD3 for MMC card */ - /* 32bit card address is expected as Argument */ - mxcmci_cmd_config(&cmd, CMD3, card_address, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - - /* Assigns relative address to the card - */ - - if (host_send_cmd(&cmd) == FAIL) { - rca_request = FAIL; - } - - else { - /* Read Command response */ - response.format = RESPONSE_48; - host_read_response(&response); - card_state = CURR_CARD_STATE(response.cmd_rsp0); - if (card_state == IDENT) { - rca_request = SUCCESS; - - } else { - rca_request = FAIL; - } - } - - return rca_request; + command_t cmd; + cyg_uint32 card_state = 0; + cyg_uint32 rca_request = 0; + command_response_t response; + cyg_uint32 card_address = (Card_rca << RCA_SHIFT); + + /* Configure CMD3 for MMC card */ + /* 32bit card address is expected as Argument */ + mxcmci_cmd_config(&cmd, CMD3, card_address, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + + /* Assigns relative address to the card + */ + + if (host_send_cmd(&cmd) == FAIL) { + rca_request = FAIL; + } + + else { + /* Read Command response */ + response.format = RESPONSE_48; + host_read_response(&response); + card_state = CURR_CARD_STATE(response.cmd_rsp0); + if (card_state == IDENT) { + rca_request = SUCCESS; + + } else { + rca_request = FAIL; + } + } + + return rca_request; } cyg_uint32 mmc_get_spec_ver(void) { - cyg_uint32 mmc_spec_version; + cyg_uint32 mmc_spec_version; - if (card_get_csd() == FAIL) { - mmc_spec_version = 0; - } else { - mmc_spec_version = ((csd.csd3 && MMC_SPEC_VER) >> MMC_SPEC_VER_SHIFT); - } + if (card_get_csd() == FAIL) { + mmc_spec_version = 0; + } else { + mmc_spec_version = ((csd.csd3 && MMC_SPEC_VER) >> MMC_SPEC_VER_SHIFT); + } + + return mmc_spec_version; - return mmc_spec_version; } cyg_uint32 card_flash_query(void *data) { - command_t cmd; - cyg_uint32 cid_request = FAIL; - command_response_t response; - - /* Configure CMD2 for card */ - mxcmci_cmd_config(&cmd, CMD2, NO_ARG, READ, RESPONSE_136, - DATA_PRESENT_NONE, ENABLE, DISABLE); - /* Issue CMD2 to card to determine CID contents */ - if (host_send_cmd(&cmd) == FAIL) { - cid_request = FAIL; - flash_dprintf(FLASH_DEBUG_MAX, "%s: can't send query command\n", - __FUNCTION__); - } else { - cyg_uint32 *d = (cyg_uint32 *) data; - /* Read Command response */ - response.format = RESPONSE_136; - host_read_response(&response); - /* Assign CID values to mmc_cid structures */ - *d++ = response.cmd_rsp0; - *d++ = response.cmd_rsp1; - *d++ = response.cmd_rsp2; - *d = response.cmd_rsp3; - - /* Assign cid_request as SUCCESS */ - cid_request = SUCCESS; - } - flash_dprintf(FLASH_DEBUG_MAX, - "%s(Success?=%d):(ID=0x%x: 0x%x, 0x%x, 0x%x)\n", - __FUNCTION__, cid_request, *(cyg_uint32 *) (data), - *(cyg_uint32 *) ((cyg_uint32) data + 4), - *(cyg_uint8 *) ((cyg_uint32) data + 8), - *(cyg_uint8 *) ((cyg_uint32) data + 12)); - return cid_request; + command_t cmd; + cyg_uint32 cid_request = FAIL; + command_response_t response; + + /* Configure CMD2 for card */ + mxcmci_cmd_config(&cmd, CMD2, NO_ARG, READ, RESPONSE_136, + DATA_PRESENT_NONE, ENABLE, DISABLE); + /* Issue CMD2 to card to determine CID contents */ + if (host_send_cmd(&cmd) == FAIL) { + cid_request = FAIL; + flash_dprintf(FLASH_DEBUG_MAX, "%s: can't send query command\n", + __FUNCTION__); + } else { + cyg_uint32 *d = (cyg_uint32 *) data; + /* Read Command response */ + response.format = RESPONSE_136; + host_read_response(&response); + /* Assign CID values to mmc_cid structures */ + *d++ = response.cmd_rsp0; + *d++ = response.cmd_rsp1; + *d++ = response.cmd_rsp2; + *d = response.cmd_rsp3; + + /* Assign cid_request as SUCCESS */ + cid_request = SUCCESS; + } + flash_dprintf(FLASH_DEBUG_MAX, + "%s(Success?=%d):(ID=0x%x: 0x%x, 0x%x, 0x%x)\n", + __FUNCTION__, cid_request, *(cyg_uint32 *) (data), + *(cyg_uint32 *) ((cyg_uint32) data + 4), + *(cyg_uint8 *) ((cyg_uint32) data + 8), + *(cyg_uint8 *) ((cyg_uint32) data + 12)); + return; } static cyg_uint32 mmc_set_bus_width(cyg_uint32 bus_width) { - command_t cmd; - cyg_uint32 set_bus_width_status = FAIL; + command_t cmd; + cyg_uint32 set_bus_width_status = FAIL; + command_response_t response; + cyg_uint32 card_address = (Card_rca << RCA_SHIFT); - if ((bus_width == 4) || (bus_width == 8) || (bus_width == 1)) { + if ((bus_width == FOUR) || (bus_width == EIGHT) || (bus_width == ONE)) { - /* Configure CMD6 to write to EXT_CSD register for BUS_WIDTH */ - mxcmci_cmd_config(&cmd, CMD6, 0x03b70001 | ((bus_width >> 2) << 8), READ, - RESPONSE_48, DATA_PRESENT_NONE, ENABLE, ENABLE); + /* Configure CMD6 to write to EXT_CSD register for BUS_WIDTH */ + mxcmci_cmd_config(&cmd, CMD6, 0x03b70001 | ((bus_width >> 2) << 8), READ, + RESPONSE_48, DATA_PRESENT_NONE, ENABLE, ENABLE); - if (host_send_cmd(&cmd) == SUCCESS) { - set_bus_width_status = SUCCESS; - } else { - diag_printf("Setting MMC bus width failed.\n"); - } - } + if (host_send_cmd(&cmd) == SUCCESS) { + set_bus_width_status = SUCCESS; + } else { + diag_printf("Setting MMC bus width failed.\n"); + } + } - return set_bus_width_status; + return set_bus_width_status; } -cyg_uint32 mmc_set_high_speed_mode(void) +static cyg_uint32 mmc_set_high_speed_mode(void) { - command_t cmd; - cyg_uint32 status; - - //diag_printf("Send CMD6 to Set High Speed Mode.\n"); - /* Configure CMD6 to write to EXT_CSD register for BUS_WIDTH */ - mxcmci_cmd_config(&cmd, CMD6, 0x03b90100, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - - status = host_send_cmd(&cmd); - if (status == SUCCESS) { - /* wait until in transfer mode */ - while (mxcmci_trans_status()) { - HAL_DELAY_US(5); - } - } else { - diag_printf("Setting MMC High Speed Mode FAILED.\n"); - } - - return status; + command_t cmd; + command_response_t response; + cyg_uint32 status = FAIL; + + //diag_printf("Send CMD6 to Set High Speed Mode.\n"); + /* Configure CMD6 to write to EXT_CSD register for BUS_WIDTH */ + mxcmci_cmd_config(&cmd, CMD6, 0x03b90100, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + + if (host_send_cmd(&cmd) == SUCCESS) { + /* wait until in transfer mode */ + while (mxcmci_trans_status()) { + hal_delay_us(5); + } + + status = SUCCESS; + } else { + diag_printf("Setting MMC High Speed Mode FAILED.\n"); + } + + return status; } int sdmmc_set_blklen(int len) { - int status; - command_t cmd; - - /* Configure CMD16 to set block length as 512 bytes. */ - mxcmci_cmd_config(&cmd, CMD16, len, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - - /* Issue command CMD16 to set block length as 512 bytes */ - if (host_send_cmd(&cmd) == FAIL) { - diag_printf("%s: Can't set block length!(CMD16)\n", - __FUNCTION__); - esdhc_softreset(ESDHC_RESET_CMD_MSK); - status = FAIL; - } else { - status = SUCCESS; - } - - return status; + int status = FAIL; + command_t cmd; + command_response_t response; + + /* Configure CMD16 to set block length as 512 bytes. */ + mxcmci_cmd_config(&cmd, CMD16, len, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + + /* Issue command CMD16 to set block length as 512 bytes */ + if (host_send_cmd(&cmd) == FAIL) { + diag_printf("%s: Can't set block length!(CMD16)\n", + __FUNCTION__); + esdhc_softreset(ESDHC_RESET_CMD_MSK); + status = FAIL; + } else { + status = SUCCESS; + } + + return status; } int sdmmc_stop_transmission(void) { - command_t cmd; + int status = FAIL; + command_t cmd; + command_response_t response; - /* Comfigure command CMD12 for read stop */ - mxcmci_cmd_config(&cmd, CMD12, 0, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); + /* Comfigure command CMD12 for read stop */ + mxcmci_cmd_config(&cmd, CMD12, 0, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); - if (host_send_cmd(&cmd) == FAIL) { - //diag_printf("%s: Can't send CMD12!\n", __FUNCTION__); - //esdhc_softreset(ESDHC_RESET_CMD_MSK | ESDHC_RESET_DAT_MSK); - //read_block_status = FAIL; - } + if (host_send_cmd(&cmd) == FAIL) { + //diag_printf("%s: Can't send CMD12!\n", __FUNCTION__); + //esdhc_softreset(ESDHC_RESET_CMD_MSK | ESDHC_RESET_DAT_MSK); + //read_block_status = FAIL; + } - return 0; + return 0; } static unsigned int mmc_set_extendCSD(unsigned int ECSD_index, unsigned int value, unsigned int access_mode) { - unsigned int argument = 0; - command_t cmd; - - /* access mode: 0b01 set bits/ 0b10 clear bits/ 0b11 write bytes */ - argument = (access_mode << 24) | (ECSD_index << 16) | (value << 8); - //argument = 0x1b30000; - - mxcmci_cmd_config(&cmd, CMD6, argument, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - - if(host_send_cmd(&cmd) == SUCCESS) { - return 0; - } else { - //diag_printf("%s: Setting MMC boot Failed.\n", __FUNCTION__); - return 1; - } + unsigned int argument = 0; + command_t cmd; + + /* access mode: 0b01 set bits/ 0b10 clear bits/ 0b11 write bytes */ + argument = (access_mode << 24) | (ECSD_index << 16) | (value << 8); + //argument = 0x1b30000; + + mxcmci_cmd_config(&cmd, CMD6, argument, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + + if(host_send_cmd(&cmd) == SUCCESS) { + return 0; + } else { + //diag_printf("%s: Setting MMC boot Failed.\n", __FUNCTION__); + return 1; + } } -void mmc_set_boot_partition_size(unsigned int value) +static void mmc_set_boot_partition_size(unsigned int value) { - command_t cmd; - - mxcmci_cmd_config(&cmd, CMD62, 0XEFAC62EC, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - host_send_cmd(&cmd); - - mxcmci_cmd_config(&cmd, CMD62, 0X00CBAEA7, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - host_send_cmd(&cmd); - - mxcmci_cmd_config(&cmd, CMD62, value, READ, RESPONSE_48, - DATA_PRESENT, ENABLE, ENABLE); - host_send_cmd(&cmd); + command_t cmd; + command_response_t response; + cyg_uint32 card_state = 0; + cyg_uint32 card_address = (Card_rca << RCA_SHIFT); + + mxcmci_cmd_config(&cmd, CMD62, 0XEFAC62EC, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + host_send_cmd(&cmd); + + mxcmci_cmd_config(&cmd, CMD62, 0X00CBAEA7, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + host_send_cmd(&cmd); + + mxcmci_cmd_config(&cmd, CMD62, value, READ, RESPONSE_48, + DATA_PRESENT, ENABLE, ENABLE); + host_send_cmd(&cmd); } cyg_uint32 emmc_set_boot_partition (cyg_uint32 *src_ptr, cyg_uint32 length) { - cyg_uint32 status=FAIL; - unsigned int value; - unsigned int eMMCBootDataSize = (length / (128 * 1024)) + 1; - - if (MMC_Spec_vers < 4) - return 1; - - /* read back 1KB data as we are programming to user are and want to aviod erasing MBR - * will be removed once we program Redboot to boot partition of the card - */ - mmc_data_read(src_ptr, 0x400, 0); - - /* Set boot partition */ - /* 1. Configure CMD6 to write to EXT_CSD register for eMMC boot partition, Byte 179*/ - /* boot partition: user area enable and r/w enable */ - value = (0x7 << 3) | (0x7); - //value = (0x1 << 3) | (0x1); - status = mmc_set_extendCSD(179, value, 0x3); - if(status) { - return 1; /* failed */ - } - - /* 2. Set boot partition size: n*128KB */ - value = eMMCBootDataSize; - //status = mmc_set_extendCSD(226, value, 0x3); - //if(status) { - // return 1; /* failed */ - //} - //mmc_set_boot_partition_size(value); - - //diag_printf("Boot partition size: 0x%xKB\n", eMMCBootDataSize * 128); - - /* 3. Program to boot partition, default address is alway 0x0 */ - status = mmc_data_write (src_ptr, eMMCBootDataSize*128*1024, 0); - if (status) { - return 1; /* failed */ - } - - while (mxcmci_trans_status()); - - /* 4. Clear boot partition access bits, to protect w/r of boot partition */ - /* bit 6: send boot ack signal, boot partition: user area enable and r/w access disable */ - //value = (0x1 << 6) | (0x1 << 3) | (0x0); - value = (0x1 << 6) | (0x7 << 3) | (0x0); - status = mmc_set_extendCSD(179, value, 0x3); - if(status) { - return 1; /* failed */ - } - - return 0; + cyg_uint32 status=FAIL; + unsigned int value; + unsigned int eMMCBootDataSize = (length / (128 * 1024)) + 1; + + if (MMC_Spec_vers < 4) + return 1; + + /* read back 1KB data as we are programming to user are and want to aviod erasing MBR + * will be removed once we program Redboot to boot partition of the card + */ + mmc_data_read(src_ptr, 0x400, 0); + + /* Set boot partition */ + /* 1. Configure CMD6 to write to EXT_CSD register for eMMC boot partition, Byte 179*/ + /* boot partition: user area enable and r/w enable */ + value = (0x7 << 3) | (0x7); + //value = (0x1 << 3) | (0x1); + status = mmc_set_extendCSD(179, value, 0x3); + if(status) { + return 1; /* failed */ + } + + /* 2. Set boot partition size: n*128KB */ + value = eMMCBootDataSize; + //status = mmc_set_extendCSD(226, value, 0x3); + //if(status) { + // return 1; /* failed */ + //} + //mmc_set_boot_partition_size(value); + + //diag_printf("Boot partition size: 0x%xKB\n", eMMCBootDataSize * 128); + + /* 3. Program to boot partition, default address is alway 0x0 */ + status = mmc_data_write (src_ptr, eMMCBootDataSize*128*1024, 0); + if(status) { + return 1; /* failed */ + } + + while (mxcmci_trans_status()); + + /* 4. Clear boot partition access bits, to protect w/r of boot partition */ + /* bit 6: send boot ack signal, boot partition: user area enable and r/w access disable */ + //value = (0x1 << 6) | (0x1 << 3) | (0x0); + value = (0x1 << 6) | (0x7 << 3) | (0x0); + status = mmc_set_extendCSD(179, value, 0x3); + if(status) { + return 1; /* failed */ + } + + return 0; } /* end of mxcmci_mmc.c */ diff --git a/packages/devs/flash/arm/mxc/v2_0/src/mxcmci_sd.c b/packages/devs/flash/arm/mxc/v2_0/src/mxcmci_sd.c index cb6199d7..e2fa4710 100644 --- a/packages/devs/flash/arm/mxc/v2_0/src/mxcmci_sd.c +++ b/packages/devs/flash/arm/mxc/v2_0/src/mxcmci_sd.c @@ -51,7 +51,6 @@ // //========================================================================== -#include #include #include #include @@ -84,416 +83,416 @@ static cyg_uint32 sd_set_high_speed_mode(void); cyg_uint32 sd_init(cyg_uint32 bus_width) { - cyg_uint32 status = FAIL; - cyg_uint32 bus_size = bus_width; - - /* Get CID number of SD Memory Card */ - if (!mxcmci_get_cid()) { - //diag_printf("%s:mxcmci_get_cid OK!\n", __FUNCTION__); - /* Set RCA of the SD Card */ - if (!sd_get_rca()) { - //diag_printf("%s:sd_get_rca OK!\n", __FUNCTION__); - /*Get CSD from Card */ - if (card_get_csd()) - return FAIL; - - /*Enable operating frequency */ - host_cfg_clock(OPERATING_FREQ); - - //diag_printf("Set SD Card in Transfer State.\n"); - - /*Put SD Card in Transfer State */ - if (!mxcmci_trans_prepare()) { + cyg_uint32 status = FAIL; + cyg_uint32 bus_size = bus_width; + + /* Get CID number of SD Memory Card */ + if (!mxcmci_get_cid()) { + //diag_printf("%s:mxcmci_get_cid OK!\n", __FUNCTION__); + /* Set RCA of the SD Card */ + if (!sd_get_rca()) { + //diag_printf("%s:sd_get_rca OK!\n", __FUNCTION__); + /*Get CSD from Card */ + if (card_get_csd()) + return FAIL; + + /*Enable operating frequency */ + host_cfg_clock(OPERATING_FREQ); + + //diag_printf("Set SD Card in Transfer State.\n"); + + /*Put SD Card in Transfer State */ + if (!mxcmci_trans_prepare()) { #if 0 - if (sd_set_high_speed_mode()) { - return FAIL; - } + if (sd_set_high_speed_mode()) { + return FAIL; + } #endif - if (sdmmc_set_blklen(BLK_LEN)) - return FAIL; - - /* SD can only support 1/4 bit bitwidth, 8 bit is not supported */ - if (8 == bus_width) { - bus_width = 4; - } - if (!sd_set_bus_width(bus_width)) { - esdhc_base_pointer->protocol_control &= - ~(0x3 << 1); - esdhc_base_pointer->protocol_control |= - (bus_width / 4) << 1; - diag_printf("Bus Width: %d\n", - bus_width); - status = SUCCESS; - } - } - } - - } else { - diag_printf("Get CID Failed.\n"); - - } - - //diag_printf("%s:failed to Init SD card!\n", __FUNCTION__); - return status; + if (sdmmc_set_blklen(BLK_LEN)) + return FAIL; + + /* SD can only support 1/4 bit bitwidth, 8 bit is not supported */ + if (EIGHT == bus_width) { + bus_width = FOUR; + } + if (!sd_set_bus_width(bus_width)) { + esdhc_base_pointer->protocol_control &= + ~(0x3 << 1); + esdhc_base_pointer->protocol_control |= + (bus_width / 4) << 1; + diag_printf("Bus Width: %d\n", + bus_width); + status = SUCCESS; + } + } + } + + } else { + diag_printf("Get CID Failed.\n"); + + } + + //diag_printf("%s:failed to Init SD card!\n", __FUNCTION__); + return status; } cyg_uint32 sd_voltage_validation(void) { - //wait max timeout (unit: ms) - cyg_uint32 timeout = 15000; - - command_t cmd; - command_response_t response; - cyg_uint32 voltage_validation_command = 0; - cyg_uint32 default_rca = 0; - - cyg_uint32 ocr_value = SD_OCR_VALUE_HV_LC; /* nirp_oct07: <- split OCR to 3.3v and 1.8v cases */ - cyg_uint32 voltage_validation = FAIL; - cyg_uint32 interface_value = 0; - cyg_uint32 card_usable = SUCCESS; - - /* Configure Command CMD8 to check for High capacity support */ - /* try 3.3V first */ - mxcmci_cmd_config(&cmd, CMD8, SD_IF_HV_COND_ARG, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - - /* Issue Command CMD8 to SD Memory card */ - if (host_send_cmd(&cmd) == SUCCESS) { /* nirp_oct07: <- changed order of detection */ - //diag_printf("%s:CMD8 OK!\n", __FUNCTION__); - response.format = RESPONSE_48; - host_read_response(&response); - - /* Obtain Interface value from the response buffer */ - interface_value = response.cmd_rsp0; - - /* Check if volatge lies in range or not */ - if ((interface_value & SD_IF_HV_COND_ARG) == SD_IF_HV_COND_ARG) { - ocr_value = ((cyg_uint32) (SD_OCR_VALUE_HV_HC) & 0xFFFFFFFF); /* nirp_oct07: <- split OCR to 3.3v and 1.8v cases */ - } - - /* start timer for a delay of 1.5sec, for ACMD41 */ - hal_delay_us(1500); - - while ((voltage_validation_command < 20) - && (voltage_validation != SUCCESS) - && (card_usable == SUCCESS)) { - /* Configure CMD55 for SD card */ - /* This command expects defualt RCA 0x0000 as argument. */ - mxcmci_cmd_config(&cmd, CMD55, default_rca, READ, - RESPONSE_48, DATA_PRESENT_NONE, - ENABLE, ENABLE); - - /* Issue CMD55 to SD Memory card */ - if (host_send_cmd(&cmd) == FAIL) { - voltage_validation = FAIL; - //diag_printf("Send CMD55 Failed.\n"); - break; - } else { - /* Configure ACMD41 for SD card */ - /* This command expects operating voltage range as argument. */ - /* CODE REVIEW START: Need to check why BUSY was expected */ - /* INTERNAL CODE REVIEW: Accepted - to fix original code if needed */ - /* nirp: changed RESPONSE_48_CHECK_BUSY to RESPONSE_48 */ - /* nirp_oct03: why with busy again? ACMD41 doesn't hold busy line */ - mxcmci_cmd_config(&cmd, ACMD41, ocr_value, READ, - RESPONSE_48, DATA_PRESENT_NONE, DISABLE, - DISABLE); - - /* Issue ACMD41 to SD Memory card to determine OCR value */ - if (host_send_cmd(&cmd) == FAIL) { - voltage_validation = FAIL; - diag_printf("Send CMD41 Failed.\n"); - break; - } else { - /* Read Response from CMDRSP0 Register */ - response.format = RESPONSE_48; - host_read_response(&response); - - /* Obtain OCR Values from the response */ - /* Obtain OCR value from the response buffer */ - ocr_value = response.cmd_rsp0; - - /* Check if card busy bit is cleared or not */ - if (!(response.cmd_rsp0 & CARD_BUSY_BIT)) { - /* Iterate One more time */ - voltage_validation_command++; - } else { - - /*CODE REVIEW START: Update code and check only bit 30, HC or LC card type. All voltage bits needs to be masked. */ - /* INTERNAL CODE REVIEW: Accepted - need fix the code accordingly */ - /* nirp: It may be better to check the actual power supply voltage - requiring the entire range (0xff8000) may fail the sequence even if the device can be supported */ - /*CODE REVIEW END: */ - - if ((response.cmd_rsp0 & SD_OCR_HC_RES) == SD_OCR_HC_RES) { - address_mode = SECT_MODE; - voltage_validation = SUCCESS; - } - /* CODE REVIEW 3: (same as above) Check is logically correct, but seems redundent. - Anything that fails the HC check, is assumed Low Capacity */ - /* nirp_oct03: this can be just an "else". the LC macro is 0 anyway, - and anything not HC is LC by default */ - /* removed else if */ - else { - address_mode = BYTE_MODE; - voltage_validation = SUCCESS; - } - } - } - } - - hal_delay_us(1000); - } - - if (voltage_validation == FAIL) { - card_usable = FAIL; - } - - } else { - /*3.3v test failed, try to test 1.8v mode! */ - mxcmci_cmd_config(&cmd, CMD8, SD_IF_LV_COND_ARG, READ, - RESPONSE_48, DATA_PRESENT_NONE, ENABLE, - ENABLE); - - /* Issue Command CMD8 to SD Memory card */ - if (host_send_cmd(&cmd) == FAIL) { - //diag_printf("%s:CMD8 for 1.8v failed!\n", __FUNCTION__); - /* nirp_oct07: CMD8 failed both in 3.3 and in 1.8v, try SD 1.x case - no CMD8, LC, 3.3v only */ - ocr_value = ((cyg_uint32) (SD_OCR_VALUE_HV_LC) & 0xFFFFFFFF); /* nirp_oct07: <- changed order of detection */ - } else { - //diag_printf("%s:CMD8 for 1.8v OK!\n", __FUNCTION__); - response.format = RESPONSE_48; - host_read_response(&response); - - /* Obtain Interface value from the response buffer */ - interface_value = response.cmd_rsp0; - - /* Check if volatge lies in range or not */ - if ((interface_value & SD_IF_LV_COND_ARG) == SD_IF_LV_COND_ARG) { - ocr_value = ((cyg_uint32) (SD_OCR_VALUE_LV_HC) & 0xFFFFFFFF); /* nirp_oct07: <- split OCR to 3.3v and 1.8v cases */ - } - /* nirp_oct07: otherwise, try with HV_LC settings (set at function start) */ - } - - } - - /* start timer for a delay of 1.5sec, for ACMD41 */ - hal_delay_us(1500); - - /* nirp_oct03: MMCSD_READY_TIMEOUT too long. - ACMD41 also takes longer than CMD1 (twice - ~200 clocks for CMD55+resp+CMD41+resp */ - /* In any case ,ACMD 41 will loop not more than 1.5 sec */ - while ((voltage_validation_command < 20) - && (voltage_validation != SUCCESS) && (card_usable == SUCCESS)) { - /* Configure CMD55 for SD card */ - /* This command expects defualt RCA 0x0000 as argument. */ - mxcmci_cmd_config(&cmd, CMD55, default_rca, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - - /* Issue CMD55 to SD Memory card */ - if (host_send_cmd(&cmd) == FAIL) { - voltage_validation = FAIL; - //diag_printf("Send CMD55 Failed!\n"); - break; - } else { - /* Configure ACMD41 for SD card */ - /* This command expects operating voltage range as argument. */ - /* CODE REVIEW START: Need to check why BUSY was expected */ - /* INTERNAL CODE REVIEW: Accepted - to fix original code if needed */ - /* nirp: changed RESPONSE_48_CHECK_BUSY to RESPONSE_48 */ - /* nirp_oct03: why with busy again? ACMD41 doesn't hold busy line */ - mxcmci_cmd_config(&cmd, ACMD41, ocr_value, READ, - RESPONSE_48, DATA_PRESENT_NONE, - DISABLE, DISABLE); - - /* CODE REVIEW END: */ - - /* Issue ACMD41 to SD Memory card to determine OCR value */ - if (host_send_cmd(&cmd) == FAIL) { - voltage_validation = FAIL; - diag_printf("Send ACMD41 Failed!\n"); - break; - } else { - /* Read Response from CMDRSP0 Register */ - response.format = RESPONSE_48; - host_read_response(&response); - - /* Obtain OCR Values from the response */ - /* Obtain OCR value from the response buffer - */ - ocr_value = response.cmd_rsp0; - - /* Check if card busy bit is cleared or not */ - if (!(response.cmd_rsp0 & CARD_BUSY_BIT)) { - /* Iterate One more time */ - voltage_validation_command++; - } else { - /*CODE REVIEW START: Update code and check only bit 30, HC or LC card type. All voltage bits needs to be masked. */ - /* INTERNAL CODE REVIEW: Accepted - need fix the code accordingly */ - /* nirp: It may be better to check the actual power supply voltage - requiring the entire range (0xff8000) may fail the sequence even if the device can be supported */ - /*CODE REVIEW END: */ - - if ((response.cmd_rsp0 & SD_OCR_HC_RES) == SD_OCR_HC_RES) { - address_mode = SECT_MODE; - voltage_validation = SUCCESS; - } - /* CODE REVIEW 3: (same as above) Check is logically correct, but seems redundent. - Anything that fails the HC check, is assumed Low Capacity */ - /* nirp_oct03: this can be just an "else". the LC macro is 0 anyway, - and anything not HC is LC by default */ - else { - address_mode = BYTE_MODE; - voltage_validation = SUCCESS; - } - } - } - - } - - hal_delay_us(1000); - - } - - return voltage_validation; + //wait max timeout (unit: ms) + cyg_uint32 timeout = 15000; + + command_t cmd; + command_response_t response; + cyg_uint32 voltage_validation_command = 0; + cyg_uint32 default_rca = 0; + + cyg_uint32 ocr_value = SD_OCR_VALUE_HV_LC; /* nirp_oct07: <- split OCR to 3.3v and 1.8v cases */ + cyg_uint32 voltage_validation = FAIL; + cyg_uint32 interface_value = 0; + cyg_uint32 card_usable = SUCCESS; + + /* Configure Command CMD8 to check for High capacity support */ + /* try 3.3V first */ + mxcmci_cmd_config(&cmd, CMD8, SD_IF_HV_COND_ARG, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + + /* Issue Command CMD8 to SD Memory card */ + if (host_send_cmd(&cmd) == SUCCESS) { /* nirp_oct07: <- changed order of detection */ + //diag_printf("%s:CMD8 OK!\n", __FUNCTION__); + response.format = RESPONSE_48; + host_read_response(&response); + + /* Obtain Interface value from the response buffer */ + interface_value = response.cmd_rsp0; + + /* Check if volatge lies in range or not */ + if ((interface_value & SD_IF_HV_COND_ARG) == SD_IF_HV_COND_ARG) { + ocr_value = ((cyg_uint32) (SD_OCR_VALUE_HV_HC) & 0xFFFFFFFF); /* nirp_oct07: <- split OCR to 3.3v and 1.8v cases */ + } + + /* start timer for a delay of 1.5sec, for ACMD41 */ + hal_delay_us(1500); + + while ((voltage_validation_command < 20) + && (voltage_validation != SUCCESS) + && (card_usable == SUCCESS)) { + /* Configure CMD55 for SD card */ + /* This command expects defualt RCA 0x0000 as argument. */ + mxcmci_cmd_config(&cmd, CMD55, default_rca, READ, + RESPONSE_48, DATA_PRESENT_NONE, + ENABLE, ENABLE); + + /* Issue CMD55 to SD Memory card */ + if (host_send_cmd(&cmd) == FAIL) { + voltage_validation = FAIL; + //diag_printf("Send CMD55 Failed.\n"); + break; + } else { + /* Configure ACMD41 for SD card */ + /* This command expects operating voltage range as argument. */ + /* CODE REVIEW START: Need to check why BUSY was expected */ + /* INTERNAL CODE REVIEW: Accepted - to fix original code if needed */ + /* nirp: changed RESPONSE_48_CHECK_BUSY to RESPONSE_48 */ + /* nirp_oct03: why with busy again? ACMD41 doesn't hold busy line */ + mxcmci_cmd_config(&cmd, ACMD41, ocr_value, READ, + RESPONSE_48, DATA_PRESENT_NONE, DISABLE, + DISABLE); + + /* Issue ACMD41 to SD Memory card to determine OCR value */ + if (host_send_cmd(&cmd) == FAIL) { + voltage_validation = FAIL; + diag_printf("Send CMD41 Failed.\n"); + break; + } else { + /* Read Response from CMDRSP0 Register */ + response.format = RESPONSE_48; + host_read_response(&response); + + /* Obtain OCR Values from the response */ + /* Obtain OCR value from the response buffer */ + ocr_value = response.cmd_rsp0; + + /* Check if card busy bit is cleared or not */ + if (!(response.cmd_rsp0 & CARD_BUSY_BIT)) { + /* Iterate One more time */ + voltage_validation_command++; + } else { + + /*CODE REVIEW START: Update code and check only bit 30, HC or LC card type. All voltage bits needs to be masked. */ + /* INTERNAL CODE REVIEW: Accepted - need fix the code accordingly */ + /* nirp: It may be better to check the actual power supply voltage - requiring the entire range (0xff8000) may fail the sequence even if the device can be supported */ + /*CODE REVIEW END: */ + + if ((response.cmd_rsp0 & SD_OCR_HC_RES) == SD_OCR_HC_RES) { + address_mode = SECT_MODE; + voltage_validation = SUCCESS; + } + /* CODE REVIEW 3: (same as above) Check is logically correct, but seems redundent. + Anything that fails the HC check, is assumed Low Capacity */ + /* nirp_oct03: this can be just an "else". the LC macro is 0 anyway, + and anything not HC is LC by default */ + /* removed else if */ + else { + address_mode = BYTE_MODE; + voltage_validation = SUCCESS; + } + } + } + } + + hal_delay_us(1000); + } + + if (voltage_validation == FAIL) { + card_usable = FAIL; + } + + } else { + /*3.3v test failed, try to test 1.8v mode! */ + mxcmci_cmd_config(&cmd, CMD8, SD_IF_LV_COND_ARG, READ, + RESPONSE_48, DATA_PRESENT_NONE, ENABLE, + ENABLE); + + /* Issue Command CMD8 to SD Memory card */ + if (host_send_cmd(&cmd) == FAIL) { + //diag_printf("%s:CMD8 for 1.8v failed!\n", __FUNCTION__); + /* nirp_oct07: CMD8 failed both in 3.3 and in 1.8v, try SD 1.x case - no CMD8, LC, 3.3v only */ + ocr_value = ((cyg_uint32) (SD_OCR_VALUE_HV_LC) & 0xFFFFFFFF); /* nirp_oct07: <- changed order of detection */ + } else { + //diag_printf("%s:CMD8 for 1.8v OK!\n", __FUNCTION__); + response.format = RESPONSE_48; + host_read_response(&response); + + /* Obtain Interface value from the response buffer */ + interface_value = response.cmd_rsp0; + + /* Check if volatge lies in range or not */ + if ((interface_value & SD_IF_LV_COND_ARG) == SD_IF_LV_COND_ARG) { + ocr_value = ((cyg_uint32) (SD_OCR_VALUE_LV_HC) & 0xFFFFFFFF); /* nirp_oct07: <- split OCR to 3.3v and 1.8v cases */ + } + /* nirp_oct07: otherwise, try with HV_LC settings (set at function start) */ + } + + } + + /* start timer for a delay of 1.5sec, for ACMD41 */ + hal_delay_us(1500); + + /* nirp_oct03: MMCSD_READY_TIMEOUT too long. + ACMD41 also takes longer than CMD1 (twice - ~200 clocks for CMD55+resp+CMD41+resp */ + /* In any case ,ACMD 41 will loop not more than 1.5 sec */ + while ((voltage_validation_command < 20) + && (voltage_validation != SUCCESS) && (card_usable == SUCCESS)) { + /* Configure CMD55 for SD card */ + /* This command expects defualt RCA 0x0000 as argument. */ + mxcmci_cmd_config(&cmd, CMD55, default_rca, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + + /* Issue CMD55 to SD Memory card */ + if (host_send_cmd(&cmd) == FAIL) { + voltage_validation = FAIL; + //diag_printf("Send CMD55 Failed!\n"); + break; + } else { + /* Configure ACMD41 for SD card */ + /* This command expects operating voltage range as argument. */ + /* CODE REVIEW START: Need to check why BUSY was expected */ + /* INTERNAL CODE REVIEW: Accepted - to fix original code if needed */ + /* nirp: changed RESPONSE_48_CHECK_BUSY to RESPONSE_48 */ + /* nirp_oct03: why with busy again? ACMD41 doesn't hold busy line */ + mxcmci_cmd_config(&cmd, ACMD41, ocr_value, READ, + RESPONSE_48, DATA_PRESENT_NONE, + DISABLE, DISABLE); + + /* CODE REVIEW END: */ + + /* Issue ACMD41 to SD Memory card to determine OCR value */ + if (host_send_cmd(&cmd) == FAIL) { + voltage_validation = FAIL; + diag_printf("Send ACMD41 Failed!\n"); + break; + } else { + /* Read Response from CMDRSP0 Register */ + response.format = RESPONSE_48; + host_read_response(&response); + + /* Obtain OCR Values from the response */ + /* Obtain OCR value from the response buffer + */ + ocr_value = response.cmd_rsp0; + + /* Check if card busy bit is cleared or not */ + if (!(response.cmd_rsp0 & CARD_BUSY_BIT)) { + /* Iterate One more time */ + voltage_validation_command++; + } else { + /*CODE REVIEW START: Update code and check only bit 30, HC or LC card type. All voltage bits needs to be masked. */ + /* INTERNAL CODE REVIEW: Accepted - need fix the code accordingly */ + /* nirp: It may be better to check the actual power supply voltage - requiring the entire range (0xff8000) may fail the sequence even if the device can be supported */ + /*CODE REVIEW END: */ + + if ((response.cmd_rsp0 & SD_OCR_HC_RES) == SD_OCR_HC_RES) { + address_mode = SECT_MODE; + voltage_validation = SUCCESS; + } + /* CODE REVIEW 3: (same as above) Check is logically correct, but seems redundent. + Anything that fails the HC check, is assumed Low Capacity */ + /* nirp_oct03: this can be just an "else". the LC macro is 0 anyway, + and anything not HC is LC by default */ + else { + address_mode = BYTE_MODE; + voltage_validation = SUCCESS; + } + } + } + + } + + hal_delay_us(1000); + + } + + return voltage_validation; } static cyg_uint32 sd_get_rca(void) { - command_t cmd; - cyg_uint32 card_state = 0; - cyg_uint32 rca_request = 0; - command_response_t response; - - /* Configure CMD3 for MMC card */ - /* 32bit card address is expected as Argument */ - mxcmci_cmd_config(&cmd, CMD3, NO_ARG, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - - /* Get relative address of the card */ - - if (host_send_cmd(&cmd) == FAIL) { - rca_request = FAIL; - diag_printf("Send CMD3 Failed.\n"); - } else { - /* Read Command response */ - response.format = RESPONSE_48; - host_read_response(&response); - - Card_rca = ((cyg_uint32) (response.cmd_rsp0 >> RCA_SHIFT)); - - card_state = CURR_CARD_STATE(response.cmd_rsp0); - - if (card_state == IDENT) { - rca_request = SUCCESS; - } else { - rca_request = FAIL; - diag_printf("Get RCA Failed.\n"); - } - } - - return rca_request; + command_t cmd; + cyg_uint32 card_state = 0; + cyg_uint32 rca_request = 0; + command_response_t response; + + /* Configure CMD3 for MMC card */ + /* 32bit card address is expected as Argument */ + mxcmci_cmd_config(&cmd, CMD3, NO_ARG, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + + /* Get relative address of the card */ + + if (host_send_cmd(&cmd) == FAIL) { + rca_request = FAIL; + diag_printf("Send CMD3 Failed.\n"); + } else { + /* Read Command response */ + response.format = RESPONSE_48; + host_read_response(&response); + + Card_rca = ((cyg_uint32) (response.cmd_rsp0 >> RCA_SHIFT)); + + card_state = CURR_CARD_STATE(response.cmd_rsp0); + + if (card_state == IDENT) { + rca_request = SUCCESS; + } else { + rca_request = FAIL; + diag_printf("Get RCA Failed.\n"); + } + } + + return rca_request; } static cyg_uint32 sd_get_bit_mode_support(void) { - command_t cmd; - cyg_uint32 rd_data_buff[128]; - cyg_uint32 bit4_mode_support; - command_response_t response; - cyg_uint32 card_address = (Card_rca << RCA_SHIFT); - - /* Configure CMD55 for SD card */ - /* This command expects RCA as argument. */ - mxcmci_cmd_config(&cmd, CMD55, card_address, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - - /* Issue CMD55 to SD Memory card */ - if (host_send_cmd(&cmd) == FAIL) { - bit4_mode_support = 0; - } else { - /* Read Command response */ - response.format = RESPONSE_48; - host_read_response(&response); - - /* Afetr giving ACMD Command, the R1 response should have - * STATUS_APP_CMD set - */ - if (response.cmd_rsp0 & SD_R1_STATUS_APP_CMD_MSK) { - - /* Configure ACMD51 for SD card */ - /* This command expects No argument. */ - - mxcmci_cmd_config(&cmd, ACMD51, NO_ARG, READ, - RESPONSE_48, DATA_PRESENT, ENABLE, - ENABLE); - - /* Issue ACMD51 to SD Memory card */ - if (host_send_cmd(&cmd) == FAIL) { - bit4_mode_support = 0; - } else { - /* Read Response from e-SDHC buffer */ - host_data_read(rd_data_buff, 512); - - /* Check for bus width supported */ - bit4_mode_support = (rd_data_buff[SD_BUS_WIDTH_OFFSET] & BIT_MODE_4_SUPPORT); - - if (bit4_mode_support) { - bit4_mode_support = BIT_4_MODE; - } - - } - } - } - - return bit4_mode_support; + command_t cmd; + cyg_uint32 rd_data_buff[128]; + cyg_uint32 bit4_mode_support; + command_response_t response; + cyg_uint32 card_address = (Card_rca << RCA_SHIFT); + + /* Configure CMD55 for SD card */ + /* This command expects RCA as argument. */ + mxcmci_cmd_config(&cmd, CMD55, card_address, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + + /* Issue CMD55 to SD Memory card */ + if (host_send_cmd(&cmd) == FAIL) { + bit4_mode_support = 0; + } else { + /* Read Command response */ + response.format = RESPONSE_48; + host_read_response(&response); + + /* Afetr giving ACMD Command, the R1 response should have + * STATUS_APP_CMD set + */ + if (response.cmd_rsp0 & SD_R1_STATUS_APP_CMD_MSK) { + + /* Configure ACMD51 for SD card */ + /* This command expects No argument. */ + + mxcmci_cmd_config(&cmd, ACMD51, NO_ARG, READ, + RESPONSE_48, DATA_PRESENT, ENABLE, + ENABLE); + + /* Issue ACMD51 to SD Memory card */ + if (host_send_cmd(&cmd) == FAIL) { + bit4_mode_support = 0; + } else { + /* Read Response from e-SDHC buffer */ + host_data_read(rd_data_buff, 512); + + /* Check for bus width supported */ + bit4_mode_support = (rd_data_buff[SD_BUS_WIDTH_OFFSET] & BIT_MODE_4_SUPPORT); + + if (bit4_mode_support) { + bit4_mode_support = BIT_4_MODE; + } + + } + } + } + + return bit4_mode_support; } static cyg_uint32 sd_set_bus_width(cyg_uint32 bus_width) { - command_t cmd; - cyg_uint32 set_bus_width_status = 0; - command_response_t response; - cyg_uint32 card_address = (Card_rca << RCA_SHIFT); - - if ((bus_width == 4) || (bus_width == 1)) { - /* Configure CMD55 for SD card */ - /* This command expects RCA as argument. */ - - mxcmci_cmd_config(&cmd, CMD55, card_address, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - - /* Issue CMD55 to SD Memory card */ - if (host_send_cmd(&cmd) == FAIL) { - set_bus_width_status = FAIL; - } else { - /* Read Command response */ - response.format = RESPONSE_48; - host_read_response(&response); - - /* Afetr giving ACMD Command, the R1 response should have - * STATUS_APP_CMD set - */ - if (response.cmd_rsp0 & SD_R1_STATUS_APP_CMD_MSK) { - bus_width = (bus_width >> ONE); - - /* Configure ACMD6 for SD card */ - mxcmci_cmd_config(&cmd, ACMD6, bus_width, READ, - RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, - ENABLE); - - /* Issue ACMD6 to SD Memory card */ - if (host_send_cmd(&cmd) == FAIL) { - set_bus_width_status = FAIL; - } else { - set_bus_width_status = SUCCESS; - } - } - } - } - - return set_bus_width_status; + command_t cmd; + cyg_uint32 set_bus_width_status = 0; + command_response_t response; + cyg_uint32 card_address = (Card_rca << RCA_SHIFT); + + if ((bus_width == FOUR) || (bus_width == ONE)) { + /* Configure CMD55 for SD card */ + /* This command expects RCA as argument. */ + + mxcmci_cmd_config(&cmd, CMD55, card_address, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + + /* Issue CMD55 to SD Memory card */ + if (host_send_cmd(&cmd) == FAIL) { + set_bus_width_status = FAIL; + } else { + /* Read Command response */ + response.format = RESPONSE_48; + host_read_response(&response); + + /* Afetr giving ACMD Command, the R1 response should have + * STATUS_APP_CMD set + */ + if (response.cmd_rsp0 & SD_R1_STATUS_APP_CMD_MSK) { + bus_width = (bus_width >> ONE); + + /* Configure ACMD6 for SD card */ + mxcmci_cmd_config(&cmd, ACMD6, bus_width, READ, + RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, + ENABLE); + + /* Issue ACMD6 to SD Memory card */ + if (host_send_cmd(&cmd) == FAIL) { + set_bus_width_status = FAIL; + } else { + set_bus_width_status = SUCCESS; + } + } + } + } + + return set_bus_width_status; } /*========================================================================== @@ -516,74 +515,74 @@ Detailed Description: cyg_uint32 esd_set_boot_partition(cyg_uint32 *src_ptr, cyg_uint32 length) { - command_t cmd; - cyg_uint32 set_partition_status = FAIL; - command_response_t response; - cyg_uint8 response_data[512]; - cyg_uint32 *response_pointer = (cyg_uint32 *) response_data; - cyg_uint32 card_address = (Card_rca << RCA_SHIFT); - cyg_uint32 card_state; - - /* Send CMD43 to select partition PARTITION1 active */ - mxcmci_cmd_config(&cmd, CMD43, - 0x1<<24, - READ, - RESPONSE_48, - DATA_PRESENT_NONE, - ENABLE, - ENABLE); - - if(host_send_cmd(&cmd) == FAIL) { - //diag_printf("%s: Send CMD43 Failed.\n", __FUNCTION__); - return 1; - } - - set_partition_status = mmc_data_write (src_ptr, length, 0); - if(set_partition_status) { - return 1; /* failed */ - } - - return 0; + command_t cmd; + cyg_uint32 set_partition_status = FAIL; + command_response_t response; + cyg_uint8 response_data[512]; + cyg_uint32 *response_pointer = (cyg_uint32 *) response_data; + cyg_uint32 card_address = (Card_rca << RCA_SHIFT); + cyg_uint32 card_state; + + /* Send CMD43 to select partition PARTITION1 active */ + mxcmci_cmd_config(&cmd, CMD43, + 0x1<<24, + READ, + RESPONSE_48, + DATA_PRESENT_NONE, + ENABLE, + ENABLE); + + if(host_send_cmd(&cmd) == FAIL) { + //diag_printf("%s: Send CMD43 Failed.\n", __FUNCTION__); + return 1; + } + + set_partition_status = mmc_data_write (src_ptr, length, 0); + if(set_partition_status) { + return 1; /* failed */ + } + + return 0; } static cyg_uint32 sd_set_high_speed_mode(void) { - command_t cmd; - cyg_uint32 status = FAIL; - command_response_t response; - - /* Configure CMD6 for SD card */ - mxcmci_cmd_config(&cmd, CMD6, 0xfffff1, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - - /* Issue CMD6 to SD Memory card */ - if (host_send_cmd(&cmd) == FAIL) { - status = FAIL; - diag_printf("Send CMD6 Failed.\n"); - return FAIL; - } else { - hal_delay_us(1000); - status = SUCCESS; - - } - - mxcmci_cmd_config(&cmd, CMD6, 0x80fffff1, READ, RESPONSE_48, - DATA_PRESENT_NONE, ENABLE, ENABLE); - - /* Issue CMD6 to SD Memory card */ - if (host_send_cmd(&cmd) == FAIL) { - status = FAIL; - diag_printf("Send CMD6 Failed.\n"); - } else { - /* wait until in transfer mode */ - while (mxcmci_trans_status()) { - hal_delay_us(5); - } - - status = SUCCESS; - } - - return status; + command_t cmd; + cyg_uint32 status = FAIL; + command_response_t response; + + /* Configure CMD6 for SD card */ + mxcmci_cmd_config(&cmd, CMD6, 0xfffff1, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + + /* Issue CMD6 to SD Memory card */ + if (host_send_cmd(&cmd) == FAIL) { + status = FAIL; + diag_printf("Send CMD6 Failed.\n"); + return FAIL; + } else { + hal_delay_us(1000); + status = SUCCESS; + + } + + mxcmci_cmd_config(&cmd, CMD6, 0x80fffff1, READ, RESPONSE_48, + DATA_PRESENT_NONE, ENABLE, ENABLE); + + /* Issue CMD6 to SD Memory card */ + if (host_send_cmd(&cmd) == FAIL) { + status = FAIL; + diag_printf("Send CMD6 Failed.\n"); + } else { + /* wait until in transfer mode */ + while (mxcmci_trans_status()) { + hal_delay_us(5); + } + + status = SUCCESS; + } + + return status; } /* end of mxcmic_sd.c */ diff --git a/packages/devs/ipu/arm/imx/v1_0/include/ipu_common.h b/packages/devs/ipu/arm/imx/v1_0/include/ipu_common.h index 2d2c7a32..8f655ca9 100644 --- a/packages/devs/ipu/arm/imx/v1_0/include/ipu_common.h +++ b/packages/devs/ipu/arm/imx/v1_0/include/ipu_common.h @@ -20,7 +20,6 @@ // System-wide configuration info #include #include -#include #ifdef CYGBLD_HAL_PLF_DEFS_H #include CYGBLD_HAL_PLF_DEFS_H #else diff --git a/packages/ecos.db b/packages/ecos.db index a26d209a..533a867c 100644 --- a/packages/ecos.db +++ b/packages/ecos.db @@ -1817,15 +1817,6 @@ package CYGPKG_DEVS_ETH_ARM_TX51 { This package provides Ethernet support for the Ka-Ro electronics TX51 processor module." } -package CYGPKG_DEVS_ETH_ARM_TX53 { - alias { "Ethernet driver for Ka-Ro electronics TX53 processor module" devs_eth_arm_tx53 } - directory devs/eth/arm/tx53karo - script tx53_eth_drivers.cdl - hardware - description " - This package provides Ethernet support for the Ka-Ro electronics TX53 processor module." -} - package CYGPKG_DEVS_ETH_ARM_IMX_3STACK { alias { "Ethernet driver for Freescale 3-Stack board" imx_3stack_eth_driver } hardware @@ -3602,16 +3593,6 @@ package CYGPKG_HAL_ARM_MX51 { eCos on Freescale i.MX51 based systems." } -package CYGPKG_HAL_ARM_MX53 { - alias { "Freescale i.MX53 Chipset" hal_arm_mx53 } - directory hal/arm/mx53/var - script hal_arm_soc.cdl - hardware - description " - The MX53 HAL package provides the support needed to run - eCos on Freescale i.MX53 based systems." -} - package CYGPKG_HAL_ARM_MXC91321 { alias { "Freescale MXC91321 Chipset" hal_arm_mxc91321 } directory hal/arm/mxc91321/var @@ -3781,16 +3762,6 @@ package CYGPKG_HAL_ARM_TX51KARO { eCos on a Ka-Ro electronics TX51 processor module." } -package CYGPKG_HAL_ARM_TX53KARO { - alias { "Ka-Ro electronics TX53 processor module" hal_arm_tx53karo } - directory hal/arm/mx53/karo - script hal_arm_tx53.cdl - hardware - description " - The TX53 HAL package provides the support needed to run - eCos on a Ka-Ro electronics TX53 processor module." -} - # -------------------------------------------------------------------------- # SH packages package CYGPKG_HAL_SH { @@ -5926,18 +5897,6 @@ target tx51karo { Freescale i.MX51 processor." } -target tx53karo { - alias { "Ka-Ro electronics TX53 processor module" mx53 tx53karo } - packages { CYGPKG_HAL_ARM - CYGPKG_HAL_ARM_MX53 - CYGPKG_HAL_ARM_TX53KARO - } - description " - The tx53karo target provides the packages needed to run - eCos on a Ka-Ro electronics TX53 module equipped with a - Freescale i.MX53 processor." -} - target mx31ads { alias { "Freescale i.MX31 ADS board" mx31 mx31ads } packages { CYGPKG_HAL_ARM diff --git a/packages/hal/arm/arch/v2_0/src/redboot_linux_exec.c b/packages/hal/arm/arch/v2_0/src/redboot_linux_exec.c index 9d7a5f9c..81c1bec8 100644 --- a/packages/hal/arm/arch/v2_0/src/redboot_linux_exec.c +++ b/packages/hal/arm/arch/v2_0/src/redboot_linux_exec.c @@ -77,7 +77,7 @@ #include #ifndef CYGARC_PHYSICAL_ADDRESS -# error CYGARC_PHYSICAL_ADDRESS not defined +# error # define CYGARC_PHYSICAL_ADDRESS(x) (x) #endif diff --git a/packages/hal/arm/mx25/karo/v1_0/src/tx25_misc.c b/packages/hal/arm/mx25/karo/v1_0/src/tx25_misc.c index 2ecdca20..3c0b32c5 100644 --- a/packages/hal/arm/mx25/karo/v1_0/src/tx25_misc.c +++ b/packages/hal/arm/mx25/karo/v1_0/src/tx25_misc.c @@ -372,18 +372,6 @@ static void display_clock_src(void) #define WDOG_WRSR ((CYG_WORD16 *)(WDOG_BASE_ADDR + 0x4)) #define CRM_RCSR ((CYG_WORD32 *)(CCM_BASE_ADDR + 0x28)) -static unsigned long random; -extern unsigned int hal_timer_count(void); -/* provide at least _some_ sort of randomness */ -static void random_init(void) -{ - do { - srand(random + hal_timer_count()); - random = rand(); - } while ((hal_timer_count() < 5) || (hal_timer_count() & 0x47110815)); -} -RedBoot_init(random_init, RedBoot_INIT_FIRST); - static void display_board_type(void) { diag_printf("\nBoard Type: Ka-Ro TX25\n"); diff --git a/packages/hal/arm/mx27/karo/v1_0/src/tx27_misc.c b/packages/hal/arm/mx27/karo/v1_0/src/tx27_misc.c index e37aaa88..0e7e480d 100644 --- a/packages/hal/arm/mx27/karo/v1_0/src/tx27_misc.c +++ b/packages/hal/arm/mx27/karo/v1_0/src/tx27_misc.c @@ -507,18 +507,6 @@ static void display_clock_src(void) } } -static unsigned long random; -extern unsigned int hal_timer_count(void); -/* provide at least _some_ sort of randomness */ -static void random_init(void) -{ - do { - srand(random + hal_timer_count()); - random = rand(); - } while ((hal_timer_count() < 5) || (hal_timer_count() & 0x47110815)); -} -RedBoot_init(random_init, RedBoot_INIT_FIRST); - #define WDOG_WRSR ((CYG_WORD16 *)0x10002004) static void display_board_type(void) { diff --git a/packages/hal/arm/mx51/karo/v1_0/cdl/hal_arm_tx51.cdl b/packages/hal/arm/mx51/karo/v1_0/cdl/hal_arm_tx51.cdl index 55a19405..dfcdf6a2 100644 --- a/packages/hal/arm/mx51/karo/v1_0/cdl/hal_arm_tx51.cdl +++ b/packages/hal/arm/mx51/karo/v1_0/cdl/hal_arm_tx51.cdl @@ -219,7 +219,16 @@ cdl_package CYGPKG_HAL_ARM_TX51KARO { legal_values { 166 200 } default_value { 166 } description " - This option specifies the SDRAM clock im MHz of the TX51 module." + This option specifies the SDRAM clock in MHz of the TX51 module." + } + + cdl_option CYGNUM_HAL_ARM_TX51_CPU_CLK { + display "CPU clock" + flavor data + legal_values { 600 800 } + default_value { 800 } + description " + This option specifies the CPU clock in MHz of the TX51 module." } cdl_option CYGOPT_HAL_ARM_TX51_DEBUG { diff --git a/packages/hal/arm/mx51/karo/v1_0/include/hal_platform_setup.h b/packages/hal/arm/mx51/karo/v1_0/include/hal_platform_setup.h index 60117ce3..ca4d18b9 100644 --- a/packages/hal/arm/mx51/karo/v1_0/include/hal_platform_setup.h +++ b/packages/hal/arm/mx51/karo/v1_0/include/hal_platform_setup.h @@ -50,6 +50,9 @@ #include // Platform specific hardware definitions #include CYGHWR_MEMORY_LAYOUT_H +#define CPU_CLK CYGNUM_HAL_ARM_TX51_CPU_CLK +#define SDRAM_CLK CYGNUM_HAL_ARM_TX51_SDRAM_CLK + #if defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM) #define PLATFORM_SETUP1 _platform_setup1 #define CYGHWR_HAL_ARM_HAS_MMU @@ -192,6 +195,7 @@ Normal_Boot_Continue: * Note: * IOMUX/PBC setup is done in C function plf_hardware_init() for simplicity */ + STACK_Setup: @ Set up a stack [for calling C code] ldr r1, =__startup_stack @@ -296,7 +300,13 @@ osc_ok: mov r1, #0x4 str r1, [r0, #CLKCTL_CCSR] +#if CPU_CLK == 800 setup_pll PLL1, 800 +#elif CPU_CLK == 600 + setup_pll PLL1, 600 +#else +#error Bad CPU clock +#endif setup_pll PLL3, 665 /* Switch peripheral to PLL 3 */ @@ -487,8 +497,6 @@ _KARO_CECFG_END: #define ESDCTL_VAL (0x80000000 | (SREFR << 28) | (RA_BITS << 24) | (CA_BITS << 20) | \ (DSIZ << 16) | (SRT << 14) | (PWDT << 12)) -#define SDRAM_CLK CYGNUM_HAL_ARM_TX51_SDRAM_CLK - #define NS_TO_CK(ns) (((ns) * SDRAM_CLK + 999) / 1000) .macro CK_VAL, name, clks, offs @@ -603,10 +611,33 @@ M4IF_FPWC_VAL: .word 0x00240126 MXC_REDBOOT_ROM_START: .long SDRAM_BASE_ADDR + SDRAM_SIZE - REDBOOT_OFFSET CCM_CBCDR_VAL1: .word 0x19239145 CCM_CBCDR_VAL2: .word 0x13239145 +#if (CPU_CLK % SDRAM_CLK == 0) +CCM_CBCDR_VAL3: .word (((CPU_CLK + SDRAM_CLK - 1) / SDRAM_CLK - 1) << 27) | (1 << 30) | 0x01e35100 +#else +CCM_CBCDR_VAL3: .word 0x01e35100 +#endif +#if 0 + #if SDRAM_CLK == 200 +#if CPU_CLK == 800 CCM_CBCDR_VAL3: .word 0x59E35100 +#elif CPU_CLK == 600 +CCM_CBCDR_VAL3: .word 0x51E35100 #else +#error Bad CPU_CLK +#endif +#elif SDRAM_CLK == 166 +#if CPU_CLK == 800 CCM_CBCDR_VAL3: .word 0x01E35100 +#elif CPU_CLK == 600 +CCM_CBCDR_VAL3: .word 0x01E35100 +#else +#error Bad CPU_CLK +#endif +#else +#error Bad SDRAM_CLK +#endif + #endif CCM_CBCMR_VAL1: .word 0x000010C0 CCM_CBCMR_VAL2: .word 0x000020C0 @@ -622,6 +653,9 @@ W_DP_MFN_800: .word DP_MFN_800 W_DP_OP_700: .word DP_OP_700 W_DP_MFD_700: .word DP_MFD_700 W_DP_MFN_700: .word DP_MFN_700 +W_DP_OP_600: .word DP_OP_600 +W_DP_MFD_600: .word DP_MFD_600 +W_DP_MFN_600: .word DP_MFN_600 W_DP_OP_400: .word DP_OP_400 W_DP_MFD_400: .word DP_MFD_400 W_DP_MFN_400: .word DP_MFN_400 diff --git a/packages/hal/arm/mx51/karo/v1_0/src/tx51_misc.c b/packages/hal/arm/mx51/karo/v1_0/src/tx51_misc.c index c350bbad..3bd2987d 100644 --- a/packages/hal/arm/mx51/karo/v1_0/src/tx51_misc.c +++ b/packages/hal/arm/mx51/karo/v1_0/src/tx51_misc.c @@ -476,25 +476,6 @@ void increase_core_voltage(bool i) } } -static unsigned long random; -/* provide at least _some_ sort of randomness */ -#define MAX_LOOPS 100 -extern int hal_timer_count(void); - -static void random_init(void) -{ - unsigned long timer; - - int loops = MAX_LOOPS; - - do { - timer = hal_timer_count(); - srand(random + timer); - random = rand(); - } while ((timer < 5) || ((timer & (random >> (random & 0x1f))) && --loops > 0)); -} -RedBoot_init(random_init, RedBoot_INIT_FIRST); - static void display_board_type(void) { diag_printf("\nBoard Type: Ka-Ro TX51-80x%d\n", diff --git a/packages/hal/arm/mx51/var/v2_0/include/hal_soc.h b/packages/hal/arm/mx51/var/v2_0/include/hal_soc.h index 0cc988f4..e710a2bd 100644 --- a/packages/hal/arm/mx51/var/v2_0/include/hal_soc.h +++ b/packages/hal/arm/mx51/var/v2_0/include/hal_soc.h @@ -585,6 +585,10 @@ externC void plf_hardware_init(void); #define DP_MFD_700 (24 - 1) #define DP_MFN_700 7 +#define DP_OP_600 ((6 << 4) + ((1 - 1) << 0)) +#define DP_MFD_600 (4 - 1) +#define DP_MFN_600 1 + #define DP_OP_400 ((8 << 4) + ((2 - 1) << 0)) #define DP_MFD_400 (3 - 1) #define DP_MFN_400 1 diff --git a/packages/infra/v2_0/src/diag.cxx b/packages/infra/v2_0/src/diag.cxx index 5fc75a0f..189303eb 100644 --- a/packages/infra/v2_0/src/diag.cxx +++ b/packages/infra/v2_0/src/diag.cxx @@ -42,7 +42,7 @@ //#####DESCRIPTIONBEGIN#### // // Author(s): nickg,gthomas,jlarmour -// Contributors: +// Contributors: // Date: 1999-02-22 // Purpose: Infrastructure diagnostic output // Description: Implementations of infrastructure diagnostic routines. @@ -55,60 +55,61 @@ #include #include -#include // base types - -#include // HAL polled output -#include // architectural stuff for... -#include // interrupt control -#include // diagnostic output routines +#include // base types + +#include // HAL polled output +#include // architectural stuff for... +#include // interrupt control +#include // diagnostic output routines #include #include #include - + #ifdef CYG_HAL_DIAG_LOCK_DATA_DEFN CYG_HAL_DIAG_LOCK_DATA_DEFN; #endif - + /*----------------------------------------------------------------------*/ externC void diag_write_num( - cyg_uint64 n, /* number to write */ - cyg_ucount8 base, /* radix to write to */ - cyg_ucount8 sign, /* sign, '-' if -ve, '+' if +ve */ - cyg_bool pfzero, /* prefix with zero ? */ - cyg_ucount8 width /* min width of number */ - ); + cyg_uint32 n, /* number to write */ + cyg_ucount8 base, /* radix to write to */ + cyg_ucount8 sign, /* sign, '-' if -ve, '+' if +ve */ + cyg_bool pfzero, /* prefix with zero ? */ + cyg_ucount8 width /* min width of number */ + ); class Cyg_dummy_diag_init_class { public: Cyg_dummy_diag_init_class() { - HAL_DIAG_INIT(); - } + HAL_DIAG_INIT(); + } }; // Initialize after HAL. static Cyg_dummy_diag_init_class cyg_dummy_diag_init_obj -CYGBLD_ATTRIB_INIT_AFTER(CYG_INIT_HAL); + CYGBLD_ATTRIB_INIT_AFTER(CYG_INIT_HAL); /*----------------------------------------------------------------------*/ /* Write single char to output */ externC void diag_write_char(char c) { - /* Translate LF into CRLF */ + /* Translate LF into CRLF */ - if (c == '\n') { - HAL_DIAG_WRITE_CHAR('\r'); - } + if( c == '\n' ) + { + HAL_DIAG_WRITE_CHAR('\r'); + } - HAL_DIAG_WRITE_CHAR(c); + HAL_DIAG_WRITE_CHAR(c); } // Default wrapper function used by diag_printf static void _diag_write_char(char c, void *param) { - diag_write_char(c); + diag_write_char(c); } /*----------------------------------------------------------------------*/ @@ -127,7 +128,7 @@ static void (*_putc)(char c, void *param) = _diag_write_char; externC void diag_init_putc(void (*putc)(char c, void *param)) { - _putc = putc; + _putc = putc; } /*----------------------------------------------------------------------*/ @@ -135,32 +136,29 @@ diag_init_putc(void (*putc)(char c, void *param)) externC void diag_write_string(const char *psz) { - while (*psz) - diag_write_char(*psz++); + while( *psz ) diag_write_char( *psz++ ); } /*----------------------------------------------------------------------*/ /* Write decimal value */ -externC void diag_write_dec(cyg_int32 n) +externC void diag_write_dec( cyg_int32 n) { - cyg_ucount8 sign; + cyg_ucount8 sign; - if (n < 0) - n = -n, sign = '-'; - else - sign = '+'; - - diag_write_num(n, 10, sign, false, 0); + if( n < 0 ) n = -n, sign = '-'; + else sign = '+'; + + diag_write_num( n, 10, sign, false, 0); } /*----------------------------------------------------------------------*/ /* Write hexadecimal value */ -externC void diag_write_hex(cyg_uint32 n) +externC void diag_write_hex( cyg_uint32 n) { - diag_write_num(n, 16, '+', false, 0); -} + diag_write_num( n, 16, '+', false, 0); +} /*----------------------------------------------------------------------*/ /* Generic number writing function */ @@ -169,94 +167,94 @@ externC void diag_write_hex(cyg_uint32 n) /* the left. */ externC void diag_write_long_num( - cyg_uint64 n, /* number to write */ - cyg_ucount8 base, /* radix to write to */ - cyg_ucount8 sign, /* sign, '-' if -ve, '+' if +ve */ - cyg_bool pfzero, /* prefix with zero ? */ - cyg_ucount8 width /* min width of number */ - ) + cyg_uint64 n, /* number to write */ + cyg_ucount8 base, /* radix to write to */ + cyg_ucount8 sign, /* sign, '-' if -ve, '+' if +ve */ + cyg_bool pfzero, /* prefix with zero ? */ + cyg_ucount8 width /* min width of number */ + ) { - char buf[32]; - cyg_count8 bpos; - char bufinit = pfzero?'0':' '; - const char *digits = "0123456789ABCDEF"; - - /* init buffer to padding char: space or zero */ - for (bpos = 0; bpos < (cyg_count8)sizeof(buf); bpos++) - buf[bpos] = bufinit; - - /* Set pos to start */ - bpos = 0; - - /* construct digits into buffer in reverse order */ - if (n == 0) - buf[bpos++] = '0'; - else - while (n != 0) { - cyg_ucount8 d = n % base; - buf[bpos++] = digits[d]; - n /= base; - } - - /* set pos to width if less. */ - if ((cyg_count8)width > bpos) - bpos = width; - - /* set sign if negative. */ - if (sign == '-') { - if (buf[bpos-1] == bufinit) bpos--; - buf[bpos] = sign; - } else { - bpos--; - } - - /* Now write it out in correct order. */ - while(bpos >= 0) - diag_write_char(buf[bpos--]); + char buf[32]; + cyg_count8 bpos; + char bufinit = pfzero?'0':' '; + const char *digits = "0123456789ABCDEF"; + + /* init buffer to padding char: space or zero */ + for( bpos = 0; bpos < (cyg_count8)sizeof(buf); bpos++ ) buf[bpos] = bufinit; + + /* Set pos to start */ + bpos = 0; + + /* construct digits into buffer in reverse order */ + if( n == 0 ) buf[bpos++] = '0'; + else while( n != 0 ) + { + cyg_ucount8 d = n % base; + buf[bpos++] = digits[d]; + n /= base; + } + + /* set pos to width if less. */ + if( (cyg_count8)width > bpos ) bpos = width; + + /* set sign if negative. */ + if( sign == '-' ) + { + if( buf[bpos-1] == bufinit ) bpos--; + buf[bpos] = sign; + } + else bpos--; + + /* Now write it out in correct order. */ + while( bpos >= 0 ) + diag_write_char(buf[bpos--]); } externC void diag_write_num( - cyg_uint64 n, /* number to write */ - cyg_ucount8 base, /* radix to write to */ - cyg_ucount8 sign, /* sign, '-' if -ve, '+' if +ve */ - cyg_bool pfzero, /* prefix with zero ? */ - cyg_ucount8 width /* min width of number */ - ) + cyg_uint32 n, /* number to write */ + cyg_ucount8 base, /* radix to write to */ + cyg_ucount8 sign, /* sign, '-' if -ve, '+' if +ve */ + cyg_bool pfzero, /* prefix with zero ? */ + cyg_ucount8 width /* min width of number */ + ) { - diag_write_long_num(n, base, sign, pfzero, width); + diag_write_long_num((long long)n, base, sign, pfzero, width); } /*----------------------------------------------------------------------*/ /* perform some simple sanity checks on a string to ensure that it */ /* consists of printable characters and is of reasonable length. */ -static cyg_bool diag_check_string(const char *str) +static cyg_bool diag_check_string( const char *str ) { - cyg_bool result = true; - const char *s; + cyg_bool result = true; + const char *s; + + if( str == NULL ) return false; + + for( s = str ; result && *s ; s++ ) + { + char c = *s; - if (str == NULL) - return false; + /* Check for a reasonable length string. */ + + if( s-str > 2048 ) result = false; - for (s = str ; result && *s ; s++) { - char c = *s; + /* We only really support CR, NL, tab and backspace at present. + * If we want to use other special chars, this test will + * have to be expanded. */ - /* Check for a reasonable length string. */ - if (s - str > 2048) - result = false; + if( c == '\n' || c == '\r' || c == '\b' || c == '\t' ) + continue; - /* We only really support CR, NL, tab and backspace at present. - * If we want to use other special chars, this test will - * have to be expanded. */ - if (c == '\n' || c == '\r' || c == '\b' || c == '\t') - continue; + /* Check for printable chars. This assumes ASCII */ + + if( c < ' ' || c > '~' ) + result = false; - /* Check for printable chars. This assumes ASCII */ - if (c < ' ' || c > '~') - result = false; - } + } - return result; + return result; } /*----------------------------------------------------------------------*/ @@ -264,25 +262,25 @@ static cyg_bool diag_check_string(const char *str) static int _cvt(unsigned long long val, char *buf, long radix, const char *digits) { - char temp[80]; - char *cp = temp; - int length = 0; - - if (val == 0) { - /* Special case */ - *cp++ = '0'; - } else { - while (val) { - *cp++ = digits[val % radix]; - val /= radix; - } - } - while (cp != temp) { - *buf++ = *--cp; - length++; - } - *buf = '\0'; - return length; + char temp[80]; + char *cp = temp; + int length = 0; + + if (val == 0) { + /* Special case */ + *cp++ = '0'; + } else { + while (val) { + *cp++ = digits[val % radix]; + val /= radix; + } + } + while (cp != temp) { + *buf++ = *--cp; + length++; + } + *buf = '\0'; + return (length); } #define is_digit(c) ((c >= '0') && (c <= '9')) @@ -290,379 +288,375 @@ _cvt(unsigned long long val, char *buf, long radix, const char *digits) static int _vprintf(void (*putc)(char c, void *param), void *param, const char *fmt, va_list ap) { - char buf[sizeof(long long) * 8]; - char c, sign; - const char *cp = buf; - int left_prec, right_prec, zero_fill, pad, pad_on_right, - i, islong, islonglong; - long long val = 0; - int res = 0, length = 0; - - if (!diag_check_string(fmt)) { - diag_write_string("\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 = ""; + 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("\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 = ""; #if !CYGINT_ISO_CTYPE #warning enable CYGINT_ISO_CTYPE to get sensible string output instead of bogus '' messages for unprintable characters - else if (!diag_check_string(cp)) { - diag_write_string(" 0) { - putc(c, param); - res++; - } - } - if (sign != '\0') { - putc(sign, param); - res++; - } - while (length-- > 0) { - c = *cp++; + length = 0; + while (cp[length] != '\0') length++; + break; + case 'c': + case 'C': + c = va_arg(ap, int /*char*/); + (*putc)(c, param); + res++; + continue; + case 'b': + case 'B': + length = left_prec; + if (left_prec == 0) { + if (islonglong) + length = sizeof(long long)*8; + else if (islong) + length = sizeof(long)*8; + else + length = sizeof(int)*8; + } + for (i = 0; i < length-1; i++) { + buf[i] = ((val & ((long long)1< 0) { + (*putc)(c, param); + res++; + } + } + if (sign != '\0') { + (*putc)(sign, param); + res++; + } + while (length-- > 0) { + c = *cp++; #if CYGINT_ISO_CTYPE - if (isprint(c) || isspace(c)) { - putc(c, param); - } else if (iscntrl(c)) { - putc('\\', param); - putc('C', param); - putc('-', param); - putc(c | 0x40, param); - } else { - int len = _cvt(c, buf, 16, "0123456789ABCDEF"); - putc('\\', param); - putc('0', param); - putc('x', param); - for (int i = 0; i < len; i++) { - putc(buf[i], param); - } - } -#else - putc(c, param); -#endif - res++; - } - if (pad_on_right) { - while (pad-- > 0) { - putc(' ', param); - res++; - } - } + if (isprint(c) || isspace(c)) { + (*putc)(c, param); + } else if (iscntrl(c)) { + (*putc)('\\', param); + (*putc)('C', param); + (*putc)('-', param); + (*putc)(c | 0x40, param); } else { - putc(c, param); - res++; + int len = _cvt(c, buf, 16, "0123456789ABCDEF"); + (*putc)('\\', param); + (*putc)('0', param); + (*putc)('x', param); + for (int i = 0; i < len; i++) { + (*putc)(buf[i], param); + } } - } - return res; +#else + (*putc)(c, param); +#endif + res++; + } + if (pad_on_right) { + while (pad-- > 0) { + (*putc)(' ', param); + res++; + } + } + } else { + (*putc)(c, param); + res++; + } + } + return (res); } struct _sputc_info { - char *ptr; - int max, len; + char *ptr; + int max, len; }; -static void +static void _sputc(char c, void *param) { - struct _sputc_info *info = (struct _sputc_info *)param; + struct _sputc_info *info = (struct _sputc_info *)param; - if (info->len < info->max) { - *info->ptr++ = c; - *info->ptr = '\0'; - info->len++; - } + if (info->len < info->max) { + *(info->ptr)++ = c; + *(info->ptr) = '\0'; + info->len++; + } } int diag_sprintf(char *buf, const char *fmt, ...) -{ - int ret; - va_list ap; - struct _sputc_info info; - - va_start(ap, fmt); - info.ptr = buf; - info.max = 1024; // Unlimited - info.len = 0; - ret = _vprintf(_sputc, &info, fmt, ap); - va_end(ap); - return info.len; +{ + int ret; + va_list ap; + struct _sputc_info info; + + va_start(ap, fmt); + info.ptr = buf; + info.max = 1024; // Unlimited + info.len = 0; + ret = _vprintf(_sputc, (void *)&info, fmt, ap); + va_end(ap); + return (info.len); } int diag_snprintf(char *buf, size_t len, const char *fmt, ...) -{ - int ret; - va_list ap; - struct _sputc_info info; - - va_start(ap, fmt); - info.ptr = buf; - info.len = 0; - info.max = len-1; - ret = _vprintf(_sputc, &info, fmt, ap); - va_end(ap); - return info.len; +{ + int ret; + va_list ap; + struct _sputc_info info; + + va_start(ap, fmt); + info.ptr = buf; + info.len = 0; + info.max = len-1; + ret = _vprintf(_sputc, (void *)&info, fmt, ap); + va_end(ap); + return (info.len); } -int +int diag_vsprintf(char *buf, const char *fmt, va_list ap) { - int ret; - struct _sputc_info info; - - info.ptr = buf; - info.max = 1024; // Unlimited - info.len = 0; - ret = _vprintf(_sputc, &info, fmt, ap); - return info.len; + int ret; + struct _sputc_info info; + + info.ptr = buf; + info.max = 1024; // Unlimited + info.len = 0; + ret = _vprintf(_sputc, (void *)&info, fmt, ap); + return (info.len); } int diag_printf(const char *fmt, ...) { - va_list ap; - int ret; + va_list ap; + int ret; - va_start(ap, fmt); - ret = _vprintf(_putc, NULL, fmt, ap); - va_end(ap); - return ret; + va_start(ap, fmt); + ret = _vprintf(_putc, (void *)0, fmt, ap); + va_end(ap); + return (ret); } int diag_vprintf(const char *fmt, va_list ap) { - int ret; + int ret; - ret = _vprintf(_putc, NULL, fmt, ap); - return ret; + ret = _vprintf(_putc, (void *)0, fmt, ap); + return (ret); } void diag_vdump_buf_with_offset(__printf_fun *pf, - cyg_uint8 *p, - CYG_ADDRWORD s, - cyg_uint8 *base) + cyg_uint8 *p, + CYG_ADDRWORD s, + cyg_uint8 *base) { - int i, c; - - if ((CYG_ADDRWORD)s > (CYG_ADDRWORD)p) { - s = (CYG_ADDRWORD)s - (CYG_ADDRWORD)p; - } - while ((int)s > 0) { - if (base) { - pf("%08X: ", (CYG_ADDRWORD)p - (CYG_ADDRWORD)base); - } else { - pf("%08X: ", p); - } - for (i = 0; i < 16; i++) { - if (i < (int)s) { - pf("%02X ", p[i] & 0xFF); - } else { - pf(" "); - } - if (i == 7) - pf(" "); - } - pf(" |"); - for (i = 0; i < 16; i++) { - if (i < (int)s) { - c = p[i] & 0xFF; - if ((c < 0x20) || (c >= 0x7F)) c = '.'; - } else { - c = ' '; - } - pf("%c", c); - } - pf("|\n"); - s -= 16; - p += 16; - } + int i, c; + if ((CYG_ADDRWORD)s > (CYG_ADDRWORD)p) { + s = (CYG_ADDRWORD)s - (CYG_ADDRWORD)p; + } + while ((int)s > 0) { + if (base) { + (*pf)("%08X: ", (CYG_ADDRWORD)p - (CYG_ADDRWORD)base); + } else { + (*pf)("%08X: ", p); + } + for (i = 0; i < 16; i++) { + if (i < (int)s) { + (*pf)("%02X ", p[i] & 0xFF); + } else { + (*pf)(" "); + } + if (i == 7) (*pf)(" "); + } + (*pf)(" |"); + for (i = 0; i < 16; i++) { + if (i < (int)s) { + c = p[i] & 0xFF; + if ((c < 0x20) || (c >= 0x7F)) c = '.'; + } else { + c = ' '; + } + (*pf)("%c", c); + } + (*pf)("|\n"); + s -= 16; + p += 16; + } } void -diag_dump_buf_with_offset(cyg_uint8 *p, - CYG_ADDRWORD s, - cyg_uint8 *base) +diag_dump_buf_with_offset(cyg_uint8 *p, + CYG_ADDRWORD s, + cyg_uint8 *base) { - diag_vdump_buf_with_offset(diag_printf, p, s, base); + diag_vdump_buf_with_offset(diag_printf, p, s, base); } void @@ -672,32 +666,31 @@ diag_dump_buf(void *p, CYG_ADDRWORD s) } void -diag_dump_buf_with_offset_32bit(cyg_uint32 *p, - CYG_ADDRWORD s, - cyg_uint32 *base) +diag_dump_buf_with_offset_32bit(cyg_uint32 *p, + CYG_ADDRWORD s, + cyg_uint32 *base) { - int i; - - if ((CYG_ADDRWORD)s > (CYG_ADDRWORD)p) { - s = (CYG_ADDRWORD)s - (CYG_ADDRWORD)p; - } - while ((int)s > 0) { - if (base) { - diag_printf("%08X: ", (CYG_ADDRWORD)p - (CYG_ADDRWORD)base); - } else { - diag_printf("%08X: ", (CYG_ADDRWORD)p); - } - for (i = 0; i < 4; i++) { - if (i < (int)s / 4) { - diag_printf("%08X ", p[i]); - } else { - diag_printf(" "); - } - } - diag_printf("\n"); - s -= 16; - p += 4; - } + int i; + if ((CYG_ADDRWORD)s > (CYG_ADDRWORD)p) { + s = (CYG_ADDRWORD)s - (CYG_ADDRWORD)p; + } + while ((int)s > 0) { + if (base) { + diag_printf("%08X: ", (CYG_ADDRWORD)p - (CYG_ADDRWORD)base); + } else { + diag_printf("%08X: ", (CYG_ADDRWORD)p); + } + for (i = 0; i < 4; i++) { + if (i < (int)s/4) { + diag_printf("%08X ", p[i] ); + } else { + diag_printf(" "); + } + } + diag_printf("\n"); + s -= 16; + p += 4; + } } externC void @@ -707,32 +700,32 @@ diag_dump_buf_32bit(void *p, CYG_ADDRWORD s) } void -diag_dump_buf_with_offset_16bit(cyg_uint16 *p, - CYG_ADDRWORD s, - cyg_uint16 *base) +diag_dump_buf_with_offset_16bit(cyg_uint16 *p, + CYG_ADDRWORD s, + cyg_uint16 *base) { - int i; - if ((CYG_ADDRWORD)s > (CYG_ADDRWORD)p) { - s = (CYG_ADDRWORD)s - (CYG_ADDRWORD)p; - } - while ((int)s > 0) { - if (base) { - diag_printf("%08X: ", (CYG_ADDRWORD)p - (CYG_ADDRWORD)base); - } else { - diag_printf("%08X: ", (CYG_ADDRWORD)p); - } - for (i = 0; i < 8; i++) { - if (i < (int)s / 2) { - diag_printf("%04X ", p[i]); - if (i == 3) diag_printf(" "); - } else { - diag_printf(" "); - } - } - diag_printf("\n"); - s -= 16; - p += 8; - } + int i; + if ((CYG_ADDRWORD)s > (CYG_ADDRWORD)p) { + s = (CYG_ADDRWORD)s - (CYG_ADDRWORD)p; + } + while ((int)s > 0) { + if (base) { + diag_printf("%08X: ", (CYG_ADDRWORD)p - (CYG_ADDRWORD)base); + } else { + diag_printf("%08X: ", (CYG_ADDRWORD)p); + } + for (i = 0; i < 8; i++) { + if (i < (int)s/2) { + diag_printf("%04X ", p[i] ); + if (i == 3) diag_printf(" "); + } else { + diag_printf(" "); + } + } + diag_printf("\n"); + s -= 16; + p += 8; + } } externC void diff --git a/packages/io/flash/v2_0/include/flash.h b/packages/io/flash/v2_0/include/flash.h index 688aba18..8becb38a 100644 --- a/packages/io/flash/v2_0/include/flash.h +++ b/packages/io/flash/v2_0/include/flash.h @@ -74,57 +74,57 @@ externC int flash_get_block_info(int *block_size, int *blocks); externC bool flash_code_overlaps(void *start, void *end); externC char *flash_errmsg(int err); -#define FLASH_ERR_OK 0x00 // No error - operation complete -#define FLASH_ERR_INVALID 0x01 // Invalid FLASH address -#define FLASH_ERR_ERASE 0x02 // Error trying to erase -#define FLASH_ERR_LOCK 0x03 // Error trying to lock/unlock -#define FLASH_ERR_PROGRAM 0x04 // Error trying to program -#define FLASH_ERR_PROTOCOL 0x05 // Generic error -#define FLASH_ERR_PROTECT 0x06 // Device/region is write-protected -#define FLASH_ERR_NOT_INIT 0x07 // FLASH info not yet initialized -#define FLASH_ERR_HWR 0x08 // Hardware (configuration?) problem -#define FLASH_ERR_ERASE_SUSPEND 0x09 // Device is in erase suspend mode -#define FLASH_ERR_PROGRAM_SUSPEND 0x0a // Device is in in program suspend mode -#define FLASH_ERR_DRV_VERIFY 0x0b // Driver failed to verify data -#define FLASH_ERR_DRV_TIMEOUT 0x0c // Driver timed out waiting for device -#define FLASH_ERR_DRV_WRONG_PART 0x0d // Driver does not support device -#define FLASH_ERR_LOW_VOLTAGE 0x0e // Not enough juice to complete job +#define FLASH_ERR_OK 0x00 // No error - operation complete +#define FLASH_ERR_INVALID 0x01 // Invalid FLASH address +#define FLASH_ERR_ERASE 0x02 // Error trying to erase +#define FLASH_ERR_LOCK 0x03 // Error trying to lock/unlock +#define FLASH_ERR_PROGRAM 0x04 // Error trying to program +#define FLASH_ERR_PROTOCOL 0x05 // Generic error +#define FLASH_ERR_PROTECT 0x06 // Device/region is write-protected +#define FLASH_ERR_NOT_INIT 0x07 // FLASH info not yet initialized +#define FLASH_ERR_HWR 0x08 // Hardware (configuration?) problem +#define FLASH_ERR_ERASE_SUSPEND 0x09 // Device is in erase suspend mode +#define FLASH_ERR_PROGRAM_SUSPEND 0x0a // Device is in in program suspend mode +#define FLASH_ERR_DRV_VERIFY 0x0b // Driver failed to verify data +#define FLASH_ERR_DRV_TIMEOUT 0x0c // Driver timed out waiting for device +#define FLASH_ERR_DRV_WRONG_PART 0x0d // Driver does not support device +#define FLASH_ERR_LOW_VOLTAGE 0x0e // Not enough juice to complete job #ifdef CYGPKG_IO_FLASH_BLOCK_DEVICE typedef struct { - CYG_ADDRESS offset; - int len; - int flasherr; - void **err_address; + CYG_ADDRESS offset; + int len; + int flasherr; + void **err_address; } cyg_io_flash_getconfig_erase_t; typedef struct { - int dev_size; + int dev_size; } cyg_io_flash_getconfig_devsize_t; typedef struct { - CYG_ADDRESS offset; - int block_size; + CYG_ADDRESS offset; + int block_size; } cyg_io_flash_getconfig_blocksize_t; #endif #ifdef _FLASH_PRIVATE_ struct flash_info { - int block_size; // Assuming fixed size "blocks" - int blocks; // Number of blocks - int buffer_size; // Size of write buffer (only defined for some devices) - unsigned long block_mask; - void *start, *end; // Address range - int init; - _printf *pf; + int block_size; // Assuming fixed size "blocks" + int blocks; // Number of blocks + int buffer_size; // Size of write buffer (only defined for some devices) + unsigned long block_mask; + void *start, *end; // Address range + int init; + _printf *pf; }; externC struct flash_info flash_info; externC int flash_hwr_init(void); externC int flash_hwr_map_error(int err); -// +// // Some FLASH devices may require additional support, e.g. to turn on // appropriate voltage drivers, before any operation. // diff --git a/packages/io/flash/v2_0/src/flash.c b/packages/io/flash/v2_0/src/flash.c index aee6b861..59725c50 100644 --- a/packages/io/flash/v2_0/src/flash.c +++ b/packages/io/flash/v2_0/src/flash.c @@ -44,12 +44,13 @@ // Author(s): gthomas // Contributors: gthomas // Date: 2000-07-26 -// Purpose: -// Description: -// +// Purpose: +// Description: +// //####DESCRIPTIONEND#### // //========================================================================== + #include #include @@ -84,17 +85,17 @@ externC code_fun flash_unlock_block; int flash_init(_printf *pf) { - int err; + int err; - flash_info.pf = pf; // Do this before calling into the driver - if (flash_info.init) return FLASH_ERR_OK; + flash_info.pf = pf; // Do this before calling into the driver + if (flash_info.init) return FLASH_ERR_OK; - if ((err = flash_hwr_init()) != FLASH_ERR_OK) { - return err; - } - flash_info.block_mask = ~(flash_info.block_size - 1); - flash_info.init = 1; - return FLASH_ERR_OK; + if ((err = flash_hwr_init()) != FLASH_ERR_OK) { + return err; + } + flash_info.block_mask = ~(flash_info.block_size-1); + flash_info.init = 1; + return FLASH_ERR_OK; } // Use this function to make function pointers anonymous - forcing the @@ -111,285 +112,286 @@ static void *__anonymizer(void *p) void flash_dev_query(void *data) { - typedef void code_fun(void *); - code_fun *_flash_query; - int d_cache, i_cache; + typedef void code_fun(void *); + code_fun *_flash_query; + int d_cache, i_cache; - _flash_query = (code_fun*)__anonymizer(&flash_query); + _flash_query = (code_fun*)__anonymizer(&flash_query); - HAL_FLASH_CACHES_OFF(d_cache, i_cache); - (*_flash_query)(data); - HAL_FLASH_CACHES_ON(d_cache, i_cache); + HAL_FLASH_CACHES_OFF(d_cache, i_cache); + (*_flash_query)(data); + HAL_FLASH_CACHES_ON(d_cache, i_cache); } int flash_verify_addr(void *target) { - if (!flash_info.init) { - return FLASH_ERR_NOT_INIT; - } - if (((CYG_ADDRESS)target >= (CYG_ADDRESS)flash_info.start) && - ((CYG_ADDRESS)target <= ((CYG_ADDRESS)flash_info.end - 1))) { - return FLASH_ERR_OK; - } else { - return FLASH_ERR_INVALID; - } + if (!flash_info.init) { + return FLASH_ERR_NOT_INIT; + } + if (((CYG_ADDRESS)target >= (CYG_ADDRESS)flash_info.start) && + ((CYG_ADDRESS)target <= ((CYG_ADDRESS)flash_info.end - 1))) { + return FLASH_ERR_OK; + } else { + return FLASH_ERR_INVALID; + } } int flash_get_limits(void *target, void **start, void **end) { - if (!flash_info.init) { - return FLASH_ERR_NOT_INIT; - } - *start = flash_info.start; - *end = flash_info.end; - return FLASH_ERR_OK; + if (!flash_info.init) { + return FLASH_ERR_NOT_INIT; + } + *start = flash_info.start; + *end = flash_info.end; + return FLASH_ERR_OK; } int flash_get_block_info(int *block_size, int *blocks) { - if (!flash_info.init) { - return FLASH_ERR_NOT_INIT; - } - *block_size = flash_info.block_size; - *blocks = flash_info.blocks; - return FLASH_ERR_OK; + if (!flash_info.init) { + return FLASH_ERR_NOT_INIT; + } + *block_size = flash_info.block_size; + *blocks = flash_info.blocks; + return FLASH_ERR_OK; } int flash_erase(void *addr, int len, void **err_addr) { - unsigned short *block, *end_addr; - int stat = 0; - typedef int code_fun(unsigned short *, unsigned int); - code_fun *_flash_erase_block; - int d_cache, i_cache; + unsigned short *block, *end_addr; + int stat = 0; + typedef int code_fun(unsigned short *, unsigned int); + code_fun *_flash_erase_block; + int d_cache, i_cache; - if (!flash_info.init) { - return FLASH_ERR_NOT_INIT; - } + if (!flash_info.init) { + return FLASH_ERR_NOT_INIT; + } #ifdef CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT - if (plf_flash_query_soft_wp(addr,len)) - return FLASH_ERR_PROTECT; + if (plf_flash_query_soft_wp(addr,len)) + return FLASH_ERR_PROTECT; #endif - _flash_erase_block = (code_fun*)__anonymizer(&flash_erase_block); + _flash_erase_block = (code_fun*)__anonymizer(&flash_erase_block); - block = (unsigned short *)((CYG_ADDRESS)addr & flash_info.block_mask); - end_addr = (unsigned short *)((CYG_ADDRESS)addr + len); + block = (unsigned short *)((CYG_ADDRESS)addr & flash_info.block_mask); + end_addr = (unsigned short *)((CYG_ADDRESS)addr + len); - /* Check to see if end_addr overflowed */ - if ((end_addr < block) && (len > 0)) { - end_addr = (unsigned short *)((CYG_ADDRESS)flash_info.end); - } + /* Check to see if end_addr overflowed */ + if ((end_addr < block) && (len > 0)) { + end_addr = (unsigned short *)((CYG_ADDRESS)flash_info.end - 1); + } #ifdef CYGSEM_IO_FLASH_CHATTER - flash_info.pf("... Erase from %p-%p: ", block, end_addr); + flash_info.pf("... Erase from %p-%p: ", block, end_addr); #endif - HAL_FLASH_CACHES_OFF(d_cache, i_cache); - FLASH_Enable(block, end_addr); - while (block < end_addr) { - // Supply the blocksize for a gross check for erase success - unsigned short *tmp_block; + HAL_FLASH_CACHES_OFF(d_cache, i_cache); + FLASH_Enable(block, end_addr); + while (block < end_addr) { + // Supply the blocksize for a gross check for erase success + unsigned short *tmp_block; #if !defined(CYGSEM_IO_FLASH_READ_INDIRECT) - int i; - unsigned char *dp; - bool erased = true; - - dp = (unsigned char *)block; - for (i = 0; i < flash_info.block_size; i++) { - if (*dp++ != 0xFF) { - erased = false; - break; - } - } + int i; + unsigned char *dp; + bool erased = true; + + dp = (unsigned char *)block; + for (i = 0; i < flash_info.block_size; i++) { + if (*dp++ != 0xFF) { + erased = false; + break; + } + } #else - bool erased = false; + bool erased = false; #endif - if (!erased) { - stat = (*_flash_erase_block)(block, flash_info.block_size); - stat = flash_hwr_map_error(stat); - } - if (stat) { - *err_addr = block; - break; - } - - // Check to see if block will overflow - tmp_block = block + flash_info.block_size / sizeof(*block); - if (tmp_block < block) { - // If block address overflows, set block value to end on this loop - block = end_addr; - } else { - block = tmp_block; - } + if (!erased) { + stat = (*_flash_erase_block)(block, flash_info.block_size); + stat = flash_hwr_map_error(stat); + } + if (stat) { + *err_addr = block; + break; + } + + // Check to see if block will overflow + tmp_block = block + flash_info.block_size / sizeof(*block); + if (tmp_block < block) { + // If block address overflows, set block value to end on this loop + block = end_addr; + } else { + block = tmp_block; + } #ifdef CYGSEM_IO_FLASH_CHATTER - flash_info.pf("."); + flash_info.pf("."); #endif - } - FLASH_Disable((void *)((CYG_ADDRESS)addr & flash_info.block_mask), - end_addr); - HAL_FLASH_CACHES_ON(d_cache, i_cache); + } + FLASH_Disable((void *)((CYG_ADDRESS)addr & flash_info.block_mask), + end_addr); + HAL_FLASH_CACHES_ON(d_cache, i_cache); #ifdef CYGSEM_IO_FLASH_CHATTER - flash_info.pf("\n"); + flash_info.pf("\n"); #endif - return stat; + return stat; } int flash_program(void *_addr, void *_data, int len, void **err_addr) { - int stat = 0; - int size; - typedef int code_fun(void *, void *, int, unsigned long, int); - code_fun *_flash_program_buf; - unsigned char *addr = _addr; - unsigned char *data = _data; - CYG_ADDRESS tmp; - int d_cache, i_cache; - - if (!flash_info.init) { - return FLASH_ERR_NOT_INIT; - } + int stat = 0; + int size; + typedef int code_fun(void *, void *, int, unsigned long, int); + code_fun *_flash_program_buf; + unsigned char *addr = _addr; + unsigned char *data = _data; + CYG_ADDRESS tmp; + int d_cache, i_cache; + + if (!flash_info.init) { + return FLASH_ERR_NOT_INIT; + } #ifdef CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT - if (plf_flash_query_soft_wp(addr,len)) - return FLASH_ERR_PROTECT; + if (plf_flash_query_soft_wp(addr,len)) + return FLASH_ERR_PROTECT; #endif - _flash_program_buf = (code_fun*)__anonymizer(&flash_program_buf); + _flash_program_buf = (code_fun*)__anonymizer(&flash_program_buf); #ifdef CYGSEM_IO_FLASH_CHATTER - flash_info.pf("... Program from %p-%p at %p: ", data, - (void *)((CYG_ADDRESS)data + len), addr); + flash_info.pf("... Program from %p-%p at %p: ", data, + (void *)((CYG_ADDRESS)data + len), addr); #endif - HAL_FLASH_CACHES_OFF(d_cache, i_cache); - FLASH_Enable(addr, addr + len); - while (len > 0) { - size = len; + HAL_FLASH_CACHES_OFF(d_cache, i_cache); + FLASH_Enable(addr, addr + len); + while (len > 0) { + size = len; #if defined(MXCFLASH_SELECT_NAND) || defined(MXCFLASH_SELECT_MMC) - if (flash_info.start != 0) + if (flash_info.start != 0) #endif - if (size > flash_info.block_size) size = flash_info.block_size; + if (size > flash_info.block_size) size = flash_info.block_size; - tmp = (CYG_ADDRESS)addr & ~flash_info.block_mask; - if (tmp) { - tmp = flash_info.block_size - tmp; - if (size > tmp) size = tmp; - } + tmp = (CYG_ADDRESS)addr & ~flash_info.block_mask; + if (tmp) { + tmp = flash_info.block_size - tmp; + if (size > tmp) size = tmp; + } - stat = (*_flash_program_buf)(addr, data, size, - flash_info.block_mask, flash_info.buffer_size); - stat = flash_hwr_map_error(stat); + stat = (*_flash_program_buf)(addr, data, size, + flash_info.block_mask, flash_info.buffer_size); + stat = flash_hwr_map_error(stat); #ifdef CYGSEM_IO_FLASH_VERIFY_PROGRAM - if (0 == stat) // Claims to be OK - if (memcmp(addr, data, size) != 0) { - stat = 0x0BAD; + if (0 == stat) // Claims to be OK + if (memcmp(addr, data, size) != 0) { + stat = 0x0BAD; #ifdef CYGSEM_IO_FLASH_CHATTER - flash_info.pf("V"); + flash_info.pf("V"); #endif - } + } #endif - if (stat) { - *err_addr = addr; - break; - } + if (stat) { + *err_addr = addr; + break; + } #ifdef CYGSEM_IO_FLASH_CHATTER - flash_info.pf("."); + flash_info.pf("."); #endif - len -= size; - addr += size / sizeof(*addr); - data += size / sizeof(*data); - } - FLASH_Disable(_addr, addr + len); - HAL_FLASH_CACHES_ON(d_cache, i_cache); + len -= size; + addr += size / sizeof(*addr); + data += size / sizeof(*data); + } + FLASH_Disable(_addr, addr + len); + HAL_FLASH_CACHES_ON(d_cache, i_cache); #ifdef CYGSEM_IO_FLASH_CHATTER - flash_info.pf("\n"); + flash_info.pf("\n"); #endif - return stat; + return stat; } int flash_read(void *_addr, void *_data, int len, void **err_addr) { #ifdef CYGSEM_IO_FLASH_READ_INDIRECT - int stat = 0; - int size; - typedef int code_fun(void *, void *, int, unsigned long, int); - code_fun *_flash_read_buf; - unsigned char *addr = _addr; - unsigned char *data = _data; - CYG_ADDRESS tmp; - int d_cache, i_cache; + int stat = 0; + int size; + typedef int code_fun(void *, void *, int, unsigned long, int); + code_fun *_flash_read_buf; + unsigned char *addr = _addr; + unsigned char *data = _data; + CYG_ADDRESS tmp; + int d_cache, i_cache; - if (!flash_info.init) { - return FLASH_ERR_NOT_INIT; - } + if (!flash_info.init) { + return FLASH_ERR_NOT_INIT; + } - _flash_read_buf = (code_fun*)__anonymizer(&flash_read_buf); + _flash_read_buf = (code_fun*)__anonymizer(&flash_read_buf); #ifdef CYGSEM_IO_FLASH_CHATTER_VERBOSE - flash_info.pf("... Read from %p-%p at %p: ", data, - (void *)((CYG_ADDRESS)data + len), addr); + flash_info.pf("... Read from %p-%p at %p: ", data, + (void *)((CYG_ADDRESS)data + len), addr); #endif - HAL_FLASH_CACHES_OFF(d_cache, i_cache); - FLASH_Enable(addr, addr + len); - while (len > 0) { - size = len; + HAL_FLASH_CACHES_OFF(d_cache, i_cache); + FLASH_Enable(addr, addr + len); + while (len > 0) { + size = len; #if defined(MXCFLASH_SELECT_NAND) || defined(MXCFLASH_SELECT_MMC) - if (flash_info.start != 0) + if (flash_info.start !=0) #endif - if (size > flash_info.block_size) size = flash_info.block_size; + if (size > flash_info.block_size) size = flash_info.block_size; - tmp = (CYG_ADDRESS)addr & ~flash_info.block_mask; - if (tmp) { - tmp = flash_info.block_size - tmp; - if (size>tmp) size = tmp; - } + tmp = (CYG_ADDRESS)addr & ~flash_info.block_mask; + if (tmp) { + tmp = flash_info.block_size - tmp; + if (size>tmp) size = tmp; - stat = (*_flash_read_buf)(addr, data, size, - flash_info.block_mask, flash_info.buffer_size); - stat = flash_hwr_map_error(stat); + } + + stat = (*_flash_read_buf)(addr, data, size, + flash_info.block_mask, flash_info.buffer_size); + stat = flash_hwr_map_error(stat); #ifdef CYGSEM_IO_FLASH_VERIFY_PROGRAM - if (0 == stat) // Claims to be OK - if (memcmp(addr, data, size) != 0) { - stat = 0x0BAD; + if (0 == stat) // Claims to be OK + if (memcmp(addr, data, size) != 0) { + stat = 0x0BAD; #ifdef CYGSEM_IO_FLASH_CHATTER_VERBOSE - flash_info.pf("V"); + flash_info.pf("V"); #endif - } + } #endif - if (stat) { - *err_addr = addr; - break; - } + if (stat) { + *err_addr = addr; + break; + } #ifdef CYGSEM_IO_FLASH_CHATTER_VERBOSE - flash_info.pf("."); + flash_info.pf("."); #endif - len -= size; - addr += size / sizeof(*addr); - data += size / sizeof(*data); - } - FLASH_Disable(_addr, addr + len); - HAL_FLASH_CACHES_ON(d_cache, i_cache); + len -= size; + addr += size / sizeof(*addr); + data += size / sizeof(*data); + } + FLASH_Disable(_addr, addr + len); + HAL_FLASH_CACHES_ON(d_cache, i_cache); #ifdef CYGSEM_IO_FLASH_CHATTER_VERBOSE - flash_info.pf("\n"); + flash_info.pf("\n"); #endif - return stat; + return stat; #else // CYGSEM_IO_FLASH_READ_INDIRECT - // Direct access to FLASH memory is possible - just move the requested bytes - if (!flash_info.init) { - return FLASH_ERR_NOT_INIT; - } - memcpy(_data, _addr, len); - return FLASH_ERR_OK; + // Direct access to FLASH memory is possible - just move the requested bytes + if (!flash_info.init) { + return FLASH_ERR_NOT_INIT; + } + memcpy(_data, _addr, len); + return FLASH_ERR_OK; #endif } @@ -398,65 +400,65 @@ flash_read(void *_addr, void *_data, int len, void **err_addr) int flash_lock(void *addr, int len, void **err_addr) { - unsigned short *block, *end_addr; - int stat = 0; - typedef int code_fun(unsigned short *); - code_fun *_flash_lock_block; - int d_cache, i_cache; + unsigned short *block, *end_addr; + int stat = 0; + typedef int code_fun(unsigned short *); + code_fun *_flash_lock_block; + int d_cache, i_cache; - if (!flash_info.init) { - return FLASH_ERR_NOT_INIT; - } + if (!flash_info.init) { + return FLASH_ERR_NOT_INIT; + } #ifdef CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT - if (plf_flash_query_soft_wp(addr,len)) - return FLASH_ERR_PROTECT; + if (plf_flash_query_soft_wp(addr,len)) + return FLASH_ERR_PROTECT; #endif - _flash_lock_block = (code_fun*)__anonymizer(&flash_lock_block); + _flash_lock_block = (code_fun*)__anonymizer(&flash_lock_block); - block = (unsigned short *)((CYG_ADDRESS)addr & flash_info.block_mask); - end_addr = (unsigned short *)((CYG_ADDRESS)addr + len); + block = (unsigned short *)((CYG_ADDRESS)addr & flash_info.block_mask); + end_addr = (unsigned short *)((CYG_ADDRESS)addr + len); - /* Check to see if end_addr overflowed */ - if ((end_addr < block) && (len > 0)) { - end_addr = (unsigned short *)((CYG_ADDRESS)flash_info.end - 1); - } + /* Check to see if end_addr overflowed */ + if ((end_addr < block) && (len > 0)) { + end_addr = (unsigned short *)((CYG_ADDRESS)flash_info.end - 1); + } #ifdef CYGSEM_IO_FLASH_CHATTER - flash_info.pf("... Lock from %p-%p: ", block, end_addr); + flash_info.pf("... Lock from %p-%p: ", block, end_addr); #endif - HAL_FLASH_CACHES_OFF(d_cache, i_cache); - FLASH_Enable(block, end_addr); - while (block < end_addr) { - unsigned short *tmp_block; - stat = (*_flash_lock_block)(block); - stat = flash_hwr_map_error(stat); - if (stat) { - *err_addr = block; - break; - } - - // Check to see if block will overflow - tmp_block = block + flash_info.block_size / sizeof(*block); - if (tmp_block < block) { - // If block address overflows, set block value to end on this loop - block = end_addr; - } else { - block = tmp_block; - } + HAL_FLASH_CACHES_OFF(d_cache, i_cache); + FLASH_Enable(block, end_addr); + while (block < end_addr) { + unsigned short *tmp_block; + stat = (*_flash_lock_block)(block); + stat = flash_hwr_map_error(stat); + if (stat) { + *err_addr = block; + break; + } + + // Check to see if block will overflow + tmp_block = block + flash_info.block_size / sizeof(*block); + if (tmp_block < block) { + // If block address overflows, set block value to end on this loop + block = end_addr; + } else { + block = tmp_block; + } #ifdef CYGSEM_IO_FLASH_CHATTER - flash_info.pf("."); + flash_info.pf("."); #endif - } - FLASH_Disable((void *)((CYG_ADDRESS)addr & flash_info.block_mask), - end_addr); - HAL_FLASH_CACHES_ON(d_cache, i_cache); + } + FLASH_Disable((void *)((CYG_ADDRESS)addr & flash_info.block_mask), + end_addr); + HAL_FLASH_CACHES_ON(d_cache, i_cache); #ifdef CYGSEM_IO_FLASH_CHATTER - flash_info.pf("\n"); + flash_info.pf("\n"); #endif - return stat; + return stat; } int @@ -526,38 +528,38 @@ flash_unlock(void *addr, int len, void **err_addr) char * flash_errmsg(int err) { - switch (err) { - case FLASH_ERR_OK: - return "No error - operation complete"; - case FLASH_ERR_ERASE_SUSPEND: - return "Device is in erase suspend state"; - case FLASH_ERR_PROGRAM_SUSPEND: - return "Device is in program suspend state"; - case FLASH_ERR_INVALID: - return "Invalid FLASH address"; - case FLASH_ERR_ERASE: - return "Error trying to erase"; - case FLASH_ERR_LOCK: - return "Error trying to lock/unlock"; - case FLASH_ERR_PROGRAM: - return "Error trying to program"; - case FLASH_ERR_PROTOCOL: - return "Generic error"; - case FLASH_ERR_PROTECT: - return "Device/region is write-protected"; - case FLASH_ERR_NOT_INIT: - return "FLASH sub-system not initialized"; - case FLASH_ERR_DRV_VERIFY: - return "Data verify failed after operation"; - case FLASH_ERR_DRV_TIMEOUT: - return "Driver timed out waiting for device"; - case FLASH_ERR_DRV_WRONG_PART: - return "Driver does not support device"; - case FLASH_ERR_LOW_VOLTAGE: - return "Device reports low voltage"; - default: - return "Unknown error"; - } + switch (err) { + case FLASH_ERR_OK: + return "No error - operation complete"; + case FLASH_ERR_ERASE_SUSPEND: + return "Device is in erase suspend state"; + case FLASH_ERR_PROGRAM_SUSPEND: + return "Device is in program suspend state"; + case FLASH_ERR_INVALID: + return "Invalid FLASH address"; + case FLASH_ERR_ERASE: + return "Error trying to erase"; + case FLASH_ERR_LOCK: + return "Error trying to lock/unlock"; + case FLASH_ERR_PROGRAM: + return "Error trying to program"; + case FLASH_ERR_PROTOCOL: + return "Generic error"; + case FLASH_ERR_PROTECT: + return "Device/region is write-protected"; + case FLASH_ERR_NOT_INIT: + return "FLASH sub-system not initialized"; + case FLASH_ERR_DRV_VERIFY: + return "Data verify failed after operation"; + case FLASH_ERR_DRV_TIMEOUT: + return "Driver timed out waiting for device"; + case FLASH_ERR_DRV_WRONG_PART: + return "Driver does not support device"; + case FLASH_ERR_LOW_VOLTAGE: + return "Device reports low voltage"; + default: + return "Unknown error"; + } } // EOF io/flash/..../flash.c diff --git a/packages/redboot/v2_0/src/io.c b/packages/redboot/v2_0/src/io.c index c7488a50..775710d4 100644 --- a/packages/redboot/v2_0/src/io.c +++ b/packages/redboot/v2_0/src/io.c @@ -44,9 +44,9 @@ // Author(s): gthomas // Contributors: gthomas,hmt,jlarmour // Date: 2000-07-14 -// Purpose: -// Description: -// +// Purpose: +// Description: +// // This code is part of RedBoot (tm). // //####DESCRIPTIONEND#### @@ -64,100 +64,100 @@ static void do_channel(int argc, char *argv[]); #ifdef CYGPKG_REDBOOT_ANY_CONSOLE -RedBoot_cmd("channel", - "Display/switch console channel", - "[-1|]", - do_channel - ); +RedBoot_cmd("channel", + "Display/switch console channel", + "[-1|]", + do_channel + ); #else -RedBoot_cmd("channel", - "Display/switch console channel", - "[]", - do_channel - ); +RedBoot_cmd("channel", + "Display/switch console channel", + "[]", + do_channel + ); #endif static void do_channel(int argc, char *argv[]) { - int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT); + int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT); - if (argc == 2) { + if (argc == 2) { #ifdef CYGPKG_REDBOOT_ANY_CONSOLE - if (strcmp( argv[1], "-1") == 0) { - console_selected = false; - console_echo = true; - } else + if (strcmp( argv[1], "-1") == 0) { + console_selected = false; + console_echo = true; + } else #endif - { - unsigned long chan; - if ( !parse_num( argv[1], &chan, NULL, NULL) ) { - diag_printf("** Error: invalid channel '%s'\n", argv[1]); - } else { - if (chan < CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS) { - CYGACC_CALL_IF_SET_CONSOLE_COMM(chan); - CYGACC_CALL_IF_SET_DEBUG_COMM(chan); - if (chan != cur) - console_echo = true; - } - else { - diag_printf("**Error: bad channel number '%s'\n", argv[1]); - } - } - } - } - /* else display */ - else { - diag_printf("Current console channel id: "); + { + unsigned long chan; + if ( !parse_num( argv[1], &chan, NULL, NULL) ) { + diag_printf("** Error: invalid channel '%s'\n", argv[1]); + } else { + if (chan < CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS) { + CYGACC_CALL_IF_SET_CONSOLE_COMM(chan); + CYGACC_CALL_IF_SET_DEBUG_COMM(chan); + if (chan != cur) + console_echo = true; + } + else { + diag_printf("**Error: bad channel number '%s'\n", argv[1]); + } + } + } + } + /* else display */ + else { + diag_printf("Current console channel id: "); #ifdef CYGPKG_REDBOOT_ANY_CONSOLE - if (!console_selected) - diag_printf("-1\n"); - else + if (!console_selected) + diag_printf("-1\n"); + else #endif - diag_printf("%d\n", cur); - } + diag_printf("%d\n", cur); + } } -void +void mon_write_char(char c) { - hal_virtual_comm_table_t *__chan; + hal_virtual_comm_table_t *__chan; #ifdef CYGPKG_REDBOOT_ANY_CONSOLE - if (!console_selected) { - int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT); - int i; - // Send output to all channels - for (i = 0; i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS; i++) { - CYGACC_CALL_IF_SET_CONSOLE_COMM(i); - __chan = CYGACC_CALL_IF_CONSOLE_PROCS(); - CYGACC_COMM_IF_PUTC(*__chan, c); - } - CYGACC_CALL_IF_SET_CONSOLE_COMM(cur); - } else + if (!console_selected) { + int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT); + int i; + // Send output to all channels + for (i = 0; i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS; i++) { + CYGACC_CALL_IF_SET_CONSOLE_COMM(i); + __chan = CYGACC_CALL_IF_CONSOLE_PROCS(); + CYGACC_COMM_IF_PUTC(*__chan, c); + } + CYGACC_CALL_IF_SET_CONSOLE_COMM(cur); + } else #endif - { - __chan = CYGACC_CALL_IF_CONSOLE_PROCS(); - if (__chan) - CYGACC_COMM_IF_PUTC(*__chan, c); - else { - __chan = CYGACC_CALL_IF_DEBUG_PROCS(); - CYGACC_COMM_IF_PUTC(*__chan, c); - } - } + { + __chan = CYGACC_CALL_IF_CONSOLE_PROCS(); + if (__chan) + CYGACC_COMM_IF_PUTC(*__chan, c); + else { + __chan = CYGACC_CALL_IF_DEBUG_PROCS(); + CYGACC_COMM_IF_PUTC(*__chan, c); + } + } } -static void +static void mon_read_char(char *c) { - hal_virtual_comm_table_t *__chan = CYGACC_CALL_IF_CONSOLE_PROCS(); - - if (__chan) - *c = CYGACC_COMM_IF_GETC(*__chan); - else { - __chan = CYGACC_CALL_IF_DEBUG_PROCS(); - *c = CYGACC_COMM_IF_GETC(*__chan); - } + hal_virtual_comm_table_t* __chan = CYGACC_CALL_IF_CONSOLE_PROCS(); + + if (__chan) + *c = CYGACC_COMM_IF_GETC(*__chan); + else { + __chan = CYGACC_CALL_IF_DEBUG_PROCS(); + *c = CYGACC_COMM_IF_GETC(*__chan); + } } #ifdef CYGPKG_REDBOOT_ANY_CONSOLE @@ -167,84 +167,84 @@ static int _mon_timeout; bool mon_read_char_with_timeout(char *c) { - bool res = false; - hal_virtual_comm_table_t *__chan; + bool res = false; + hal_virtual_comm_table_t *__chan; #ifdef CYGPKG_REDBOOT_ANY_CONSOLE - if (!console_selected) { - int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT); - int i, j, tot; - // Try input from all channels - tot = 0; - while (tot < _mon_timeout) { - for (i = 0; i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS; i++, tot++) { - CYGACC_CALL_IF_SET_CONSOLE_COMM(i); - __chan = CYGACC_CALL_IF_CONSOLE_PROCS(); - res = CYGACC_COMM_IF_GETC_TIMEOUT(*__chan, c); - if (res) { - // Input available on this channel, make it be the console - if (*c != '\0') { - // Don't chose this unless real data have arrived - console_selected = true; - CYGACC_CALL_IF_SET_DEBUG_COMM(i); - // Disable interrupts on all channels but this one - for (j = 0; j < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS; j++) { - if (i != j) { - CYGACC_CALL_IF_SET_CONSOLE_COMM(j); - __chan = CYGACC_CALL_IF_CONSOLE_PROCS(); - CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_IRQ_DISABLE); - } - } - CYGACC_CALL_IF_SET_CONSOLE_COMM(i); - return res; - } - } - } - } - CYGACC_CALL_IF_SET_CONSOLE_COMM(cur); - } else + if (!console_selected) { + int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT); + int i, j, tot; + // Try input from all channels + tot = 0; + while (tot < _mon_timeout) { + for (i = 0; i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS; i++, tot++) { + CYGACC_CALL_IF_SET_CONSOLE_COMM(i); + __chan = CYGACC_CALL_IF_CONSOLE_PROCS(); + res = CYGACC_COMM_IF_GETC_TIMEOUT(*__chan, c); + if (res) { + // Input available on this channel, make it be the console + if (*c != '\0') { + // Don't chose this unless real data have arrived + console_selected = true; + CYGACC_CALL_IF_SET_DEBUG_COMM(i); + // Disable interrupts on all channels but this one + for (j = 0; j < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS; j++) { + if (i != j) { + CYGACC_CALL_IF_SET_CONSOLE_COMM(j); + __chan = CYGACC_CALL_IF_CONSOLE_PROCS(); + CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_IRQ_DISABLE); + } + } + CYGACC_CALL_IF_SET_CONSOLE_COMM(i); + return res; + } + } + } + } + CYGACC_CALL_IF_SET_CONSOLE_COMM(cur); + } else #endif - { - __chan = CYGACC_CALL_IF_CONSOLE_PROCS(); - if (__chan) - res = CYGACC_COMM_IF_GETC_TIMEOUT(*__chan, c); - else { - __chan = CYGACC_CALL_IF_DEBUG_PROCS(); - res = CYGACC_COMM_IF_GETC_TIMEOUT(*__chan, c); - } - } - return res; + { + __chan = CYGACC_CALL_IF_CONSOLE_PROCS(); + if (__chan) + res = CYGACC_COMM_IF_GETC_TIMEOUT(*__chan, c); + else { + __chan = CYGACC_CALL_IF_DEBUG_PROCS(); + res = CYGACC_COMM_IF_GETC_TIMEOUT(*__chan, c); + } + } + return res; } void mon_set_read_char_timeout(int ms) { - hal_virtual_comm_table_t *__chan; + hal_virtual_comm_table_t *__chan; #ifdef CYGPKG_REDBOOT_ANY_CONSOLE - if (!console_selected) { - int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT); - int i; - // Set timeout to minimum on each channel; total amounts to desired value - _mon_timeout = ms; - ms = 1; - for (i = 0; i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS; i++) { - CYGACC_CALL_IF_SET_CONSOLE_COMM(i); - if ((__chan = CYGACC_CALL_IF_CONSOLE_PROCS()) != 0) { - CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_SET_TIMEOUT, ms); - } - } - CYGACC_CALL_IF_SET_CONSOLE_COMM(cur); - } else + if (!console_selected) { + int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT); + int i; + // Set timeout to minimum on each channel; total amounts to desired value + _mon_timeout = ms; + ms = 1; + for (i = 0; i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS; i++) { + CYGACC_CALL_IF_SET_CONSOLE_COMM(i); + if ((__chan = CYGACC_CALL_IF_CONSOLE_PROCS()) != 0) { + CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_SET_TIMEOUT, ms); + } + } + CYGACC_CALL_IF_SET_CONSOLE_COMM(cur); + } else #endif - { - if ((__chan = CYGACC_CALL_IF_CONSOLE_PROCS()) != 0) { - CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_SET_TIMEOUT, ms); - } - if ((__chan = CYGACC_CALL_IF_DEBUG_PROCS()) != 0) { - CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_SET_TIMEOUT, ms); - } - } + { + if ((__chan = CYGACC_CALL_IF_CONSOLE_PROCS()) != 0) { + CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_SET_TIMEOUT, ms); + } + if ((__chan = CYGACC_CALL_IF_DEBUG_PROCS()) != 0) { + CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_SET_TIMEOUT, ms); + } + } } // @@ -253,14 +253,14 @@ mon_set_read_char_timeout(int ms) bool _rb_break(int timeout) { - char c; - mon_set_read_char_timeout(timeout); - if (mon_read_char_with_timeout(&c)) { - if (c == 0x03) { // Test for ^C - return true; - } - } - return false; + char c; + mon_set_read_char_timeout(timeout); + if (mon_read_char_with_timeout(&c)) { + if (c == 0x03) { // Test for ^C + return true; + } + } + return false; } #ifdef CYGFUN_REDBOOT_BOOT_SCRIPT @@ -275,40 +275,40 @@ _rb_break(int timeout) static int getc_script(char *cp) { - static bool newline = true; - bool skip; - - while (script && *script) { - if (newline && *script == '{') { - skip = false; - ++script; - - // skip if it isn't for this startup type - if (strncmp(script, _STARTUP_STR, strlen(_STARTUP_STR))) - skip = true; - - // skip past "{...}" - while (*script && *script++ != '}') - ; - - // skip script line if neccessary - if (skip) { - while (*script && *script++ != '\n') - ; - } else - newline = false; - - } else { - *cp = *script++; - if (*cp == '\n') { - newline = true; - } else { - newline = false; - } - return true; - } + static bool newline = true; + bool skip; + + while (script && *script) { + if (newline && *script == '{') { + skip = false; + ++script; + + // skip if it isn't for this startup type + if (strncmp(script, _STARTUP_STR, strlen(_STARTUP_STR))) + skip = true; + + // skip past "{...}" + while (*script && *script++ != '}') + ; + + // skip script line if neccessary + if (skip) { + while (*script && *script++ != '\n') + ; + } else + newline = false; + + } else { + *cp = *script++; + if (*cp == '\n') { + newline = true; + } else { + newline = false; + } + return true; } - return false; + } + return false; } #endif @@ -351,422 +351,422 @@ static void expand_history(char *); int _rb_gets_preloaded(char *buf, int buflen, int timeout) { - char *ip = buf; // Insertion point - char *eol = buf; // End of line - char c; - bool res = false; - static char last_ch = '\0'; - int _timeout; + char *ip = buf; // Insertion point + char *eol = buf; // End of line + char c; + bool res = false; + static char last_ch = '\0'; + int _timeout; #if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - int _index = _cl_index; // Last saved line - char *xp; + int _index = _cl_index; // Last saved line + char *xp; #ifdef CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES - int ansi_state = 0; // Used to drive ANSI parser - char ansi_char = '\0'; + int ansi_state = 0; // Used to drive ANSI parser + char ansi_char = '\0'; #endif #endif - // Display current buffer data - while (*eol) { - mon_write_char(*eol++); - } - ip = eol; + // Display current buffer data + while (*eol) { + mon_write_char(*eol++); + } + ip = eol; - while (true) { + while (true) { #ifdef CYGFUN_REDBOOT_BOOT_SCRIPT - if (getc_script(&c)) - do_idle(false); - else + if (getc_script(&c)) + do_idle(false); + else #endif - if ((timeout > 0) && (eol == buf)) { + if ((timeout > 0) && (eol == buf)) { #define MIN_TIMEOUT 50 - _timeout = timeout > MIN_TIMEOUT ? MIN_TIMEOUT : timeout; - mon_set_read_char_timeout(_timeout); - while (timeout > 0) { - res = mon_read_char_with_timeout(&c); - if (res) { - // Got a character - do_idle(false); - break; - } - timeout -= _timeout; - } - if (res == false) { - do_idle(true); - return _GETS_TIMEOUT; // Input timed out - } - } else { - mon_read_char(&c); - } - *eol = '\0'; + _timeout = timeout > MIN_TIMEOUT ? MIN_TIMEOUT : timeout; + mon_set_read_char_timeout(_timeout); + while (timeout > 0) { + res = mon_read_char_with_timeout(&c); + if (res) { + // Got a character + do_idle(false); + break; + } + timeout -= _timeout; + } + if (res == false) { + do_idle(true); + return _GETS_TIMEOUT; // Input timed out + } + } else { + mon_read_char(&c); + } + *eol = '\0'; #define CTRL(c) ((c)&0x1F) #ifdef CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES - // Special handling of ANSI keyboard sequences (arrows, etc) - if (c == 0x1B) { - // Leadin for ANSI keyboard sequence - ansi_state = 1; - continue; - } - switch (ansi_state) { - case 0: - // No ANSI sequence in progress - break; - case 1: - // ESC seen, look for '[' - if (c == '[') { - ansi_state = 2; - } else if (c == 'O') { - ansi_state = 4; - } else { - // Handle bad sequences? - ansi_state = 0; - } - continue; - case 2: - // ESC+[ seen, process key - ansi_state = 0; - switch (c) { - case 'A': - c = CTRL('P'); - break; - case 'B': - c = CTRL('N'); - break; - case 'C': - c = CTRL('F'); - break; - case 'D': - c = CTRL('B'); - break; - case 'F': - c = CTRL('E'); - break; - case 'H': - c = CTRL('A'); - break; - case '1': - ansi_char = CTRL('A'); - ansi_state = 3; - continue; - case '3': - ansi_char = CTRL('D'); - ansi_state = 3; - continue; - default: - // Handle bad sequences? - continue; - } - break; - case 3: - // Sequences like ^[[1~ == ^H - ansi_state = 0; - if (c == '~') { - c = ansi_char; - } else { - // Handle bad sequences? - continue; - } - break; - case 4: - // Sequences like ^[OF == ^E - ansi_state = 0; - if (c == 'F') { - c = CTRL('E'); - } else { - // Handle bad sequences? - continue; - } - break; - } + // Special handling of ANSI keyboard sequences (arrows, etc) + if (c == 0x1B) { + // Leadin for ANSI keyboard sequence + ansi_state = 1; + continue; + } + switch (ansi_state) { + case 0: + // No ANSI sequence in progress + break; + case 1: + // ESC seen, look for '[' + if (c == '[') { + ansi_state = 2; + } else if (c == 'O') { + ansi_state = 4; + } else { + // Handle bad sequences? + ansi_state = 0; + } + continue; + case 2: + // ESC+[ seen, process key + ansi_state = 0; + switch (c) { + case 'A': + c = CTRL('P'); + break; + case 'B': + c = CTRL('N'); + break; + case 'C': + c = CTRL('F'); + break; + case 'D': + c = CTRL('B'); + break; + case 'F': + c = CTRL('E'); + break; + case 'H': + c = CTRL('A'); + break; + case '1': + ansi_char = CTRL('A'); + ansi_state = 3; + continue; + case '3': + ansi_char = CTRL('D'); + ansi_state = 3; + continue; + default: + // Handle bad sequences? + continue; + } + break; + case 3: + // Sequences like ^[[1~ == ^H + ansi_state = 0; + if (c == '~') { + c = ansi_char; + } else { + // Handle bad sequences? + continue; + } + break; + case 4: + // Sequences like ^[OF == ^E + ansi_state = 0; + if (c == 'F') { + c = CTRL('E'); + } else { + // Handle bad sequences? + continue; + } + break; + } #endif - switch (c) { + switch (c) { #if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - case CTRL('P'): - // Fetch the previous line into the buffer - if (_index >= 0) { - // Erase the previous line [crude] - while (ip != buf) { - mon_write_char('\b'); - mon_write_char(' '); - mon_write_char('\b'); - ip--; - } - strcpy(buf, _cl_lines[_index]); - while (*ip) { - mon_write_char(*ip++); - } - eol = ip; - // Move to previous line - _index--; - if (_index < 0) { - _index = _cl_max_index; - } - } else { - mon_write_char(0x07); // Audible bell on most devices - } - break; - case CTRL('N'): - // Fetch the next line into the buffer - if (_index >= 0) { - if (++_index > _cl_max_index) _index = 0; - // Erase the previous line [crude] - while (ip != buf) { - mon_write_char('\b'); - mon_write_char(' '); - mon_write_char('\b'); - ip--; - } - strcpy(buf, _cl_lines[_index]); - while (*ip) { - mon_write_char(*ip++); - } - eol = ip; - } else { - mon_write_char(0x07); // Audible bell on most devices - } - break; - case CTRL('B'): - // Move insertion point backwards - if (ip != buf) { - mon_write_char('\b'); - ip--; - } - break; - case CTRL('F'): - // Move insertion point forwards - if (ip != eol) { - mon_write_char(*ip++); - } - break; - case CTRL('E'): - // Move insertion point to end of line - while (ip != eol) { - mon_write_char(*ip++); - } - break; - case CTRL('A'): - // Move insertion point to beginning of line - if (ip != buf) { - xp = ip; - while (xp-- != buf) { - mon_write_char('\b'); - } - } - ip = buf; - break; - case CTRL('K'): - // Kill to the end of line - if (ip != eol) { - xp = ip; - while (xp++ != eol) { - mon_write_char(' '); - } - while (--xp != ip) { - mon_write_char('\b'); - } - eol = ip; - } - break; - case CTRL('D'): - // Erase the character under the cursor - if (ip != eol) { - xp = ip; - eol--; - while (xp != eol) { - *xp = *(xp+1); - mon_write_char(*xp++); - } - mon_write_char(' '); // Erases last character - mon_write_char('\b'); - while (xp-- != ip) { - mon_write_char('\b'); - } - } - break; + case CTRL('P'): + // Fetch the previous line into the buffer + if (_index >= 0) { + // Erase the previous line [crude] + while (ip != buf) { + mon_write_char('\b'); + mon_write_char(' '); + mon_write_char('\b'); + ip--; + } + strcpy(buf, _cl_lines[_index]); + while (*ip) { + mon_write_char(*ip++); + } + eol = ip; + // Move to previous line + _index--; + if (_index < 0) { + _index = _cl_max_index; + } + } else { + mon_write_char(0x07); // Audible bell on most devices + } + break; + case CTRL('N'): + // Fetch the next line into the buffer + if (_index >= 0) { + if (++_index > _cl_max_index) _index = 0; + // Erase the previous line [crude] + while (ip != buf) { + mon_write_char('\b'); + mon_write_char(' '); + mon_write_char('\b'); + ip--; + } + strcpy(buf, _cl_lines[_index]); + while (*ip) { + mon_write_char(*ip++); + } + eol = ip; + } else { + mon_write_char(0x07); // Audible bell on most devices + } + break; + case CTRL('B'): + // Move insertion point backwards + if (ip != buf) { + mon_write_char('\b'); + ip--; + } + break; + case CTRL('F'): + // Move insertion point forwards + if (ip != eol) { + mon_write_char(*ip++); + } + break; + case CTRL('E'): + // Move insertion point to end of line + while (ip != eol) { + mon_write_char(*ip++); + } + break; + case CTRL('A'): + // Move insertion point to beginning of line + if (ip != buf) { + xp = ip; + while (xp-- != buf) { + mon_write_char('\b'); + } + } + ip = buf; + break; + case CTRL('K'): + // Kill to the end of line + if (ip != eol) { + xp = ip; + while (xp++ != eol) { + mon_write_char(' '); + } + while (--xp != ip) { + mon_write_char('\b'); + } + eol = ip; + } + break; + case CTRL('D'): + // Erase the character under the cursor + if (ip != eol) { + xp = ip; + eol--; + while (xp != eol) { + *xp = *(xp+1); + mon_write_char(*xp++); + } + mon_write_char(' '); // Erases last character + mon_write_char('\b'); + while (xp-- != ip) { + mon_write_char('\b'); + } + } + break; #endif // CYGNUM_REDBOOT_CMD_LINE_EDITING - case CTRL('C'): // ^C - // Abort current input - diag_printf("^C\n"); - *buf = '\0'; // Nothing useful in buffer - return _GETS_CTRLC; - case '\n': - case '\r': - // If previous character was the "other" end-of-line, ignore this one - if (((c == '\n') && (last_ch == '\r')) || - ((c == '\r') && (last_ch == '\n'))) { - c = '\0'; - break; - } - // End of line - if (console_echo) { - mon_write_char('\r'); - mon_write_char('\n'); - } - last_ch = c; + case CTRL('C'): // ^C + // Abort current input + diag_printf("^C\n"); + *buf = '\0'; // Nothing useful in buffer + return _GETS_CTRLC; + case '\n': + case '\r': + // If previous character was the "other" end-of-line, ignore this one + if (((c == '\n') && (last_ch == '\r')) || + ((c == '\r') && (last_ch == '\n'))) { + c = '\0'; + break; + } + // End of line + if (console_echo) { + mon_write_char('\r'); + mon_write_char('\n'); + } + last_ch = c; #if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - if (cmd_history) { - // History handling - only when enabled + if (cmd_history) { + // History handling - only when enabled #ifdef CYGBLD_REDBOOT_CMD_LINE_HISTORY - expand_history(buf); + expand_history(buf); #endif - if (*buf != '\0') { - if (++_cl_index == _CL_NUM_LINES) _cl_index = 0; - if (_cl_index > _cl_max_index) _cl_max_index = _cl_index; - strcpy(_cl_lines[_cl_index], buf); - } - } + if (*buf != '\0') { + if (++_cl_index == _CL_NUM_LINES) _cl_index = 0; + if (_cl_index > _cl_max_index) _cl_max_index = _cl_index; + strcpy(_cl_lines[_cl_index], buf); + } + } #endif - return _GETS_OK; - case '\b': - case 0x7F: // DEL - if (ip != buf) { + return _GETS_OK; + case '\b': + case 0x7F: // DEL + if (ip != buf) { #if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - if (ip != eol) { - ip--; - mon_write_char('\b'); - xp = ip; - while (xp != (eol-1)) { - *xp = *(xp+1); - mon_write_char(*xp++); - } - mon_write_char(' '); // Erases last character - mon_write_char('\b'); - while (xp-- != ip) { - mon_write_char('\b'); - } - } else { - if (console_echo) { - mon_write_char('\b'); - mon_write_char(' '); - mon_write_char('\b'); - } - ip--; - } - eol--; + if (ip != eol) { + ip--; + mon_write_char('\b'); + xp = ip; + while (xp != (eol-1)) { + *xp = *(xp+1); + mon_write_char(*xp++); + } + mon_write_char(' '); // Erases last character + mon_write_char('\b'); + while (xp-- != ip) { + mon_write_char('\b'); + } + } else { + if (console_echo) { + mon_write_char('\b'); + mon_write_char(' '); + mon_write_char('\b'); + } + ip--; + } + eol--; #else - if (console_echo) { - mon_write_char('\b'); - mon_write_char(' '); - mon_write_char('\b'); - } - ip--; - eol--; + if (console_echo) { + mon_write_char('\b'); + mon_write_char(' '); + mon_write_char('\b'); + } + ip--; + eol--; #endif - } - break; + } + break; #ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - case '+': // fall through - case '$': - if (ip == buf || last_ch != '\\') - { - // Give up and try GDB protocol - ungetDebugChar(c); // Push back character so stubs will see it - return _GETS_GDB; - } - if (last_ch == '\\') { + case '+': // fall through + case '$': + if (ip == buf || last_ch != '\\') + { + // Give up and try GDB protocol + ungetDebugChar(c); // Push back character so stubs will see it + return _GETS_GDB; + } + if (last_ch == '\\') { #if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - if (ip == eol) { - // Just save \$ as $ - eol = --ip; - } else { - mon_write_char('\b'); - *--ip = c; - mon_write_char(c); - break; - } + if (ip == eol) { + // Just save \$ as $ + eol = --ip; + } else { + mon_write_char('\b'); + *--ip = c; + mon_write_char(c); + break; + } #else - ip--; // Save \$ as $ + ip--; // Save \$ as $ #endif - } - // else fall through + } + // else fall through #endif - default: + default: #if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - // If the insertion point is not at the end of line, make space for it - if (ip != eol) { - xp = eol; - *++eol = '\0'; - while (xp != ip) { - *xp = *(xp-1); - xp--; - } - } + // If the insertion point is not at the end of line, make space for it + if (ip != eol) { + xp = eol; + *++eol = '\0'; + while (xp != ip) { + *xp = *(xp-1); + xp--; + } + } #endif - if (console_echo) { - mon_write_char(c); - } - if (ip == eol) { - // Advance both pointers - *ip++ = c; - eol = ip; + if (console_echo) { + mon_write_char(c); + } + if (ip == eol) { + // Advance both pointers + *ip++ = c; + eol = ip; #if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - } else { - // Just insert the character - *ip++ = c; - xp = ip; - while (xp != eol) { - mon_write_char(*xp++); - } - while (xp-- != ip) { - mon_write_char('\b'); - } + } else { + // Just insert the character + *ip++ = c; + xp = ip; + while (xp != eol) { + mon_write_char(*xp++); + } + while (xp-- != ip) { + mon_write_char('\b'); + } #endif - } - } - last_ch = c; - if (ip == buf + buflen - 1) { // Buffer full - *ip = '\0'; - return buflen; - } - } + } + } + last_ch = c; + if (ip == buf + buflen - 1) { // Buffer full + *ip = '\0'; + return buflen; + } + } } int _rb_gets(char *buf, int buflen, int timeout) { - *buf = '\0'; // Empty buffer - return _rb_gets_preloaded(buf, buflen, timeout); + *buf = '\0'; // Empty buffer + return _rb_gets_preloaded(buf, buflen, timeout); } static bool _verify_action(int timeout, char *fmt, va_list ap) { - char ans[8]; - int ret; + char ans[8]; + int ret; #ifdef CYGFUN_REDBOOT_BOOT_SCRIPT - // Don't ask if we're executing a script - if (script && *script) - return 1; + // Don't ask if we're executing a script + if (script && *script) + return 1; #endif - diag_vprintf(fmt, ap); - diag_printf(" - continue (y/n)? "); - if ((ret = _rb_gets(ans, sizeof(ans), timeout)) > 0) { - return ((ans[0] == 'y') || (ans[0] == 'Y')); - } else { - if (ret == _GETS_TIMEOUT) { - diag_printf(" ** Timed out!\n"); - } - return 0; // Timed out or ^C - } + diag_vprintf(fmt, ap); + diag_printf(" - continue (y/n)? "); + if ((ret = _rb_gets(ans, sizeof(ans), timeout)) > 0) { + return ((ans[0] == 'y') || (ans[0] == 'Y')); + } else { + if (ret == _GETS_TIMEOUT) { + diag_printf(" ** Timed out!\n"); + } + return 0; // Timed out or ^C + } } bool verify_action(char *fmt, ...) { - va_list ap; + va_list ap; - va_start(ap, fmt); - return _verify_action(0, fmt, ap); + va_start(ap, fmt); + return _verify_action(0, fmt, ap); } bool verify_action_with_timeout(int timeout, char *fmt, ...) { - va_list ap; + va_list ap; - va_start(ap, fmt); - return _verify_action(timeout, fmt, ap); + va_start(ap, fmt); + return _verify_action(timeout, fmt, ap); } @@ -776,15 +776,15 @@ verify_action_with_timeout(int timeout, char *fmt, ...) static int parse_history_index(char *s) { - int val = 0; + int val = 0; - while ('0' <= *s && *s <= '9') - val = (val * 10) + (*s++ - '0'); + while ('0' <= *s && *s <= '9') + val = (val * 10) + (*s++ - '0'); - if (*s) - return -1; + if (*s) + return -1; - return val; + return val; } // Check input line to see if it needs history expansion. If so, @@ -792,60 +792,60 @@ parse_history_index(char *s) static void expand_history(char *buf) { - int ncmds = _cl_max_index + 1; - int i, index, len; + int ncmds = _cl_max_index + 1; + int i, index, len; - if (buf[0] != '!' || buf[1] == '\0') - return; + if (buf[0] != '!' || buf[1] == '\0') + return; - if (ncmds > 0) { - if (!strcmp(buf, "!!")) { - strcpy(buf, _cl_lines[_cl_index]); - return; - } - if ((index = parse_history_index(buf + 1)) >= 0) { - if (index <= _cl_max_index) { - strcpy(buf, _cl_lines[index]); - return; - } - } - len = strlen(buf + 1); - for (i = 0, index = _cl_index; i < ncmds; i++) { - if (!strncmp(_cl_lines[index], buf+1, len)) { - strcpy(buf, _cl_lines[index]); - return; - } - if (--index < 0) - index = _cl_max_index; - } + if (ncmds > 0) { + if (!strcmp(buf, "!!")) { + strcpy(buf, _cl_lines[_cl_index]); + return; + } + if ((index = parse_history_index(buf + 1)) >= 0) { + if (index <= _cl_max_index) { + strcpy(buf, _cl_lines[index]); + return; + } + } + len = strlen(buf + 1); + for (i = 0, index = _cl_index; i < ncmds; i++) { + if (!strncmp(_cl_lines[index], buf+1, len)) { + strcpy(buf, _cl_lines[index]); + return; + } + if (--index < 0) + index = _cl_max_index; } + } - diag_printf("%s: event not found\n", buf); - *buf = '\0'; + diag_printf("%s: event not found\n", buf); + *buf = '\0'; } static void do_history(int argc, char *argv[]) { - int ncmds = _cl_max_index + 1; - int i, index; - - if (_cl_index == _cl_max_index) { - // history has not wrapped around - for (i = 0; i < ncmds; i++) - diag_printf("%3d %s\n", i, _cl_lines[i]); - } else { - for (i = 0, index = _cl_index + 1; i < ncmds; i++) { - diag_printf("%3d %s\n", i, _cl_lines[index++]); - if (index > _cl_max_index) - index = 0; - } + int ncmds = _cl_max_index + 1; + int i, index; + + if (_cl_index == _cl_max_index) { + // history has not wrapped around + for (i = 0; i < ncmds; i++) + diag_printf("%3d %s\n", i, _cl_lines[i]); + } else { + for (i = 0, index = _cl_index + 1; i < ncmds; i++) { + diag_printf("%3d %s\n", i, _cl_lines[index++]); + if (index > _cl_max_index) + index = 0; } + } } -RedBoot_cmd("history", - "Display command history", - "", - do_history - ); +RedBoot_cmd("history", + "Display command history", + "", + do_history + ); #endif // CYGBLD_REDBOOT_CMD_LINE_HISTORY diff --git a/packages/redboot/v2_0/src/main.c b/packages/redboot/v2_0/src/main.c index 202318bb..04d7cdf4 100644 --- a/packages/redboot/v2_0/src/main.c +++ b/packages/redboot/v2_0/src/main.c @@ -51,7 +51,6 @@ // //========================================================================== -#include #define DEFINE_VARS #include #include @@ -761,25 +760,3 @@ valid_address(unsigned char *addr) } return false; } - -static unsigned long random; -/* provide at least _some_ sort of randomness */ -#define MAX_LOOPS 1000 - -extern unsigned int hal_timer_count(void); - -static void random_init(void) -{ - unsigned int timer; - int i; - - unsigned int start = hal_timer_count(); - - start = hal_timer_count(); - for (i = 0; i < MAX_LOOPS; i++) { - timer = hal_timer_count(); - srand(random + timer); - random = rand(); - } -} -RedBoot_init(random_init, RedBoot_INIT_FIRST); -- 2.39.5