mainmenu "WR PTP Core software configuration" # Later we'll build wr_cpu.bin for wr-switch from this code base config WR_SWITCH bool "Build rt_cpu.bin, for the WR-Switch FPGA" default n select UART config WR_NODE bool default !WR_SWITCH # most options with no prompt here are prompted-for in the "advanced" section config PRINT_BUFSIZE int default 128 config PRINTF_XINT boolean default y config RAMSIZE int default 65536 if WR_SWITCH default 131072 config TEMP_POLL_INTERVAL int default 15 config PLL_VERBOSE boolean default y if WR_SWITCH config PFILTER_VERBOSE boolean config WRC_VERBOSE boolean default y if WR_SWITCH config VLAN boolean config VLAN_NR int default 10 if VLAN default 0 config VLAN_1_FOR_CLASS7 int default 20 if VLAN default 0 config VLAN_2_FOR_CLASS7 int default 30 if VLAN default 0 config VLAN_FOR_CLASS6 int default 100 if VLAN default 0 config HOST_PROCESS boolean default n config LM32 boolean default !HOST_PROCESS config EMBEDDED_NODE boolean default LM32 && WR_NODE # CONFIG_WR_SWITCH has no further options at all at this point config WR_NODE_PCS16 depends on WR_NODE boolean "Compile for 16-bit PCS" default n help This allows to compile the WR PTP Core software for 16-bit PCS platforms (e.g. Kintex-7). config STACKSIZE depends on WR_NODE int default 2048 config PPSI depends on WR_NODE boolean default y config UART boolean default y if EMBEDDED_NODE default n config W1 depends on EMBEDDED_NODE boolean default y config LATENCY_ETHTYPE int default 0 # The other ones can be set by non-developers config IP depends on WR_NODE boolean "Compile minimal IP support in wrpc-sw" help This allows to run LM32 code that is aware of IP. The feature is needed to run Etherbone in your gateware, because Etherbone is UDP-based and thus the CPU needs to run DHCP. config CMD_CONFIG depends on WR_NODE boolean "Include configuration in the output binary" help This options adds the "config" command to the shell, which reports the current configuration. This adds half a kilobyte to the binary size (100b for the code plus the .config file). config SYSLOG depends on IP boolean "Include syslog client support" help This enable a UDP syslog client, configured by a shell command. The user (or init script) must use "syslog " to enable it. The special "off" ipaddr disables syslog. config SNMP depends on IP default y boolean "Mini SNMP responder" config SNMP_SET depends on SNMP default y boolean "Add SET support to the Mini SNMP responder" help This option enables support for SET requests for Mini SNMP responder config SNMP_HW_TYPE depends on SNMP default "spec" string "Hardware type reported by SNMP" config BUILD_INIT depends on WR_NODE default n boolean "Include an init command in the binary (build-time)" config INIT_COMMAND depends on BUILD_INIT string "Enter the init command, use ';' as command separator" default "" config INIT_COMMAND string default "" # The following two integer values are derived, and used in if() (shell.c) config HAS_BUILD_INIT int default 1 if BUILD_INIT default 0 config HAS_FLASH_INIT int default 1 if FLASH_INIT default 0 config FLASH_INIT boolean default y if EMBEDDED_NODE default n # # This is a set of configuration options that should not be changed by # normal users. If the "developer" menu is used, the binary is tainted. comment "wrpc-sw is tainted if you change the following options" config DEVELOPER bool "Advanced configurations, only for developers" help The following options are new features under testing, or special customizations not normally useful for people not directly working on this package. Please don't use unless you are a developer of wrpc-sw. config HOST_PROCESS depends on DEVELOPER && WR_NODE boolean "Build as a host process, to develop/debug network" config RAMSIZE depends on DEVELOPER && EMBEDDED_NODE int "Size of the RAM in the FPGA for this program" default 90112 help The usual configuration for wrpc-sw is 0x16000 bytes (i.e. 88kB = 90112 bytes) but if your project has less or more features you may want to adjust the FPGA size and choose your preferred value here. config STACKSIZE depends on DEVELOPER && EMBEDDED_NODE int "Size of the stack area needed by this program" default 2048 help The linker complains if the code doesn't fit into RAM, but we must also consider the stack, or the program will crash at run time. (However, we have a detector for overflows). config PRINT_BUFSIZE depends on DEVELOPER && WR_NODE int "Size for the temporary output string of pp_printf" default 128 help This buffer is constant storage (i.e. wasted space), but it also constraints the maximum lenght of text that can be written in a single call to printf. config TEMP_POLL_INTERVAL depends on DEVELOPER && WR_NODE int "Poll interval, in seconds, for temperature sensors" config TEMP_HIGH_THRESHOLD depends on DEVELOPER && WR_NODE && SYSLOG default 70 int "Threshold for temperature: tell syslog if higher" config TEMP_HIGH_RAPPEL depends on DEVELOPER && WR_NODE && SYSLOG default 60 int "Remember over-temperature every that many seconds" config CMD_LL depends on DEVELOPER && EMBEDDED_NODE bool "Build low-level commands for development/testing" help This enables low-level commands: "devmem" to read/write memory and "delays" to read/write the constant delays in this device. Please note that the delays have no immediate effect when set on the master, because they are just sent to the slave during the initial handshake config FLASH_INIT depends on DEVELOPER && EMBEDDED_NODE default y boolean "Read init commands from flash storage" # CHECK_RESET for switch and node config CHECK_RESET depends on DEVELOPER && !HOST_PROCESS bool "Print a stack trace if reset happens" help If the CPU is following a NULL pointer, the program will be restarted. If this option is activated, the main function detects that it is re-executed and dumps a stack trace; it then clears the stack (for next time) and restarts again. config SPLL_FIFO_LOG depends on DEVELOPER && !HOST_PROCESS bool "Add a circular buffer for spll logging, used by tools/wrpc-dump" help This option addrs 256 bytes to the wrpc bynary, to log the DDMTD tags read from the fifos, the interrupts and the related timing. The information is shown by tools/wrpc-dump if present, no change/rebuild of the tool is needed. choice prompt "Implementation of pp_printf" depends on DEVELOPER && WR_NODE config PRINTF_XINT bool "hex-and-int" help This selects a printf that can only print decimal and hex numbers, without obeying the format modifiers. %c and %s are supported too, and %p is equivalent to %x. See pp_printf/README for details. config PRINTF_FULL bool "full" help This selects an implementation that supports all standard formats with modifiers, like "%08X" and "%.5s". It costs around 2k of compiled code more than XINT. See pp_printf/README for details. config PRINTF_MINI bool "minimal" help This selects a printf that prints all integers as hex, without obeying the format modifiers. %c and %s are supported too. See pp_printf/README for details. This is not probably what you want for wrpc-sw. config PRINTF_NONE bool "empty" help This selects a printf that prints the format string alone and ignores all further arguments. Minimal size, but not suited for wrpc-sw. See pp_printf/README for details. endchoice config PPSI depends on WR_NODE boolean help Select this option for the ppsi engine (now only option) config DETERMINISTIC_BINARY depends on DEVELOPER && EMBEDDED_NODE boolean "Build a binary that is the same every time" help This option is used to #ifdef __DATE__ and __TIME__ strings out of the compiled WRC binary. If you set it you'll get the same binary bit-by-bit at each rebuild. I am using this option to hack the build procedure and use a simple "diff" between the old and new output to verify I didn't introduce changes. If in doubt, say No. config UART boolean "Use hardware uart (and/or vuart if available)" depends on DEVELOPER && EMBEDDED_NODE help This option selects the serial driver, connected to either the USB socket, or "vuart" (software fifo) or both, according to how the gateware is built. config UART_SW depends on DEVELOPER && EMBEDDED_NODE default !UART boolean "Use software uart" help The software uart is made up of two circular buffers. It can be used either as an alternative to the harwdare UART or as an addition. If the option is turned on, ppsi log messages are routed to the software uart. The interactive wrpc shell and diagnostics run on the hardware UART if available. config NET_VERBOSE depends on DEVELOPER && WR_NODE boolean "Extra verbose messages for networking" help This is mainly a debug tool, to be left off unless you hack in the network subsystem. config PLL_VERBOSE depends on DEVELOPER boolean "Verbose messages in softpll" help The softpll is usually silent in WR node and verbose in WR switch. You can enable pll messages in WR node for debugging. config PFILTER_VERBOSE depends on DEVELOPER boolean "Verbose messages in packet filter setup" help A debug tool for people changing the packet filter rules config WRC_VERBOSE depends on DEVELOPER boolean "More verbose messages in wr core" default y if WR_SWITCH help This enables some more diagnostic messages. Normally off. config SNMP_VERBOSE depends on DEVELOPER && SNMP boolean "More verbose messages in SNMP" help This enables some more diagnostic messages. Normally off. config FAKE_TEMPERATURES depends on DEVELOPER boolean "Offer an array of 3 fake temperatures, for testing" help The option adds also a "faketemp" command, used to set the fake temperatures: e.g. "faketemp 120 -10 50" config VLAN depends on DEVELOPER boolean "Filter and rx/tx frames in a VLAN (as opposed to untagged)" config VLAN_NR depends on VLAN int "Use this VLAN number for filter/tx/rx" config VLAN_1_FOR_CLASS7 depends on VLAN int "Route this VLAN to fabric class 7 (Etherbone)" config VLAN_2_FOR_CLASS7 depends on VLAN int "Route this VLAN too to fabric class 7 (Etherbone)" config VLAN_FOR_CLASS6 depends on VLAN int "Route this VLAN too to fabric class 6 (Streamer/NIC)" config SDB_STORAGE depends on WR_NODE default y boolean "Use SDB to manage storage (instead of legacy eeprom code)" help Use SDB to manage flash and eeproms (both W1 and I2C). If not, legacy code (eeprom only) will be selected. config LEGACY_EEPROM depends on WR_NODE boolean default !SDB_STORAGE config LATENCY_PROBE depends on DEVELOPER bool "Build the latency probe mechanism (send/recv)" help The latency prober sends two frames to broadcast and then the timestamp of their departure time. The receiver measures the network latency and reports it. If this option is set, the receiver is always running. The sender is built but must be activated by the latency shell cmd. config LATENCY_ETHTYPE depends on LATENCY_PROBE int "Ethtype to use for latency probing" # This is needed to size the pp_instance data strucuture. Instead of # including the ppsi autoconf.h, with duplicate definitions, define it # here, as we know what the value is config VLAN_ARRAY_SIZE int default 1 # CONFIG_WR_NODE