From 3a92077cb4ff6601576aa96805ae99f24baf6447 Mon Sep 17 00:00:00 2001 From: asterix Date: Mon, 19 Dec 2011 17:32:20 +0000 Subject: [PATCH] Fix and update template project. git-svn-id: https://src.develer.com/svnoss/bertos/trunk@5187 38d2e660-2303-0410-9eaa-f027e97ec537 --- .../templates/sam3n-ek_kernel/cfg/cfg_adc.h | 37 +++++ .../templates/sam3n-ek_kernel/cfg/cfg_dac.h | 88 ++++++++++++ .../sam3n-ek_kernel/cfg/cfg_eeprom.h | 64 +++++++++ .../templates/sam3n-ek_kernel/cfg/cfg_http.h | 64 +++++++++ .../templates/sam3n-ek_kernel/cfg/cfg_i2s.h | 79 +++++++++-- .../sam3n-ek_kernel/cfg/cfg_ini_reader.h | 6 + .../sam3n-ek_kernel/cfg/cfg_led_7seg.h | 80 +++++++++++ .../templates/sam3n-ek_kernel/cfg/cfg_lwip.h | 13 ++ .../templates/sam3n-ek_kernel/cfg/cfg_nand.h | 111 +++++++++++++++ .../sam3n-ek_kernel/cfg/cfg_parser.h | 20 +++ .../templates/sam3n-ek_kernel/cfg/cfg_proc.h | 6 + .../templates/sam3n-ek_kernel/cfg/cfg_pwm.h | 8 ++ .../sam3n-ek_kernel/cfg/cfg_random.h | 65 +++++++++ .../templates/sam3n-ek_kernel/cfg/cfg_sd.h | 8 ++ .../templates/sam3n-ek_kernel/cfg/cfg_ser.h | 8 +- .../templates/sam3n-ek_kernel/cfg/cfg_tftp.h | 20 +++ .../templates/sam3n-ek_kernel/cfg/cfg_usb.h | 21 +++ .../sam3n-ek_kernel/cfg/cfg_wm8731.h | 133 ++++++++++++++++++ .../templates/sam3n-ek_kernel/project.bertos | 86 +++++------ .../sam3n-ek_kernel/sam3n-ek_kernel.mk | 100 ++++++------- .../sam3n-ek_kernel/sam3n-ek_kernel_user.mk | 24 ++-- 21 files changed, 918 insertions(+), 123 deletions(-) create mode 100644 boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_dac.h create mode 100644 boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_eeprom.h create mode 100644 boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_http.h create mode 100644 boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_led_7seg.h create mode 100644 boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_nand.h create mode 100644 boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_random.h create mode 100644 boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_tftp.h create mode 100644 boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_wm8731.h diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_adc.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_adc.h index df2587be..62ee6ed7 100644 --- a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_adc.h +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_adc.h @@ -109,4 +109,41 @@ */ #define CONFIG_ADC_STROBE 0 + +/** + * Start up timer[s] = startup value / ADCClock [Hz] + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "sam3_adc_sut" + * $WIZ$ supports = "sam3" + */ +#define CONFIG_ADC_SUT ADC_SUT512 + +/** + * Analog Settling Time[s] = settling value / ADCClock[Hz] + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "sam3_adc_stt" + * $WIZ$ supports = "sam3" + */ +#define CONFIG_ADC_STTLING ADC_AST17 + +/** + * Tracking Time[s] = (TRACKTIM + 1) / ADCClock[Hz] + * + * $WIZ$ type = "int" + * $WIZ$ min = 0 + * $WIZ$ supports = "sam3" + */ +#define CONFIG_ADC_TRACKTIM 0 + +/** + * Transfer Period[s] = (TRANSFER * 2 + 3) ADCClock[Hz] + * + * $WIZ$ type = "int" + * $WIZ$ min = 0 + * $WIZ$ supports = "sam3" + */ +#define CONFIG_ADC_TRANSFER 1 + #endif /* CFG_ADC_H */ diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_dac.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_dac.h new file mode 100644 index 00000000..1ae1e984 --- /dev/null +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_dac.h @@ -0,0 +1,88 @@ +/** + * \file + * + * + * \brief Configuration file for DAC module. + * + * + * \author Daniele Basile + */ + +#ifndef CFG_DAC_H +#define CFG_DAC_H + +/** + * Module logging level. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_level" + */ +#define DAC_LOG_LEVEL LOG_LVL_WARN + +/** + * Module logging format. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_format" + */ +#define DAC_LOG_FORMAT LOG_FMT_TERSE + +/** + * DAC Refresh Period = 1024*REFRESH/DACC Clock + * + * $WIZ$ type = "int" + * $WIZ$ supports = "sam3x" + * $WIZ$ min = 0 + * $WIZ$ max = 65536 + */ +#define CONFIG_DAC_REFRESH 16 + +/** + * DAC Startup Time Selection. + * see datasheet table. + * + * $WIZ$ type = "int" + * $WIZ$ supports = "sam3x" + * $WIZ$ min = 0 + * $WIZ$ max = 63 + */ +#define CONFIG_DAC_STARTUP 0 + +/** + * DAC Trigger Selection. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "sam3x_dac_tc" + * $WIZ$ supports = "sam3x" + */ +#define CONFIG_DAC_TIMER DACC_TRGSEL_TIO_CH0 + +#endif /* CFG_DAC_H */ diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_eeprom.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_eeprom.h new file mode 100644 index 00000000..b56c1f9c --- /dev/null +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_eeprom.h @@ -0,0 +1,64 @@ +/** + * \file + * + * + * \brief Configuration file for the Eeprom module. + * + * \author Daniele Basile + */ + +#ifndef CFG_EEPROM_H +#define CFG_EEPROM_H + +/** + * Module logging level. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_level" + */ +#define EEPROM_LOG_LEVEL LOG_LVL_INFO + +/** + * Module logging format. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_format" + */ +#define EEPROM_LOG_FORMAT LOG_FMT_TERSE + +/** + * Check this to disable Eeprom deprecated API support. + * + * $WIZ$ type = "boolean" + */ +#define CONFIG_EEPROM_DISABLE_OLD_API 0 + +#endif /* CFG_EEPROM_H */ diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_http.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_http.h new file mode 100644 index 00000000..0aba5f02 --- /dev/null +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_http.h @@ -0,0 +1,64 @@ +/** + * \file + * + * + * \brief Configuration file for the HTTP module. + * + * \author Daniele Basile + */ + +#ifndef CFG_HTTP_H +#define CFG_HTTP_H + +/** + * Module logging level. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_level" + */ +#define HTTP_LOG_LEVEL LOG_LVL_INFO + +/** + * Module logging format. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_format" + */ +#define HTTP_LOG_FORMAT LOG_FMT_VERBOSE + +/** + * Default start page to load + * + * $WIZ$ type = "str" + */ +#define HTTP_DEFAULT_PAGE "index.htm" + +#endif /* CFG_HTTP_H */ diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_i2s.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_i2s.h index 6657157e..934da1b9 100644 --- a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_i2s.h +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_i2s.h @@ -34,11 +34,28 @@ * * * \author Luca Ottaviano + * \author Daniele Basile */ #ifndef CFG_I2S_H #define CFG_I2S_H +/** + * Module logging level. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_level" + */ +#define I2S_LOG_LEVEL LOG_LVL_INFO + +/** + * Module logging format. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_format" + */ +#define I2S_LOG_FORMAT LOG_FMT_TERSE + /** * Length of each play buffer. * @@ -56,19 +73,65 @@ #define CONFIG_SAMPLE_FREQ 44100UL /** - * Module logging level. + * Sample bits per channel. * - * $WIZ$ type = "enum" - * $WIZ$ value_list = "log_level" + * $WIZ$ type = "int" + * * $WIZ$ min = 8 + * $WIZ$ max = 32 */ -#define I2S_LOG_LEVEL LOG_LVL_INFO +#define CONFIG_WORD_BIT_SIZE 16 /** - * Module logging format. + * Number of channel. * - * $WIZ$ type = "enum" - * $WIZ$ value_list = "log_format" + * $WIZ$ type = "int" */ -#define I2S_LOG_FORMAT LOG_FMT_TERSE +#define CONFIG_CHANNEL_NUM 2 + +/** + * Size of trasmit start delay + * + * $WIZ$ type = "int" + * $WIZ$ min = 0 + * $WIZ$ max = 255 + */ +#define CONFIG_DELAY 0 + +/** + * Generate frame sync every 2 x CONFIG_PERIOD bits (zero based) + * + * $WIZ$ type = "int" + * $WIZ$ min = 0 + * $WIZ$ max = 512 + */ +#define CONFIG_PERIOD 15 + +/** + * Number of words transmitted in frame + * + * $WIZ$ type = "int" + * $WIZ$ min = 0 + * $WIZ$ max = 16 + */ +#define CONFIG_WORD_PER_FRAME 1 + +/** + * Size of Synchro data register (zero based) + * + * $WIZ$ type = "int" + * $WIZ$ min = 0 + * $WIZ$ max = 15 + */ +#define CONFIG_FRAME_SYNC_SIZE 15 + + +/** + * Extra Size of Synchro data register (CONFIG_FRAME_SYNC_SIZE + CONFIG_EXTRA_FRAME_SYNC_SIZE * 16 + 1) (zero based) + * + * $WIZ$ type = "int" + * $WIZ$ min = 0 + * $WIZ$ max = 15 + */ +#define CONFIG_EXTRA_FRAME_SYNC_SIZE 0 #endif /* CFG_I2S_H */ diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_ini_reader.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_ini_reader.h index d0be4389..048139a4 100644 --- a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_ini_reader.h +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_ini_reader.h @@ -45,4 +45,10 @@ */ #define CONFIG_INI_MAX_LINE_LEN 64 +/** + * Make case insensitive comparisons. + * $WIZ$ type = "boolean" + */ +#define CONFIG_INI_CASE_INSENSITIVE 0 + #endif /* CFG_INI_READER_H */ diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_led_7seg.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_led_7seg.h new file mode 100644 index 00000000..d854b11d --- /dev/null +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_led_7seg.h @@ -0,0 +1,80 @@ +/** + * \file cfg_led_7seg.h + * + * + * \brief Configuration file for led 7 segment display. + * + * \author Fabio Bizzi + * + * \addtogroup SevenSegDisplay 7 Segments LED Displays Driver + * \{ + * + */ + +#ifndef CFG_LED_7SEG_H +#define CFG_LED_7SEG_H + +/** + * Use a Common Cathode display. + * $WIZ$ type = "boolean" + */ +#define CONFIG_LED_7SEG_CCAT 0 + +/** + * Number of digit present in the LED display. + * $WIZ$ type = "int" + * $WIZ$ min = 1 + * $WIZ$ max = 8 + */ +#define CONFIG_LED_7SEG_DIGIT 4 + +/** + * Max lenght of the string to be displayed. + * $WIZ$ type = "int" + * $WIZ$ min = 16 + * $WIZ$ max = 255 + */ +#define CONFIG_LED_7SEG_STRLEN 255 + +/** + * Default scrolling speed (ms * CONFIG_LED_7SEG_RTIME). + * $WIZ$ type = "int" + */ +#define CONFIG_LED_7SEG_SSPEED 10 + +/** + * Default refresh time (ms). + * $WIZ$ type = "int" + */ +#define CONFIG_LED_7SEG_RTIME 5 + +#endif /* CFG_LED_7SEG_H */ + /** \} */ //defgroup drivers + diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_lwip.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_lwip.h index c9aa49f4..73acb913 100644 --- a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_lwip.h +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_lwip.h @@ -133,8 +133,10 @@ /** * MEM_ALIGNMENT: should be set to the alignment of the CPU + * \verbatim * 4 byte alignment -> #define MEM_ALIGNMENT 4 * 2 byte alignment -> #define MEM_ALIGNMENT 2 + * \endverbatim */ #ifndef MEM_ALIGNMENT #define MEM_ALIGNMENT 4 @@ -701,12 +703,16 @@ /** DNS_LOCAL_HOSTLIST: Implements a local host-to-address list. If enabled, * you have to define + * \code * #define DNS_LOCAL_HOSTLIST_INIT {{"host1", 0x123}, {"host2", 0x234}} + * \endcode * (an array of structs name/address, where address is an u32_t in network * byte order). * * Instead, you can also use an external function: + * \code * #define DNS_LOOKUP_LOCAL_EXTERN(x) extern u32_t my_lookup_function(const char *name) + * \endcode * that returns the IP address or INADDR_NONE if not found. */ #ifndef DNS_LOCAL_HOSTLIST @@ -1200,6 +1206,13 @@ * $WIZ$ type = "boolean" */ #define LWIP_SOCKET 1 +#if LWIP_SOCKET + /* + * The sockets.c file requires this macro to be defined to really + * set errno on errors. + */ + #define ERRNO +#endif /** * Enable BSD-style sockets functions names. diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_nand.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_nand.h new file mode 100644 index 00000000..bd3b2623 --- /dev/null +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_nand.h @@ -0,0 +1,111 @@ +/** + * \file + * + * + * \author Stefano Fedrigo + * + * \brief Configuration file for NAND driver module. + */ + +#ifndef CFG_NAND_H +#define CFG_NAND_H + +/** + * Page data size + * + * Size of the data section of a programmable page in bytes. + * + * $WIZ$ type = "int" + */ +#define CONFIG_NAND_DATA_SIZE 2048 + +/** + * Page spare area size + * + * Size of the spare section of a programmable page in bytes. + * + * $WIZ$ type = "int" + */ +#define CONFIG_NAND_SPARE_SIZE 64 + +/** + * Pages per block + * + * Number of pages in a erase block. + * + * $WIZ$ type = "int" + */ +#define CONFIG_NAND_PAGES_PER_BLOCK 64 + +/** + * Number of blocks + * + * Total number of erase blocks in one NAND chip. + * + * $WIZ$ type = "int" + */ +#define CONFIG_NAND_NUM_BLOCK 2048 + +/** + * Number of reserved blocks + * + * Blocks reserved for remapping defective NAND blocks. + * + * $WIZ$ type = "int" + */ +#define CONFIG_NAND_NUM_REMAP_BLOCKS 128 + +/** + * NAND operations timeout + * + * How many milliseconds the cpu waits for + * completion of NAND operations. + * + * $WIZ$ type = "int" + */ +#define CONFIG_NAND_TMOUT 100 + +/** + * Module logging level + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_level" + */ +#define CONFIG_NAND_LOG_LEVEL LOG_LVL_WARN + +/** + * Module logging format + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_format" + */ +#define CONFIG_NAND_LOG_FORMAT LOG_FMT_TERSE + +#endif /* CFG_NAND_H */ diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_parser.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_parser.h index 572b4a24..67e091a5 100644 --- a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_parser.h +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_parser.h @@ -38,7 +38,27 @@ #ifndef CFG_PARSER_H #define CFG_PARSER_H +/** + * Max number of arguments and results for each command + * $WIZ$ type = "int" + * $WIZ$ min = 0 + */ +#define CONFIG_PARSER_MAX_ARGS 4 + +/** + * Max number of commands + * $WIZ$ type = "int" + * $WIZ$ min = 8 + */ +#define CONFIG_MAX_COMMANDS_NUMBER 16 +/** + * Enable compatibility behaviour. + * + * Skip the first word from incoming commands. Don't enable in new projects. + * $WIZ$ type = "boolean" + */ +#define CONFIG_ENABLE_COMPAT_BEHAVIOUR 1 #endif /* CFG_PARSER_H */ diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_proc.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_proc.h index 7e64c498..fa9bcc9b 100644 --- a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_proc.h +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_proc.h @@ -74,6 +74,12 @@ */ #define CONFIG_KERN_PRI 1 +/** + * Priority-inheritance protocol. + * $WIZ$ type = "boolean" + */ +#define CONFIG_KERN_PRI_INHERIT 0 + /** * Dynamic memory allocation for processes. * $WIZ$ type = "boolean" diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_pwm.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_pwm.h index 595189e6..68d62837 100644 --- a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_pwm.h +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_pwm.h @@ -53,4 +53,12 @@ */ #define PWM_LOG_FORMAT LOG_FMT_VERBOSE +/** + * Enable the OLD pwm API. + * Not recommended for new projects. + * + * $WIZ$ type = "boolean" + */ +#define CFG_PWM_ENABLE_OLD_API 1 + #endif /* CFG_PWM_H */ diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_random.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_random.h new file mode 100644 index 00000000..5e3afdff --- /dev/null +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_random.h @@ -0,0 +1,65 @@ +/** + * \file + * + * + * \author Andrea Righi + * + * \brief Configuration file for the "random" module + */ + +#ifndef CFG_RANDOM_H +#define CFG_RANDOM_H + +/** + * Module logging level. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_level" + */ +#define RANDOM_LOG_LEVEL LOG_LVL_INFO + +/** + * module logging format. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_format" + */ +#define RANDOM_LOG_FORMAT LOG_FMT_TERSE + +/** + * Random security level. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "random_level" + */ +#define RANDOM_SECURITY_LEVEL RANDOM_SECURITY_MINIMUM + +#endif /* CFG_RANDOM_H */ diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_sd.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_sd.h index 8c40f827..ac2abb1d 100644 --- a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_sd.h +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_sd.h @@ -63,6 +63,14 @@ */ #define CONFIG_SD_AUTOASSIGN_FAT 1 +/** + * SD bus mode. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "sd_mode" + */ +#define CONFIG_SD_MODE SD_SPI_MODE + /** * Enable backward compatibility for sd_init(). * If enabled, sd_init() will allocate internally an Sd context, diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_ser.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_ser.h index 91a10e0b..e7d5cc43 100644 --- a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_ser.h +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_ser.h @@ -160,14 +160,14 @@ * * $WIZ$ type = "enum" * $WIZ$ value_list = "ser_order_bit" - * $WIZ$ supports = "avr" + * $WIZ$ supports = "avr and not xmega32d" */ #define CONFIG_SPI_DATA_ORDER SER_MSB_FIRST /** * SPI clock division factor. * $WIZ$ type = "int" - * $WIZ$ supports = "avr" + * $WIZ$ supports = "avr and not xmega32d" */ #define CONFIG_SPI_CLOCK_DIV 16 @@ -175,7 +175,7 @@ * SPI clock polarity: normal low or normal high. * $WIZ$ type = "enum" * $WIZ$ value_list = "ser_spi_pol" - * $WIZ$ supports = "avr" + * $WIZ$ supports = "avr and not xmega32d" */ #define CONFIG_SPI_CLOCK_POL SPI_NORMAL_LOW @@ -184,7 +184,7 @@ * sample on second clock edge. * $WIZ$ type = "enum" * $WIZ$ value_list = "ser_spi_phase" - * $WIZ$ supports = "avr" + * $WIZ$ supports = "avr and not xmega32d" */ #define CONFIG_SPI_CLOCK_PHASE SPI_SAMPLE_ON_FIRST_EDGE diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_tftp.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_tftp.h new file mode 100644 index 00000000..36cc622c --- /dev/null +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_tftp.h @@ -0,0 +1,20 @@ +#ifndef CFG_TFTP_H +#define CFG_TFTP_H + +/** + * Module logging level. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_level" + */ +#define TFTP_LOG_LEVEL LOG_LVL_WARN + +/** + * Module logging format. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_format" + */ +#define TFTP_LOG_FORMAT LOG_FMT_VERBOSE + +#endif /* CFG_TFTP_H */ diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_usb.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_usb.h index e5a282b1..dbfd6fe1 100644 --- a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_usb.h +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_usb.h @@ -61,4 +61,25 @@ */ #define CONFIG_USB_BUFSIZE 64 +/** + * Maximum number of USB device interfaces (default = 1). + * $WIZ$ type = "int" + * $WIZ$ min = 1 + */ +#define CONFIG_USB_INTERFACE_MAX 1 + +/** + * Maximum number of allocated endpoints (0 = auto). + * $WIZ$ type = "int" + * $WIZ$ min = 0 + */ +#define CONFIG_USB_EP_MAX 0 + +/** + * Maximum packet size of the control endpoint 0 [bytes]. + * $WIZ$ type = "int" + * $WIZ$ min = 8 + */ +#define CONFIG_EP0_MAX_SIZE 8 + #endif /* CFG_USB_H */ diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_wm8731.h b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_wm8731.h new file mode 100644 index 00000000..76280b65 --- /dev/null +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/cfg/cfg_wm8731.h @@ -0,0 +1,133 @@ +/** + * \file + * + * + * \brief Configuration file for the WM8731 module. + * + * \author Daniele Basile + */ + +#ifndef CFG_WM8731_H +#define CFG_WM8731_H + +/** + * Module logging level. + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_level" + */ +#define WM8731_LOG_LEVEL LOG_LVL_INFO + +/** + * Module logging format. + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_format" + */ +#define WM8731_LOG_FORMAT LOG_FMT_TERSE + + +/** + * Digital control: ADC High pass filter + * $WIZ$ type = "boolean" + */ +#define CONFIG_WM8731_DAPC 0 + + +/** + * Digital control: De-emphasis control + * $WIZ$ type = "enum" + * $WIZ$ value_list = "wm8731_deemp" + */ +#define CONFIG_WM8731_DEEMP WM8731_DEEMP_DISABLE + +/** + * Digital control: DAC soft mute control + * $WIZ$ type = "boolean" + */ +#define CONFIG_WM8731_DACMU 0 + + +/** + * Analog control: Microphone boost + * $WIZ$ type = "boolean" + */ +#define CONFIG_WM8731_MICBOOST 0 + +/** + * Analog control: Microphone/Line Input select to ADC + * $WIZ$ type = "enum" + * $WIZ$ value_list = "wm8731_insel" + */ +#define CONFIG_WM8731_INSEL WM8731_INSEL_MIC + + +/** + * Analog control: out selector + * $WIZ$ type = "enum" + * $WIZ$ value_list = "wm8731_bypass" + */ +#define CONFIG_WM8731_BYPASS WM8731_DACSEL + +/** + * Analog control: Side tone attenuation + * $WIZ$ type = "enum" + * $WIZ$ value_list = "wm8731_sideatt" + */ +#define CONFIG_WM8731_SIDEATT WM8731_SIDEATT_6dB + + +/** + * Digital Audio interface format. + * $WIZ$ type = "enum" + * $WIZ$ value_list = "wm8731_fmt" + */ +#define CONFIG_WM8731_INTERFACE_FORMAT WM8731_FORMAT_I2S + +/** + * Digital Audio data bit length. + * $WIZ$ type = "enum" + * $WIZ$ value_list = "wm8731_databit" + */ +#define CONFIG_WM8731_IWL_BITS WM8731_IWL_16_BIT + +/** + * Enable Master mode. + * $WIZ$ type = "boolean" + */ +#define CONFIG_WM8731_MS 0 + + +/** + * Data sampling rate, refer to datasheet for this value. + * $WIZ$ type = "hex" + */ +#define CONFIG_WM8731_SAMPLING_RATES 0x6 + +#endif /* CFG_WM8731_H */ diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/project.bertos b/boards/sam3n-ek/templates/sam3n-ek_kernel/project.bertos index 927cdf83..71318466 100644 --- a/boards/sam3n-ek/templates/sam3n-ek_kernel/project.bertos +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/project.bertos @@ -9,89 +9,77 @@ V48000000 p4 sS'WIZARD_VERSION' p5 -I3 +I4 sS'PROJECT_NAME' p6 -Vkernel +Vsam3n-ek_kernel p7 sS'TOOLCHAIN' p8 (dp9 -Vtarget +S'path' p10 -Varm-none-eabi +Varm-none-eabi-gcc p11 -sVthread +ssS'PROJECT_SRC_PATH_FROM_MAKEFILE' p12 -Vsingle +Vboards/sam3n-ek/templates/sam3n-ek_kernel p13 -sVconfigured +sS'ENABLED_MODULES' p14 -V/scratch/julian/2010q1-release-eabi-lite/src/gcc-4.4-2010q1/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-eabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-extra-sgxxlite-multilibs --with-gnu-as --with-gnu-ld --with-specs='%{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics: -fremove-local-statics}}}' --enable-languages=c,c++ --disable-shared --disable-lto --with-newlib --with-pkgversion='Sourcery G++ Lite 2010q1-188' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-headers=yes --with-sysroot=/opt/codesourcery/arm-none-eabi --with-build-sysroot=/scratch/julian/2010q1-release-eabi-lite/install/arm-none-eabi --with-gmp=/scratch/julian/2010q1-release-eabi-lite/obj/host-libs-2010q1-188-arm-none-eabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/2010q1-release-eabi-lite/obj/host-libs-2010q1-188-arm-none-eabi-i686-pc-linux-gnu/usr --with-ppl=/scratch/julian/2010q1-release-eabi-lite/obj/host-libs-2010q1-188-arm-none-eabi-i686-pc-linux-gnu/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-cloog=/scratch/julian/2010q1-release-eabi-lite/obj/host-libs-2010q1-188-arm-none-eabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/2010q1-release-eabi-lite/install/arm-none-eabi/bin --with-build-time-tools=/scratch/julian/2010q1-release-eabi-lite/install/arm-none-eabi/bin -p15 -sVversion +(lp15 +S'debug' p16 -V4.4.1 +aS'formatwr' p17 -sVbuild +aS'gfx' p18 -VSourcery G++ Lite 2010q1-188 +aS'heap' p19 -sVpath +aS'kbd' p20 -V/localhome/toolchain/arm/bin/arm-none-eabi-gcc +aS'kernel' p21 -ssS'ENABLED_MODULES' +aS'kfile' p22 -(lp23 -S'text' +aS'lcd_ili9225' +p23 +aS'monitor' p24 -aS'kbd' +aS'semaphores' p25 -aS'monitor' +aS'signal' p26 -aS'lcd_ili9225' +aS'sprintf' p27 -aS'signal' +aS'text' p28 -aS'debug' +aS'text_format' p29 -aS'kernel' +aS'timer' p30 -aS'kfile' +asS'CPU_NAME' p31 -aS'text_format' +VSAM3N4 p32 -aS'sprintf' +sS'PROJECT_HW_PATH' p33 -aS'timer' +S'../..' p34 -aS'gfx' +sS'PROJECT_SRC_PATH' p35 -aS'formatwr' +S'.' p36 -aS'semaphores' +sS'PRESET' p37 -aS'heap' +I01 +sS'PROJECT_HW_PATH_FROM_MAKEFILE' p38 -asS'CPU_NAME' +Vboards/sam3n-ek p39 -VSAM3N4 -p40 -sS'PROJECT_HW_PATH' -p41 -S'../..' -p42 -sS'PROJECT_SRC_PATH' -p43 -S'.' -p44 -sS'PRESET' -p45 -I01 sS'OUTPUT' -p46 -(lp47 +p40 +(lp41 S'codelite' -p48 +p42 as. \ No newline at end of file diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/sam3n-ek_kernel.mk b/boards/sam3n-ek/templates/sam3n-ek_kernel/sam3n-ek_kernel.mk index e3bfc7e4..9a48540e 100644 --- a/boards/sam3n-ek/templates/sam3n-ek_kernel/sam3n-ek_kernel.mk +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/sam3n-ek_kernel.mk @@ -1,101 +1,101 @@ # # Wizard autogenerated makefile. -# DO NOT EDIT, use the kernel_user.mk file instead. +# DO NOT EDIT, use the sam3n-ek_kernel_user.mk file instead. # # Constants automatically defined by the selected modules -kernel_DEBUG = 1 +sam3n-ek_kernel_DEBUG = 1 # Our target application -TRG += kernel +TRG += sam3n-ek_kernel -kernel_PREFIX = "/localhome/toolchain/arm/bin/arm-none-eabi-" +sam3n-ek_kernel_PREFIX = "/localhome/toolchain/arm/bin/arm-none-eabi-" -kernel_SUFFIX = "" +sam3n-ek_kernel_SUFFIX = "" -kernel_SRC_PATH = boards/sam3n-ek/templates/kernel +sam3n-ek_kernel_SRC_PATH = boards/sam3n-ek/templates/sam3n-ek_kernel -kernel_HW_PATH = boards/sam3n-ek +sam3n-ek_kernel_HW_PATH = boards/sam3n-ek -# Files automatically generated by the wizard. DO NOT EDIT, USE kernel_USER_CSRC INSTEAD! -kernel_WIZARD_CSRC = \ - bertos/struct/heap.c \ +# Files automatically generated by the wizard. DO NOT EDIT, USE sam3n-ek_kernel_USER_CSRC INSTEAD! +sam3n-ek_kernel_WIZARD_CSRC = \ + bertos/cpu/cortex-m3/drv/timer_cm3.c \ bertos/cpu/cortex-m3/hw/switch_ctx_cm3.c \ - bertos/mware/event.c \ - bertos/gfx/bitmap.c \ - bertos/kern/sem.c \ - bertos/gfx/text.c \ + bertos/drv/kbd.c \ bertos/drv/lcd_ili9225.c \ - bertos/cpu/cortex-m3/drv/timer_cm3.c \ bertos/drv/timer.c \ - bertos/io/kfile.c \ - bertos/kern/monitor.c \ - bertos/mware/sprintf.c \ + bertos/fonts/luBS14.c \ + bertos/gfx/bitmap.c \ bertos/gfx/line.c \ + bertos/gfx/text.c \ bertos/gfx/text_format.c \ - bertos/drv/kbd.c \ - bertos/fonts/luBS14.c \ - bertos/kern/signal.c \ + bertos/io/kfile.c \ + bertos/kern/monitor.c \ bertos/kern/proc.c \ + bertos/kern/sem.c \ + bertos/kern/signal.c \ + bertos/mware/event.c \ bertos/mware/formatwr.c \ bertos/mware/hex.c \ + bertos/mware/sprintf.c \ + bertos/struct/heap.c \ # -# Files automatically generated by the wizard. DO NOT EDIT, USE kernel_USER_PCSRC INSTEAD! -kernel_WIZARD_PCSRC = \ +# Files automatically generated by the wizard. DO NOT EDIT, USE sam3n-ek_kernel_USER_PCSRC INSTEAD! +sam3n-ek_kernel_WIZARD_PCSRC = \ \ # -# Files automatically generated by the wizard. DO NOT EDIT, USE kernel_USER_CPPASRC INSTEAD! -kernel_WIZARD_CPPASRC = \ +# Files automatically generated by the wizard. DO NOT EDIT, USE sam3n-ek_kernel_USER_CPPASRC INSTEAD! +sam3n-ek_kernel_WIZARD_CPPASRC = \ \ # -# Files automatically generated by the wizard. DO NOT EDIT, USE kernel_USER_CXXSRC INSTEAD! -kernel_WIZARD_CXXSRC = \ +# Files automatically generated by the wizard. DO NOT EDIT, USE sam3n-ek_kernel_USER_CXXSRC INSTEAD! +sam3n-ek_kernel_WIZARD_CXXSRC = \ \ # -# Files automatically generated by the wizard. DO NOT EDIT, USE kernel_USER_ASRC INSTEAD! -kernel_WIZARD_ASRC = \ +# Files automatically generated by the wizard. DO NOT EDIT, USE sam3n-ek_kernel_USER_ASRC INSTEAD! +sam3n-ek_kernel_WIZARD_ASRC = \ \ # -kernel_CPPFLAGS = -D'CPU_FREQ=(48000000UL)' -D'ARCH=(ARCH_DEFAULT)' -D'WIZ_AUTOGEN' -I$(kernel_HW_PATH) -I$(kernel_SRC_PATH) $(kernel_CPU_CPPFLAGS) $(kernel_USER_CPPFLAGS) +sam3n-ek_kernel_CPPFLAGS = -D'CPU_FREQ=(48000000UL)' -D'ARCH=(ARCH_DEFAULT)' -D'WIZ_AUTOGEN' -I$(sam3n-ek_kernel_HW_PATH) -I$(sam3n-ek_kernel_SRC_PATH) $(sam3n-ek_kernel_CPU_CPPFLAGS) $(sam3n-ek_kernel_USER_CPPFLAGS) # Automatically generated by the wizard. PLEASE DO NOT EDIT! -kernel_LDFLAGS = $(kernel_CPU_LDFLAGS) $(kernel_WIZARD_LDFLAGS) $(kernel_USER_LDFLAGS) +sam3n-ek_kernel_LDFLAGS = $(sam3n-ek_kernel_CPU_LDFLAGS) $(sam3n-ek_kernel_WIZARD_LDFLAGS) $(sam3n-ek_kernel_USER_LDFLAGS) # Automatically generated by the wizard. PLEASE DO NOT EDIT! -kernel_CPPAFLAGS = $(kernel_CPU_CPPAFLAGS) $(kernel_WIZARD_CPPAFLAGS) $(kernel_USER_CPPAFLAGS) +sam3n-ek_kernel_CPPAFLAGS = $(sam3n-ek_kernel_CPU_CPPAFLAGS) $(sam3n-ek_kernel_WIZARD_CPPAFLAGS) $(sam3n-ek_kernel_USER_CPPAFLAGS) # Automatically generated by the wizard. PLEASE DO NOT EDIT! -kernel_CSRC = $(kernel_CPU_CSRC) $(kernel_WIZARD_CSRC) $(kernel_USER_CSRC) +sam3n-ek_kernel_CSRC = $(sam3n-ek_kernel_CPU_CSRC) $(sam3n-ek_kernel_WIZARD_CSRC) $(sam3n-ek_kernel_USER_CSRC) # Automatically generated by the wizard. PLEASE DO NOT EDIT! -kernel_PCSRC = $(kernel_CPU_PCSRC) $(kernel_WIZARD_PCSRC) $(kernel_USER_PCSRC) +sam3n-ek_kernel_PCSRC = $(sam3n-ek_kernel_CPU_PCSRC) $(sam3n-ek_kernel_WIZARD_PCSRC) $(sam3n-ek_kernel_USER_PCSRC) # Automatically generated by the wizard. PLEASE DO NOT EDIT! -kernel_CPPASRC = $(kernel_CPU_CPPASRC) $(kernel_WIZARD_CPPASRC) $(kernel_USER_CPPASRC) +sam3n-ek_kernel_CPPASRC = $(sam3n-ek_kernel_CPU_CPPASRC) $(sam3n-ek_kernel_WIZARD_CPPASRC) $(sam3n-ek_kernel_USER_CPPASRC) # Automatically generated by the wizard. PLEASE DO NOT EDIT! -kernel_CXXSRC = $(kernel_CPU_CXXSRC) $(kernel_WIZARD_CXXSRC) $(kernel_USER_CXXSRC) +sam3n-ek_kernel_CXXSRC = $(sam3n-ek_kernel_CPU_CXXSRC) $(sam3n-ek_kernel_WIZARD_CXXSRC) $(sam3n-ek_kernel_USER_CXXSRC) # Automatically generated by the wizard. PLEASE DO NOT EDIT! -kernel_ASRC = $(kernel_CPU_ASRC) $(kernel_WIZARD_ASRC) $(kernel_USER_ASRC) +sam3n-ek_kernel_ASRC = $(sam3n-ek_kernel_CPU_ASRC) $(sam3n-ek_kernel_WIZARD_ASRC) $(sam3n-ek_kernel_USER_ASRC) # CPU specific flags and options, defined in the CPU definition files. # Automatically generated by the wizard. PLEASE DO NOT EDIT! -kernel_CPU_CPPASRC = bertos/cpu/cortex-m3/hw/crt_cm3.S bertos/cpu/cortex-m3/hw/vectors_cm3.S -kernel_CPU_CPPAFLAGS = -g -gdwarf-2 -mthumb -mno-thumb-interwork -kernel_CPU_CPPFLAGS = -O0 -g3 -gdwarf-2 -mthumb -mno-thumb-interwork -fno-strict-aliasing -fwrapv -fverbose-asm -Ibertos/cpu/cortex-m3/ -D__ARM_SAM3N4__ -kernel_CPU_CSRC = bertos/cpu/cortex-m3/hw/init_cm3.c bertos/cpu/cortex-m3/drv/irq_cm3.c bertos/cpu/cortex-m3/drv/clock_sam3.c -kernel_PROGRAMMER_CPU = sam3 -kernel_CPU_LDFLAGS = -mthumb -mno-thumb-interwork -nostartfiles -Wl,--no-warn-mismatch -T bertos/cpu/cortex-m3/scripts/sam3n4_rom.ld -kernel_STOPFLASH_SCRIPT = bertos/prg_scripts/arm/stopopenocd.sh -kernel_CPU = cortex-m3 -kernel_STOPDEBUG_SCRIPT = bertos/prg_scripts/arm/stopopenocd.sh -kernel_DEBUG_SCRIPT = bertos/prg_scripts/arm/debug.sh -kernel_FLASH_SCRIPT = bertos/prg_scripts/arm/flash-sam3.sh - -include $(kernel_SRC_PATH)/kernel_user.mk +sam3n-ek_kernel_CPU_CPPASRC = bertos/cpu/cortex-m3/hw/crt_cm3.S bertos/cpu/cortex-m3/hw/vectors_cm3.S +sam3n-ek_kernel_CPU_CPPAFLAGS = -g -gdwarf-2 -mthumb -mno-thumb-interwork +sam3n-ek_kernel_CPU_CPPFLAGS = -O0 -g3 -gdwarf-2 -mthumb -mno-thumb-interwork -fno-strict-aliasing -fwrapv -fverbose-asm -Ibertos/cpu/cortex-m3/ -D__ARM_SAM3N4__ +sam3n-ek_kernel_CPU_CSRC = bertos/cpu/cortex-m3/hw/init_cm3.c bertos/cpu/cortex-m3/drv/irq_cm3.c bertos/cpu/cortex-m3/drv/clock_sam3.c +sam3n-ek_kernel_PROGRAMMER_CPU = sam3 +sam3n-ek_kernel_CPU_LDFLAGS = -mthumb -mno-thumb-interwork -nostartfiles -Wl,--no-warn-mismatch -Wl,-dT bertos/cpu/cortex-m3/scripts/sam3n4_rom.ld +sam3n-ek_kernel_STOPFLASH_SCRIPT = bertos/prg_scripts/arm/stopopenocd.sh +sam3n-ek_kernel_CPU = cortex-m3 +sam3n-ek_kernel_STOPDEBUG_SCRIPT = bertos/prg_scripts/arm/stopopenocd.sh +sam3n-ek_kernel_DEBUG_SCRIPT = bertos/prg_scripts/arm/debug.sh +sam3n-ek_kernel_FLASH_SCRIPT = bertos/prg_scripts/arm/flash-sam3.sh + +include $(sam3n-ek_kernel_SRC_PATH)/sam3n-ek_kernel_user.mk diff --git a/boards/sam3n-ek/templates/sam3n-ek_kernel/sam3n-ek_kernel_user.mk b/boards/sam3n-ek/templates/sam3n-ek_kernel/sam3n-ek_kernel_user.mk index 361fec6e..6da89a7a 100644 --- a/boards/sam3n-ek/templates/sam3n-ek_kernel/sam3n-ek_kernel_user.mk +++ b/boards/sam3n-ek/templates/sam3n-ek_kernel/sam3n-ek_kernel_user.mk @@ -4,41 +4,41 @@ # # Programmer interface configuration, see http://dev.bertos.org/wiki/ProgrammerInterface for help -kernel_PROGRAMMER_TYPE = none -kernel_PROGRAMMER_PORT = none +sam3n-ek_kernel_PROGRAMMER_TYPE = none +sam3n-ek_kernel_PROGRAMMER_PORT = none # Files included by the user. -kernel_USER_CSRC = \ - $(kernel_SRC_PATH)/main.c \ - bertos/cpu/arm/drv/spi_dma_at91.c \ +sam3n-ek_kernel_USER_CSRC = \ + $(sam3n-ek_kernel_SRC_PATH)/main.c \ + bertos/cpu/cortex-m3/drv/spi_dma_sam3.c \ # # Files included by the user. -kernel_USER_PCSRC = \ +sam3n-ek_kernel_USER_PCSRC = \ # # Files included by the user. -kernel_USER_CPPASRC = \ +sam3n-ek_kernel_USER_CPPASRC = \ # # Files included by the user. -kernel_USER_CXXSRC = \ +sam3n-ek_kernel_USER_CXXSRC = \ # # Files included by the user. -kernel_USER_ASRC = \ +sam3n-ek_kernel_USER_ASRC = \ # # Flags included by the user. -kernel_USER_LDFLAGS = \ +sam3n-ek_kernel_USER_LDFLAGS = \ # # Flags included by the user. -kernel_USER_CPPAFLAGS = \ +sam3n-ek_kernel_USER_CPPAFLAGS = \ # # Flags included by the user. -kernel_USER_CPPFLAGS = \ +sam3n-ek_kernel_USER_CPPFLAGS = \ -fno-strict-aliasing \ -fwrapv \ # -- 2.25.1